Reglements auf der      Antragsstrecke           RegelgestützteValidierung und Navigation mit JBoss               Drools
Agenda•   Kurzportrait•   Vorstellung des Projektes•   Unterschiedliche Lösungsszenarien•   Einführung Regelbasierte Syste...
Ihre Referenten
COINORStandorte                       Kernfakten                       Festangestellte                                Akt...
COINOR  IT Trends     Open Source     SOA                                            Prozess     Cloud Computing     …    ...
Das Projekt– Erstellung einer Web-basierten Anwendung zur  Beantragung von Krediten– Einsatz als White-Label-Produkt      ...
AnforderungenHistorisierte            Stärkere Einbindung    Flexible            Time-To-MarketKonfigurierbarkeit zur   de...
Lösungsansatz    minKredit=2500                                         Property File    maxKredit=100000    minAlter=18  ...
Lösungsansatz                       Konfiguration in Datenbank                                                 minKredit=2...
Lösungsansatz                    Konfiguration in Datenbank                        if (kredit > 3000) {                   ...
Lösungsansatz                  Konfiguration in Datenbank II                         GroovyClassLoader gcl = new GroovyCla...
Lösungsansatz                 Verwendung von Geschäftsregeln                       when                                   ...
Lösungsansatz                Verwendung von Geschäftsregeln IIKnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowl...
Regelbasierte Systeme                Überblick•   Regelbasierte Systeme bestehen aus     – einer Datenbank von Fakten (Fak...
Architektur                                  Überblick   Anwendung 1                      Anwendung 2                   An...
ArchitekturKlassenstruktur Regelintegration
Sequenzdiagramm  Validierungslogik
Sequenzdiagramm Navigationslogik
Live Debug                               AngebotStammdaten   Gehaltsnachweis                               Ablehnung
Unsere Erfahrungen    mit dem Einsatz von Geschäftsregeln–   Einfache Übersetzung Anforderungen–   Bessere Einbindung des ...
Reglements auf der      Antragsstrecke           RegelgestützteValidierung und Navigation mit JBoss               Drools
Wir gehören zu den 100 besten Arbeitgebern Deutschlands…  COINOR bietet allen Mitarbeitern     Spannende Projekte     In...
Nächste SlideShare
Wird geladen in …5
×

Regelgestütze Validierung

1.237 Aufrufe

Veröffentlicht am

Regelgestützte Validierung und Navigation mit JBoss Drools

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.237
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Regelgestütze Validierung

  1. 1. Reglements auf der Antragsstrecke RegelgestützteValidierung und Navigation mit JBoss Drools
  2. 2. Agenda• Kurzportrait• Vorstellung des Projektes• Unterschiedliche Lösungsszenarien• Einführung Regelbasierte Systeme• Architektur• Live Debug• Erfahrungen
  3. 3. Ihre Referenten
  4. 4. COINORStandorte 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. 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. 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. 7. AnforderungenHistorisierte Stärkere Einbindung Flexible Time-To-MarketKonfigurierbarkeit zur des Fachbereiches Anpassbarkeit derLaufzeit LogikMandantenfähigkeit Online Krediterfassung
  8. 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. 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. 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. 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. 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. 13. Lösungsansatz Verwendung von Geschäftsregeln IIKnowledgeBuilder 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. 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
  15. 15. Architektur Überblick Anwendung 1 Anwendung 2 Anwendung n Layout, Navigation Layout, Navigation Layout, Navigation Mandant 1 Mandant 1 Mandant 4Rule Repository Mandant 2 Rule Repository Mandant 3 Rule Repository Navigation Validation Logic Rule Navigator Rule Validator Rule Engine Rule Cache Rule Loader Basis Applikation
  16. 16. ArchitekturKlassenstruktur Regelintegration
  17. 17. Sequenzdiagramm Validierungslogik
  18. 18. Sequenzdiagramm Navigationslogik
  19. 19. Live Debug AngebotStammdaten Gehaltsnachweis Ablehnung
  20. 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. 21. Reglements auf der Antragsstrecke RegelgestützteValidierung und Navigation mit JBoss Drools
  22. 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!

×