Documente Academic
Documente Profesional
Documente Cultură
com
#51
CONTENTS INCLUDE:
n
BPM: Modeling
Model existing
business processes
Restructure existing
business processes
Responsibility
Line of Business
Expert
Process Owner
Moderator
Responsible for the meeting, for asking questions for leading the
discussion into the right direction.
Modeling Expert
Responsible for design the process model (during and after the meeting).
QA Owner
How do we model?
Top-down
Approach
Problems
Authoritative content
Designed for developers
n Written by top experts
n Latest tools & technologies
n Hot tips & examples
n Bonus content online
n New issue every 1-2 weeks
n
Hot
Tip
Hot
Tip
DZone, Inc.
www.dzone.com
Bottom-up
Inside-out
Hot
Tip
How do we model?
As-Is model
To-Be model
About BPMN
BPMN (Business Process Modeling Notation) is a graphical
notation for business process modeling. The objective of
BPMN is to support business process modeling for business
and technical users. It provides a notation that is intuitive
yet able to represent complex process semantics. BPMN is
maintained by the Object Management Group.
Flow Objects
Flow objects are the main BPMN constructs that define the
behavior of a business process. There are three categories of
flow objects:
www.dzone.com
From\To
Figure 8: Construct that can be connected via sequence flow (blue shaded
field represent a legal connection)
Shows the flow of messages between two entities.
Events
Start
Event
Intermediate
Event
Catching
End Event
Throwing
None
Figure 10: Construct that can be connected via message flow (blue shaded
field represent a legal connection)
Message
Timer
Conditional
Signal
Error
Cancel
Compensation
Figure 11: Association
Terminate
Link
Other constructs
Multiple
Figure 6: Events, event triggers and results
Connecting Objects
Connecting objects are used to connect flow objects to each
other and to other information. There are three categories of
connecting objects: Sequence flow ( see Figure 7), Message
flow ( see Figure 9), Association ( see Figure 11).
Defines the order of execution of flow objects.
Sequence flow with a condition (conditional flow).
www.dzone.com
Synchronization
Workflow Pattern Description: Two or more paths converge into one subsequent path. The
subsequent path is enabled when all the preceding paths complete (and-join).
BPMN: The Pattern can be implemented in two ways:
We use a parallel gateway to merge several sequence flows into a single flow. The
outgoing flow activates when all the incoming sequence flows are enabled.
We use an expanded sub-process in which we place the activites to be performed in
parallel. Expanded sub-process completes after all the activities it contains complete.
Exception Flow
Example 1: After preparing the ordered items for shipment and issuing the receipt, we ship
the package to the customer.
Solution 1: Synchronization using a parallel
gateway.
In order to model an exception flow, we use intermediate events attached to the boundary
of an activity. If such event is triggered during the activity execution, the flow is redirected
through the intermediate event.
Example: The activity
Check With Supplier
of the example
process has an
intermediate timer
event attached to
its boundary. If the
supplier does not
provide a response
within a certain
timeframe, we
remove the item from
the order.
Exclusive Choice
Workflow Pattern Description: A path diverges into two or more subsequent paths. When
the incoming path is enabled exactly one of the subsequent paths is selected and enabled.
Sequence
Workflow Pattern Description:
An activity starts after completion of another activity.
BPMN:
Activities are connected by a sequence flow directed towards the subsequent activity.
Example: After
checking if the
supplier can provide
the necessary items
in the Check With
Supplier task, we
notify the customer
about their order in
the Notify Customer
task.
Parallel Split
Workflow Pattern Description: Two or more alternative paths converge into a single
subsequent path.
Example 1: After receiving payment for the order we prepare the ordered items for shipment
and issue the receipt concurrently.
Solution 2: Parallel split using
a parallel gateway
Simple Merge
Workflow Pattern Description: A path diverges into two or more parallel subsequent paths.
The subsequent paths execute concurrently.
Example: The two alternative paths used to calculate the final price of the ordered items are
merged using the exclusive merge or by sequence flows leading to the Check Inventory
task.
Example 2: If the order items are in stock we send the confirmation of the order to the
customer and reserve the ordered items in the inventory. These tasks are performed in
parallel. Otherwise we check if the supplier can deliver the items.
DZone, Inc.
www.dzone.com
Structured Loop
Multi-Choice
Workflow Pattern Description: A path is diverged into two or more subsequent paths. One or
more subsequent paths may be executed.
BPMN: The pattern can be implemented in several ways:
We use an inclusive gateway.
We use a collection of contidional sequence flows.
We use a complex gateway.
Example 1: Based on requirements the customer specified in the order, we confirm the order
via e-mail, by regular mail or both. Example solutions 1 nd 2 represent equivalent behavior.
Solution 1: Multi-Choice with an inclusive
gateway
Workflow Pattern Description: Multiple instances of a task or a subprocess are created. The
number of instances is known at design time. They run concurrently and are synchronized at
completion before the process continues.
Workflow Pattern Description: Two or more paths converge into a single subsequent path.
Several incoming paths may be enabled, in which case they are synchronized before the
subsequent path is activated. In different process instances different number of incoming
paths may be taken.
BPMN:
We set the attributes of the activity as follows:
we set the value of the LoopType attribute to MultiInstance,
the expression of the MI_Condition attribute returns an integer representing the number
of instances known at design time,
we set the value of the MI_FlowCondition attribute to All.
we set the value of the MI_Ordering attribute to Parallel
Workflow Pattern Description: Multiple instances of a task or a subprocess are created. The
number of instances depends on various run-time factors. Instances run concurrently and are
synchronized at completion before the process continues.
Workflow Pattern Description: Two or more paths converge into a single subsequent path.
Each Incoming path activates the subsequent path.
BPMN: We use sequential flow for every ending of a converging path directed towards the
flow object of the beginning of the subsequent path.
Example: We confirm the order via e-mail, by
regular mail or both. if either of the activities
takes place, the order information file needs
to be updated.
Termination Patterns
Implicit Termination
Workflow Pattern Description: A process or a subprocess instance terminates when there is
nothing else to be done and it is not deadlocked. The instance has completed successfully.
BPMN: The pattern can be implemented in one of the following ways:
We end every path of the process or subprocess with an end event. If we use a start
event we must use at least one end event.
An end of a path in the process is indicated by a flow object without an outgoing
sequence flow. The process completes when all tokens that were generated for the
instance are consumed.
Note: We must either conclude all paths with an end event (with an exception of
compensation activities) or not use end event for the given process/subprocess.
DZone, Inc.
www.dzone.com
Example: In the example process there are two alternative paths that the process instance
can take. If the order cannot be fulfilled, the customer is notified. After this the end event is
reached and the process completes. If the order can be fulfilled several activities take place
and ordered items are shipped. After this the process reaches an end event and completes.
Conclusion
BPM is essential for continuous improvement of business
process efficiency and effectiveness with the overall goal to
produce business results faster, cheaper, better. This Refcard
has provided the overview of the BPM lifecycle, presented
the BPMN notation and demonstrated the most important
patterns.
Explicit Termination
Workflow Pattern Description: Aprocess or subprocess terminates and the remaining work
is cancelled.
BPMN: We use a terminate end event.
Example: In the example, the process splits into two parallel paths after order analysis.
If additional documentation is required, the customer is notified. Even though order
preprocessing activities already take place, if the customer does not send the required
documentation in time, the process terminates explicitly and all the remaining activities are
cancelled.
RECO M M EN D E D BOOK
and the head of the SOA Competency Centre. He has been consultant
for several large companies on the BPM/SOA projects and has worked on
projects, such as SOA Maturity Model, SOA in Telcos, performance analysis
and optimization of RMI-IIOP, etc. Matjaz is author of courses for the BPEL
and SOA consulting company BPELmentor.com. He is also a member of the
BPEL Advisory Board.
Ana Sasa has dedicated the last five years exclusively to the field of SOA.
She has worked on a number of IT projects for government agencies and
large companies and has specialized knowledge and experience in the
technical, business and organizational aspects of BPM and SOA. She is a
researcher at the University of Ljubljana.
BUY NOW
books.dzone.com/books/bpmn_bpel
#8
Bro
ugh
Insp
ir
by ed
the
G
Best oF
sell
er
tM
o
Ge
m
.co
one
w. d
z
ww
DE
r
Faca
de
C
Pro
Fact
toty
ory
pe
Meth
S
S
od
Pro
Flyw
xy
eig
ht
B
B
Ob
Inte
serv
rpre
e
ter
r
C
B
Sing
Itera
leto
tor
n
B
B
Sta
Me
te
diato
r
B
B
Stra
Me
me
teg
nto
y
RES
B
Tem
PO
plate
NS
B
Meth
IBIL
Visit
od
ITY
or
S
Build
er
Cha
in
Resp of
onsi
bility
B
Com
man
d
S
Com
posi
te
AIN
CH
OF
By
Jaso
nM
cDo
nald
Co
+exe ncrete
Com
cute
ma
()
nd
Pur
Rece
pose
ive
Beh
Inv
oke
Enc
apsu
the
late
re
C
s
as q quest a reque
+exe omma
Use
ueui
to b
nd
cute
e ha st allo
ng
Whe
w
and
()
nd
n
n
callb led in ing it to
You
acks
need
trad
b
n
.
Req
itio e trea
ca
na
te
llb
uest
d
lly o
ack
n
s ne
A hi
func
bje as an
ed
st
ct
o
tio
o
b
n
to b
ry o
bas
na
The
Exa
ed ject. Th
invo f reque e hand lity.
mp
rela
le
ker
tions is allow
shou sts is ne led at va
s
hip
Job
ld b
ed
s su
riant
q
e dec ed.
ch
of al ueues
times
oup
g
ar
or in
led
exec orithm e wid
from
varia
ely
s. B
uted
us
for
y
nt
th
ed
utili
can
e ob
ord
th
to fa
zing
ers.
be
ject
invo e que
ci
g
th
iv
ha
lit
ue
ki
e co
en to
ate
ndlin
algo ng. Th to ha
mm
the
g th
a jo
ve
e
rith
and
asyn
e in
m w comm know b que
voca
led
ithin
ue fo pattern chrono
an
tion.
us
th
the d obje ge of
r pro
confi
th
ct
cess e functi process
nes that is e actu
ing
ona
ing
al
en
of th
w
lity
to b
e in queue implem ithout
e
terf
an
ace d imple entatio y need
the
men
n it
que
is
ue is ts its p
exp articul
ecti
ar
ng.
tern
ign
Pat
Clie
nt
suc
<<in
te
Han rface>
>
dle
+ha
r
ndle
req
uest
()
cess
ject
or
Beh
avio
ral
Des
+ha
cre
teH
and
ler
1
uest
()
pose
ndle
req
by...
Des
ign
Patt
erns
Download Now
UT
Refcardz.com
you
SIG
This
NP
D
ATT
orig esign
ERN
Pa
inal
S
23 G tterns
the
refc
boo
ang
ard
kD
of F
Ori
pro
e
en
ou
sign
vide
exp ted So
Patt r (GoF
lana
ft
) de s a quic
ern
s: E
sign
tion ware.
k re
lem
E
fere
, us
Cha
ents pattern
age ach pa
nce
in o
tt
to th
s, a
o
info
Cre
s
f Re
atio
rma ern inc f Reus
e
Use
able listed
tion
nal
lud
spo
tha
in
es c
Patt
, an
t th
Whe
Ob
nsib
M
lass
da
n
jecter n
syste ey ca
ultip
ility
rea
s: U
nb
le o
m.
l wo diagra
be
, co
sed
ed
b
ms,
rld
A a spec jects m
eco
ntin
to c
Stru
ific
exa
set
u
obje ay hand
o
p
ued
o
n
mp
led
c
fo
det
le a
erm bjects ct.
le.
from struct
stru tural P
req
in
sh
uest
ob
ed at
A re
Exa
ould
cture
atte
the
que
and
mp
ir im jects s
r ns
le
st no runtim be ab
the
s be
le to
e.
:U
hand
t bei
uch
Exc
ple
Beh
twe
hand
eptio
ng ha
ler d
me
en m sed to
avio
le a
oes
exce
n
ndle
ntin
nt ha
req
ptio handlin
ral
fo
any
rela
d is
g
uest
has
n is
ve to
an ac
Patt
g in
tion
disp rm larg
with
a
th
cep
Ob
er n
ship
call mecha rown in some
the
arate
e
tab
ject
la
st
ni
hand
s: U
le p
s, a
hand ack. W sm to a metho nguag
obje object
ote
ler
Sco
sed
n
be
es
ha
d
he
nt
le
d
ial o
nd
im
n
pe:
resp
cts.
cha
the
the
to m
obje
utco
runt plemen
exce passed le the
nge
Dea
cts
ons
a
m
im
ex
up
p
n
to ha
ts
e.
tio
e ch
cep
d at
age
ibilit
ls w
Cla
tio
nd th n is en the ca
ecks this pat
ss S
ith
a
run
ies
te
to se
coun ll stac n or if
e re
CO
obje
tim
betw lgorith
cop
it
k
que
e if rn. Whe
cha
MM
e.
st to tered o the pro should
th
ct re
e: D
m
n
nge
een
r un
.
cess
be p e metho an
AN
ea
latio
d at
til th
obje s,
d
D
ere repeats assed
nsh
com ls with
cts.
up th
are
ips
C
no m until co
clas
pile
e
th
d
Abst
ore
s re
at c
time
par e to
ract
la
a
en
.
n
ti
t
ons
Fac
Clie
S
tory
hip
nt
Ada
s th
pte
at c
r
S
a
Ob
nb
Deco
Brid
ject
e
rato
ge
n
t to
Con
cre
teH
+ha
and
ndle
ler
req
2
uest
()
Giv
es
rece more
than
ivin
go
one
bje
obje
cts
ct
tog
ethe an op
port
r.
to ha
ndle
a re
avio
ral
Upcoming Titles
Most Popular
RichFaces
Agile Software Development
BIRT
JSF 2.0
Adobe AIR
BPM&BPMN
Flex 3 Components
Spring Configuration
jQuery Selectors
Windows Powershell
Dependency Injection with EJB 3
Netbeans IDE JavaEditor
Getting Started with Eclipse
Very First Steps in Flex
DZone, Inc.
1251 NW Maynard
Cary, NC 27513
ISBN-13: 978-1-934238-54-7
ISBN-10: 1-934238-54-6
50795
888.678.0399
919.678.0300
Refcardz Feedback Welcome
refcardz@dzone.com
Sponsorship Opportunities
sales@dzone.com
$7.95
re R
efc
arz
! V is
it re
fcar
dz.
com
CO
NT
EN
TS
Cha
IN C
in
LUD
Com of Re
E:
spo
man
nsib
Inte
ility
rpre d
Itera
ter
tor
Me
dia
to
Ob
r
se
Tem rver
pla
te M
eth
od
and
mo
re..
AB
.
O
n
9 781934 238547
uest
by lin
Copyright 2009 DZone, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical,
king
photocopying, or otherwise, without prior written permission of the publisher. Reference: Business Process Driven SOA using BPMN and BPEL, Kapil Plant, Matjaz Juric, Packt Publishing September 2008
DZo
ne,
In c
ww
Version 1.0