BPMN Business Management Presentations Process Management Process Modeling

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

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="http://www.businessprocessincubator.com/content/executing-bpmn-eclipscon-2009/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×