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