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
2Outline
- Architecture
- Staffware
- Other systems
- Oracle BPEL
- COSA
- FLOWer
- SAP workflow
3Focus 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.).
4WfMC Reference model
5Interfaces
Weak!
Demos
Published in Handbook
6Examples of systems
- COSA (demo)
- Staffware
- FLOWer
7Staffware
- 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.
8WfMC reference model
(1)
(2)
(3)
9A 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).
10Staffware The designers view
11Building 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
12(No Transcript)
13Basic 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.
14Advanced semantics
withdraw construct
time-out construct
15Defining the process Double Check (DC)
16Adding a step
17Defining a step
18Defining a step (2)
19Defining forms and case variables
20Building a sequence
21Another step definition
22Another form definition
23Adding a set in parallel
24Another step definition
25Synchronizing two flows
26Another step definition
27Defining conditions
28The alternative route
29Another step definition
30Staffware The manager/administrators view
Monitoring and managing processes and cases
Managing users/groups
31Managing users
32Managing groups
33Managing processes and cases
34Monitoring individual cases
35The end-users view
36Selecting and executing the first step
37Executing one of the two parallel steps
38Executing the other one
39Executing the final step
40Audit trail
41Analysis of Staffware processes
6 runs (8 sequences) are possible!
42Example audit trails
One not OK
Both OK
43Example audit trails (2)
Both not OK (seq)
Both not OK (par)
44Analysis using Woflan
45Improved process
46Possible scenarios
47Analysis using Woflan
48Some more examples ...
49- 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)
50SAP Business Workflow/Webflow (SAP AG)
Staffware (TIBCO)
Oracle BPEL (Oracle)
COSA (COSA GmbH)
FLOWer (Pallas Athena)
51COSA (COSA GmbH)
52COSA Control flow perspective
- Based on Petri nets
- Lots of functionality
53COSA Resource perspective
- One of the most powerful tools on the market.
- Multiple dimensions and rules.
54(No Transcript)
55Oracle BPEL (Oracle)
56Oracle Control flow perspective
57BPEL(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)
58Constructs
- 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.
59Oracle 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.
60SAP Business Workflow/Webflow (SAP AG)
61SAP Control flow perspective
- Two views native view and EPC view.
- Block structured.
- e.g. sequence
62Routing elements
63parallel routing
three types of choices
64join can hove a condition and/or lower bound
two types of loops
65SAP 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
66Logging in SAP Workflow
67FLOWer (Pallas Athena)
68FLOWer Control flow perspective
- Block structured (similar to BPEL) but with
excellent support for multiple instances. - Can be generated from Protos.
- Case handling principle.
69Partly block structured choices, loops, etc.
require an additional level
70FLOWer 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.
71Forms
72(No Transcript)