Process modeling

Download Report

Transcript Process modeling

Workflow 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
[email protected]
1
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.).
2
Basic idea
workflow
management
system
control
(process logistics)
execution
(task oriented)
application
• Separation of control and execution.
3
WfMC Reference model
Process
Definition T ools
Interface 1
Interface 5
Workflow API and Interchange formats
Interface 4
Other W orkflow
Enactment Service(s)
Workflow Enactment Service
Administration
& M onitoring
T ools
Workflow
Engine(s)
Interface 2
Workflow
Client
Applications
Workflow
Engine(s)
Interface 3
Invoked
Applications
4
Data inside a WFS
analysis
tool
proces
definition
tool
operational
control
tool
proces
definitions
operational
control
data
resource
classification
tool
analysis
data
resource
classifications
internal
data
other
workflow
systems
workflow
engine(s)
historical
data
Logistical
control
data
registration
tool/report
generator
application
data
standard
in-basket
customized
in-basket
automatical
applications
interactive
applications
triggers
5
Interfaces
Process
Definition Tools
Weak!
Interface 1
Administration
& Monitoring
Tools
Demo’s
Other Workflow
Interface 5 Workflow Enactment Service Interface 4 Enactment Service(s)
Workflow
Engine(s)
Interface 2
Workflow
Engine(s)
Interface 3
Published in Handbook
Workflow
Client
Applications
Invoked
Applications
6
Potential problem
server
client
workflow
engine
in-basket
(worklist)
DBMS
workflow
management
system
applications
database
application
server
client
In-basket
application
Interface 3
7
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)
8
Users of a WFS
manager
administrator
process analist
workflow
designer
database
designer/
programmer
workflow
management
systeem
application
designer/
programmer
applications
end-user
9
Commercial Workflow Systems
ViewStar
Lucent Mosaix
eiStream
WANG Workflow
BlueCross
BlueShield
Eastman
SIGMA
WANG
Examples of systems
JCALS
CARNOT
Verve
Versata
MS2 Accelerate
VisualInfo
•
•
•
•
Continuum
COSA (demo)
Staffware
FLOWer
…
Netscape PM
iPlanet
jFlow
BEA PI
DST AWD
DST AWD
ImagePlus FMS/FAF
Pavone
Onestone
Domino Workflow
NCR ProcessIT
Exotica I - III
FlowMark
Pegasus
MQSeries Workflow
OpenPM
WorkManager
FlowJet
AdminFlow
Changengine
SNI WorkParty
Recognition Int.
Plexus FloWare
COSA
BancTec FloWare
BaaN
Ley COSA
Oracle Workflow
Digital Objectflow
DEC LinkWorks
Digital Proc.Flo.
Beyond BeyondMail
AltaVista Proc.Flow
Banyan BeyondMail
Fujitsu iFlow
Fujitsu Regatta
Teamware Flow
Staffware
FileNet WorkFlo
Visual WorkFlo
Panagon WorkFlo
FileNet Ensemble
Action Coordinator
ActionWorkflow
DaVinci
ActionWorks Metro
Xerox InConcert
TIB/InConcert
IABG ProMInanD
Olivetti X_Workflow
1980
1985
1990
LEU
1995
2000
10
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.
11
WfMC reference model
Process
Definition T ools
Interface 1
Interface 5
Workflow API and Interchange formats
Interface 4
Other W orkflow
Enactment Service(s)
Workflow Enactment Service
Administration
& M onitoring
T ools
Workflow
Engine(s)
Interface 2
Workflow
Client
Applications
Workflow
Engine(s)
Interface 3
Invoked
Applications
12
A small case study: Double Check (DC)
• Processing of insurance claims involving registration, two checks, and a
payment of rejection
• Five tasks:
checkA
pay
– register (register insurance claim)
– checkA (check insurance policy)
register
– checkB (check damage reported)
checkB
reject
– 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).
13
Staffware: The designer’s view
14
Building blocks
start
stop
step (i.e., task)
wait (i.e., AND-join)
event step
condition (i.e., XORsplit)
automatic step
complex router
(OR-join/AND-split)
15
16
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.
17
Advanced semantics
withdraw construct
time-out construct
18
Defining the process Double Check (DC)
19
Adding a step
20
Defining a step
21
Defining a step (2)
22
Defining forms and case variables
23
Building a sequence
24
Another step definition
25
Another form definition
26
Adding a set in parallel
27
Another step definition
28
Synchronizing two flows
29
Another step definition
30
Defining conditions
31
The alternative route
32
Another step definition
33
Staffware: The manager/administrator’s view
Managing
users/groups
Monitoring and
managing
processes and
cases
34
Managing users
35
Managing groups
36
Making backups
37
Managing Staffware tables
38
Managing processes and cases
39
Monitoring individual cases
40
Managing Staffware lists
41
Managing nodes
42
Releasing changes
43
The end-user’s view
44
Selecting and executing the first step
45
Executing one of the two parallel steps
46
Executing the other one
47
Executing the final step
48
Audit trail
49
Analysis of Staffware processes
6 runs (8 sequences) are possible!
50
Example audit trails
Both OK
One not OK
51
Example audit trails (2)
Both not OK (seq)
Both not OK (par)
52
Analysis using Woflan
53
Improved process
54
Possible scenario’s
55
Analysis using Woflan
56
Exercises Staffware
57
Translate to notation of book/course
58
Translate to notation of book/course
59
Model in Staffware
contact_ cust
end
start
register
c2
search
c3
communicate
c4
c15
AND_
split
cancel
c5
book
c8
c6
insurance1?
c9
start_
trip
insurance1
c11
AND_join
c7
insurance2? c10
insurance2
c13
send_documents
c14
c12
60
Model in Staffware
c3
replenish
c4
update
c7
c5
c1 check_availability
start
ship_goods
c6
register
c2
reminder
archive
receive_payment
end
c8
send_bill
61
Model in Staffware
c3
replenish
c4
update
c7
c1
start
c5
check_availability
ship_goods
c6
register
c2
reminder
archive
receive_payment
end
c8
send_bill
62
Some more examples ...
63
Four types of "workflow-like" systems:
1. Information systems with hard-coded workflows
(process& organization specific).
2. Custom-made information systems with generic
SAP Business
workflow support (organization specific).
Workflow/Webflow
(SAP AG)
3. Generic software with embedded workflow
functionality (e.g., the workflow components of
ERP, CRM, PDM, etc. systems).
4. Generic software focusing on workflow
FLOWer
functionality
(Pallas
Athena)
Oracle BPEL
(Oracle)
Staffware
(TIBCO)
COSA (COSA
GmbH)
64
SAP Business
Workflow/Webflow
(SAP AG)
Staffware
(TIBCO)
explicitly
structured
implicitly
structured
production
workflow
COSA (COSA
GmbH)
case handling
ad-hoc
structured
unstructured
Oracle BPEL
(Oracle)
ad-hoc workflow
FLOWer
(Pallas
Athena)
groupware
data-driven
process-driven
65
COSA (COSA GmbH)
66
COSA: Control flow perspective
• Based on Petri nets
• Lots of functionality
67
COSA: Resource perspective
• One of the most powerful tools on the market.
• Multiple dimensions and rules.
68
69
Oracle BPEL (Oracle)
70
Oracle: Control flow perspective
• Based on BPEL
71
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)
72
Constructs
Primitive activities
Structured 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.
•
•
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.
73
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.
74
SAP Business Workflow/Webflow (SAP AG)
75
SAP: Control flow perspective
• Two views: native view and EPC view.
• Block structured.
e.g. sequence:
76
Routing elements
77
parallel routing
three types of choices
78
join can hove a condition and/or lower bound
two types of loops
79
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
80
Logging in SAP Workflow
81
FLOWer (Pallas Athena)
82
FLOWer: Control flow perspective
• Block structured (similar to
BPEL) but with excellent
support for multiple
instances.
• Can be generated from
Protos.
• Case handling principle.
83
Partly block structured: choices, loops, etc.
require an additional level
84
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.
85
Forms
86
87