Your SlideShare is downloading. ×
Executing.Bpmn.Eclipscon.2009
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Executing.Bpmn.Eclipscon.2009

3,605
views

Published on


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

No Downloads
Views
Total Views
3,605
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
247
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Executing BPMN Presented by Koen Aers 1 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 2. Speaker  Koen Aers  JBoss, a Division of Red Hat  JBoss jBPM (http://labs.jboss.org/jbossjbpm or http://jbpm.org)  JBoss Tools (http://labs.jboss.org/tools)  => Graphical Process Designer (http://labs.jboss.org/jbossjbpm/gpd)  Blog: http://koentsje.blogspot.com 2 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 3. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 3 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 4. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 4 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 5. Business Process Management 5 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 6. Business Process Modeling  Business Process Model:  Model of one or more business processes  Defines how operations are carried out  Describes workflow or integration  Abstract!  Workflow == depiction of a sequence of operations  (Software?) Engineering discipline 6 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 7. Business Process Execution  Aspect of software expressed as a graph  Execution 'flow'  BPMS 'runs' process executions  Software: – DSL – Execute on one system – Central dispatching – Multiple participants – Wait states  BUT: Seven Fallacies of Process Execution! 7 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 8. BPM Standards  1995:  OMG:  1 standardization group for  CORBA WF, BPMN, BPDM workflow models  OASIS:  Reference model + 5  ebXML (or BPSS), BPEL interface standards  WfMC:  Size of the average  XPDL, Wf-XML specification : +/- 40 pages  2007:  10+ working groups with interest in BPM  7+ standards for process models alone  Size of the average specification: +/- 150 pages 8 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 9. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 9 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 10. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 10 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 11. 11 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 12. 12 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 13. 13 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 14. 14 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 15. 15 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 16. 16 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 17. 17 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 18. 18 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 19. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 19 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 20. Process Instantiation  When one of the start events occurs  Via event based gateway without incoming sequence flow  Each occurring start event creates token on outgoing sequence flow E1 A1 E2 A2 G2 E3 G1 E4 A3 E5 20 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 21. Process Termination All start nodes are visited  No remaining tokens for process instance  No active activities  => All tokens must have reached an end node  A1 E1 G1 A2 E2 A3 E3 21 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 22. Sequence Flow  Multiple incoming sequence flow A1  Exclusive gateway  Activity without incoming sequence flow A2  Instantiated when process instance is created  Multiple outgoing sequence flow A3  Token created for each flow  Conditional sequence flow 22 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 23. Tasks 23 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 24. Gateways  Parallel gateway  Synchronize concurrent branches  Spawn new concurrent paths of execution  Semantics  At least one token on each incoming sequence flow  Consumes exactly one token for incoming and produces exactly one token for outcoming sequence flow 24 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 25. Events  Start events  Start the process  Intermediate events  Wait until the event occurs  Intermediate boundary events  Consume event and execute event handler  End events  Terminate ends the process abnormally  Other events execute their behaviour (e.g. Sending message) and then end the process if  All start nodes have been visited  No tokens are remaining 25 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 26. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 26 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 27. jBPM and the PVM  jBPM is a platform for process languages  Process Virtual Machine (PVM) is common substrate  jPDL, BPEL, XPDL are implemented on top jBPM jPDL BPEL Pageflow XPDL ... Process Virtual Machine (PVM) 27 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 28. jBPM Evolution jBPM 4 • Activity Pluggability API Product • Command Based Services •Multiple Languages • Many Execution modes • DB Partitioning • DB Evolution • Full Embeddability Project jBPM 3 • First Activity Pluggability • First Multiple Languages • First Enterprise Embeddability jBPM 2 • Std Java Embeddable • Hibernate state machine jBPM 1 • EJB state machine 28 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 29. jPDL Example <process name=quot;Orderquot; > <start> <transition to=quot;forkquot;/> </start> <fork name=quot;forkquot;> <transition to=quot;send invoicequot;/> <transition to=quot;load truckquot;/> <transition to=quot;print shipping documentsquot;/> </fork> <state name=quot;send invoicequot;> <transition to=quot;final joinquot;/> </state> … 29 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 30. jPDL Characteristics  Open ended  Base process language can be extended  API for runtime behaviour  Enriches Java  Extracts state management  Process == structure  Code as decoration  Embeddable  Libraries  Database and AS agnostic  Standard & Enterprise Java 30 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 31. Analist – Developer's Bridge Your App Your Architecture Business Analyst jBPM Developer 31 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 32. Agenda  The BPM Jungle  BPMN Overview  BPMN Execution Semantics  jBPM and jPDL  Executing BPMN with jBPM 32 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 33. jBPM 3  BPMN to jPDL conversion  Based on diagrams from the Eclipse BPMN project  Translation to basic (underspecified) jPDL  Technical details are added in jPDL editor 33 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 34. BPMN Skin on jPDL c 34 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 35. Starting and Ending Processes  Only one start event per  Multiple end events are process possible  Currently end event ends the entire process 35 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 36. Sequence Flow  One outgoing sequence flow is always unconditional  Multiple outgoing sequence flows  No implicit fork behaviour  Outgoing sequence flows are always conditional 36 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 37. Branching and Merging  Fork  Join  One incoming sequence flow  Multiple incoming sequence flows  Multiple outgoing sequence flows  One outgoing sequence flow c 37 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 38. Superstates  Phases in a process  Ad hoc tasks?  New artefact? 38 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 39. BPMN on the PVM  Native execution  No mapping issues  Targeted post jBPM 4 GA jBPM BPMN jPDL BPEL Pageflow XPDL ... Process Virtual Machine (PVM) 39 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
  • 40. Conclusions BPM is still a jungle  BPMN is very promising  Execution semantics and compliance are still fuzzy  BPMN builds on the same ideas as jBPM and jPDL  Two possibilities of executing BPMN with jBPM  40 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0