SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Reglements auf der
      Antragsstrecke
           Regelgestützte
Validierung und Navigation mit JBoss
               Drools
Agenda
•   Kurzportrait
•   Vorstellung des Projektes
•   Unterschiedliche Lösungsszenarien
•   Einführung Regelbasierte Systeme
•   Architektur
•   Live Debug
•   Erfahrungen
Ihre Referenten
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
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
Das Projekt
– Erstellung einer Web-basierten Anwendung zur
  Beantragung von Krediten
– Einsatz als White-Label-Produkt

        Vermittler 1 /
         Autokredit
                         Basis
        Vermittler 2 /
          Barkredit
Anforderungen
Historisierte            Stärkere Einbindung    Flexible            Time-To-Market
Konfigurierbarkeit zur   des Fachbereiches      Anpassbarkeit der
Laufzeit
                                                Logik


Mandantenfähigkeit




                                        Online Krediterfassung
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
                                                                                 ?
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
                                                                                   ?
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
                                                                                              ?
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
                                                                                      ?
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
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
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
Architektur
                                  Überblick
   Anwendung 1                      Anwendung 2                   Anwendung n
     Layout, Navigation              Layout, Navigation            Layout, Navigation

                  Mandant 1                        Mandant 1                     Mandant 4
Rule Repository   Mandant 2      Rule Repository   Mandant 3   Rule Repository




             Navigation                 Validation                Logic

         Rule Navigator             Rule Validator

                          Rule Engine

                          Rule Cache                           Rule Loader


                                       Basis Applikation
Architektur
Klassenstruktur Regelintegration
Sequenzdiagramm
  Validierungslogik
Sequenzdiagramm Navigationslogik
Live Debug

                               Angebot

Stammdaten   Gehaltsnachweis


                               Ablehnung
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“
Reglements auf der
      Antragsstrecke
           Regelgestützte
Validierung und Navigation mit JBoss
               Drools
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!

Weitere ähnliche Inhalte

Andere mochten auch

Development Applications 2008 05 26
Development Applications 2008 05 26Development Applications 2008 05 26
Development Applications 2008 05 26jgabateman
 
Bronchopneumonia:casepre
Bronchopneumonia:casepreBronchopneumonia:casepre
Bronchopneumonia:casepreRad King
 
0 to 2,500 Customers with No Cold Calls
0 to 2,500 Customers with No Cold Calls0 to 2,500 Customers with No Cold Calls
0 to 2,500 Customers with No Cold CallsHubSpot
 
MasterPlus - Sistema Binário
MasterPlus - Sistema BinárioMasterPlus - Sistema Binário
MasterPlus - Sistema BinárioMasterplusBrasil
 
Strip your charts
Strip your chartsStrip your charts
Strip your chartsuwseidl
 
Resultado Final do Concurso de Bom Sucesso
Resultado Final do Concurso de Bom Sucesso Resultado Final do Concurso de Bom Sucesso
Resultado Final do Concurso de Bom Sucesso Joao Rivonaldo Silva
 
Exames médicos valores - União Sindical
Exames médicos   valores - União SindicalExames médicos   valores - União Sindical
Exames médicos valores - União Sindicalsinteimp
 
2500 years of learning theory: The good, the bad & the ugly - Donald Clark
2500 years of learning theory: The good, the bad & the ugly - Donald Clark2500 years of learning theory: The good, the bad & the ugly - Donald Clark
2500 years of learning theory: The good, the bad & the ugly - Donald ClarkLearning Pool Ltd
 
Sarah Palin\'s Shopping Spree
Sarah Palin\'s Shopping SpreeSarah Palin\'s Shopping Spree
Sarah Palin\'s Shopping Spreecoolstuff
 
Labor Market and Salary Survey in Russia
Labor Market and Salary Survey in RussiaLabor Market and Salary Survey in Russia
Labor Market and Salary Survey in RussiaAwara Direct Search
 
The Recipe For Creating a Successful Startup Ecosystem
The Recipe For Creating a Successful Startup EcosystemThe Recipe For Creating a Successful Startup Ecosystem
The Recipe For Creating a Successful Startup EcosystemTzahi (Zack) Weisfeld
 

Andere mochten auch (15)

Development Applications 2008 05 26
Development Applications 2008 05 26Development Applications 2008 05 26
Development Applications 2008 05 26
 
Bronchopneumonia:casepre
Bronchopneumonia:casepreBronchopneumonia:casepre
Bronchopneumonia:casepre
 
Acoples rapidos
Acoples rapidosAcoples rapidos
Acoples rapidos
 
0 to 2,500 Customers with No Cold Calls
0 to 2,500 Customers with No Cold Calls0 to 2,500 Customers with No Cold Calls
0 to 2,500 Customers with No Cold Calls
 
MasterPlus - Sistema Binário
MasterPlus - Sistema BinárioMasterPlus - Sistema Binário
MasterPlus - Sistema Binário
 
Strip your charts
Strip your chartsStrip your charts
Strip your charts
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
Resultado Final do Concurso de Bom Sucesso
Resultado Final do Concurso de Bom Sucesso Resultado Final do Concurso de Bom Sucesso
Resultado Final do Concurso de Bom Sucesso
 
Exames médicos valores - União Sindical
Exames médicos   valores - União SindicalExames médicos   valores - União Sindical
Exames médicos valores - União Sindical
 
Option Strategies
Option StrategiesOption Strategies
Option Strategies
 
2500 years of learning theory: The good, the bad & the ugly - Donald Clark
2500 years of learning theory: The good, the bad & the ugly - Donald Clark2500 years of learning theory: The good, the bad & the ugly - Donald Clark
2500 years of learning theory: The good, the bad & the ugly - Donald Clark
 
Sarah Palin\'s Shopping Spree
Sarah Palin\'s Shopping SpreeSarah Palin\'s Shopping Spree
Sarah Palin\'s Shopping Spree
 
Labor Market and Salary Survey in Russia
Labor Market and Salary Survey in RussiaLabor Market and Salary Survey in Russia
Labor Market and Salary Survey in Russia
 
The Recipe For Creating a Successful Startup Ecosystem
The Recipe For Creating a Successful Startup EcosystemThe Recipe For Creating a Successful Startup Ecosystem
The Recipe For Creating a Successful Startup Ecosystem
 
Catálogo de delícias
Catálogo de delíciasCatálogo de delícias
Catálogo de delícias
 

Ähnlich wie Regelgestütze Validierung

Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der PraxisMichael Mirold
 
Cloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenCloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenDaniel Steiger
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Maskenvalidierung
MaskenvalidierungMaskenvalidierung
MaskenvalidierungCofinpro AG
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Michael Kurz
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformQAware GmbH
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.adesso AG
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?QAware GmbH
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Josef Adersberger
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenJan Thielscher
 
Cloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut StreppelCloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut StreppelMedien Meeting Mannheim
 
Data Is The New Oil
Data Is The New OilData Is The New Oil
Data Is The New OilParStream
 
20.03.2010 20 BarCampRuhr3 Infrastructure As A Service
20.03.2010 20 BarCampRuhr3 Infrastructure As A Service20.03.2010 20 BarCampRuhr3 Infrastructure As A Service
20.03.2010 20 BarCampRuhr3 Infrastructure As A ServiceThomas Lobinger
 
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...Dietmar Georg Wiedemann
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...OPITZ CONSULTING Deutschland
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...BATbern
 

Ähnlich wie Regelgestütze Validierung (20)

Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
Cloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenCloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und Loesungen
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Maskenvalidierung
MaskenvalidierungMaskenvalidierung
Maskenvalidierung
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Businessday Wirtschaftsfrauen 2012
Businessday Wirtschaftsfrauen 2012Businessday Wirtschaftsfrauen 2012
Businessday Wirtschaftsfrauen 2012
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
 
Cloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut StreppelCloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut Streppel
 
Datenblatt SCRIBE Adapter für Microsoft Dynamics CRM
Datenblatt SCRIBE  Adapter für Microsoft Dynamics CRMDatenblatt SCRIBE  Adapter für Microsoft Dynamics CRM
Datenblatt SCRIBE Adapter für Microsoft Dynamics CRM
 
Data Is The New Oil
Data Is The New OilData Is The New Oil
Data Is The New Oil
 
20.03.2010 20 BarCampRuhr3 Infrastructure As A Service
20.03.2010 20 BarCampRuhr3 Infrastructure As A Service20.03.2010 20 BarCampRuhr3 Infrastructure As A Service
20.03.2010 20 BarCampRuhr3 Infrastructure As A Service
 
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
 

Regelgestütze Validierung

  • 1. Reglements auf der Antragsstrecke Regelgestützte Validierung und Navigation mit JBoss Drools
  • 2. Agenda • Kurzportrait • Vorstellung des Projektes • Unterschiedliche Lösungsszenarien • Einführung Regelbasierte Systeme • Architektur • Live Debug • Erfahrungen
  • 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
  • 15. Architektur Überblick Anwendung 1 Anwendung 2 Anwendung n Layout, Navigation Layout, Navigation Layout, Navigation Mandant 1 Mandant 1 Mandant 4 Rule Repository Mandant 2 Rule Repository Mandant 3 Rule Repository Navigation Validation Logic Rule Navigator Rule Validator Rule Engine Rule Cache Rule Loader Basis Applikation
  • 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!