SlideShare a Scribd company logo
1 of 51
jBPM und Drools: Prozess- und
Regelgestützte Fachanwendungen
Kai Jemella - agentbase
Gedoplan – Java Expertenkreis, 2013-07-04
2www.agentbase.de
Agenda
● Projektübersicht und Historie
● Drools als BRM System
● jBPM als BPM System
● BRM und BPM in der Fachanwendung
● Demo
● Neues / Änderungen in jBPM 6
3www.agentbase.de
Projektübersicht
● Drools, Business Rules (JBoss BRMS)
– Rete Algorythmus von Charles Forgy (1970)
– Enterprise Version: JBoss BRMS
● jBPM, Process Management
– BPMN 2 Prozesse
– Runtime ist Drools
– Enterprise Version: JBoss BPM
● Optaplanner ehemals Drools Planner
– Resourcen Planung / Optimierung
4www.agentbase.de
Historie 2010 – jBPM 4
● jBPM 3.x borns as a BPMS (Business Process
Management System)
● It was classified by JBoss as an integration software
● Until jBPM 4.x Tom Baeyens was in charge of the project
● Tom Baeyens quit JBoss and joins Alfresco
Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
5www.agentbase.de
Historie 2009 – Dools Flow
● Drools was born as a Rule Engine.
● Mark Proctor is the current project leader.
● In Drools version 4.x a new module appear called Drools Flow.
● The main idea behind Drools Flow was to provide BPMS
capabilities on top of the Rule Engine.
● Kris Verlaenen, Phd was in charge of the Drools Flow initiative,
writing it from the scratch.
● The main goal of Drools is to provide a platform where rules and
business processes can live, coexist and collaborate as
Knowledge Representations.
Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
6www.agentbase.de
Historie 2010 – jBPM 5
● Drools Flow 5.x was released back in 2009
● The rebranded version of Drools Flow, jBPM5 was released on
December of 2010
● Provides a rock solid BPMS core and a flexible mechanisms to
implement the main stages of the BPM discipline
● Totally based on BPMN2
● jBPM5 was conceived having in mind the code base of Drools
Flow and covering all the functionality provided by jBPM 4.
Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
7www.agentbase.de
Historie 2013
http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/2012-10-16-Simplify_the_complexity_of_your_business_processes2.pdf
8www.agentbase.de
Business Rules - Drools
9www.agentbase.de
Business Rules - Drools
Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
10www.agentbase.de
Business Rules - Drools
Quelle: http://www.igcseict.info/theory/7_2/expert/
11www.agentbase.de
Business Rules – Drools
Regel Schema
● Name
● Attribute
● when
– LHS (left hand side)
● then
– RHS (right hand side)
Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
12www.agentbase.de
Business Rules – Drools
Regel Attribute
● salience
– Priorität mit der eine Regel vor anderen Regel gefeuert werden soll.
● date-effective
– Eine Regel kann nur aktiviert werden, wenn das Datum überschritten wrude.
● date-expires
– Eine Regel kann nur aktiviert werden, bis das Datum erreicht wurde.
● ruleflow-group
– Bezeichner der Prozessaufgabe, bei der die Regel gefeuert werden soll.
– Siehe auch agenda-group ohne BPM.
Übersicht: http://docs.jboss.org/drools/release/6.0.0.Beta3/drools-expert-docs/html/ch04.html#d0e5150
13www.agentbase.de
Business Rules – Drools
-Bedingung when: left hand side
Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
14www.agentbase.de
Business Rules – Drools
-Aktivierung und Ausführung
Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
15www.agentbase.de
Business Rules – Drools
Varianten der Regel Erstellung
16www.agentbase.de
Business Rules – Drools
Beispiel DRL (Drools Rules Language)
http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/Business_Rules_And_Event_Modeling_Made_Easy_v2_Tirelli.pdf
17www.agentbase.de
Business Rules – Drools
Beispiel DSL (Domain Specific Languages)
● Focus on „what to do“ instead of „how to do it“
Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
18www.agentbase.de
Business Rules – Drools
Beispiel Guided Rule
Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
19www.agentbase.de
Business Rules – Drools
Beispiel Decision Table
20www.agentbase.de
Business Process – jBPM
21www.agentbase.de
Business Process – jBPM
jBPM Merkmale
Quelle: http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/2012-10-16-Simplify_the_complexity_of_your_business_processes2.pdf
● (Executable) business processes
– open-source, light-weight engine
– from embedded to as a service
● Native BPMN 2.0 support
● Both developers and business users
● Entire life cycle
● Advanced, adaptive processes
22www.agentbase.de
Übersicht BRMS 5.3
http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/BRMS_RoadMap_10-17-12.pdf
23www.agentbase.de
Business Process – jBPM
BPMN 2.0
24www.agentbase.de
Business Process – jBPM
Developers and business users
25www.agentbase.de
Business Process – jBPM
Adaptive process?
26www.agentbase.de
Business Process – jBPM
Adaptive process?
27www.agentbase.de
Business Process – jBPM
BPM im Unternehmen
http://salaboy.com/2011/03/17/jbpm5-community-training-%E2%80%93-module-2-5-bpm-for-developers/
28www.agentbase.de
Stärken von BRMS in jBPM
● Synergetic Business Aspects – Rules, Business Events,
Workflows
● Lightweight Deployment
● Choice of Deployment – Embedded Vs Stand Alone
● Choice of Containers – JBoss Vs Non-JBoss
● Choice of Packages – Integrated Vs Components
● Choice of Tools – Web based Vs Eclipse based
● Pluggable Persistence and Transaction
● Easily Extensible – Rich and Robust APIs
Quelle: http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/BRMS_RoadMap_10-17-12.pdf
29www.agentbase.de
Warum überhaupt BPM und BRM?
30www.agentbase.de
BPM mit BRM in der Fachanwendung
Warum?
31www.agentbase.de
BPM mit BRM in der Fachanwendung
● Synergetic Business Aspects (Process and Rules)
● Lightway
● Pluggable Persistence and Transaction
● Easily Extensible – Rich and Robust APIs
32www.agentbase.de
BPM mit BRM in der Fachanwendung
● Synergetic Business Aspects (Process and Rules)
● Lightway
● Pluggable Persistence and Transaction
● Easily Extensible – Rich and Robust APIs
Warum BPM und BRM
„nur“ als Unternehmenslösung?
33www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Gibt es in der Fachanwendung Geschäftsdaten?
– verändern sich diese?
– wie verändern sie sich?
– wer weiß wie sie sich verändern?
– was passiert wenn sie sich verändert haben?
– wer weiß wann sie fachlich nicht valide sind?
34www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Gibt es in der Fachanwendung Arbeitsabläufe?
– verändern sich diese?
– wer kennt die Arbeitsabläufe?
– sind mehrere Benutzer Rollen beteiligt?
35www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Bleibt die Welt in der Fachanwendung stehen?
Quelle: http://earthengine.google.org/#intro/LasVegas
36www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Wie wichtig ist die Fachanwendung für das Unternehmen?
– „if it ain't broke, don't fix it“ – you can fix it?
– Verständlichkeit, Wartbarkeit, ...
37www.agentbase.de
BPM mit BRM in der Fachanwendung
Ok – wie geht das mit jBPM / Drools?
38www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● Beispiel Anwendung
– Maven und GIT
– JEE 6: JSF, CDI, JPA
– JBoss 7.1.1, MySQL 5
● Besonderheit
– jBPM Version 6
– Transaktionsgrenze in der View, kein JTA sondern Resource
Local mit CDI Erweiterung Deltaspike
39www.agentbase.de
BPM mit BRM in der Fachanwendung
40www.agentbase.de
BPM mit BRM in der Fachanwendung
41www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration - KieBase
● KieBase ist die Wissensbasis zur Laufzeit
– Beinhaltet Regeln und Prozess Definitionen
● entweder direkt aus dem Projekt
● oder über Repository Server (Guvnor / Kie Workbench)
– Teuer zu erstellen
– Sollte zur Laufzeit nicht verändert werden
● Business Rule Tasks
– Aktivation, Agenda Evaluation, Fire !
– Logik von fact insert, update, delete und fireAllRules obliegt
der Anwendung, kein Default
– AgendaListener und ProcessListener benutzen
– Erstmal passiert gar nichts :-/
42www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● RuntimeManager
– Strategie für KieSession
– Mehrere RuntimeManager möglich
● RuntimeEngine
– KieSession
– TaskService (HumanTask)
43www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● KieSession Strategy
– @Singleton - JavaDoc SingletonRuntimeManager
● BPMN 2.0 Timer Unterstützung
● Sequentielle Ausführung
● KieSession kann Geschäftsdaten referenzieren (Facts)
– @PerProcessInstance - JavaDoc PerProcessInstanceRuntimeManager
● Vermutlich nur bedingt BPMN 2.0 Timer Unterstützung
● KieSession Konflikt möglich
● KieSession kann Geschäftsdaten für den Prozess referenzieren (Facts)
– @PerRequest – JavaDoc PerRequestRuntimeManager
● Vermutlich keine BPMN 2.0 Timer Unterstützung
● KieSession flüchtig, keine Geschäftsdaten, keine KieSession Konflikt möglich
Siehe: https://community.jboss.org/thread/211785
44www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● Demo Beispielanwendung
Siehe: https://community.jboss.org/thread/211785
45www.agentbase.de
jBPM Version 6
Änderungen?
46www.agentbase.de
jBPM Version 6
● API Änderung, KIE = Knowledge Is Everything
Quelle: http://de.slideshare.net/MarkProctor/drools-60-red-hat-summit
http://blog.athico.com/2013/06/judcon-summit-and-misc-presentation.html
47www.agentbase.de
jBPM Version 6
API Änderung
● Konvention
– droolsjbpm → kie
– knowledge → kie
● Beispiele
– KnowlegeBase → KieBase
– StatefulKnowledgeSession → KieSession
● Legacy API Adapter JAR
● KnowledgeAgents have not been ported
● DRL has not changed !
Quelle: http://de.slideshare.net/MarkProctor/drools-60-red-hat-summit
http://blog.athico.com/2013/06/judcon-summit-and-misc-presentation.html
48www.agentbase.de
jBPM Version 6
Änderung und Neues
● Repository (Guvnor)
– UI, Modular mit UberFire
– Inhalt nicht länger über JCR sondern via GIT
– Projekt Dependencies über Maven statt Guvnor eigene Model jar Verwaltung
– Projekt Versionsverwaltung über Maven statt Guvnor eigenes Paket Management
– Deployment über Maven JARS, nicht mehr über Guvnor Pakete
● KieModules zur Definition von KieBase
● CDI !
● Drools
– RETE+
– Score Cards
– JTMS (Justification-based Truth Maintenance)
– Chaining, Backward Chaining
Quelle: http://de.slideshare.net/MarkProctor/drools-60-red-hat-summit
http://blog.athico.com/2013/06/judcon-summit-and-misc-presentation.html
49www.agentbase.de
Mit jBPM starten
● Demo Installation inkl. Eclipse und JBoss
http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html
● Eclipse Plugins
– bpmn2-modeler
● http://download.eclipse.org/bpmn2-modeler/updates/kepler
– bpmn
●
http://download.eclipse.org/modeling/mdt/bpmn2/updates/milestones/S20130423
– drools
● http://hudson.jboss.org/hudson/job/droolsjbpm-tools/lastSuccessfulBuild/artifact/drools-
eclipse/org.drools.updatesite/target/org.drools.updatesite-6.0.0-SNAPSHOT.zip
● Beispiele
– Unit Tests in den einzelnen Modulen
– jBPM Unit Tests https://github.com/droolsjbpm/jbpm/tree/master/jbpm-examples
– Beispiel Web Projekt https://github.com/jsvitak/jbpm-6-examples
50www.agentbase.de
Ressourcen / Quellen
● Quellenangaben auf den Folien
● http://www.jboss.org/jbpm
● http://www.jboss.org/drools
● http://www.jboss.org/drools/presentations
● http://blog.athico.com
● http://kverlaen.blogspot.de
● https://github.com/droolsjbpm
51www.agentbase.de
Vielen Dank für Ihre Aufmerksamkeit!
agentbase AG
Eggertstraße 7
33100 Paderborn
Fon: +49 5251 547 2600
Fax: +49 5251 547 2699
E-Mail: info@agentbase.de
Web: www.agentbase.de

More Related Content

What's hot (6)

1&1 de
1&1 de1&1 de
1&1 de
 
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
 
Webinar: BPMN mit camunda
Webinar: BPMN mit camundaWebinar: BPMN mit camunda
Webinar: BPMN mit camunda
 
Open Source BPM - iteratec Architekturtag
Open Source BPM - iteratec ArchitekturtagOpen Source BPM - iteratec Architekturtag
Open Source BPM - iteratec Architekturtag
 
BPMN in der Praxis
BPMN in der PraxisBPMN in der Praxis
BPMN in der Praxis
 
2012 04-18 bpmn 2
2012 04-18 bpmn 22012 04-18 bpmn 2
2012 04-18 bpmn 2
 

Similar to jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen

JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
camunda services GmbH
 
SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?
IBsolution GmbH
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
FotiosKaramitsos
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
Stefan Hilpp
 

Similar to jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen (20)

Webinar - SAP BOPF
Webinar - SAP BOPFWebinar - SAP BOPF
Webinar - SAP BOPF
 
DNUG2015 Frühjahrskonferenz: Prozessautomatisierung im Domino Kosmos, nicht o...
DNUG2015 Frühjahrskonferenz: Prozessautomatisierung im Domino Kosmos, nicht o...DNUG2015 Frühjahrskonferenz: Prozessautomatisierung im Domino Kosmos, nicht o...
DNUG2015 Frühjahrskonferenz: Prozessautomatisierung im Domino Kosmos, nicht o...
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
 
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
 
SAP BTP Anwendungen & Berechtigungen - Gewusst wie!
SAP BTP Anwendungen & Berechtigungen - Gewusst wie!SAP BTP Anwendungen & Berechtigungen - Gewusst wie!
SAP BTP Anwendungen & Berechtigungen - Gewusst wie!
 
SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?
 
Geschäftspartner-, Material und Finanzprozesse ohne SAP MDG steuern und durch...
Geschäftspartner-, Material und Finanzprozesse ohne SAP MDG steuern und durch...Geschäftspartner-, Material und Finanzprozesse ohne SAP MDG steuern und durch...
Geschäftspartner-, Material und Finanzprozesse ohne SAP MDG steuern und durch...
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und JavaJUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
 
2022-12_RPA-ChapterEvent_WhatsNew
2022-12_RPA-ChapterEvent_WhatsNew2022-12_RPA-ChapterEvent_WhatsNew
2022-12_RPA-ChapterEvent_WhatsNew
 
Jug muenchen bpmn in der praxis
Jug muenchen bpmn in der praxisJug muenchen bpmn in der praxis
Jug muenchen bpmn in der praxis
 
20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2
 
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
 
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktSwiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
 
OSMC 2010 | Neues bei den Nagios Business Process AddOns by Bernd Strößenreuther
OSMC 2010 | Neues bei den Nagios Business Process AddOns by Bernd StrößenreutherOSMC 2010 | Neues bei den Nagios Business Process AddOns by Bernd Strößenreuther
OSMC 2010 | Neues bei den Nagios Business Process AddOns by Bernd Strößenreuther
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
 
CCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18n
 

jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen

  • 1. jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen Kai Jemella - agentbase Gedoplan – Java Expertenkreis, 2013-07-04
  • 2. 2www.agentbase.de Agenda ● Projektübersicht und Historie ● Drools als BRM System ● jBPM als BPM System ● BRM und BPM in der Fachanwendung ● Demo ● Neues / Änderungen in jBPM 6
  • 3. 3www.agentbase.de Projektübersicht ● Drools, Business Rules (JBoss BRMS) – Rete Algorythmus von Charles Forgy (1970) – Enterprise Version: JBoss BRMS ● jBPM, Process Management – BPMN 2 Prozesse – Runtime ist Drools – Enterprise Version: JBoss BPM ● Optaplanner ehemals Drools Planner – Resourcen Planung / Optimierung
  • 4. 4www.agentbase.de Historie 2010 – jBPM 4 ● jBPM 3.x borns as a BPMS (Business Process Management System) ● It was classified by JBoss as an integration software ● Until jBPM 4.x Tom Baeyens was in charge of the project ● Tom Baeyens quit JBoss and joins Alfresco Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
  • 5. 5www.agentbase.de Historie 2009 – Dools Flow ● Drools was born as a Rule Engine. ● Mark Proctor is the current project leader. ● In Drools version 4.x a new module appear called Drools Flow. ● The main idea behind Drools Flow was to provide BPMS capabilities on top of the Rule Engine. ● Kris Verlaenen, Phd was in charge of the Drools Flow initiative, writing it from the scratch. ● The main goal of Drools is to provide a platform where rules and business processes can live, coexist and collaborate as Knowledge Representations. Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
  • 6. 6www.agentbase.de Historie 2010 – jBPM 5 ● Drools Flow 5.x was released back in 2009 ● The rebranded version of Drools Flow, jBPM5 was released on December of 2010 ● Provides a rock solid BPMS core and a flexible mechanisms to implement the main stages of the BPM discipline ● Totally based on BPMN2 ● jBPM5 was conceived having in mind the code base of Drools Flow and covering all the functionality provided by jBPM 4. Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
  • 9. 9www.agentbase.de Business Rules - Drools Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
  • 10. 10www.agentbase.de Business Rules - Drools Quelle: http://www.igcseict.info/theory/7_2/expert/
  • 11. 11www.agentbase.de Business Rules – Drools Regel Schema ● Name ● Attribute ● when – LHS (left hand side) ● then – RHS (right hand side) Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
  • 12. 12www.agentbase.de Business Rules – Drools Regel Attribute ● salience – Priorität mit der eine Regel vor anderen Regel gefeuert werden soll. ● date-effective – Eine Regel kann nur aktiviert werden, wenn das Datum überschritten wrude. ● date-expires – Eine Regel kann nur aktiviert werden, bis das Datum erreicht wurde. ● ruleflow-group – Bezeichner der Prozessaufgabe, bei der die Regel gefeuert werden soll. – Siehe auch agenda-group ohne BPM. Übersicht: http://docs.jboss.org/drools/release/6.0.0.Beta3/drools-expert-docs/html/ch04.html#d0e5150
  • 13. 13www.agentbase.de Business Rules – Drools -Bedingung when: left hand side Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
  • 14. 14www.agentbase.de Business Rules – Drools -Aktivierung und Ausführung Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
  • 15. 15www.agentbase.de Business Rules – Drools Varianten der Regel Erstellung
  • 16. 16www.agentbase.de Business Rules – Drools Beispiel DRL (Drools Rules Language) http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/Business_Rules_And_Event_Modeling_Made_Easy_v2_Tirelli.pdf
  • 17. 17www.agentbase.de Business Rules – Drools Beispiel DSL (Domain Specific Languages) ● Focus on „what to do“ instead of „how to do it“ Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
  • 18. 18www.agentbase.de Business Rules – Drools Beispiel Guided Rule Quelle: http://blog.athico.com/2013/05/whats-coming-in-drools-60-slides.html
  • 19. 19www.agentbase.de Business Rules – Drools Beispiel Decision Table
  • 21. 21www.agentbase.de Business Process – jBPM jBPM Merkmale Quelle: http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/2012-10-16-Simplify_the_complexity_of_your_business_processes2.pdf ● (Executable) business processes – open-source, light-weight engine – from embedded to as a service ● Native BPMN 2.0 support ● Both developers and business users ● Entire life cycle ● Advanced, adaptive processes
  • 24. 24www.agentbase.de Business Process – jBPM Developers and business users
  • 25. 25www.agentbase.de Business Process – jBPM Adaptive process?
  • 26. 26www.agentbase.de Business Process – jBPM Adaptive process?
  • 27. 27www.agentbase.de Business Process – jBPM BPM im Unternehmen http://salaboy.com/2011/03/17/jbpm5-community-training-%E2%80%93-module-2-5-bpm-for-developers/
  • 28. 28www.agentbase.de Stärken von BRMS in jBPM ● Synergetic Business Aspects – Rules, Business Events, Workflows ● Lightweight Deployment ● Choice of Deployment – Embedded Vs Stand Alone ● Choice of Containers – JBoss Vs Non-JBoss ● Choice of Packages – Integrated Vs Components ● Choice of Tools – Web based Vs Eclipse based ● Pluggable Persistence and Transaction ● Easily Extensible – Rich and Robust APIs Quelle: http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/BRMS_RoadMap_10-17-12.pdf
  • 30. 30www.agentbase.de BPM mit BRM in der Fachanwendung Warum?
  • 31. 31www.agentbase.de BPM mit BRM in der Fachanwendung ● Synergetic Business Aspects (Process and Rules) ● Lightway ● Pluggable Persistence and Transaction ● Easily Extensible – Rich and Robust APIs
  • 32. 32www.agentbase.de BPM mit BRM in der Fachanwendung ● Synergetic Business Aspects (Process and Rules) ● Lightway ● Pluggable Persistence and Transaction ● Easily Extensible – Rich and Robust APIs Warum BPM und BRM „nur“ als Unternehmenslösung?
  • 33. 33www.agentbase.de BPM mit BRM in der Fachanwendung Nur weil es geht? ● Gibt es in der Fachanwendung Geschäftsdaten? – verändern sich diese? – wie verändern sie sich? – wer weiß wie sie sich verändern? – was passiert wenn sie sich verändert haben? – wer weiß wann sie fachlich nicht valide sind?
  • 34. 34www.agentbase.de BPM mit BRM in der Fachanwendung Nur weil es geht? ● Gibt es in der Fachanwendung Arbeitsabläufe? – verändern sich diese? – wer kennt die Arbeitsabläufe? – sind mehrere Benutzer Rollen beteiligt?
  • 35. 35www.agentbase.de BPM mit BRM in der Fachanwendung Nur weil es geht? ● Bleibt die Welt in der Fachanwendung stehen? Quelle: http://earthengine.google.org/#intro/LasVegas
  • 36. 36www.agentbase.de BPM mit BRM in der Fachanwendung Nur weil es geht? ● Wie wichtig ist die Fachanwendung für das Unternehmen? – „if it ain't broke, don't fix it“ – you can fix it? – Verständlichkeit, Wartbarkeit, ...
  • 37. 37www.agentbase.de BPM mit BRM in der Fachanwendung Ok – wie geht das mit jBPM / Drools?
  • 38. 38www.agentbase.de BPM mit BRM in der Fachanwendung jBPM Integration ● Beispiel Anwendung – Maven und GIT – JEE 6: JSF, CDI, JPA – JBoss 7.1.1, MySQL 5 ● Besonderheit – jBPM Version 6 – Transaktionsgrenze in der View, kein JTA sondern Resource Local mit CDI Erweiterung Deltaspike
  • 39. 39www.agentbase.de BPM mit BRM in der Fachanwendung
  • 40. 40www.agentbase.de BPM mit BRM in der Fachanwendung
  • 41. 41www.agentbase.de BPM mit BRM in der Fachanwendung jBPM Integration - KieBase ● KieBase ist die Wissensbasis zur Laufzeit – Beinhaltet Regeln und Prozess Definitionen ● entweder direkt aus dem Projekt ● oder über Repository Server (Guvnor / Kie Workbench) – Teuer zu erstellen – Sollte zur Laufzeit nicht verändert werden ● Business Rule Tasks – Aktivation, Agenda Evaluation, Fire ! – Logik von fact insert, update, delete und fireAllRules obliegt der Anwendung, kein Default – AgendaListener und ProcessListener benutzen – Erstmal passiert gar nichts :-/
  • 42. 42www.agentbase.de BPM mit BRM in der Fachanwendung jBPM Integration ● RuntimeManager – Strategie für KieSession – Mehrere RuntimeManager möglich ● RuntimeEngine – KieSession – TaskService (HumanTask)
  • 43. 43www.agentbase.de BPM mit BRM in der Fachanwendung jBPM Integration ● KieSession Strategy – @Singleton - JavaDoc SingletonRuntimeManager ● BPMN 2.0 Timer Unterstützung ● Sequentielle Ausführung ● KieSession kann Geschäftsdaten referenzieren (Facts) – @PerProcessInstance - JavaDoc PerProcessInstanceRuntimeManager ● Vermutlich nur bedingt BPMN 2.0 Timer Unterstützung ● KieSession Konflikt möglich ● KieSession kann Geschäftsdaten für den Prozess referenzieren (Facts) – @PerRequest – JavaDoc PerRequestRuntimeManager ● Vermutlich keine BPMN 2.0 Timer Unterstützung ● KieSession flüchtig, keine Geschäftsdaten, keine KieSession Konflikt möglich Siehe: https://community.jboss.org/thread/211785
  • 44. 44www.agentbase.de BPM mit BRM in der Fachanwendung jBPM Integration ● Demo Beispielanwendung Siehe: https://community.jboss.org/thread/211785
  • 46. 46www.agentbase.de jBPM Version 6 ● API Änderung, KIE = Knowledge Is Everything Quelle: http://de.slideshare.net/MarkProctor/drools-60-red-hat-summit http://blog.athico.com/2013/06/judcon-summit-and-misc-presentation.html
  • 47. 47www.agentbase.de jBPM Version 6 API Änderung ● Konvention – droolsjbpm → kie – knowledge → kie ● Beispiele – KnowlegeBase → KieBase – StatefulKnowledgeSession → KieSession ● Legacy API Adapter JAR ● KnowledgeAgents have not been ported ● DRL has not changed ! Quelle: http://de.slideshare.net/MarkProctor/drools-60-red-hat-summit http://blog.athico.com/2013/06/judcon-summit-and-misc-presentation.html
  • 48. 48www.agentbase.de jBPM Version 6 Änderung und Neues ● Repository (Guvnor) – UI, Modular mit UberFire – Inhalt nicht länger über JCR sondern via GIT – Projekt Dependencies über Maven statt Guvnor eigene Model jar Verwaltung – Projekt Versionsverwaltung über Maven statt Guvnor eigenes Paket Management – Deployment über Maven JARS, nicht mehr über Guvnor Pakete ● KieModules zur Definition von KieBase ● CDI ! ● Drools – RETE+ – Score Cards – JTMS (Justification-based Truth Maintenance) – Chaining, Backward Chaining Quelle: http://de.slideshare.net/MarkProctor/drools-60-red-hat-summit http://blog.athico.com/2013/06/judcon-summit-and-misc-presentation.html
  • 49. 49www.agentbase.de Mit jBPM starten ● Demo Installation inkl. Eclipse und JBoss http://blog.athico.com/2013/05/how-to-build-and-run-drools-and-guvnor.html ● Eclipse Plugins – bpmn2-modeler ● http://download.eclipse.org/bpmn2-modeler/updates/kepler – bpmn ● http://download.eclipse.org/modeling/mdt/bpmn2/updates/milestones/S20130423 – drools ● http://hudson.jboss.org/hudson/job/droolsjbpm-tools/lastSuccessfulBuild/artifact/drools- eclipse/org.drools.updatesite/target/org.drools.updatesite-6.0.0-SNAPSHOT.zip ● Beispiele – Unit Tests in den einzelnen Modulen – jBPM Unit Tests https://github.com/droolsjbpm/jbpm/tree/master/jbpm-examples – Beispiel Web Projekt https://github.com/jsvitak/jbpm-6-examples
  • 50. 50www.agentbase.de Ressourcen / Quellen ● Quellenangaben auf den Folien ● http://www.jboss.org/jbpm ● http://www.jboss.org/drools ● http://www.jboss.org/drools/presentations ● http://blog.athico.com ● http://kverlaen.blogspot.de ● https://github.com/droolsjbpm
  • 51. 51www.agentbase.de Vielen Dank für Ihre Aufmerksamkeit! agentbase AG Eggertstraße 7 33100 Paderborn Fon: +49 5251 547 2600 Fax: +49 5251 547 2699 E-Mail: info@agentbase.de Web: www.agentbase.de