• Save
 jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen

on

  • 281 views

Vortrag zum Expertenkreis am 4.7.2013

Vortrag zum Expertenkreis am 4.7.2013

Statistics

Views

Total Views
281
Views on SlideShare
281
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen Presentation Transcript

  • 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/
  • 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. 8www.agentbase.de Business Rules - Drools
  • 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
  • 20. 20www.agentbase.de Business Process – jBPM
  • 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. 22www.agentbase.de Übersicht BRMS 5.3 http://www.redhat.com/promo/jboss_integration_week_sessions/pdf/BRMS_RoadMap_10-17-12.pdf
  • 23. 23www.agentbase.de Business Process – jBPM BPMN 2.0
  • 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
  • 29. 29www.agentbase.de Warum überhaupt BPM und BRM?
  • 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
  • 45. 45www.agentbase.de jBPM Version 6 Änderungen?
  • 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