SlideShare a Scribd company logo
1 of 72
Download to read offline
EvoluJon 
of 
Workflow 
Technology: 
Usages, 
Architectures, 
Languages 
University 
of 
Stu/gart 
Universitätsstr. 
38 
70569 
Stu/gart 
Germany 
Phone 
+49-­‐711-­‐685 
88470 
Fax 
+49-­‐711-­‐685 
88472 
Prof. 
Dr. 
Frank 
Leymann 
InsJtute 
of 
Architecture 
of 
ApplicaJon 
Systems 
Leymann@iaas.uni-­‐stu/gart.de
© 
Frank 
Leymann 
2 
A 
Caveat! 
n “Workflow”, 
“Business 
Process” 
or 
simply 
“Process” 
are 
used 
synonymous 
n Although 
someJmes 
people 
make 
a 
subtle 
difference: 
n a 
business 
process 
is 
what 
happens 
in 
the 
real 
world, 
n a 
workflow 
is 
the 
corresponding 
representaJon 
in 
an 
IT 
environment 
n Same 
is 
true 
for 
“Workflow 
Model”, 
“Business 
Process 
Model”, 
“Process 
Model” 
n SomeJmes, 
it’s 
ok 
to 
speak 
about 
“workflow” 
if 
“workflow 
model” 
is 
meant 
n …and 
“(business) 
process” 
vs 
“(business) 
process 
model” 
n It 
most 
ocen 
clear 
from 
the 
context 
what 
is 
meant
2010 
2005 
2000 
1995 
1990 
© 
Frank 
Leymann 
Business 
Processes 
as 
a 
Service 
Modeling/ExecuJon 
Convergence 
Mega 
Programming 
3 
Brief 
History 
of 
Workflow 
Technology 
(no 
scien>fic 
rigor 
intended) 
WF 
AutomaJon 
People 
Facing 
Web 
Service 
ComposiJon 
WF 
use 
in 
EAI 
Document 
RouJng/Case 
Processing 
1985 
BPR 
ProducJon 
WF 
TransacJonal 
WF 
WF-­‐based 
Apps 
WF 
StandardizaJon 
Begins 
Graphical 
Modeling 
WF 
in 
eScience 
Office 
AutomaJon, 
Forms 
Processing,…
4 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
5 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
© 
Frank 
Leymann 
6 
Why 
Care 
About 
Workflow 
Technology? 
n Companies 
use 
computers 
to 
support 
their 
business 
n The 
way 
to 
do 
business 
is 
prescribed 
via 
a 
business 
process 
n ApplicaJons 
support 
business 
processes 
and 
have 
to 
ensure 
compliance 
with 
business 
processes 
e 
Applica>on 
= 
Business 
Process 
+ 
Business 
Func>ons 
n Changes 
in 
how 
to 
perform 
business 
must 
be 
reflected 
as 
soon 
as 
possible 
in 
applicaJons
© 
Frank 
Leymann 
7 
But 
the 
Really 
Important 
Thing 
is… 
From 
most 
companies’ 
perspecJve: 
Product 
= 
Process 
Thus: 
n # 
of 
products 
produced, 
sold,… 
= 
# 
of 
processes 
executed 
n Cost 
of 
producing, 
selling,… 
= 
Cost 
of 
process 
execuJon 
n Time 
of 
producing, 
selling,… 
= 
Time 
of 
process 
execuJon 
n …and 
so 
on 
⇒ 
Importance 
of 
Business 
Process 
Engineering 
(BPR) 
⇒ 
Importance 
of 
enforcing 
to 
follow 
the 
process 
model 
⇒ 
Importance 
of 
monitoring, 
analyzing, 
mining 
processes
© 
Frank 
Leymann 
8 
Fundamental 
Metamodel 
Collect 
Credit 
InformaJon 
Assess 
Risk 
Request 
Approval 
Accept 
Credit 
Reject 
Credit 
risk 
= 
‘low’ 
Layman’s 
View 
J 
salary 
< 
1000 
decision 
= 
‘no’
© 
Frank 
Leymann 
9 
Three 
Dimensions 
of 
Workflows 
What? 
Good Customer? 
Who? 
Customer 
Address 
With? 
Get 
Order 
Check 
Customer 
Accept 
Order 
Reject 
Order 
Always! Bad Customer? 
Credit Card 
Information 
Worklists 
Workitem
© 
Frank 
Leymann 
10 
Workflow 
Execu>on 
Workitem 
Worklist 
WFMS
© 
Frank 
Leymann 
11 
Structure 
of 
Workflow-­‐Based 
Applica>on 
Business Process Models 
Service + 
… .EXE CICS MQ EJB Web 
Business Functions
WFMS 
Application Server 
© 
Frank 
Leymann 
12 
Key 
SWE 
Aspect 
of 
Workflow-­‐Based 
Applica>ons 
Application 
Data 
Independence 
Flow 
Independence 
DBMS DBMS
13 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
© 
Frank 
Leymann 
14 
1st 
Genera>on 
The Document Routing Age 
n Electronic 
document 
and 
folder 
rouJng 
(late 
80s) 
n Document 
= 
image, 
folder,... 
n RouJng 
through 
enterprise's 
organizaJonal 
structure 
n User 
associated 
electronic 
basket 
is 
key 
n PotenJal 
flow 
of 
documents 
prescribed 
in 
advance 
n In 
"paper 
factories" 
(administraJon, 
insurance, 
banking,...) 
work 
mainly 
equates 
to 
processing 
documents, 
thus 
the 
term 
workflow 
has 
been 
used 
for 
rouJng 
documents 
between 
people
© 
Frank 
Leymann 
15 
2nd 
Genera>on 
The People-Facing Age 
n FuncJons 
performed 
by 
users 
in 
1st 
generaJon 
WFMS 
are 
mainly 
retrieval, 
browsing, 
ediJng, 
archiving,... 
n But 
“cases” 
represented 
by 
documents 
were 
recognized 
to 
be 
only 
part 
of 
larger 
business 
processes 
n Not 
only 
execuJon 
of 
document 
management 
funcJons 
required 
but 
also 
usage 
of 
other 
funcJons 
provided 
by 
applicaJon 
systems 
supporJng 
the 
operaJon 
of 
an 
enterprise 
n WFMS 
extensions 
needed 
to 
invoke 
any 
kind 
of 
executable
© 
Frank 
Leymann 
16 
2nd 
Genera>on 
(cont.) 
n Launching 
executables 
requires 
parameter 
passing 
n Thus, 
data 
flow 
features 
complemented 
available 
control 
flows 
n In 
turn, 
control 
flows 
can 
now 
be 
expressed 
in 
terms 
of 
these 
new 
parameters 
("business 
rules") 
n Data 
flow 
is 
used 
for 
integraJng 
applicaJons 
with 
long 
temporal 
delays 
between 
their 
iniJaJons 
n Parameters 
managed 
by 
data 
flow 
must 
be 
persistent
© 
Frank 
Leymann 
17 
3rd 
Genera>on 
The Dawn Of BPR 
n Being 
able 
to 
support 
large 
spectrum 
of 
business 
processes 
in 
compuJng 
environments 
made 
WFMS 
of 
strong 
interest 
for 
Business 
Process 
Reengineering 
(BPR) 
projects 
-­‐ 
early 
90s 
n Goal 
of 
BPR 
is 
to 
speedup 
business 
processes 
and 
reduce 
their 
costs. 
ResulJng 
requirements: 
n Parallelism 
within 
workflows 
(à 
speedup) 
n Deadline 
processing 
(à 
speedup) 
n Monitor 
actual 
workflow 
status 
(à 
speedup) 
n AudiJng 
of 
significant 
events, 
i.e. 
processing 
history 
(à 
cost 
reducJon, 
compliance) 
n Maintain 
execuJon 
history 
for 
analysis 
(à 
cost 
reducJon, 
compliance) 
n Process 
acJviJes 
without 
human 
intervenJon 
(à 
speedup 
+ 
cost 
reducJon)
© 
Frank 
Leymann 
18 
4th 
Genera>on 
The Production Age 
n Workflow-­‐based 
applicaJons 
become 
state-­‐of-­‐the-­‐art 
(mid 
90s) 
n Strict 
separaJon 
of 
business 
process 
logic 
and 
business 
funcJons 
n Business 
processes 
implemented 
via 
workflow 
system 
n Business 
funcJons 
implemented 
"tradiJonally" 
(TP-­‐monitor, 
applicaJon 
server,...) 
n Enterprises 
become 
dependent 
on 
WFMS 
n Similar 
to 
TP-­‐Monitors 
and 
DBMS 
before 
n The 
term 
produc>on 
workflow 
has 
been 
coined 
to 
indicate 
that 
WFMS 
is 
driving 
operaJonal 
aspects 
of 
an 
enterprise 
(i.e. 
the 
“producJon 
line” 
of 
an 
enterprise) 
n Consequences: 
n WFMS 
had 
to 
provide 
quality 
of 
services 
known 
before 
from 
"producJon 
systems" 
like 
DBMS 
and 
TPM 
n High/conJnuous 
availability 
n Scalability 
n Robustness
© 
Frank 
Leymann 
19 
5th 
Genera>on 
The Automation Age 
n ApplicaJon 
integraJon 
becomes 
very 
important 
(end 
of 
90s) 
n OrganizaJonal 
integraJon 
becomes 
more 
and 
more 
important 
n Interoperability 
of 
WFMS 
(building 
blocks), 
as 
well 
as 
Web 
access 
required 
n Workflows 
understood 
as 
business 
oriented 
"logical 
units 
of 
work" 
n Advanced 
transacJon 
management 
funcJons 
required 
n Forward 
recovery 
of 
workflows 
as 
well 
as 
workflow-­‐based 
applicaJons 
n Backward 
recovery 
(spheres 
of 
atomicity 
and 
compensaJon)
© 
Frank 
Leymann 
20 
6th 
Genera>on 
The Service Age 
n Web 
Services 
appeared 
about 
2002 
n Workflows 
needed 
to 
make 
use 
of 
Web 
Services 
n Interact 
with 
an 
ESB 
n Exploit 
human 
beings 
as 
Web 
services 
n Workflows 
have 
been 
considered 
early 
on 
as 
technology 
to 
aggregate 
services 
into 
new 
services 
n “Recursive 
aggregaJon 
model 
for 
Web 
services” 
n “OrchestraJon” 
n BPEL 
has 
been 
created 
to 
support 
all 
of 
this
© 
Frank 
Leymann 
21 
7th 
Genera>on 
The Model-Execution Age 
n Modeling 
of 
business 
processes 
gained 
a 
lot 
of 
a/enJon 
about 
2005 
n Domain 
experts 
became 
the 
immediate 
source 
of 
models 
n BPMN 
became 
predominant 
modeling 
language 
n Transforming 
models 
created 
by 
domain 
experts 
into 
something 
executable 
must 
not 
loose 
semanJcs 
of 
the 
original 
process 
n ExecuJng 
BPMN 
evolved 
as 
a 
requirement 
n …and 
BPMN 
2.0 
had 
been 
developed 
to 
support 
this
22 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
© 
Frank 
Leymann 
23 
Major 
Building 
Blocks 
of 
a 
WFMS 
Buildtime 
Modeling Tool (BPR, Workflows) 
Workflow Management System 
Runtime 
Workflow 
Database 
Process Model 
Applications, 
Tools
Data Modeling Tool Relational Algebra 
© 
Frank 
Leymann 
24 
...And 
Their 
Correspondence 
In 
DBMS 
Buildtime 
Modeling Tool (BPR, Workflows) 
Workflow Management System 
Runtime 
Workflow 
Database 
Process Model 
Applications, 
Tools 
(Metamodel) 
SQL DDL 
Catalog 
User Data 
(tables, indexes,…) 
DBMS 
SQL DML 
StP, UDF,…
© 
Frank 
Leymann 
25 
The 
WfMC 
Reference 
Model 
Business 
Modeling 
Workflow 
Enactment 
Engine 
AdministraJon, 
AudiJng 
Workflow 
Enactment 
Engine 
Worklist 
Processor 
Worklist 
ApplicaJon 
ApplicaJon 
InvocaJon 
ApplicaJon
© 
Frank 
Leymann 
26 
Modern 
Terminology 
Process 
Modeling 
Tool 
Process 
(ExecuJon) 
Engine 
Management 
Tool 
Process 
Engine 
2 
Workitem 
Management 
Worklist 
ApplicaJon 
ApplicaJon 
InvocaJon 
ApplicaJon 
FuncJon
Input Container Output Container 
© 
Frank 
Leymann 
27 
Invoking 
Ac>vity 
Implementa>ons 
Worklist 
... 
Workitem 
... 
Activity 
Pgm 
2 
3 5 
4 
1
© 
Frank 
Leymann 
28 
Internal 
Component 
Flow 
Navigator 
MQM 
PES 
Invocation State 
& Metadata 
Pgm 
<OS Address 
Space> 
n WFMS 
Navigator 
determines 
program 
to 
be 
executed 
n "ExecuJon 
Messages" 
send 
to 
launching 
component 
called 
Program 
ExecuJon 
Server 
(PES) 
n "CompleJon 
Message" 
send 
back 
to 
Navigator 
when 
invoked 
program 
returns
© 
Frank 
Leymann 
29 
Program 
Execu>on 
Server 
Service 
Locator 
PES 
Info 
Extract Data 
n WFMS 
won't 
be 
able 
to 
support 
all 
mechanisms 
to 
launch 
executables 
n Thus, 
users 
should 
be 
able 
to 
build 
their 
own 
PESes, 
e.g. 
WFMS… 
n …provides 
interfaces 
between 
PES 
building 
blocks 
n ….defines 
required 
messages 
exchanged 
between 
navigator 
and 
PES 
(User-­‐provided 
PES 
(UPES)) 
n Specific 
metadata 
are 
needed 
by 
PES, 
e.g. 
security 
informaJon, 
mapping 
prescripJons 
etc. 
Mapping 
Program 
Invocation 
Invocation State 
& Metadata 
Program 
Data 
Format Pgm 
Operational 
Data 
PES 
J 
Yes, 
this 
is 
core 
ESB 
funcJonality!!!
© 
Frank 
Leymann 
30 
Architectural 
Impact 
Process 
Modeling 
Tool 
Management 
Orchestrator 
Tool 
Orchestrator 
2 
Workitem 
Management 
Worklist 
ApplicaJon 
Service 
Bus 
Service
Architectural 
Impact: 
High-­‐Level 
View 
n Work 
request 
no 
longer 
only 
created 
by 
WFMS 
n Thus, 
Workitem 
Manager 
is 
split 
from 
WFMS 
and 
becomes 
a 
separate 
component 
in 
SOA 
environment 
(“Task 
Manager”) 
Navigator 
© 
Frank 
Leymann 
31 
WFMS 
Workitem 
Manager 
WFMS 
Task 
Manager 
(aka 
Task 
Processor 
aka 
Human 
Task 
Infrastructure) 
Navigator 
TradiJonal 
Architecture 
Modern 
Architecture
© 
Frank 
Leymann 
32 
Architectural 
Impact 
Process 
Modeling 
Tool 
Process 
Engine 
Management 
Tool 
Process 
Engine 
2 
Task 
Manager 
Service 
Bus 
Task 
List 
Client 
Service
33 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
Process Management Stack Data Management Stack 
Conceptual Process Model 
© 
Frank 
Leymann 
34 
How 
People 
are 
Used 
to 
Model 
(BPMN) 
Transform 
Logical Process Model 
(BPEL) 
Deploy 
Process Engine 
Conceptual Data Model 
(e.g. Entity-Relationship) 
Transform 
Logical Data Model 
(e.g. SQL) 
Deploy 
DBMS
© 
Frank 
Leymann 
35 
Architectural 
Impact 
Process 
Modeling 
Tool 
Conceptual 
Process 
Model 
Logical 
Process 
Model 
Process 
Engine 
Management 
Tool 
ExecuJon 
Engine 
2 
Task 
Manager 
Service 
Bus 
Task 
List 
Client 
Service
© 
Frank 
Leymann 
36 
Workflow 
Language 
Genealogy 
WSFL 
FDML XPDL 
FDL 
BPEL 
XLANG 
BPMN 1.x 
(OMG) 
BPML WSCI BPSS 
WS-CDL 
(IBM) 
(IBM) 
(IBM) 
(Microsoft) 
(WfMC) (bpmi.org) (SUN, SAP, 
Oracle) 
(OASIS 
ebXML) 
(W3C) 
(IBM, Microsoft, BEA 
à OASIS) 
BPELJ 
GSFL … YAWL 
(Research Groups) 
BPEL4People BPEL-SPE ?…? 
GPEL 
Pi-Calculus++ 
(Microsoft) 
BPEL4Chor 
✜-Calculus 
PM-Graphs 
BPMN 2.0 Petri-Nets 
(OMG)
© 
Frank 
Leymann 
37 
Other 
Languages 
n Data 
Flow 
oriented 
approaches 
n Especially 
used 
in 
scienJfic 
workflow 
community 
n Only 
data 
dependencies 
between 
acJviJes 
are 
modeled 
n As 
soon 
as 
all 
input 
data 
of 
an 
acJvity 
is 
available, 
start 
the 
acJvity 
n Examples: 
DAGMan, 
Kepler, 
Taverna, 
Triana 
n Research 
prototypes 
n DeclaraJve 
approaches 
n Define 
constraints 
of 
valid 
execuJon 
“sequences” 
instead 
of 
specifying 
all 
poten/al 
execuJon 
“sequences” 
n Based 
on 
some 
temporal 
logic 
(e.g. 
LTL) 
n Example: 
DECLARE 
n Research 
prototype 
n Rule-­‐based 
approaches 
n Mainly 
based 
on 
ECA 
rules 
n Example: 
Lotus 
Notes 
workflow 
ObservaJon: 
Products 
focus 
on 
control 
flow 
languages
The 
“mother” 
of 
all 
workflow 
languages 
IT Infractructure ("With") 
© 
Frank 
Leymann 
38 
Flow 
Defini>on 
Language 
(FDL): 
Example 
PROCESS 'Loan Process' 
PROGRAM_ACTIVITY 'Collect Credit Information' 
PROGRAM 'Credit Information Program' 
DONE_BY 'Loan Officer' 
END 'Collect Credit Information' 
PROGRAM_ACTIVITY 'Assess Risk' 
PROGRAM 'Risk Program' 
DONE_BY 'Financial Officer' 
END 'Assess Risk' 
CONTROL 
FROM 'Collect Credit Information' 
TO 'Assess Risk' 
END 'Loan Process' 
PROGRAM 'Credit Information Program' 
WINNT 
EXE 
PATH_AND_FILENAME 'CIP.EXE' 
END 'Credit Information Program' 
PROGRAM 'Risk Program' 
AIX 
EXE 
PATH_AND_FILENAME 'RP.EXE' 
END 'Risk Program' 
ROLE 'Loan Officer' 
RELATED_PERSON 'Leymann' 
END 'Loan Officer' 
ROLE 'Financial Officer' 
RELATED_PERSON 'Roller' 
END 'Financial Officer' 
PERSON 'Leymann' 
FIRST_NAME 'Frank' 
LAST_NAME 'Leymann' 
END 'Leymann 
PERSON 'Roller' 
FIRST_NAME 'Dieter' 
LAST_NAME 'Roller' 
END 'Roller' 
Process Logic ("What") 
Process Logistics ("Who")
© 
Frank 
Leymann 
39 
BPEL: 
Business 
Processes 
Between 
Web 
Services 
X 
Y 
Z 
pt3 
o1 
o2 
pt1 
o1 
o3 
o4 
pt2 
o2 
o4
© 
Frank 
Leymann 
40 
BPEL: 
Business 
Processes 
As 
Web 
Services 
X 
Y 
Z 
pt 
o1 
o2 
pt* o7 
o9 
o8
© 
Frank 
Leymann 
41 
BPEL: 
Aggrega>ng 
Web 
Services 
X 
Y 
Z pt 
o1 
o2 
pt3 
o1 
o2 
pt1 
o1 
o3 
o4 
pt2 
o2 
o4 
P 
Q 
pt* 
o8 
o9 
Precisely: 
BPEL provides 
a recursive 
aggregation 
model for Web 
services
© 
Frank 
Leymann 
42 
Separa>ng 
Processes 
And 
Port 
Types 
Process 
A 
C 
B 
D 
E 
Application 
Deployment 
Descriptors 
Activity: 
Partner 
Role 
Port Type 
Operation 
... 
Port Types
Process 
© 
Frank 
Leymann 
43 
Run>me: 
Use 
of 
Deployment 
Informa>on 
A 
C 
B 
D 
E 
Service 
Bus 
Application 
Deployment 
Descriptors 
Activity: 
Port Type 
Operation 
Qos 
... Policy 
EPR 
Ports
Deployment Service 
© 
Frank 
Leymann 
44 
Programming 
Model 
Application 
Flow/Process/… 
Components/Services/… 
Workflow 
System 
Application 
Server 
Programming 
in the 
Large 
Programming 
in the 
Small 
Bus 
Deployment Descriptor 
pT pLink Locator
© 
Frank 
Leymann 
45 
BPEL: 
Example 
(The 
Obvious 
One 
J) 
TravelService 
orderTrip 
receiveItinarary 
getHotel getFlight 
chargeCC 
HotelService 
bookRoom 
AirlineService 
bookFlight 
CCService 
payBill 
Hotel 
Airline 
CCCompany 
TravelAgent 
overnight?
© 
Frank 
Leymann 
46 
The 
Process 
Header 
And 
Partners 
<process name=“TripBookingProcess" 
targetNamespace="http://fl.com/Travel/Booking" 
xmlns="http://schemas.xmlsoap.org/ws/2003/05/business-process" 
xmlns:tag="http://travel.org/wsdl/travelAgent"> 
<partnerLinks> 
<partnerLink name="Customer" 
partnerLinkType="tag:Traveler" 
myRole="TravelAgent"/> 
<partnerLink name="Hotel" 
partnerLinkType="tag:Hotel" 
partnerRole="HotelChain"/> 
<partnerLink name="Airline" 
partnerLinkType="tag:Airline" 
partnerRole="AirlineCompany"/> 
<partnerLink name="Billing" 
partnerLinkType="tag:CreditCard" 
partnerRole="CreditCardCompany"/> 
</partnerLinks>
© 
Frank 
Leymann 
47 
The 
Variables 
<variables> 
<variable name="Order" 
messageType=“tag:trip"/> 
<variable name="Hotel" 
messageType="tag:hotelBooking"/> 
<variable name="Flight" 
messageType="tag:flightBooking"/> 
<variable name="payment" 
messageType="tag:payments"/> 
</variables>
© 
Frank 
Leymann 
48 
The 
Ac>vi>es 
(1/5) 
<flow> 
<links> 
<link name="Itinerary-to-Hotel"/> 
<link name="Itinerary-to-Flight"/> 
<link name="Hotel-to-Charge"/> 
<link name="Flight-to-Charge"/> 
</links> 
<receive name=“receiveItinerary” 
partnerLink="Customer" 
portType="tag:TravelService" 
operation="orderTrip" 
variable="Order"> 
<source linkName="Itinerary-to-Hotel“ 
overnight? 
transitionCondition=“overnight=‘true’"/> 
<source linkName="Itinerary-to-Flight"/> 
</receive> 
.... 
receiveItinarary 
getHotel 
getFlight 
chargeCC
© 
Frank 
Leymann 
49 
The 
Ac>vi>es 
(2/5) 
.... 
<assign> 
<copy> 
<from variable="Order" 
part="itinerary" 
query="/rooms"/> 
<to variable="Hotel"/> 
</copy> 
</assign> 
<assign> 
<copy> 
<from variable="Order" 
part="itinerary" 
query="/flights"/> 
<to variable="Flight"/> 
</copy> 
</assign> 
....
© 
Frank 
Leymann 
50 
The 
Ac>vi>es 
(3/5) 
... 
<invoke name=“getHotel” 
partnerLink="Hotel" 
portType="tag:HotelService" 
operation="bookRoom" 
inputVariable="Hotel"> 
<target linkName="Itinerary-to-Hotel"/> 
<source linkName="Hotel-to-Charge"/> 
</invoke> 
<invoke name=“getFlight” 
partnerLink="Airline" 
portType="tag:AirlineService" 
operation="bookFlight" 
inputVariable="Flight"> 
<target linkName="Itinerary-to-Flight"/> 
<source linkName="Flight-to-Charge"/> 
</invoke> 
... 
receiveItinarary 
overnight? 
getHotel 
getFlight 
chargeCC
© 
Frank 
Leymann 
51 
The 
Ac>vi>es 
(4/5) 
.... 
<assign> 
<copy> 
<from variable="Order" 
part="customerInfo"/> 
<to variable="Payment" 
part="customerInfo"/> 
</copy> 
<copy> 
<from variable="Hotel"/> 
<to variable="Payment" 
part="orders" 
query="/rooms"/> 
</copy> 
<copy> 
<from variable="Flight"/> 
<to variable="Payment" 
part="orders" 
query="/flights"/> 
</copy> 
</assign> 
....
© 
Frank 
Leymann 
52 
The 
Ac>vi>es 
(5/5) 
... 
<invoke name=“chargeCC” 
partnerLink="Billing" 
portType="tag:CreditCardService" 
operation="payBill" 
inputVariable="Payment“ 
joinCondition= 
overnight? 
"vprop:getLinkStatus(‘Hotel-to-Charge') 
or 
vprop:getLinkStatus(‘Flight-to-Charge')"> 
<target linkName="Hotel-to-Charge"/> 
<target linkName="Flight-to-Charge"/> 
</invoke> 
</flow> 
</process> 
receiveItinarary 
getHotel 
getFlight 
chargeCC
© 
Frank 
Leymann 
53 
BPMN: 
A 
Graphical 
Language
© 
Frank 
Leymann 
54 
Basic 
Order 
Process
© 
Frank 
Leymann 
55 
Order 
Process 
with 
Excep>on 
Paths
© 
Frank 
Leymann 
56 
Order 
Process 
with 
Swimlanes
© 
Frank 
Leymann 
57 
Subprocesses
© 
Frank 
Leymann 
58 
Parallel 
Split 
and 
Join
© 
Frank 
Leymann 
59 
Excep>on 
Handling
© 
Frank 
Leymann 
60 
Choreographies
61 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
KPIs 
Analysis 
© 
Frank 
Leymann 
62 
BPM 
Lifecycle 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
BPM 
Lifecycle: 
Modeling 
KPIs 
Analysis 
© 
Frank 
Leymann 
63 
BPMN 
n Today, 
typically 
based 
on 
BPMN 
(2.0) 
n Done 
by 
domain 
experts 
n StaJc 
analysis 
used 
to 
“quickly” 
check 
obvious 
modeling 
errors 
n AnalyJcal 
simulaJon 
used 
to 
check 
saJsfacJon 
of 
KPIs 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
BPM 
Lifecycle: 
IT 
Refinement 
KPIs 
Analysis 
© 
Frank 
Leymann 
64 
BPEL 
n Today, 
ocen 
generaJon 
of 
BPEL 
from 
BPMN 
n Web 
services 
have 
to 
be 
determined 
that 
perform 
the 
tasks 
of 
the 
processes 
n Done 
by 
IT 
experts 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
BPM 
Lifecycle: 
IT 
Refinement 
2.0 
KPIs 
Analysis 
© 
Frank 
Leymann 
65 
BPMN 
2.0 
n If 
a 
BPMN 
2.0 
engine 
is 
used, 
no 
transformaJon 
is 
needed 
n As 
before, 
Web 
services 
have 
to 
be 
determined 
that 
perform 
the 
tasks 
of 
the 
processes 
n Done 
by 
IT 
experts 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
BPM 
Lifecycle: 
Deployment 
KPIs 
Analysis 
© 
Frank 
Leymann 
66 
BPEL 
BPMN 
2.0 
n The 
Web 
services 
of 
the 
refined 
process 
model 
must 
be 
bound 
to 
endpoints 
n Well, 
task 
can 
have 
different 
implementaJons 
(like 
scripts, 
EJBs, 
REST 
APIs,…) 
n They 
must 
be 
bound 
too 
n Done 
by 
IT 
experts 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
BPM 
Lifecycle: 
Execu>on 
KPIs 
Analysis 
© 
Frank 
Leymann 
67 
BPEL 
BPMN 
2.0 
n Either 
a 
BPEL 
engine 
executes 
the 
transformed 
BPMN 
model, 
or 
n …a 
BPMN 
2.0 
engine 
executes 
the 
BPMN 
2.0 
model 
n In 
any 
case 
the 
bound 
task 
implementaJons 
are 
invoked 
during 
navigaJng 
the 
process 
models 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
KPIs 
Analysis 
© 
Frank 
Leymann 
68 
BPM 
Lifecycle: 
Monitoring 
n During 
execuJon 
the 
actual 
status 
of 
each 
running 
process 
is 
available 
n Individual 
processes 
can 
be 
inspected 
and 
depicted 
n CollecJons 
of 
processes 
can 
be 
defined, 
and 
their 
aggregated 
status 
can 
be 
depicted 
n The 
status 
of 
(aggregaJons 
of) 
processes 
can 
be 
enriched 
with 
other 
informaJon 
to 
enable 
deeper 
inside 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
KPIs 
Analysis 
© 
Frank 
Leymann 
69 
BPM 
Lifecycle: 
Analysis 
n The 
history 
of 
already 
completed 
processes 
is 
maintained 
n This 
allows 
post 
mortem 
analysis 
of 
(collecJons 
of) 
processes 
n Used 
to 
improve 
models 
of 
processes 
n …to 
be/er 
saJsfy 
KPIs 
n Can 
be 
combined 
with 
data 
analysis 
to 
derive 
be/er 
models 
n Mining 
algorithms 
can 
be 
used 
n …to 
improve 
control 
flow 
n …to 
improve 
use 
of 
staff 
n … 
Modeling 
IT 
Refinement 
Deployment 
ExecuJon 
Monitoring
70 
Agenda 
Out 
of 
the 
Galaxy 
EvoluJon 
Architectures 
Languages 
BPM 
Lifecylce 
Summary
© 
Frank 
Leymann 
71 
Conclusion 
n Process 
knowledge 
is 
a 
key 
resource 
of 
a 
company 
n Workflow 
technology 
is 
managing 
this 
knowledge 
n The 
technology 
is 
mature 
and 
proven 
(≈25 
years 
of 
evoluJon 
in 
pracJce) 
n WFMS 
architectures 
are 
compliant 
with 
a 
service-­‐ 
oriented 
environment 
n Two 
languages 
have 
been 
established 
in 
pracJce 
n BPMN 
(2.0) 
for 
modeling 
n BPEL 
for 
execuJon 
n Processes 
are 
managed 
in 
a 
lifecycle 
that 
typically 
use 
specialized 
technologies 
in 
an 
integrated 
manner
72 
The 
End

More Related Content

Similar to Evolution of Workflow Technology: Usages, Architectures, Languages

A Business Process-Centric Approach To Financial Transactions
A Business Process-Centric Approach To Financial TransactionsA Business Process-Centric Approach To Financial Transactions
A Business Process-Centric Approach To Financial Transactionscorbanmiferreira
 
2014 08 11_combionic_grc_introduction
2014 08 11_combionic_grc_introduction2014 08 11_combionic_grc_introduction
2014 08 11_combionic_grc_introductionKarl-Heinz Sternemann
 
Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...
Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...
Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...Thanh Tran
 
D1 3 200710 Poznan+Paris Bpm Arch
D1 3   200710 Poznan+Paris Bpm ArchD1 3   200710 Poznan+Paris Bpm Arch
D1 3 200710 Poznan+Paris Bpm Archbrutkowski
 
An Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming EssayAn Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming EssaySharon Roberts
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationMichael zur Muehlen
 
Mathematical concepts applied to operations management
Mathematical concepts applied to operations managementMathematical concepts applied to operations management
Mathematical concepts applied to operations managementRakesh Kariholoo
 
Process-Oriented Business Requirements
Process-Oriented Business RequirementsProcess-Oriented Business Requirements
Process-Oriented Business RequirementsDafna Levy
 
Analyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible EnterpriseAnalyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible EnterpriseDafna Levy
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseDell World
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMconfluent
 
WF_in_retail_banking_enterprise_systems
WF_in_retail_banking_enterprise_systemsWF_in_retail_banking_enterprise_systems
WF_in_retail_banking_enterprise_systemsOleh Zheleznyak
 
Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...Masahiko Umeno
 

Similar to Evolution of Workflow Technology: Usages, Architectures, Languages (20)

Leveraging Plm
Leveraging PlmLeveraging Plm
Leveraging Plm
 
A Business Process-Centric Approach To Financial Transactions
A Business Process-Centric Approach To Financial TransactionsA Business Process-Centric Approach To Financial Transactions
A Business Process-Centric Approach To Financial Transactions
 
Webinar: BPMN with camunda
Webinar: BPMN with camundaWebinar: BPMN with camunda
Webinar: BPMN with camunda
 
Workflow tecnologies
Workflow tecnologiesWorkflow tecnologies
Workflow tecnologies
 
2014 08 11_combionic_grc_introduction
2014 08 11_combionic_grc_introduction2014 08 11_combionic_grc_introduction
2014 08 11_combionic_grc_introduction
 
Oracle ACM Implementation - Best Practices
Oracle ACM Implementation - Best PracticesOracle ACM Implementation - Best Practices
Oracle ACM Implementation - Best Practices
 
Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...
Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...
Setup and Maintenance Factors of Adap3ve Case Management Systems - AdaptiveCM...
 
D1 3 200710 Poznan+Paris Bpm Arch
D1 3   200710 Poznan+Paris Bpm ArchD1 3   200710 Poznan+Paris Bpm Arch
D1 3 200710 Poznan+Paris Bpm Arch
 
Not your grandfathers BPM
Not your grandfathers BPMNot your grandfathers BPM
Not your grandfathers BPM
 
PLM_for_New_Normal_KK_Pres_May15
PLM_for_New_Normal_KK_Pres_May15PLM_for_New_Normal_KK_Pres_May15
PLM_for_New_Normal_KK_Pres_May15
 
An Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming EssayAn Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming Essay
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process Innovation
 
Mathematical concepts applied to operations management
Mathematical concepts applied to operations managementMathematical concepts applied to operations management
Mathematical concepts applied to operations management
 
Process-Oriented Business Requirements
Process-Oriented Business RequirementsProcess-Oriented Business Requirements
Process-Oriented Business Requirements
 
Analyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible EnterpriseAnalyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible Enterprise
 
Agile pgm
Agile pgmAgile pgm
Agile pgm
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORM
 
WF_in_retail_banking_enterprise_systems
WF_in_retail_banking_enterprise_systemsWF_in_retail_banking_enterprise_systems
WF_in_retail_banking_enterprise_systems
 
Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...
 

More from WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

More from WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Evolution of Workflow Technology: Usages, Architectures, Languages

  • 1. EvoluJon of Workflow Technology: Usages, Architectures, Languages University of Stu/gart Universitätsstr. 38 70569 Stu/gart Germany Phone +49-­‐711-­‐685 88470 Fax +49-­‐711-­‐685 88472 Prof. Dr. Frank Leymann InsJtute of Architecture of ApplicaJon Systems Leymann@iaas.uni-­‐stu/gart.de
  • 2. © Frank Leymann 2 A Caveat! n “Workflow”, “Business Process” or simply “Process” are used synonymous n Although someJmes people make a subtle difference: n a business process is what happens in the real world, n a workflow is the corresponding representaJon in an IT environment n Same is true for “Workflow Model”, “Business Process Model”, “Process Model” n SomeJmes, it’s ok to speak about “workflow” if “workflow model” is meant n …and “(business) process” vs “(business) process model” n It most ocen clear from the context what is meant
  • 3. 2010 2005 2000 1995 1990 © Frank Leymann Business Processes as a Service Modeling/ExecuJon Convergence Mega Programming 3 Brief History of Workflow Technology (no scien>fic rigor intended) WF AutomaJon People Facing Web Service ComposiJon WF use in EAI Document RouJng/Case Processing 1985 BPR ProducJon WF TransacJonal WF WF-­‐based Apps WF StandardizaJon Begins Graphical Modeling WF in eScience Office AutomaJon, Forms Processing,…
  • 4. 4 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 5. 5 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 6. © Frank Leymann 6 Why Care About Workflow Technology? n Companies use computers to support their business n The way to do business is prescribed via a business process n ApplicaJons support business processes and have to ensure compliance with business processes e Applica>on = Business Process + Business Func>ons n Changes in how to perform business must be reflected as soon as possible in applicaJons
  • 7. © Frank Leymann 7 But the Really Important Thing is… From most companies’ perspecJve: Product = Process Thus: n # of products produced, sold,… = # of processes executed n Cost of producing, selling,… = Cost of process execuJon n Time of producing, selling,… = Time of process execuJon n …and so on ⇒ Importance of Business Process Engineering (BPR) ⇒ Importance of enforcing to follow the process model ⇒ Importance of monitoring, analyzing, mining processes
  • 8. © Frank Leymann 8 Fundamental Metamodel Collect Credit InformaJon Assess Risk Request Approval Accept Credit Reject Credit risk = ‘low’ Layman’s View J salary < 1000 decision = ‘no’
  • 9. © Frank Leymann 9 Three Dimensions of Workflows What? Good Customer? Who? Customer Address With? Get Order Check Customer Accept Order Reject Order Always! Bad Customer? Credit Card Information Worklists Workitem
  • 10. © Frank Leymann 10 Workflow Execu>on Workitem Worklist WFMS
  • 11. © Frank Leymann 11 Structure of Workflow-­‐Based Applica>on Business Process Models Service + … .EXE CICS MQ EJB Web Business Functions
  • 12. WFMS Application Server © Frank Leymann 12 Key SWE Aspect of Workflow-­‐Based Applica>ons Application Data Independence Flow Independence DBMS DBMS
  • 13. 13 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 14. © Frank Leymann 14 1st Genera>on The Document Routing Age n Electronic document and folder rouJng (late 80s) n Document = image, folder,... n RouJng through enterprise's organizaJonal structure n User associated electronic basket is key n PotenJal flow of documents prescribed in advance n In "paper factories" (administraJon, insurance, banking,...) work mainly equates to processing documents, thus the term workflow has been used for rouJng documents between people
  • 15. © Frank Leymann 15 2nd Genera>on The People-Facing Age n FuncJons performed by users in 1st generaJon WFMS are mainly retrieval, browsing, ediJng, archiving,... n But “cases” represented by documents were recognized to be only part of larger business processes n Not only execuJon of document management funcJons required but also usage of other funcJons provided by applicaJon systems supporJng the operaJon of an enterprise n WFMS extensions needed to invoke any kind of executable
  • 16. © Frank Leymann 16 2nd Genera>on (cont.) n Launching executables requires parameter passing n Thus, data flow features complemented available control flows n In turn, control flows can now be expressed in terms of these new parameters ("business rules") n Data flow is used for integraJng applicaJons with long temporal delays between their iniJaJons n Parameters managed by data flow must be persistent
  • 17. © Frank Leymann 17 3rd Genera>on The Dawn Of BPR n Being able to support large spectrum of business processes in compuJng environments made WFMS of strong interest for Business Process Reengineering (BPR) projects -­‐ early 90s n Goal of BPR is to speedup business processes and reduce their costs. ResulJng requirements: n Parallelism within workflows (à speedup) n Deadline processing (à speedup) n Monitor actual workflow status (à speedup) n AudiJng of significant events, i.e. processing history (à cost reducJon, compliance) n Maintain execuJon history for analysis (à cost reducJon, compliance) n Process acJviJes without human intervenJon (à speedup + cost reducJon)
  • 18. © Frank Leymann 18 4th Genera>on The Production Age n Workflow-­‐based applicaJons become state-­‐of-­‐the-­‐art (mid 90s) n Strict separaJon of business process logic and business funcJons n Business processes implemented via workflow system n Business funcJons implemented "tradiJonally" (TP-­‐monitor, applicaJon server,...) n Enterprises become dependent on WFMS n Similar to TP-­‐Monitors and DBMS before n The term produc>on workflow has been coined to indicate that WFMS is driving operaJonal aspects of an enterprise (i.e. the “producJon line” of an enterprise) n Consequences: n WFMS had to provide quality of services known before from "producJon systems" like DBMS and TPM n High/conJnuous availability n Scalability n Robustness
  • 19. © Frank Leymann 19 5th Genera>on The Automation Age n ApplicaJon integraJon becomes very important (end of 90s) n OrganizaJonal integraJon becomes more and more important n Interoperability of WFMS (building blocks), as well as Web access required n Workflows understood as business oriented "logical units of work" n Advanced transacJon management funcJons required n Forward recovery of workflows as well as workflow-­‐based applicaJons n Backward recovery (spheres of atomicity and compensaJon)
  • 20. © Frank Leymann 20 6th Genera>on The Service Age n Web Services appeared about 2002 n Workflows needed to make use of Web Services n Interact with an ESB n Exploit human beings as Web services n Workflows have been considered early on as technology to aggregate services into new services n “Recursive aggregaJon model for Web services” n “OrchestraJon” n BPEL has been created to support all of this
  • 21. © Frank Leymann 21 7th Genera>on The Model-Execution Age n Modeling of business processes gained a lot of a/enJon about 2005 n Domain experts became the immediate source of models n BPMN became predominant modeling language n Transforming models created by domain experts into something executable must not loose semanJcs of the original process n ExecuJng BPMN evolved as a requirement n …and BPMN 2.0 had been developed to support this
  • 22. 22 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 23. © Frank Leymann 23 Major Building Blocks of a WFMS Buildtime Modeling Tool (BPR, Workflows) Workflow Management System Runtime Workflow Database Process Model Applications, Tools
  • 24. Data Modeling Tool Relational Algebra © Frank Leymann 24 ...And Their Correspondence In DBMS Buildtime Modeling Tool (BPR, Workflows) Workflow Management System Runtime Workflow Database Process Model Applications, Tools (Metamodel) SQL DDL Catalog User Data (tables, indexes,…) DBMS SQL DML StP, UDF,…
  • 25. © Frank Leymann 25 The WfMC Reference Model Business Modeling Workflow Enactment Engine AdministraJon, AudiJng Workflow Enactment Engine Worklist Processor Worklist ApplicaJon ApplicaJon InvocaJon ApplicaJon
  • 26. © Frank Leymann 26 Modern Terminology Process Modeling Tool Process (ExecuJon) Engine Management Tool Process Engine 2 Workitem Management Worklist ApplicaJon ApplicaJon InvocaJon ApplicaJon FuncJon
  • 27. Input Container Output Container © Frank Leymann 27 Invoking Ac>vity Implementa>ons Worklist ... Workitem ... Activity Pgm 2 3 5 4 1
  • 28. © Frank Leymann 28 Internal Component Flow Navigator MQM PES Invocation State & Metadata Pgm <OS Address Space> n WFMS Navigator determines program to be executed n "ExecuJon Messages" send to launching component called Program ExecuJon Server (PES) n "CompleJon Message" send back to Navigator when invoked program returns
  • 29. © Frank Leymann 29 Program Execu>on Server Service Locator PES Info Extract Data n WFMS won't be able to support all mechanisms to launch executables n Thus, users should be able to build their own PESes, e.g. WFMS… n …provides interfaces between PES building blocks n ….defines required messages exchanged between navigator and PES (User-­‐provided PES (UPES)) n Specific metadata are needed by PES, e.g. security informaJon, mapping prescripJons etc. Mapping Program Invocation Invocation State & Metadata Program Data Format Pgm Operational Data PES J Yes, this is core ESB funcJonality!!!
  • 30. © Frank Leymann 30 Architectural Impact Process Modeling Tool Management Orchestrator Tool Orchestrator 2 Workitem Management Worklist ApplicaJon Service Bus Service
  • 31. Architectural Impact: High-­‐Level View n Work request no longer only created by WFMS n Thus, Workitem Manager is split from WFMS and becomes a separate component in SOA environment (“Task Manager”) Navigator © Frank Leymann 31 WFMS Workitem Manager WFMS Task Manager (aka Task Processor aka Human Task Infrastructure) Navigator TradiJonal Architecture Modern Architecture
  • 32. © Frank Leymann 32 Architectural Impact Process Modeling Tool Process Engine Management Tool Process Engine 2 Task Manager Service Bus Task List Client Service
  • 33. 33 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 34. Process Management Stack Data Management Stack Conceptual Process Model © Frank Leymann 34 How People are Used to Model (BPMN) Transform Logical Process Model (BPEL) Deploy Process Engine Conceptual Data Model (e.g. Entity-Relationship) Transform Logical Data Model (e.g. SQL) Deploy DBMS
  • 35. © Frank Leymann 35 Architectural Impact Process Modeling Tool Conceptual Process Model Logical Process Model Process Engine Management Tool ExecuJon Engine 2 Task Manager Service Bus Task List Client Service
  • 36. © Frank Leymann 36 Workflow Language Genealogy WSFL FDML XPDL FDL BPEL XLANG BPMN 1.x (OMG) BPML WSCI BPSS WS-CDL (IBM) (IBM) (IBM) (Microsoft) (WfMC) (bpmi.org) (SUN, SAP, Oracle) (OASIS ebXML) (W3C) (IBM, Microsoft, BEA à OASIS) BPELJ GSFL … YAWL (Research Groups) BPEL4People BPEL-SPE ?…? GPEL Pi-Calculus++ (Microsoft) BPEL4Chor ✜-Calculus PM-Graphs BPMN 2.0 Petri-Nets (OMG)
  • 37. © Frank Leymann 37 Other Languages n Data Flow oriented approaches n Especially used in scienJfic workflow community n Only data dependencies between acJviJes are modeled n As soon as all input data of an acJvity is available, start the acJvity n Examples: DAGMan, Kepler, Taverna, Triana n Research prototypes n DeclaraJve approaches n Define constraints of valid execuJon “sequences” instead of specifying all poten/al execuJon “sequences” n Based on some temporal logic (e.g. LTL) n Example: DECLARE n Research prototype n Rule-­‐based approaches n Mainly based on ECA rules n Example: Lotus Notes workflow ObservaJon: Products focus on control flow languages
  • 38. The “mother” of all workflow languages IT Infractructure ("With") © Frank Leymann 38 Flow Defini>on Language (FDL): Example PROCESS 'Loan Process' PROGRAM_ACTIVITY 'Collect Credit Information' PROGRAM 'Credit Information Program' DONE_BY 'Loan Officer' END 'Collect Credit Information' PROGRAM_ACTIVITY 'Assess Risk' PROGRAM 'Risk Program' DONE_BY 'Financial Officer' END 'Assess Risk' CONTROL FROM 'Collect Credit Information' TO 'Assess Risk' END 'Loan Process' PROGRAM 'Credit Information Program' WINNT EXE PATH_AND_FILENAME 'CIP.EXE' END 'Credit Information Program' PROGRAM 'Risk Program' AIX EXE PATH_AND_FILENAME 'RP.EXE' END 'Risk Program' ROLE 'Loan Officer' RELATED_PERSON 'Leymann' END 'Loan Officer' ROLE 'Financial Officer' RELATED_PERSON 'Roller' END 'Financial Officer' PERSON 'Leymann' FIRST_NAME 'Frank' LAST_NAME 'Leymann' END 'Leymann PERSON 'Roller' FIRST_NAME 'Dieter' LAST_NAME 'Roller' END 'Roller' Process Logic ("What") Process Logistics ("Who")
  • 39. © Frank Leymann 39 BPEL: Business Processes Between Web Services X Y Z pt3 o1 o2 pt1 o1 o3 o4 pt2 o2 o4
  • 40. © Frank Leymann 40 BPEL: Business Processes As Web Services X Y Z pt o1 o2 pt* o7 o9 o8
  • 41. © Frank Leymann 41 BPEL: Aggrega>ng Web Services X Y Z pt o1 o2 pt3 o1 o2 pt1 o1 o3 o4 pt2 o2 o4 P Q pt* o8 o9 Precisely: BPEL provides a recursive aggregation model for Web services
  • 42. © Frank Leymann 42 Separa>ng Processes And Port Types Process A C B D E Application Deployment Descriptors Activity: Partner Role Port Type Operation ... Port Types
  • 43. Process © Frank Leymann 43 Run>me: Use of Deployment Informa>on A C B D E Service Bus Application Deployment Descriptors Activity: Port Type Operation Qos ... Policy EPR Ports
  • 44. Deployment Service © Frank Leymann 44 Programming Model Application Flow/Process/… Components/Services/… Workflow System Application Server Programming in the Large Programming in the Small Bus Deployment Descriptor pT pLink Locator
  • 45. © Frank Leymann 45 BPEL: Example (The Obvious One J) TravelService orderTrip receiveItinarary getHotel getFlight chargeCC HotelService bookRoom AirlineService bookFlight CCService payBill Hotel Airline CCCompany TravelAgent overnight?
  • 46. © Frank Leymann 46 The Process Header And Partners <process name=“TripBookingProcess" targetNamespace="http://fl.com/Travel/Booking" xmlns="http://schemas.xmlsoap.org/ws/2003/05/business-process" xmlns:tag="http://travel.org/wsdl/travelAgent"> <partnerLinks> <partnerLink name="Customer" partnerLinkType="tag:Traveler" myRole="TravelAgent"/> <partnerLink name="Hotel" partnerLinkType="tag:Hotel" partnerRole="HotelChain"/> <partnerLink name="Airline" partnerLinkType="tag:Airline" partnerRole="AirlineCompany"/> <partnerLink name="Billing" partnerLinkType="tag:CreditCard" partnerRole="CreditCardCompany"/> </partnerLinks>
  • 47. © Frank Leymann 47 The Variables <variables> <variable name="Order" messageType=“tag:trip"/> <variable name="Hotel" messageType="tag:hotelBooking"/> <variable name="Flight" messageType="tag:flightBooking"/> <variable name="payment" messageType="tag:payments"/> </variables>
  • 48. © Frank Leymann 48 The Ac>vi>es (1/5) <flow> <links> <link name="Itinerary-to-Hotel"/> <link name="Itinerary-to-Flight"/> <link name="Hotel-to-Charge"/> <link name="Flight-to-Charge"/> </links> <receive name=“receiveItinerary” partnerLink="Customer" portType="tag:TravelService" operation="orderTrip" variable="Order"> <source linkName="Itinerary-to-Hotel“ overnight? transitionCondition=“overnight=‘true’"/> <source linkName="Itinerary-to-Flight"/> </receive> .... receiveItinarary getHotel getFlight chargeCC
  • 49. © Frank Leymann 49 The Ac>vi>es (2/5) .... <assign> <copy> <from variable="Order" part="itinerary" query="/rooms"/> <to variable="Hotel"/> </copy> </assign> <assign> <copy> <from variable="Order" part="itinerary" query="/flights"/> <to variable="Flight"/> </copy> </assign> ....
  • 50. © Frank Leymann 50 The Ac>vi>es (3/5) ... <invoke name=“getHotel” partnerLink="Hotel" portType="tag:HotelService" operation="bookRoom" inputVariable="Hotel"> <target linkName="Itinerary-to-Hotel"/> <source linkName="Hotel-to-Charge"/> </invoke> <invoke name=“getFlight” partnerLink="Airline" portType="tag:AirlineService" operation="bookFlight" inputVariable="Flight"> <target linkName="Itinerary-to-Flight"/> <source linkName="Flight-to-Charge"/> </invoke> ... receiveItinarary overnight? getHotel getFlight chargeCC
  • 51. © Frank Leymann 51 The Ac>vi>es (4/5) .... <assign> <copy> <from variable="Order" part="customerInfo"/> <to variable="Payment" part="customerInfo"/> </copy> <copy> <from variable="Hotel"/> <to variable="Payment" part="orders" query="/rooms"/> </copy> <copy> <from variable="Flight"/> <to variable="Payment" part="orders" query="/flights"/> </copy> </assign> ....
  • 52. © Frank Leymann 52 The Ac>vi>es (5/5) ... <invoke name=“chargeCC” partnerLink="Billing" portType="tag:CreditCardService" operation="payBill" inputVariable="Payment“ joinCondition= overnight? "vprop:getLinkStatus(‘Hotel-to-Charge') or vprop:getLinkStatus(‘Flight-to-Charge')"> <target linkName="Hotel-to-Charge"/> <target linkName="Flight-to-Charge"/> </invoke> </flow> </process> receiveItinarary getHotel getFlight chargeCC
  • 53. © Frank Leymann 53 BPMN: A Graphical Language
  • 54. © Frank Leymann 54 Basic Order Process
  • 55. © Frank Leymann 55 Order Process with Excep>on Paths
  • 56. © Frank Leymann 56 Order Process with Swimlanes
  • 57. © Frank Leymann 57 Subprocesses
  • 58. © Frank Leymann 58 Parallel Split and Join
  • 59. © Frank Leymann 59 Excep>on Handling
  • 60. © Frank Leymann 60 Choreographies
  • 61. 61 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 62. KPIs Analysis © Frank Leymann 62 BPM Lifecycle Modeling IT Refinement Deployment ExecuJon Monitoring
  • 63. BPM Lifecycle: Modeling KPIs Analysis © Frank Leymann 63 BPMN n Today, typically based on BPMN (2.0) n Done by domain experts n StaJc analysis used to “quickly” check obvious modeling errors n AnalyJcal simulaJon used to check saJsfacJon of KPIs Modeling IT Refinement Deployment ExecuJon Monitoring
  • 64. BPM Lifecycle: IT Refinement KPIs Analysis © Frank Leymann 64 BPEL n Today, ocen generaJon of BPEL from BPMN n Web services have to be determined that perform the tasks of the processes n Done by IT experts Modeling IT Refinement Deployment ExecuJon Monitoring
  • 65. BPM Lifecycle: IT Refinement 2.0 KPIs Analysis © Frank Leymann 65 BPMN 2.0 n If a BPMN 2.0 engine is used, no transformaJon is needed n As before, Web services have to be determined that perform the tasks of the processes n Done by IT experts Modeling IT Refinement Deployment ExecuJon Monitoring
  • 66. BPM Lifecycle: Deployment KPIs Analysis © Frank Leymann 66 BPEL BPMN 2.0 n The Web services of the refined process model must be bound to endpoints n Well, task can have different implementaJons (like scripts, EJBs, REST APIs,…) n They must be bound too n Done by IT experts Modeling IT Refinement Deployment ExecuJon Monitoring
  • 67. BPM Lifecycle: Execu>on KPIs Analysis © Frank Leymann 67 BPEL BPMN 2.0 n Either a BPEL engine executes the transformed BPMN model, or n …a BPMN 2.0 engine executes the BPMN 2.0 model n In any case the bound task implementaJons are invoked during navigaJng the process models Modeling IT Refinement Deployment ExecuJon Monitoring
  • 68. KPIs Analysis © Frank Leymann 68 BPM Lifecycle: Monitoring n During execuJon the actual status of each running process is available n Individual processes can be inspected and depicted n CollecJons of processes can be defined, and their aggregated status can be depicted n The status of (aggregaJons of) processes can be enriched with other informaJon to enable deeper inside Modeling IT Refinement Deployment ExecuJon Monitoring
  • 69. KPIs Analysis © Frank Leymann 69 BPM Lifecycle: Analysis n The history of already completed processes is maintained n This allows post mortem analysis of (collecJons of) processes n Used to improve models of processes n …to be/er saJsfy KPIs n Can be combined with data analysis to derive be/er models n Mining algorithms can be used n …to improve control flow n …to improve use of staff n … Modeling IT Refinement Deployment ExecuJon Monitoring
  • 70. 70 Agenda Out of the Galaxy EvoluJon Architectures Languages BPM Lifecylce Summary
  • 71. © Frank Leymann 71 Conclusion n Process knowledge is a key resource of a company n Workflow technology is managing this knowledge n The technology is mature and proven (≈25 years of evoluJon in pracJce) n WFMS architectures are compliant with a service-­‐ oriented environment n Two languages have been established in pracJce n BPMN (2.0) for modeling n BPEL for execuJon n Processes are managed in a lifecycle that typically use specialized technologies in an integrated manner