4. COINOR
Standorte Kernfakten Festangestellte
Aktiengesellschaft in
Mitarbeiterbeteiligung
Grundkapital: 1,275 Mio. €
Gründung: Juli 2007
Berlin
Branchenfokus Finanzindustrie
Auszug Kundenliste
Commerzbank AG Umsatz in Mio. €
Frankfurt
DWS Investments GmbH
Karlsruhe Xchanging
FIDUCIA IT AG
München
ING DiBa AG
Landesbank Berlin AG
Union Investment Gruppe
5. COINOR
IT Trends
Open Source
SOA
Prozess
Cloud Computing
…
Strategie
Business Trends
Konsolidierung
Spezialisierung
Geschäftsmodelle
… Implementierung
Business Transformation
COINOR unterstützt Deutschlands führende Finanzdienstleister bei der Verbesserung von
Geschäftsprozessen
Wir transportieren Strategien in Prozesse und implementieren diese Prozesse in der IT
Unser Erfolgskonzept ist dabei ganz besonders: Wir kombinieren hohe Fach- und
Technologiekompetenz mit den Methoden unseres Business Engineering Frameworks
Die einzigartige Bündelung dieser 3 Kompetenzen ermöglicht uns die effektive Entwicklung
von Konzepten, innovativen Architekturen und Technologien
6. Das Projekt
– Erstellung einer Web-basierten Anwendung zur
Beantragung von Krediten
– Einsatz als White-Label-Produkt
Vermittler 1 /
Autokredit
Basis
Vermittler 2 /
Barkredit
7. Anforderungen
Historisierte Stärkere Einbindung Flexible Time-To-Market
Konfigurierbarkeit zur des Fachbereiches Anpassbarkeit der
Laufzeit
Logik
Mandantenfähigkeit
Online Krediterfassung
8. Lösungsansatz
minKredit=2500
Property File
maxKredit=100000
minAlter=18
…
BigDecimal minKredit = properties.get(“minKredit“, BigDecimal.class);
If (kreditbetrag < minKredit){
FacesMessages.instance().add(new FacesMessage(“Der Kreditbetrag
ist unter der minimalen Grenze von “ +minKredit));
}
• Mandanten- Historisierte Flexible Stärkere
• fähigkeit Konfigurierbarkeit zur
Laufzeit
Anpassbarkeit
der Logik
Einbindung des
Fachbereichs
?
9. Lösungsansatz
Konfiguration in Datenbank
minKredit=2500
maxKredit=100000
minAlter=18
...
If (kreditbetrag < configEntity.getMinKredit()){
FacesMessages.instance().add(new FacesMessage(“Der Kreditbetrag
ist unter der minimalen Grenze von “ +
configEntity.getMinKredit()));
}
• Mandanten- Historisierte Flexible Stärkere
• fähigkeit Konfigurierbarkeit zur
Laufzeit
Anpassbarkeit
der Logik
Einbindung des
Fachbereichs
?
10. Lösungsansatz
Konfiguration in Datenbank
if (kredit > 3000) {
assert nextPage = "Gehaltsnachweis"
}
else {
assert nextPage = "Angebot"
}
if(kredit < 2500){
Fehlermeldung = "Der Kreditbetrag ist unter der
minimalen Grenze von 2500€“
}
• Mandanten- Historisierte Flexible Stärkere Wartbarkeit
• fähigkeit Konfigurierbarkeit
zur Laufzeit
Anpassbarkeit
der Logik
Einbindung des
Fachbereichs
?
11. Lösungsansatz
Konfiguration in Datenbank II
GroovyClassLoader gcl = new GroovyClassLoader();
Class clazz = gcl.parseClass(new File(fileName));
Object aScript = clazz.newInstance();
Validator validator = (Validator) aScript;
validator.validate(entity);
• Mandanten- Historisierte Flexible Stärkere Wartbarkeit
• fähigkeit Konfigurierbarkeit
zur Laufzeit
Anpassbarkeit
der Logik
Einbindung des
Fachbereichs
?
12. Lösungsansatz
Verwendung von Geschäftsregeln
when when
Kredit > 3000 Kredit <= 3000
then then
gehe zu Gehaltsnachweis gehe zu Angebot
kredit.min=2500
kredit.max=100000
alter.min=18
...
• Mandanten- Historisierte Flexible Stärkere Wartbarkeit
• fähigkeit Konfigurierbarkeit Anpassbarkeit Einbindung des
zur Laufzeit der Logik Fachbereichs
13. Lösungsansatz
Verwendung von Geschäftsregeln II
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add( ResourceFactory.newUrlResource( url ), ResourceType.DRL );
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages( builder.getKnowledgePackages() );
StatefulKnowledgeSession ksession = knowledgeBase.newStatefulKnowledgeSession();
ksession.insert( entity);
ksession.fireAllRules();
• Mandanten- Historisierte Flexible Stärkere Wartbarkeit
• fähigkeit Konfigurierbarkeit Anpassbarkeit Einbindung des
zur Laufzeit der Logik Fachbereichs
14. Regelbasierte Systeme
Überblick
• Regelbasierte Systeme bestehen aus
– einer Datenbank von Fakten (Faktenbasis, bei uns Antragsdaten)
– (Geschäfts-)regeln (Regelbasis oder auch Rule-Repository)
– Kontrollsystem mit Regelinterpreter (Rule Engine)
• Regelbasierte Systeme arbeiten deklarativ
• Aufbau der Regeln: Wenn [Bedingung] dann [Aktion]
– Beispiel: Outlook
19. Live Debug
Angebot
Stammdaten Gehaltsnachweis
Ablehnung
20. Unsere Erfahrungen
mit dem Einsatz von Geschäftsregeln
– Einfache Übersetzung Anforderungen
– Bessere Einbindung des Fachbereiches
– Gute Performance (Rete-Algorithmus)
– Höhere Flexibilität
– Unterschiedliche Lebenszyklen Regeln vs. Anwendung
– Erschwerung der Wartung
• Logik nicht an einer Stelle
• Debugging erschwert
– Zu Beginn „Berührungsängste“ Fachbereich
„Berührungsängste"
– Es besteht die Tendenz der „Überflexibilisierung“
21. Reglements auf der
Antragsstrecke
Regelgestützte
Validierung und Navigation mit JBoss
Drools
22. Wir gehören zu den 100 besten Arbeitgebern Deutschlands…
COINOR bietet allen Mitarbeitern
Spannende Projekte
Individuelle Förderung
Die Möglichkeit, schnell Verantwortung zu übernehmen
Attraktive Vergütungsmodelle
Einen motivierenden Teamgeist
… und suchen ein paar der besten Arbeitnehmer!