1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven...
-
Upload
gwenda-armstrong -
Category
Documents
-
view
219 -
download
3
Transcript of 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven...
1
Workflow Management Systems: Functions, architecture, and products.
Wil van der Aalst
Eindhoven University of TechnologyFaculty of Technology ManagementDepartment of Information and TechnologyP.O. Box 513 5600 MB EindhovenThe [email protected]
2
Focus on "classical" workflow management systems, but ...
Four types of "workflow-like" systems:
1. Information systems with hard-coded workflows (process& organization specific).
2. Custom-made information systems with generic workflow support (organization specific).
3. Generic software with embedded workflow functionality (e.g., the workflow components of ERP, CRM, PDM, etc. systems).
4. Generic software focusing on workflow functionality (e.g., Staffware, MQSeries Workflow, FLOWer, COSA, Oracle BPEL, Filenet, etc.).
3
Basic idea
• Separation of control and execution.
workflowmanagement
system
application
control (process logistics)
execution(task oriented)
4
WfMC Reference model
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5
Workflow Enactment Service
Workflow API and Interchange formats
Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
5
Data inside a WFS
procesdefinition
tool
resourceclassification
tool
analysis
tool
procesdefinitions
resourceclassifications
analysisdata
workflow
engine(s)
registration
generator
operationalcontroldata
historicaldata
internaldata
Logisticalcontroldata
otherworkflowsystems
customizedin-basket
standardin-basket
automaticalapplications
interactiveapplications
applicationdata
operational
tool
triggers
control
tool/report
6
Interfaces
ProcessDefinition Tools
Administration& Monitoring
Tools
Interface 1
Interface 4Interface 5 Workflow Enactment Service Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
Published in Handbook
Demo’s
Weak!
7
Potential problem
workflowmanagement
system
application
In-basket application
server
client
database
Interface 3
workflowengine
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
Users of a WFS
workflowmanagement
systeem
administrator
process analist
workflowdesigner
end-user
manager
applicationdesigner/
programmer
databasedesigner/
programmer
applications
10
Examples of systems
• COSA (demo)
• Staffware
• FLOWer
• …
Commercial Workflow Systems
1980 1985 1990 1995 2000
Exotica I - III
FlowMark MQSeries Workflow
jFlow
Staffware
Pavone
Onestone Domino Workflow
BEA PI
CARNOT
ViewStar
Digital Proc.Flo. AltaVista Proc.Flow
ActionWorkflow
SNI WorkParty
AdminFlow ChangengineWorkManager
OpenPM FlowJ et
Verve Versata
Action Coordinator
ActionWorks MetroDaVinci
FileNet WorkFlo Visual WorkFlo
FileNet Ensemble
Panagon WorkFlo
Xerox InConcert TIB/InConcert
Plexus FloWare BancTec FloWare
NCR ProcessIT
Netscape PM
MS2 Accelerate
Teamware Flow
Fujitsu iFlow
Beyond BeyondMail
DST AWD
IABG ProMInanD
DEC LinkWorks
COSA BaaN Ley COSA
Fujitsu Regatta
Pegasus
LEU
Banyan BeyondMail
Olivetti X_Workflow
Oracle WorkflowDigital Objectflow
ImagePlus FMS/FAF
VisualInfo
DST AWD
Continuum
Recognition Int.
WANGSIGMAEastman
WANG WorkfloweiStream
Lucent Mosaix
BlueCrossBlueShield
J CALS
iPlanet
11
Staffware• 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-user’s view of Staffware, and
– show the need for analysis.
12
WfMC reference model
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5
Workflow Enactment Service
Workflow API and Interchange formats
Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
13
A 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).
register
checkA
checkB
pay
reject
14
Staffware: The designer’s view
15
Building blocks
start stop
step (i.e., task)
event step
automatic step
wait (i.e., AND-join)
condition (i.e., XOR-split)
complex router (OR-join/AND-split)
16
17
Basic semantics of a step
OR-join AND-split
Same for complex routers, conditions (input: OR, output: each branch is AND), other types of steps, etc.
18
Advanced semantics
time-out construct
withdraw construct
19
Defining the process Double Check (DC)
20
Adding a step
21
Defining a step
22
Defining a step (2)
23
Defining forms and case variables
24
Building a sequence
25
Another step definition
26
Another form definition
27
Adding a set in parallel
28
Another step definition
29
Synchronizing two flows
30
Another step definition
31
Defining conditions
32
The alternative route
33
Another step definition
34
Managing users/groups
Monitoring and managing
processes and cases
Staffware: The manager/administrator’s view
35
Managing users
36
Managing groups
37
Making backups
38
Managing Staffware tables
39
Managing processes and cases
40
Monitoring individual cases
41
Managing Staffware lists
42
Managing nodes
43
Releasing changes
44
The end-user’s view
45
Selecting and executing the first step
46
Executing one of the two parallel steps
47
Executing the other one
48
Executing the final step
49
Audit trail
50
Analysis of Staffware processes
6 runs (8 sequences) are possible!
51
Example audit trails
Both OK One not OK
52
Example audit trails (2)
Both not OK (seq) Both not OK (par)
53
Analysis using Woflan
54
Improved process
55
Possible scenario’s
56
Analysis using Woflan
57
Exercises Staffware
58
Translate to notation of book/course
59
Translate to notation of book/course
60
Model in Staffware
register c2 start search c 3 communicate
end
contact_ cust
c 5
c 6
c 7
book
insurance1?
insurance2?
c 9
c 10
c4
c 8
insurance1
insurance2
c 11
c 12
AND_ split AND_join c 13 send_documents c 14
cancel
start_ trip
c15
61
Model in Staffware
start register
send_bill
receive_payment
archive
ship_goodscheck_availability
replenish
update
reminder
end
c1
c2
c3
c4
c5
c6
c7
c8
62
Model in Staffware
start register
send_bill
receive_payment
archive
ship_goodscheck_availability
replenish
update
reminder
end
c1
c2
c3
c4
c5
c6
c7
c8
63
Some more examples ...
64
Four types of "workflow-like" systems:
1. Information systems with hard-coded workflows (process& organization specific).
2. Custom-made information systems with generic workflow support (organization specific).
3. Generic software with embedded workflow functionality (e.g., the workflow components of ERP, CRM, PDM, etc. systems).
4. Generic software focusing on workflow functionality
Oracle BPEL (Oracle)
Staffware (TIBCO)
COSA (COSA GmbH)
FLOWer (Pallas Athena)
SAP Business Workflow/Webflow
(SAP AG)
65
explicitlystructured
implicitlystructured
ad-hocstructured
unstructured
data-driven process-driven
ad-hoc workflow
groupware
productionworkflow
case handling
Oracle BPEL (Oracle)
Staffware (TIBCO)
COSA (COSA GmbH)
FLOWer (Pallas Athena)
SAP Business Workflow/Webflow
(SAP AG)
66
COSA (COSA GmbH)
67
COSA: Control flow perspective
• Based on Petri nets
• Lots of functionality
68
COSA: Resource perspective
• One of the most powerful tools on the market.
• Multiple dimensions and rules.
69
70
Oracle BPEL (Oracle)
71
Oracle: Control flow perspective
• Based on BPEL
72
BPEL(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)
73
ConstructsPrimitive 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.
74
Oracle: 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.
75
SAP Business Workflow/Webflow (SAP AG)
76
SAP: Control flow perspective
• Two views: native view and EPC view.
• Block structured.
e.g. sequence:
77
Routing elements
78
parallel routing
three types of choices
79
join can hove a condition and/or lower bound
two types of loops
80
SAP: 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
81
Logging in SAP Workflow
82
FLOWer (Pallas Athena)
83
FLOWer: Control flow perspective
• Block structured (similar to BPEL) but with excellent support for multiple instances.
• Can be generated from Protos.
• Case handling principle.
84
Partly block structured: choices, loops, etc. require an additional level
85
FLOWer: 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.
86
Forms
87