JBug.be The future of (j)BPM 2010-06-03

1,251 views

Published on

A presentation of the future of jBPM.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,251
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
57
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JBug.be The future of (j)BPM 2010-06-03

  1. 1. by Kris Verlaenen The future of (j)BPM
  2. 2. 2 Overview ● Short introduction to BPM ● jBPM5 – Key Features – BPMN2 – Architecture – Roadmap ● Adaptive processes
  3. 3. Business Process A business process is a process that describes the order in which a series of steps need to be executed, using a flow chart.
  4. 4. Palette Predefined set of generic node types – Start, end – Gateway – Script – Sub-process – Event – ...
  5. 5. Business Process Management ● BPM is a discipline – Many actors – Entire life cycle ● We focus on executable processes ● Core engine = key component
  6. 6. BPM Advantages ● Visibility and transparency ● Monitoring ● Higher-level (involve business analysts) ● Automation, continuous improvement ● Increased speed of development ● Increased agility (change process more easily) ● and many more ...
  7. 7. 8 Overview ● Short introduction to BPM ● jBPM5 – Key Features – BPMN2 – Architecture – Roadmap ● Adaptive processes
  8. 8. 9 2005 jBPM3 RuleFlow jBPM4 jBPM5 2011 Drools Flow 20092008 Best of both worlds !
  9. 9. 10 Key Characteristics ● Business process engine – using BPMN2 standard (native execution) – lightweight, embeddable – generic process engine ● Full life cycle support ● Higher-level, domain-specific processes ● Powerful business rules and event processing integration
  10. 10. 11 BPMN 2.0 ● OMG standard that defines – Graphical notation – Process definition format (XSD / XMI) – Execution semantics ● Extensible ● Interoperability ! ● http://www.omg.org/spec/BPMN/2.0/
  11. 11. 12 BPMN 2.0 <definitions ... > <process id="com.sample.bpmn.hello" name="Hello World" > <startEvent id="_1" name="StartProcess" /> <sequenceFlow sourceRef="_1" targetRef="_2" /> <scriptTask id="_2" name="Hello" > <script>System.out.println("Hello World");</script> </scriptTask> <sequenceFlow sourceRef="_2" targetRef="_3" /> <endEvent id="_3" name="EndProcess" /> </process> </definitions>
  12. 12. 13 Standard-based ● BPMN 2.0 ● WS-HumanTasks ● JPA ● JTA ● JMX ● ...
  13. 13. 14 Generic Process Engine ● Generic features – Persistence – Transactions – Timers – Expression dialects – Multi-threading – Events – Commands + interceptors – Session management
  14. 14. Domain-specific processes ● Extend palette with domain-specific, declarative work items – define input / output parameters – runtime binding
  15. 15. 16 Domain-specific processes ● Other examples – Email / notifications – File management: archive, find, copy – FTP, RSS, Jabber, Rest – ESB – Google Calendar, social websites ● Library
  16. 16. 17 Overview ● Short introduction to BPM ● jBPM5 – Key Features – BPMN2 – Architecture – Roadmap ● Adaptive processes
  17. 17. 18 Business Process Life Cycle
  18. 18. 19 Architecture
  19. 19. 20 Components ● API ● Core process engine ● Repository ● Human task service ● History log ● BAM engine Web-based consoles ● Management ● Human tasks ● Reporting / BAM Eclipse plugins
  20. 20. 21 Human Task Service
  21. 21. 22 History Log ProcessInstanceId ProcessId StartDate EndDate 1 com.sample 1/1/2010 08:34 1/1/2010 09:32 2 evaluation 2/1/2010 15:43 4/1/2010 08:55 3 evaluation 2/1/2010 01:45 Id Type NodeInstanceId NodeId ProcessInstanceId ProcessId Date 1 enter 11 3 1 com.sample 1/1/2010 08:35 2 enter 2 2 3 evaluation 3/1/2010 12:41 3 exit 11 3 1 com.sample 1/1/2010 09:20 ● What happened / is happening ? ● Query ● Customizable
  22. 22. 23 Eclipse Tooling ● Developer-oriented ● Features – Graphical BPMN2 designer – Wizards – Runtime (classpath container) – Validation / errors – Debugging – Repository synchronization
  23. 23. 26 Web Tooling More business or end-user oriented ● Process management console ● Human task console ● Reporting / BAM console ● Repository console ● Web-based BPMN2 process editor (Signavio)
  24. 24. 32 jBPM5 Roadmap ● Currently under community review ● More details soon ! ● jBPM 5.0 – Focus on core components – Near the end of the year – Productization approximately 6 months later ● Regular (2-3 month) releases after that
  25. 25. 33 Migration ● Migration process from jBPM 3 or 4 – One-shot migration process – Process definition ● Transform jPDL to BPMN2 ● Semi-automatic – API – Documentation – No runtime data migration
  26. 26. 34 Overview ● Short introduction to BPM ● jBPM5 – Key Features – BPMN2 – Architecture – Roadmap ● Adaptive processes
  27. 27. 35 Adaptive Processes ● Traditional workflow management systems have problems with – Change – Complexity – Flexibility – Data-based !!!H O T !!!
  28. 28. 36 Do we want this?
  29. 29. 37 Agility = Variability + Change
  30. 30. 38 How? ● Decision service to externalize decision logic as business rules ● Process improvement – Migration of running instances ● Unanticipated work ● Unstructure processes ● Processes, rules and events working together
  31. 31. 39 Non-lineair processes
  32. 32. 40 Processes + Rules + Events A business solution usually involves the interaction between these technologies. ● Technology overlap ● Business overlap Several (good) products on the market, better either at rule or business process or event processing Attribute the same importance to the three complementary business modeling techniques
  33. 33. 41 Links ● Website – http://www.jboss.org/jbpm/ ● Blogs – http://planet.jboss.org/view/jbossjbpm ● Feedback? – jbpm-dev@lists.jboss.org ● #jbpm on irc.codehaus.org
  34. 34. 42 Persistence ProcessInstanceId ProcessId StartDate State LastRead LastModification ByteArray 1 com.sample 1/1/2010 08:34 Active ... ... 0x0423495820... 2 evaluation 2/1/2010 15:43 Active ... ... 0x0425894756... 3 evaluation 2/1/2010 01:45 Active ... ... 0x0659862034... ● Binary persistence (performance, migration, ...) ● Safe points ● Pluggable variable persistence

×