1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven...

87
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 513 5600 MB Eindhoven The Netherlands [email protected]

Transcript of 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven...

Page 1: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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]

Page 2: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.).

Page 3: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

3

Basic idea

• Separation of control and execution.

workflowmanagement

system

application

control (process logistics)

execution(task oriented)

Page 4: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 5: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 6: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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!

Page 7: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

7

Potential problem

workflowmanagement

system

application

In-basket application

server

client

database

Interface 3

workflowengine

DBMS

in-basket(worklist)

applications

server client

Page 8: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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)

Page 9: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

9

Users of a WFS

workflowmanagement

systeem

administrator

process analist

workflowdesigner

end-user

manager

applicationdesigner/

programmer

databasedesigner/

programmer

applications

Page 10: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 11: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.

Page 12: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 13: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 14: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

14

Staffware: The designer’s view

Page 15: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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)

Page 16: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

16

Page 17: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.

Page 18: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

18

Advanced semantics

time-out construct

withdraw construct

Page 19: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

19

Defining the process Double Check (DC)

Page 20: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

20

Adding a step

Page 21: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

21

Defining a step

Page 22: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

22

Defining a step (2)

Page 23: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

23

Defining forms and case variables

Page 24: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

24

Building a sequence

Page 25: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

25

Another step definition

Page 26: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

26

Another form definition

Page 27: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

27

Adding a set in parallel

Page 28: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

28

Another step definition

Page 29: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

29

Synchronizing two flows

Page 30: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

30

Another step definition

Page 31: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

31

Defining conditions

Page 32: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

32

The alternative route

Page 33: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

33

Another step definition

Page 34: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

34

Managing users/groups

Monitoring and managing

processes and cases

Staffware: The manager/administrator’s view

Page 35: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

35

Managing users

Page 36: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

36

Managing groups

Page 37: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

37

Making backups

Page 38: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

38

Managing Staffware tables

Page 39: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

39

Managing processes and cases

Page 40: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

40

Monitoring individual cases

Page 41: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

41

Managing Staffware lists

Page 42: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

42

Managing nodes

Page 43: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

43

Releasing changes

Page 44: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

44

The end-user’s view

Page 45: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

45

Selecting and executing the first step

Page 46: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

46

Executing one of the two parallel steps

Page 47: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

47

Executing the other one

Page 48: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

48

Executing the final step

Page 49: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

49

Audit trail

Page 50: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

50

Analysis of Staffware processes

6 runs (8 sequences) are possible!

Page 51: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

51

Example audit trails

Both OK One not OK

Page 52: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

52

Example audit trails (2)

Both not OK (seq) Both not OK (par)

Page 53: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

53

Analysis using Woflan

Page 54: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

54

Improved process

Page 55: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

55

Possible scenario’s

Page 56: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

56

Analysis using Woflan

Page 57: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

57

Exercises Staffware

Page 58: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

58

Translate to notation of book/course

Page 59: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

59

Translate to notation of book/course

Page 60: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 61: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 62: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 63: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

63

Some more examples ...

Page 64: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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)

Page 65: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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)

Page 66: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

66

COSA (COSA GmbH)

Page 67: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

67

COSA: Control flow perspective

• Based on Petri nets

• Lots of functionality

Page 68: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

68

COSA: Resource perspective

• One of the most powerful tools on the market.

• Multiple dimensions and rules.

Page 69: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

69

Page 70: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

70

Oracle BPEL (Oracle)

Page 71: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

71

Oracle: Control flow perspective

• Based on BPEL

Page 72: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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)

Page 73: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.

Page 74: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.

Page 75: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

75

SAP Business Workflow/Webflow (SAP AG)

Page 76: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

76

SAP: Control flow perspective

• Two views: native view and EPC view.

• Block structured.

e.g. sequence:

Page 77: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

77

Routing elements

Page 78: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

78

parallel routing

three types of choices

Page 79: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

79

join can hove a condition and/or lower bound

two types of loops

Page 80: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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

Page 81: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

81

Logging in SAP Workflow

Page 82: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

82

FLOWer (Pallas Athena)

Page 83: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.

Page 84: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

84

Partly block structured: choices, loops, etc. require an additional level

Page 85: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

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.

Page 86: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

86

Forms

Page 87: 1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.

87