1
Workflow Management
Systems
:
Functions, architecture, products.
Wil van der
Aalst
Eindhoven University of Technology
Faculty of Technology Management
Department of Information and Technology
P.O. Box 513
5600 MB Eindhoven
The Netherlands
w.m.p.v.d.aalst@tm.tue.nl
2
Workflow Management
Systems
• A Workflow Management System (WFMS) is a generic
software package used to build a Workflow System (WFS).
• More than 250 workflow management systems are
available.
• It is possible to “do” workflow management without using
a workflow management system.
• However, workflow management systems:
– facilitate workflow management efforts
(analyze/change),
– lead to concrete concepts and terms.
• Workflow Management Coalition (WfMC)
– founded in 1993, 170 members, 24 countries
– terminology, standard interfaces, promotion
3
Basic
idea
• Separation of control and execution.
workflow
management
system
application
control
(process logistics)
execution
(task oriented)
4
WfMC Reference
model
Process
Definition Tools
Administration
& Monitoring
Tools
Interface 1
Interface 4
Interface 5
Work flow Enactment Service
Work flow API and Interchange formats
Other Work flow
Enactment Service(s)
Workflow
Client
Applications
Interface 3
Interface 2
Work flow
Engine(s)
Work flow
Engine(s)
Invok ed
Applications
5
Data inside a
WFS
proces
definition
tool
resource
classification
tool
analysis
tool
proces
definitions
resource
classifications
analysis
data
workflow
engine(s)
registration
generator
operational
control
data
historical
data
internal
data
Logistical
control
data
other
workflow
systems
customized
in-basket
standard
in-basket
automatical
applications
interactive
applications
application
data
operational
tool
triggers
control
tool/report
6
Interfa
ces
Process
Definition Tools
Administration
& Monitoring
Tools
Interface 1
Interface 4
Interface
5
Workflow Enactment Service
Other Workflow
Enactment Service(s)
Workflow
Client
Applications
Interface 3
Interface 2
Workflow
Engine(s)
Workflow
Engine(s)
Invoked
Applications
Published in Handbook
Demo’s
Weak!
7
Potential
problem
workflow
management
system
application
In-basket
application
server
client
database
Interface 3
workflow
engine
DBMS
in-basket
(worklist)
applications
server
client
8
The ACID-properties, known from transaction
processing, should hold.
• Atomicity
(atomic, "everything or nothing", rollback if necessary)
• Consistency
(a completed task results in a proper state of the
system)
• Isolation
(tasks do not affected each other, even if they are
executed in parallel)
• Durability
(the result of a completed task may not get lost; commit
tasks)
9
Technical
infrastructure
hardware
operating
system
network
software
database
management
system
workflow
management
system
applications
10
Realization of a designed
workflow
• (Hardware, operating system, network, DBMS, ...)
• (Installation of WFMS)
• Configuring the WFMS
• Implementing new applications to be used in the
workflow
• Embedding of old applications
(legacy software, emulation, screen scraping, ..)
• Testing and validating the workflow
• Motivating and training employees
11
Users of a
WFS
workflow
management
systeem
administrator
process analist
workflow
designer
end-user
manager
application
designer/
programmer
database
designer/
programmer
applications
12
Some systems
• COSA (Thiel Logistik AG/Ley GmbH/COSA Solutions BV),
• Domino Workflow (Lotus, IBM),
• Eastman (Eastman),
• HP Changengine (Hewlett-Packard),
• FLOWer (Pallas Athena),
• Forté Conductor (Forte/SUN),
• I-Flow (Fujitsu),
• InConcert (TIBCO),
• Meteor (University of Georgia),
• Mobile (University of Erlangen),
• MQ Series Workflow (IBM),
• R/3 Workflow (SAP AG),
• Staffware (Staffware PLC),
• Verve (Verve Inc.),
• Visual WorkFlo (FileNET),
• and many, many others.
13
An example of a WFMS:
Staffware
• Staffware is one of the leading workflow
management systems.
• Staffware is used by more than 550,000 users
worldwide and runs on more than 4500 servers
(1999).
• Staffware has had about 25 percent of the global
market over the last couple of years..
• The routing elements used by Staffware are the
Start, Step, Wait, Condition, and Stop.
• The system uses a client-server architecture:
Staffware client, Workqueue manager, Staffware
server, Administration tool, and bGraphical workflow
designer.
• See also http://www.staffware.com
14
15
16
17
18
19
group queues (e.g., role based)
personal queue
20
work items
21
22
Two
examples
• COSA (Software Ley/COSA Solutions)
(traditional, focus on production workflow)
– COSA Network Editor (CONE)
– COSA User Editor (COUE)
– COSA MemoBox (COMB)/COSA Network Displayer
(COND)
– COSA Simulator (COSI)
– COSA Administrator
• ActionWorkflow (Action Technologies)
(alternative approach, focus on coordination)
– ActionWorkflow Process Builder
– ActionWorkflow Process Manager
– Action Metro (WWW)
23
COSA Network Editor
(CONE)
(Based on Petri nets.)
24
COSA User Editor
(COUE)
25
COSA MemoBox
(COMB)
Carl-Adam Petri
Carl-Adam Petri
26
ActionWorkfl
ow
primaire
workflow A
Klant
Manager
Medewerker
secundaire
workflow B
Manager
secundaire
workflow C
Manager
secundaire
workflow E
Manager
secundaire
workflow D
Manager
Medewerker
Medewerker
Medewerker
preparation
performance
completion
negotiation
D en E in parallel
B en C sequentieel
Empasis on coordination, based on speech acts.
Business
Process
Map
27
ActionWorkfl
ow
28
Additional
tools
• BPR tools
– Functions: modeling, communication, documentation,
consistency.
• Simulation tools
– Functions: performance analysis, animation, validation.
• Verfication tools
– Functions: checking properties of the specified workflow.
• Management information tools
– Functions: monitoring and analysis of workflow data.
– Data mining, data warehousing, OLAP (on-line analytical
processing) tools.
29
BPR tool: Protos (Pallas
Athena)
30
process
data and
applications
roles
teams
4 views
31
Simulation tool: ExSpect
(Bakkenist)
32
33
Verification tool: Woflan
(EUT)
34
Examp
le
start
register
send_form
evaluate
process_complaint
check_proc
process_form
time-out
archive
ready
c1
c2
c3
c4
c5
c6
c7
Sound, but
Woflan warns
for c5 construct.
OK
(S-cover, not free-choice, not well-structured, safe, live)
35
Example
(2)
start
register
send_form
evaluate
process_complaint
check_proc
process_form
time-out
archive
ready
c1
c2
c3
c4
c5
c6
Not sound,
Woflan displays
non-well-handled
pairs (register,c5).
(no S-cover, free-choice, not well-structured, not safe, live)
Multiple
termination
36
Example
(3)
start
register
send_form
evaluate
process_complaint
check_proc
process_form
time-out
archive
ready
c1
c2
c3
c4
c5
c6
c7
Not sound,
Woflan indicates
that c8 is not safe
and not in any S-comp.
c8
(no S-cover, free-choice, not well-structured, not safe, live)
Potential
deadlock
37
Example
(4)
start
register
send_form
evaluate
process_complaint
check_proc
process_form
time-out
archive
ready
c1
c2
c3
c4
c5
c6
c7
Not sound,
lower part is not
safe and not in
any S-comp.
(no S-cover, free-choice, not well-structured, not safe, live)
Never
ending
loop
38
Example
(5)
start
register
send_form
evaluate
process_complaint
check_proc
process_form
time-out
archive
ready
c1
c2
c3
c4
c5
c6
c7
Not sound,
Woflan warns
for c3 construct.
(S-cover, not free-choice, not well-structured, safe, not live)
Potential
deadlock
39
Woflan (EUT)
Protos
(Pallas Athena)
ExSpect (BMC/EUT)
COSA
(Software-Ley/
COSA Solutions)
An integrated
toolset