Executing.Bpmn.Eclipscon.2009
Transcript
Executing BPMN
Presented by
Koen Aers
1 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
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
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
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
Business Process Management
5 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
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
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
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
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
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 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
12 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
13 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
14 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
15 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
16 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
17 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
18 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
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
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
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
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
Tasks
23 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
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
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
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
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
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
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
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
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
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
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
BPMN Skin on jPDL
c
34 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
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
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
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
Superstates
Phases in a process
Ad hoc tasks?
New artefact?
38 Executing BPMN © 2009 by Koen Aers; made available under the EPL v1.0
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
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
Leave a Comment
You must be logged in to post a comment.