jBPM und Drools: Prozess- und
Regelgestützte Fachanwendungen
Kai Jemella - agentbase
Gedoplan – Java Expertenkreis, 2013-0...
2www.agentbase.de
Agenda
● Projektübersicht und Historie
● Drools als BRM System
● jBPM als BPM System
● BRM und BPM in de...
3www.agentbase.de
Projektübersicht
● Drools, Business Rules (JBoss BRMS)
– Rete Algorythmus von Charles Forgy (1970)
– Ent...
4www.agentbase.de
Historie 2010 – jBPM 4
● jBPM 3.x borns as a BPMS (Business Process
Management System)
● It was classifi...
5www.agentbase.de
Historie 2009 – Dools Flow
● Drools was born as a Rule Engine.
● Mark Proctor is the current project lea...
6www.agentbase.de
Historie 2010 – jBPM 5
● Drools Flow 5.x was released back in 2009
● The rebranded version of Drools Flo...
7www.agentbase.de
Historie 2013
http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/2012-10-16-Simplify_the_co...
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-in...
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 (rig...
12www.agentbase.de
Business Rules – Drools
Regel Attribute
● salience
– Priorität mit der eine Regel vor anderen Regel gef...
13www.agentbase.de
Business Rules – Drools
-Bedingung when: left hand side
Quelle: http://blog.athico.com/2013/05/whats-co...
14www.agentbase.de
Business Rules – Drools
-Aktivierung und Ausführung
Quelle: http://blog.athico.com/2013/05/whats-coming...
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_integrat...
17www.agentbase.de
Business Rules – Drools
Beispiel DSL (Domain Specific Languages)
● Focus on „what to do“ instead of „ho...
18www.agentbase.de
Business Rules – Drools
Beispiel Guided Rule
Quelle: http://blog.athico.com/2013/05/whats-coming-in-dro...
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_sessio...
22www.agentbase.de
Übersicht BRMS 5.3
http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/BRMS_RoadMap_10-17-1...
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%8...
28www.agentbase.de
Stärken von BRMS in jBPM
● Synergetic Business Aspects – Rules, Business Events,
Workflows
● Lightweigh...
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
● Pluggab...
32www.agentbase.de
BPM mit BRM in der Fachanwendung
● Synergetic Business Aspects (Process and Rules)
● Lightway
● Pluggab...
33www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Gibt es in der Fachanwendung Geschäftsdaten?
– ver...
34www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Gibt es in der Fachanwendung Arbeitsabläufe?
– ver...
35www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Bleibt die Welt in der Fachanwendung stehen?
Quell...
36www.agentbase.de
BPM mit BRM in der Fachanwendung
Nur weil es geht?
● Wie wichtig ist die Fachanwendung für das Unterneh...
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, CD...
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...
42www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● RuntimeManager
– Strategie für KieSession
– Mehrere...
43www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● KieSession Strategy
– @Singleton - JavaDoc Singleto...
44www.agentbase.de
BPM mit BRM in der Fachanwendung
jBPM Integration
● Demo Beispielanwendung
Siehe: https://community.jbo...
45www.agentbase.de
jBPM Version 6
Änderungen?
46www.agentbase.de
jBPM Version 6
● API Änderung, KIE = Knowledge Is Everything
Quelle: http://de.slideshare.net/MarkProct...
47www.agentbase.de
jBPM Version 6
API Änderung
● Konvention
– droolsjbpm → kie
– knowledge → kie
● Beispiele
– KnowlegeBas...
48www.agentbase.de
jBPM Version 6
Änderung und Neues
● Repository (Guvnor)
– UI, Modular mit UberFire
– Inhalt nicht länge...
49www.agentbase.de
Mit jBPM starten
● Demo Installation inkl. Eclipse und JBoss
http://blog.athico.com/2013/05/how-to-buil...
50www.agentbase.de
Ressourcen / Quellen
● Quellenangaben auf den Folien
● http://www.jboss.org/jbpm
● http://www.jboss.org...
51www.agentbase.de
Vielen Dank für Ihre Aufmerksamkeit!
agentbase AG
Eggertstraße 7
33100 Paderborn
Fon: +49 5251 547 2600...
Nächste SlideShare
Wird geladen in …5
×

jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen

398 Aufrufe

Veröffentlicht am

Vortrag zum Expertenkreis am 4.7.2013

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

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

Keine Notizen für die Folie

jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen

  1. 1. jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen Kai Jemella - agentbase Gedoplan – Java Expertenkreis, 2013-07-04
  2. 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. 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. 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. 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. 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/
  7. 7. 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
  8. 8. 8www.agentbase.de Business Rules - Drools
  9. 9. 9www.agentbase.de Business Rules - Drools Quelle: http://salaboy.com/2011/01/29/jbpm5-community-training-module-1-jbpm5-introduction/
  10. 10. 10www.agentbase.de Business Rules - Drools Quelle: http://www.igcseict.info/theory/7_2/expert/
  11. 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. 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. 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. 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. 15. 15www.agentbase.de Business Rules – Drools Varianten der Regel Erstellung
  16. 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. 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. 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. 19. 19www.agentbase.de Business Rules – Drools Beispiel Decision Table
  20. 20. 20www.agentbase.de Business Process – jBPM
  21. 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
  22. 22. 22www.agentbase.de Übersicht BRMS 5.3 http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/BRMS_RoadMap_10-17-12.pdf
  23. 23. 23www.agentbase.de Business Process – jBPM BPMN 2.0
  24. 24. 24www.agentbase.de Business Process – jBPM Developers and business users
  25. 25. 25www.agentbase.de Business Process – jBPM Adaptive process?
  26. 26. 26www.agentbase.de Business Process – jBPM Adaptive process?
  27. 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. 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
  29. 29. 29www.agentbase.de Warum überhaupt BPM und BRM?
  30. 30. 30www.agentbase.de BPM mit BRM in der Fachanwendung Warum?
  31. 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. 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. 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. 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. 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. 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. 37. 37www.agentbase.de BPM mit BRM in der Fachanwendung Ok – wie geht das mit jBPM / Drools?
  38. 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. 39. 39www.agentbase.de BPM mit BRM in der Fachanwendung
  40. 40. 40www.agentbase.de BPM mit BRM in der Fachanwendung
  41. 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. 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. 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. 44. 44www.agentbase.de BPM mit BRM in der Fachanwendung jBPM Integration ● Demo Beispielanwendung Siehe: https://community.jboss.org/thread/211785
  45. 45. 45www.agentbase.de jBPM Version 6 Änderungen?
  46. 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. 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. 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. 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. 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. 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

×