ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
BPMN 2.0 Introduction Business Process Modeling Notation
from Version 2.0:
Business Process Model and Notation
This presentation gives an overview of the BPMN 2.0 elements and how
the standard can be used for business process modeling.
Please run these slides in presentation mode. They contain several
animations for a better understanding!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
Agenda
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Task Sequence Flow Data Object
Event Message Flow Group
Gateway Association Annotation/
Association
BPMN Basic Elements
Flow objects Connectors Artifacts
Text
Participant
La
ne
L
an
e
Pool
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Important Terms
Process Model Description of Process
Prozess Instance Initiated Process
Token ≠ Document
(virtual) Object(s) routed on one
or more path through the
model
Correlation Assignment of a process
instance on base of a unique
key (UUID)
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
A first Process
Buying Food Meal
cooking Eating Meal
Meal ready Appetite
satisfied
Sequence-
flow Start Event
(Blank) End Event
(Blank)
Interim Event
(Blank)
Task
Appetite
realized
Appetite
realized
Object
Passive Verb Food
buying
Object
Verb
Event Task
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda - Gateways
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Exclusive (XOR-)Gateway
Looking for
Recipe
Pasta
Cooking
Steak
Roasting
Requested
Recipe?
Steak
Roasted
Data based
Exclusive
Gateway
(branching)
XOR-Split
Appetite
realized
X
Salad
Preparing
Pasta
cooked
Salad
Prepared
X =
A Gateway is no Task
Pasta
Steak
Salad
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Exclusive (XOR-)Gateway Merging
Looking
for
Recipe
Cooking
Pasta
Roasting
Steak
Data based
Exclusive
Gateway
(merging)
XOR-Join
X Preparing
Salad X Eating
Meal
10 min
20 min
Annotation
Gateway-Joins are optional!
Pasta
Steak
Requested
Recipe?
Appetite
realized Appetite
satisfied
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Parallel Gateway AND-Split & AND-Join
Looking for
Recipe Cooking
Pasta
Roasting
Steak
X X Eating
Meal
Preparing
Salad
+ +
Parallel Gateway
(synchronizing) Parallel Gateway
(parallizing)
Pasta
Steak
Salad
Requested
Recipe?
Appetite
realized Appetite
satisfied
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Understanding the Token 1/3 When does the token finishing?
Looking for
Recipe Cooking
Pasta
Roasting
Steak
Appetite
realized
X X Êating
Meal
Preparing
Salad
15 min
20 min
10 min
5 min 15 min
35 min
30 min
At this position the engine
does not wait for the
second token
X Pasta
Steak
Salad
Requested
Recipe?
Appetite
satisfied
+
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Understanding the Token 2/3 correct model
Looking for
Recipe Cooking
Pasta
Roasting
Steak
Appetite
realized
X X Eating
Meal
Preparing
Salad
15 min
20 min
10 min
5 min 15 min
35 min
X Pasta
Steak
Salad
Requested
Recipe?
Appetite
satisfied
+ +
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Editing Task
1
Task Started Task 1 finished
Editing Task
2
10 min
15 min
10 min
15 min
Task 2 finished
Task 1
Task 2
Understanding the Token 3/3 When does the token finishing?
+
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Data Based Inclusive Gateway OR-Split & OR-Join 1/4
We want:
- Only one salad or
- One salad and „something substantial“
like pasta or steak or
- Only „something substantial“
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Data Based Inclusive Gateway OR-Split & OR-Join 2/4
Looking
for
Recipe
Cooking
Pasta
Roasting
Steak
X X Eating
Meal
Preparing
Salad
O O
Data based
inclusive Gateway
(synchronising)
Data based
inclusive Gateway
(parallelizing
Something
Substantial
Steak
Salad
Requested
Variant
Pasta
OR-Split = and - or - Situation
one, several or all paths
15 min
20 min
10 min
5 min 15 min
Appetite
realized
Requested
Recipe?
Appetite
satisfied
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Data Based Inclusive Gateway OR-Split & OR-Join 3/4
35 min
Looking
for
Recipe
Cooking
Pasta
Roasting
Steak
X X Eating
Meal
Preparing
Salad
Something
Substantial
Steak
Salad
Requested
Variation
Pasta
15 min
20 min
10 min
5 min 15 min
Appetite
realized
Requested
Recipe?
Appetite
satisfied
O O
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Data Based Inclusive Gateway OR-Split & OR-Join 4/4
Looking
for Recipe Cooking
Pasta Eating
Meal
Preparing
Salad
O O
Salad
Pasta
20 min
10 min
5 min 15 min
X Eating external
Eating at home
Salad
tastefull?
Appetite
Not satisfied
Appetite
realized
Requested
Recipe?
Appetite
satisfied
Two possible tokens and ends!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Standard Flow
Looking
for recipe Cooking
Pasta
Requested
Menue
Appetite
realized Appetite
satisfied
Eating
Meal
Roasting
Steak
X X
Pizza
Pasta
Ordering
Pizza
Steak
What happens if you neither want to eat pasta nor steak?
Deadlock – the token stops at a undefined position
=> „Other“-Tasks to model
or:
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
BPMN does not specify what happens if no ending path is being executed
There are no implicit sequence flows allowed => all sequence flows must be modeled
Use a standard flow if there is a danger of a dead lock
BPMN Rules & Etiquette
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Complex Gateway 1/3
Exercise:
We want to order pizza and are evaluating available
menus and internet offers.
As soon as one taks is finished we want to order!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Complex Gateway 2/3
Appetite
realized
Appetite
satisfied
Ordering
Pizza
Reading
menu
+ + Researching
Internet Offer
Eating
Meal
Appetite
realized
Appetite
satisfied
Ordering
Pizza
Reading
menu
+ X Researching
Internet Offer
Eating
Meal
Appetite
realized
Appetite
satisfied
Ordering
Pizza
Reading
menu
+ O Researching
Internet Offer
Eating
Meal
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Complex Gateway 3/3
If several tokens are arriving at a complex gateway, the gateway will wait for
a predefined number of tokens before the merged token will be routed to
next task. (the number of tokens will be specified by a comment assigned
to the complex gateway)
Appetite
realized
Appetite
satisfied
Ordering
Pizza
Reading
menu
+ Researching
Internet Offer
Eating
Meal X
I I
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Combination of Gateways
Looking
for recipe Preparing
Salad
Appetite
realized Appetite
satisfied
Eating
Meal
Ordering
Chinese Meal
+ +
Pizza Ordering
Pizza
Chinese Meal X X
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Return Jump with Gateways
Reorder
ok
Looking
for recipe Preparing
Salad
Appetite
realized Appetite
satisfied
Eating
Meal + +
Pizza
Ordering
Pizza
X X
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Conditional Flow
Looking for
Recipe
Cooking
Pasta
Pasta?
Eating Meal
Roasting
Steak
Steak?
1. Without Join-Gateway it is not possible to model a synchronization!
2. Reduced possibilities for condition checks
3. Conditional flows following the semantic of OR-Splits
Appetite
realized Appetite
satisfied
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda - Lanes
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pools & Lanes A
rno
Nadja
flat-
sharing c
om
munity
Looking
for recipe Cooking
Pasta
Requested Dish Appetite
realized
Appetite
satisfied
Eating
Meal
Roasting
Steak
X X Pasta
Steak
Pool
Lanes
Only Arno will eat pasta or steak!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pools & Lanes - Correct A
rno
Nadja
flat-
sharing c
om
munity
Looking
for recipe Cooking
Pasta
Requested Dish Appetite
realized
Appetite
satisfied
Eating
Meal
Roasting
Steak
X X Pasta
Steak
Pool
Eating
Meal
Appetite
satisfied
Both will eat pasta or steak – but Arno will decide!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pools & Lanes Variants
Lane 1
Lane 2
Task 1
Start
detected
End detected
Task 2
Lane 3
.2
Lane 3
.1
Pool 1
Lane 3
Task 3
Task 4
End detected
End detected
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda - Events
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Events
Catching
Events
eingetretene
Ereignisse
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Interrupting / Resuming
Resuming
Interrupting
Throwing Events
Catching Events
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Events & Correlation wrong
Task 1
Start variant 1
detected
End
detected
Task 2
Task 3
Task 4
End detected
End detected
Start variant 2
detected
+
Two start events are throwing two different process universal ids
=
two process instances
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Events & Correlation correct
Task 1
Start
detected
End
detected
Task 2
Task 3
Task 4
End detected
End detected
?
Event 2
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Event Sequences
Task 1
Start
detected End
detected
Task 2 ?
Event 2
?
Event 3
Events must be proceed one after the other
Task 1
Start
detected
End
detected
Task 2
?
Event 2
?
Event 1
AND-Join-Gateway waits for both Events
+ +
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Interrupting Task Execution interrupting boundary intermediate event
Task 1
Start
detected End
detected
Task 2
?
Event 1
Task 1 will be interrupted, if event 1 appears.
Attention: Only during execution of a task!
Task 3
End
detected
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Execution of a new Task/Token None interrupting boundary event
Task 1
Start
deteted Ende
deteted
Task 2
Event 1
Task 1 will be continued if event 1 appears.
Task 3 will be executed parallel to task 2
For each new appeared event 1 a separate UUID (Token) will be created.
Task 3
Ende
deteted
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Top Level Sub process
interrupting
Sub process non-
interrupting
Blank
Receive Message
Timer
Escalation
Condition
Error
Compensation
Signal
Multiple (one from
many)
Multiple / Parallel
Start Events
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Catch Occurred Attached
interrupting
Attached non
interrupting
Receive message
Timer
Escalation
condition
Link
Error
Cancel
Compensation
Signal
Multiple
Multiple / Parallel
Intermediate Catching Events
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Throw Intermediate End
Blank
Send Message
Escalation
Link
Error
Cancel
Compensation
Signal
Multiple
Terminate
Throwing Events
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Message Intermediate Events
Looking for
Pizza
Appetite
realized Appetite
satisfied
Eating
Pizza
Pizza Ordered Pizza delivered
Looking for
Pizza
Appetite
realized Appetite
satisfied
Eating
Pizza
Pizza ordered Pizza delivered
Ordering
Pizza
With the following process two pizzas would be ordered!
Messages will be sent to none pool members (BPMN rule)
The recipient must be known!
=> Message events regard on messages, which the process receives from
externals.
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
In Intervalls
Regularly at defined time
In time relation to a specific event
Once at defined time
Timer Events
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Specific Timer Events
Leaving
bed
Monday –
Friday
at 7:00 Arrived at
Office
Driving
underground
07:45
Eating
cornflakes
Reading
documents
Every two
hours
Reading
Mails
10 min tea
break
…
Looking for
hotel
6 months
before
vacations
Packing
suitcase
1 day before
vacations
Booking
hotel …
Buying ice
14.6. 9:00 clock
Eating ice with
colleagues
14.6. 14:00 Uhr
Sending
invitations …
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Error-Events - only! termination
Baking
Pizza
Setting
table
Appetite
realized
Appetite
satisfied
Eating
Meal
Ordering
pizza
Pizza
charred
Pizza erhalten
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Conditional-Events
Switching
on Oven
Frozen Pizza
requested
Pizza
eaten
Inserting
Pizza into
Oven
Removing
Pizza
Oven 180° Waiting 20 min
Éating
Pizza
The condition of an occured event must be
completely independent from the actual proces!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Signal-Events
Buying
Pizza
Pizza-TV-Spot
seen Pizza rated on
pizzatest.de
Inserting
Pizza into
Oven
Removing
Pizza
hungry 20 min waited
Eating
Pizza
Messages have a recipient – Signals not!
Anybody who receives a signal can decide whether he wants to act or not!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Link-Events
Ende
realized
Task 2
Task 1
Start
realized
A
A
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Compensations-Event - (Transactions)
Carrying out
Activity
Watching
TV
End realized
Friday
1 pm
Organizing
Evening
X
X Reserving
Tickets
Canceling
Cinema
Arrange
meeting with
friends
Canceling
Friends
X End realized
Cancel Activity
Still Wish?
ja
nein
Friday
6 pm
Requested
Activity?
Cinema
Friends
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
The started task takes effect only inside the actual pool
Only if task of attached compensation was carried out
The link to the compensation task must be an association (pointed line)
Compensation task is a „specific task“ (see following slide)
Effect of Compensation
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Multiple Event
Buying
Pizza
Eating
Pizza
Pizza-Spot
seen
Pizza rated Getting hungry
Buying
Pizza
Eating
Pizza
Get
recommendation
Sent
recommendation
Getting hungry
Pizza-Spot
seen Pizza rated
=
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Catching Event: there must be one event active (caught)
Throwing Event: all included events must be thrown not very useful but helpful for a better overview
Multiple Event – Effect
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Cancel Event (only sub processes)
Request
Vacations
Organize
Journey
Arranging
Visit
Canceling
Visit
Journey
Booked
Booking
Hotel Booking
Flight
Booking
other Hotel
Hotel
Booked out
Journey
Canceled
All Hotels
booked out
Request
Denied
Canceling
Hotel
Cancel
Organizing Journey
Canceling
Flight
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Event Based Gateway
Ordering
Pizza
Appetite
realized
Appetite
satisfied
Eating
Pizza
60 min
Pizza received
Calling
Pizzaria again
Pizza received
XOR-Semantic
One of the following events will be carried out, the other will be destroyed!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda – Specific Tasks
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Additional Tasks – Types 1/3
General
Service
Manual
User
Send
Receive
Script
Rule
Reference –
not allowed
anymore
Call
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Specific Tasks – Types 2/3
General
Service Automatically proceed by the engine /
use of a Web Service
Manual by a user – explicite not by support of a
software system
User caused by the process engine – edited
and completed by a user
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Specific Tasks – Types 3/3
Send technical – for asynchrony
communication
Receive technical – for asynchrony
communication
Script software code proceed by engine
routing by business rules Rule
It is possible to define company specific tasks!
Call
references a global task
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Specific Tasks – Annotations 1/3 Loops
…
Suggesting
Meal
1 am Appetite
satisfied
Cooking
Meal
Until all agree
Suggesting
Meal X X
Agree all?
yes
no …
Appetite
satisfied 1 am
Suggesting
Meal X yes
no …
Appetite
satisfied
1 am Agree all?
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Specific Task – Annotation 2/3 Multiple Task
…
Looking for
Meal
1 am Appetite
satisfied
Cooking
Meal
All interested
With a multiple task it is possible to parallize tasks dynamically.
This task will initialized multiple and proceed sequential or parallel!
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Specific Tasks - Annotation 3/3 Compensation
…
Inviting for
Meeting
1 am Appetite
satisfied
Preparing
Meeting
Canceling
Meeting (to
anybody)
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda – Sub Processes
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Sub Processes
… Task
1 am Appetite
satisfied
Sub Process
+
Task 2 Task 3
Appetite
satisfied
Sub Process
There are embedded, reusable and referenced sub processes.
BPMN 2.0 only knows embedded sub processes. They are
embedded in a pool or lane and have a blank start event.
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Sub Process – Attached Events
…
Looking for
Recipe
1 am Appetite
satisfied
Cooking
Meal +
Eating
external
Oven demaged
• Cancel at message, time and conditional events, if sub process
has to react on external activity!
• At errors, cancelations and escalations messages will be
transferred to the main process.
• It is possible to use multiple intermediate events.
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Sub Process - Annotation
Sub Process
+
Sub Process
+
Sub Process
+
Semantic identical to
annotations of tasks.
The annotation „Adhoc“ => is only at sub processes allowed ~
Journey planning
Turning off
Radiator
Watering
Plants
Updating
Voice Mail
Paking
Suitcase
1 am
…
~
Semantic: All,
any or only one
is possible. The
decision is
taken by the
user.
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Event - Sub Processes
Preparing Meal
Inviting
Friends
Looking for
Recipe
Cooking
Meal
Eating
Meal
Inviting Additional Guest
Getting Meal External
Oven demaged
Ordering
Meal
Friend invites
someone
Taking into Account
another Guest
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Event - Sub Processes Collapsed
Preparing Meal
Inviting
Friend
Inviting
Additional Guest
Looking for
Recipe
Cooking
Meal
Eating
Meal
+
Getting Meal
External +
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda - Pools
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pools Message Flows - ALLOWED
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pools Message Flows – NOT ALLOWED
X
- Events with message flows, which are not the type message.
- Or generally spoken:
Gateways with Message Flows
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pool Example Pizzaria
Baking Pizza
Delivering
Pizza
Cook
Piz
zaria
La M
am
a
Cashing
Pizza Carr
ier
Chris H
ill
Custo
mer Ordering
Pizza
Appetite
realized
Appetite
satisfied
Eating
Pizza
60 min
Pizza
received
Asking at
Pizzaria
again
Pizza received
Order Receipted
Pizza
invoiced
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pool Example Pizzaria
Baking Pizza
Delivering
Pizza
Cook
Piz
zaria
La M
am
a
Cashing
Pizza Carr
ier
Chris H
ill
Custo
mer Ordering
Pizza
Appetite
realized
Appetite
satisfied
Eating
Pizza
60 min
Pizza
received
Asking at
Pizzaria
again
Pizza received
Order Receipted
Pizza
invoiced
Paying
Pizza
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pool Collapsed
Pizza Selling
La Mama
Chris H
ill
Custo
mer Ordering
Pizza
Appetite
realized
Appetite
satisfied
Eating
Pizza
60 min
Pizza
received
Asking at
Pizzaria
again
Pizza received
Paying
Pizza
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Pools Collapsed
Pizza Selling
La Mama
Pizza Ordering
Order Asking Again Delivering Paying Cashing
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Multiple Instances Pools
Customer
Pizza
fakturiert
Supplier
Getting
Offer
Selecting
Offer
Ordering
Product
finished Received
Order
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Agenda - Artifacts
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Artifacts and Associations
Task 1 Task 2 Ordering
Product
Status A
Data 1
Data 2
Status B
Data 1
• Additional symbols available
• Combination possible
• Own symbols allowed
Status A
Input
Output
Liste
Datenablage
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
END BPMN Poster:
http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
PAVONE Ltd, UK
School House, Hackforth
BEDALE, N. Yorks. DL8 1PE
United Kingdom
Phone: +44 (0) 1748 811527
E-Mail: [email protected]
PAVONE AG
Technologiepark 9
33100 Paderborn
Phone: +49 52 51 / 31 02-0
Fax: +49 52 51 / 31 02-99
E-Mail: [email protected]
PAVONE AG in Böblingen
Herrenberger Str. 122
71034 Böblingen
Phone: +49 7031 / 4997 10
Fax: +49 70 31 / 4997 97
E-Mail: [email protected]
Contact: [email protected]
For more information please visit our
homepage http://www.pavone.com
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Throwing Events Catching Events
X
X
I I
~
ATLANTA ▪ BOS TON ▪ COP E NHAGE N ▪ DRE S DE N ▪ FRANKFURT ▪ KARLS RUHE ▪ LONDON ▪ LÜBE CK ▪ M ANCHE S TE R ▪ NE W YORK ▪ P ADE RBORN ▪ TORONTO ▪ V ARNA
Ein Prozess
Fluss-Objekte Verbindende Objekte
Artefakte
Text
Teilnehme
r
Lan
e
Lan
e P
ool