Title: Workflow Management Systems: Functions, architecture, and products'
1Workflow Management Systems Functions,
architecture, and 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_at_tm.tue.nl
2Focus on "classical" workflow management systems,
but ...
- Four types of "workflow-like" systems
- Information systems with hard-coded workflows
(process organization specific). - Custom-made information systems with generic
workflow support (organization specific). - Generic software with embedded workflow
functionality (e.g., the workflow components of
ERP, CRM, PDM, etc. systems). - Generic software focusing on workflow
functionality (e.g., Staffware, MQSeries
Workflow, FLOWer, COSA, Oracle BPEL, Filenet,
etc.).
3Basic idea
workflow management system
control (process logistics)
execution (task oriented)
application
- Separation of control and execution.
4WfMC Reference model
5Data inside a WFS
6Interfaces
Weak!
Demos
Published in Handbook
7Potential problem
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)
9Users of a WFS
10Examples of systems
- COSA (demo)
- Staffware
- FLOWer
11Staffware
- Leading workflow management system (typically 25
percent of the global pure workflow market). - Staffware PLC is headquartered in Maidenhead UK
and has offices in 19 countries. - Focus on performance and reliability rather than
functionality (e.g., infinite scalability, fault
tolerance, etc.) - In the remainder, we present a small case study
that is used to - introduce the design tool and modeling language
of Staffware, - show the management/administrator tools of
Staffware, - demonstrate the end-users view of Staffware, and
- show the need for analysis.
12WfMC reference model
(1)
(2)
(3)
13A small case study Double Check (DC)
- Processing of insurance claims involving
registration, two checks, and a payment of
rejection - Five tasks
- register (register insurance claim)
- checkA (check insurance policy)
- checkB (check damage reported)
- pay (pay for the damage)
- reject (inform customer about rejection)
- Registration is followed by two checks which can
be handled in parallel. - Each of the checks results in OK or not OK.
- If both are OK, pay otherwise reject.
- Three roles register (for task register), checks
(for both checks), and pay/reject (for final
tasks).
14Staffware The designers view
15Building blocks
start
stop
step (i.e., task)
wait (i.e., AND-join)
event step
condition (i.e., XOR-split)
complex router (OR-join/AND-split)
automatic step
16(No Transcript)
17Basic semantics of a step
AND-split
OR-join
Same for complex routers, conditions (input OR,
output each branch is AND), other types of
steps, etc.
18Advanced semantics
withdraw construct
time-out construct
19Defining the process Double Check (DC)
20Adding a step
21Defining a step
22Defining a step (2)
23Defining forms and case variables
24Building a sequence
25Another step definition
26Another form definition
27Adding a set in parallel
28Another step definition
29Synchronizing two flows
30Another step definition
31Defining conditions
32The alternative route
33Another step definition
34Staffware The manager/administrators view
Monitoring and managing processes and cases
Managing users/groups
35Managing users
36Managing groups
37Making backups
38Managing Staffware tables
39Managing processes and cases
40Monitoring individual cases
41Managing Staffware lists
42Managing nodes
43Releasing changes
44The end-users view
45Selecting and executing the first step
46Executing one of the two parallel steps
47Executing the other one
48Executing the final step
49Audit trail
50Analysis of Staffware processes
6 runs (8 sequences) are possible!
51Example audit trails
One not OK
Both OK
52Example audit trails (2)
Both not OK (seq)
Both not OK (par)
53Analysis using Woflan
54Improved process
55Possible scenarios
56Analysis using Woflan
57Exercises Staffware
58Translate to notation of book/course
59Translate to notation of book/course
60Model in Staffware
61Model in Staffware
62Model in Staffware
63Some more examples ...
64- Four types of "workflow-like" systems
- Information systems with hard-coded workflows
(process organization specific). - Custom-made information systems with generic
workflow support (organization specific). - Generic software with embedded workflow
functionality (e.g., the workflow components of
ERP, CRM, PDM, etc. systems). - Generic software focusing on workflow
functionality
SAP Business Workflow/Webflow (SAP AG)
FLOWer (Pallas Athena)
Oracle BPEL (Oracle)
Staffware (TIBCO)
COSA (COSA GmbH)
65SAP Business Workflow/Webflow (SAP AG)
Staffware (TIBCO)
Oracle BPEL (Oracle)
COSA (COSA GmbH)
FLOWer (Pallas Athena)
66COSA (COSA GmbH)
67COSA Control flow perspective
- Based on Petri nets
- Lots of functionality
68COSA Resource perspective
- One of the most powerful tools on the market.
- Multiple dimensions and rules.
69(No Transcript)
70Oracle BPEL (Oracle)
71Oracle Control flow perspective
72BPEL(4WS) Business Process Execution Language
for Web Services
- Compromise between IBM and Microsoft.
- Merges WSFL and XLANG.
- Two styles of working graph based and
structured. - Expressive but complex language.
- Support by many vendors IBM Websphere, Oracle
BPEL, and at least 16 more products. - In April 2003, BEA Systems, IBM, Microsoft, SAP
AG and Siebel Systems submitted BPEL4WS 1.1 to
OASIS. - Version 2.0 will have subtle but significant
differences. - Two flavors executable and abstract
(non-executable)
73Constructs
- Primitive activities
- invoke, invoking an operation on some web
service - receive, waiting for a message from an external
source - reply, replying to an external source
- wait, waiting for some time
- assign, copying data from one place to another
- throw, indicating errors in the execution
- terminate, terminating the entire service
instance and - empty, doing nothing.
- Structured activities
- sequence, for defining an execution order
- switch, for conditional routing
- while, for looping
- pick, for race conditions based on timing or
external triggers - flow, for parallel routing and
- scope, for grouping activities to be treated by
the same fault-handler. - Activities can be nested.
- Can be connect though links.
74Oracle Resource perspective
- Not part of BPEL (cf. BPEL4people).
- Oracle specific task implementations.
- Close to programming.
See Pattern-based Evaluation of Oracle-BPEL
(v.10.1.2), N.A. Mulyar, 2005.
75SAP Business Workflow/Webflow (SAP AG)
76SAP Control flow perspective
- Two views native view and EPC view.
- Block structured.
- e.g. sequence
77Routing elements
78parallel routing
three types of choices
79join can hove a condition and/or lower bound
two types of loops
80SAP Resource perspective
- Organizational units have positions that may or
may not be occupied. - Positions may be associated to multiple jobs
(kind of role). - You can assign a task to
- an organizational unit, if it is to apply to all
subordinate positions - a job, if it is to apply to all positions
described by the job - a position, if it is to apply to those persons
(employees) or users who hold the position - a person (employee), if it is to apply to this
person
81Logging in SAP Workflow
82FLOWer (Pallas Athena)
83FLOWer Control flow perspective
- Block structured (similar to BPEL) but with
excellent support for multiple instances. - Can be generated from Protos.
- Case handling principle.
84Partly block structured choices, loops, etc.
require an additional level
85FLOWer Resource perspective
- Three roles for step in the process (execute,
redo, skip). - Hierarchies can be defined independent of
process. - Various was to view/distribute work.
86Forms
87(No Transcript)