1 patterns and products wil van der aalst eindhoven university of technology faculty of technology...

73
1 Patterns 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] See www.workflowpatterns.com

Upload: clifford-sanders

Post on 05-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

1

Patterns 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] www.workflowpatterns.com!

Page 2: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

2

Selection of workflow management systemsAn approach based on patterns

Page 3: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

3

Workflow patterns initiative

www.workflowpatterns.com

• Started in 1996, joint work TU/e and QUT (1999).

• Different types of patterns:

– Control-flow patterns

– Data patterns

– Resource patterns• Some of the people involved:

Arthur ter Hofstede (QUT), Marlon Dumas (QUT), Nick Russel (QUT), Petia Wohed (DSV), Bartek Kiepuszewski (QUT), Alistair Barros (SAP), Oscar Ommert (EUT), Ton Pijpers (ATOS), Nataliya Muylar (EUT), Maja Pesic (EUT), Alexander Norta (EUT), Eric Verbeek, et al.

Page 4: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

4

20+ Control flow patternsFocus:

The routing of work from one activity to another, i.e., a partial order of activities.

i

o

process_cost_sta tem ent

create_specifica tion

handle_product

send_order

co llect_ input

prepare_cs

N O K

O K

bill

check

prepare_ph

rece ive_order

create_cost_sta tem ent

process_specifica tion

sh ip_product

process_order decide

short_p

long_p

d iscuss

produceassem ble

order

specifica tion

cost_sta tem ent

product

Page 5: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

5

Classes of control-flow patterns

• Basic control flow patterns – the five most basic patterns

• Advanced branching and synchronization patterns – more complicated splits and joins

• Structural patterns – absence of syntactical requirements that limit the modeler

• Patterns involving multiple instances – e.g., order lines in an order

• State-based patterns – states are more than queues in front of activities

• Cancellation Patterns – removing work-items and cases

Page 6: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

6

Basic control flow patterns – Pattern 2 Parallel Split

A

B

C

Page 7: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

7

Basic control flow patterns – Pattern 3 Synchronization

D

B

C

simple right??

Page 8: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

8

Basic control flow patterns – Pattern 4 Exclusive choice

B

C

A

XOR-split

Page 9: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

9

Basic control flow patterns – Pattern 5 Simple merge

simple right??

D

B

C

Page 10: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

10

It's not that simple!

• There are many ways to split!

• There are many ways to join!

Page 11: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

11

Exclusive choice versus Deferred choice

collect data

accept

reject

X<500

X>=500

collect data

handle_by_manger

handle_by_cleck

A A

C

B

C

B

Not that simple 1: The moment of choice matters!

Page 12: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

12

start register

send_form

evaluate

process_complaint

check_proc

process_form

time-outarchive

ready

c1

c2

c3

c4

c5

c6

c7

Example: Deferred Choice (Pattern 16)

Page 13: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

13

Not that simple 2: There are many ways to join!

• COSA (Ley): Places have capacity 1.• Oracle BPEL/FLOWer: True and false tokens.• Staffware (TIBCO): Race conditions.• SAP Business Workflow (SAP): split-join block with a

minimum or an end condition.• Etc.

A

join

B

C

Page 14: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

14

Staffware: Unintended race conditions

Page 15: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

15

Basic Control Flow Patterns• Pattern 1 (Sequence)• Pattern 2 (Parallel Split)• Pattern 3 (Synchronization)• Pattern 4 (Exclusive Choice)• Pattern 5 (Simple Merge)

Advanced Branching and Synchronization Patterns

• Pattern 6 (Multi-choice)• Pattern 7 (Synchronizing

Merge)• Pattern 8 (Multi-merge)• Pattern 9 (Discriminator)

More patterns ...

Structural Patterns • Pattern 10 (Arbitrary Cycles)

• Pattern 11 (Implicit Termination)

Patterns involving Multiple Instances

• Pattern 12 (Multiple Instances Without Synchronization)

• Pattern 13 (Multiple Instances With a Priori Design Time Knowledge)

• Pattern 14 (Multiple Instances With a Priori Runtime Knowledge)

• Pattern 15 (Multiple Instances Without a Priori Runtime Knowledge)

State-based Patterns• Pattern 16 (Deferred

Choice)

• Pattern 17 (Interleaved Parallel Routing)

• Pattern 18 (Milestone)

Cancellation Patterns• Pattern 19 (Cancel Activity)

• Pattern 20 (Cancel Case)

Page 16: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

16

Evaluation

# pattern standard

Staffware COSA

Oracle BPEL

SAP workflow

FLOWer

1 Sequence + + + + +

2 Parallel Split + + + + +

3 Synchronization + + + + +

4 Exclusive Choice + + + + +

5 Simple Merge + + + + +

6 Multi Choice - + + - -

7 Synchronizing Merge - +/- + - +

8 Multi Merge - - - - +/-

9 Discriminator - - - + +/-

10 Arbitrary Cycles + + - - -

11 Implicit Termination + - + - -

12 MI without Synchronization - +/- + + +

13 MI with a Priori Design Time Knowledge + + + + +

14 MI with a Priori Runtime Knowledge - - + - +

15 MI without a Priori Runtime Knowledge - - - - +

16 Deferred Choice - + + - +/-

17 Interleaved Parallel Routing - + - - +/-

18 Milestone - + - - +/-

19 Cancel Activity + + +/- + +/-

20 Cancel Case - - + + +/-

Page 17: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

17

39 Data patterns

Focus:Data patterns aim to capture the various ways in which data is represented and utilized in workflows.

Page 18: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

18

Classes of data patterns

• Data visibility — relating to the extent and manner in which data elements can be viewed by various components of a workflow process.

• Data interaction — focusing on the manner in which data is communicated between active elements within a workflow.

• Data transfer — which consider the means by which the actual transfer of data elements occurs between workflow components and describe the various mechanisms by which data elements can be passed across the interface of a workflow component.

• Data-based routing — which characterize the manner in which data elements can influence the operation of other aspects of the workflow, particularly the control flow perspective.

Page 19: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

19

Data visibility – Pattern 3 Scope data

Page 20: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

20

Data interaction – Patterns 14-17

Page 21: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

21

Resource patterns

Page 22: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

22

43 Resource patterns

Focus:The gap between the creation of a work-item (activity that needs to be executed) and the actual execution by some resource.

Page 23: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

23

Classes of resource patterns

• Creation patterns – design-time work allocation directives

• Push patterns – workflow system proactively distributes work items

• Pull patterns – resources proactively identify and commit to work items

• Detour patterns – re-routing of work items

• Auto-start patterns – automated commencement

• Visibility patterns – observability of workflow activities

• Multiple resource patterns – work allocation involving multiple participants or resources

Page 24: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

24

Push patterns – Pattern 17 Shortest Queue

push workitem to shortest queue

Page 25: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

25

Pull patterns – Pattern 23 Resource Initiated Exec.

pull workitem to start working

Page 26: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

26

Auto-start patterns – Pattern 38 Piled execution

the completion of one activity starts another

cf. Pattern 39 Chained execution

Page 27: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

27

FLASH Animations of Patterns

Page 28: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

28

Evaluation of 5 concrete WFM systems

Page 29: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

29

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 30: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

30

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 31: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

31

Staffware (TIBCO)

Page 32: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

32

Staffware: Control flow perspective

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 33: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

33

OR-join AND-split

Page 34: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

34

Example

Page 35: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

35

Staffware: Control flow evaluation

• Classical problems:

– no states

– only internal choices

Evaluation based on:

• Workflow Patterns (2002)

• new features (prediction/fragments) do not influence evaluation

# pattern standard

Staffware COSA

Oracle BPEL

SAP workflow

FLOWer

1 Sequence + + + + +

2 Parallel Split + + + + +

3 Synchronization + + + + +

4 Exclusive Choice + + + + +

5 Simple Merge + + + + +

6 Multi Choice - + + - -

7 Synchronizing Merge - +/- + - +

8 Multi Merge - - - - +/-

9 Discriminator - - - + +/-

10 Arbitrary Cycles + + - - -

11 Implicit Termination + - + - -

12 MI without Synchronization - +/- + + +

13 MI with a Priori Design Time Knowledge + + + + +

14 MI with a Priori Runtime Knowledge - - + - +

15 MI without a Priori Runtime Knowledge - - - - +

16 Deferred Choice - + + - +/-

17 Interleaved Parallel Routing - + - - +/-

18 Milestone - + - - +/-

19 Cancel Activity + + +/- + +/-

20 Cancel Case - - + + +/-

Page 36: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

36

Staffware: Data perspective

• Ability to define forms

• Variables of different types

• Evaluated in Workflow data patterns 2005.

• Weaker than most other systems.

Page 37: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

37

Staffware: Resource perspective

• Concept of work queues

• Evaluated in Workflow resource patterns 2005.

• Weaker than most other systems.

Page 38: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

38

Staffware: Conclusion

Positive

• Widely used

• Easy to use

• High performance

• Interesting new concepts, e.g., prediction and fragments

Negative

• Limited functionality in all perspectives.

• Little flexibility.

• Future within Tibco is less clear.

Page 39: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

39

COSA (COSA GmbH)

Page 40: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

40

COSA: Control flow perspective

• Based on Petri nets

• Lots of functionality

Page 41: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

41

COSA: Control flow evaluation

• Benefits from Petri net basis.

• Support for advanced synchronization and multiple instances patterns could be better.

Evaluation based on:

• Workflow Patterns (2002)

# pattern standard

Staffware COSA

Oracle BPEL

SAP workflow

FLOWer

1 Sequence + + + + +

2 Parallel Split + + + + +

3 Synchronization + + + + +

4 Exclusive Choice + + + + +

5 Simple Merge + + + + +

6 Multi Choice - + + - -

7 Synchronizing Merge - +/- + - +

8 Multi Merge - - - - +/-

9 Discriminator - - - + +/-

10 Arbitrary Cycles + + - - -

11 Implicit Termination + - + - -

12 MI without Synchronization - +/- + + +

13 MI with a Priori Design Time Knowledge + + + + +

14 MI with a Priori Runtime Knowledge - - + - +

15 MI without a Priori Runtime Knowledge - - - - +

16 Deferred Choice - + + - +/-

17 Interleaved Parallel Routing - + - - +/-

18 Milestone - + - - +/-

19 Cancel Activity + + +/- + +/-

20 Cancel Case - - + + +/-

Page 42: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

42

COSA: Data perspective

• Variables at different levels.

• Good support through tool agents.

• Evaluated in Workflow data patterns 2005.

• Weaker than most other systems.

Page 43: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

43

COSA: Resource perspective

• One of the most powerful tools on the market.

• Multiple dimensions and rules.

• Evaluated in Workflow resource patterns 2005.

Page 44: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

44

Page 45: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

45

COSA: Conclusion

Positive

• Powerful language

• Unique features in each of the perspectives

Negative

• No integrated forms environment

• Little operational flexibility

• Future of COSA is less clear

Page 46: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

46

Oracle BPEL (Oracle)

Page 47: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

47

Oracle: Control flow perspective

• Based on BPEL

Page 48: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

48

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 49: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

49

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.

Page 50: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

50

Oracle: Control flow evaluation

• Support similar to BPEL (2 exceptions).

Evaluation based on:

• Pattern-based Evaluation of Oracle-BPEL (v.10.1.2), N.A. Mulyar, 2005.

• few ratings have been changed to make a fair comparison possible

# pattern standard

Staffware COSA

Oracle BPEL

SAP workflow

FLOWer

1 Sequence + + + + +

2 Parallel Split + + + + +

3 Synchronization + + + + +

4 Exclusive Choice + + + + +

5 Simple Merge + + + + +

6 Multi Choice - + + - -

7 Synchronizing Merge - +/- + - +

8 Multi Merge - - - - +/-

9 Discriminator - - - + +/-

10 Arbitrary Cycles + + - - -

11 Implicit Termination + - + - -

12 MI without Synchronization - +/- + + +

13 MI with a Priori Design Time Knowledge + + + + +

14 MI with a Priori Runtime Knowledge - - + - +

15 MI without a Priori Runtime Knowledge - - - - +

16 Deferred Choice - + + - +/-

17 Interleaved Parallel Routing - + - - +/-

18 Milestone - + - - +/-

19 Cancel Activity + + +/- + +/-

20 Cancel Case - - + + +/-

Page 51: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

51

Oracle: Data perspective

• Similar to BPEL, e.g. scope (create and scope data), assign (copy and modify), invoke (exchange with external entities), etc.

• XML based.

• Powerful but complicated.

See Pattern-based Evaluation of Oracle-BPEL (v.10.1.2), N.A. Mulyar, 2005.

Page 52: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

52

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 53: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

53

Oracle: Conclusion

Positive

• Based on BPEL (emerging industry standard)

• Powerful language

Negative

• Based on BPEL (close to programming and a bit immature)

Page 54: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

54

SAP Business Workflow/Webflow (SAP AG)

Page 55: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

55

SAP: Control flow perspective

• Two views: native view and EPC view.

• Block structured.

e.g. sequence:

Page 56: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

56

Routing elements

Page 57: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

57

parallel routing

three types of choices

Page 58: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

58

join can hove a condition and/or lower bound

two types of loops

Page 59: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

59

SAP: Control flow evaluation

• Classical language with classical capabilities.

• See Pattern-based Evaluation of SAP Business Workflow, 2005.

# pattern standard

Staffware COSA

Oracle BPEL

SAP workflow

FLOWer

1 Sequence + + + + +

2 Parallel Split + + + + +

3 Synchronization + + + + +

4 Exclusive Choice + + + + +

5 Simple Merge + + + + +

6 Multi Choice - + + - -

7 Synchronizing Merge - +/- + - +

8 Multi Merge - - - - +/-

9 Discriminator - - - + +/-

10 Arbitrary Cycles + + - - -

11 Implicit Termination + - + - -

12 MI without Synchronization - +/- + + +

13 MI with a Priori Design Time Knowledge + + + + +

14 MI with a Priori Runtime Knowledge - - + - +

15 MI without a Priori Runtime Knowledge - - - - +

16 Deferred Choice - + + - +/-

17 Interleaved Parallel Routing - + - - +/-

18 Milestone - + - - +/-

19 Cancel Activity + + +/- + +/-

20 Cancel Case - - + + +/-

Page 60: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

60

SAP: Data perspective

• Data is stored in containers holding values or references to (SAP) objects (e.g., documents, masterdata, etc.).

• Workflow containers and task containers are linked through bindings.

Page 61: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

61

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 62: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

62

Logging in SAP Workflow

Page 63: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

63

SAP: Conclusion

Positive

• Integration in SAP environment (for those that have SAP):

– free

– support

– solid future (although technology may change towards BPEL)

Negative

• Integration in SAP environment (for those that do not have SAP).

• Limited functionality in all perspectives.

• Little flexibility.

Page 64: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

64

FLOWer (Pallas Athena)

Page 65: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

65

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 66: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

66

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

Page 67: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

67

FLOWer: Control flow evaluation

• Powerful language.

• Many +/- because of case handling concept.

Evaluation based on:

• Workflow Patterns (2002)

• more recent releases also support synchronizing merge.

# pattern standard

Staffware COSA

Oracle BPEL

SAP workflow

FLOWer

1 Sequence + + + + +

2 Parallel Split + + + + +

3 Synchronization + + + + +

4 Exclusive Choice + + + + +

5 Simple Merge + + + + +

6 Multi Choice - + + - -

7 Synchronizing Merge - +/- + - +

8 Multi Merge - - - - +/-

9 Discriminator - - - + +/-

10 Arbitrary Cycles + + - - -

11 Implicit Termination + - + - -

12 MI without Synchronization - +/- + + +

13 MI with a Priori Design Time Knowledge + + + + +

14 MI with a Priori Runtime Knowledge - - + - +

15 MI without a Priori Runtime Knowledge - - - - +

16 Deferred Choice - + + - +/-

17 Interleaved Parallel Routing - + - - +/-

18 Milestone - + - - +/-

19 Cancel Activity + + +/- + +/-

20 Cancel Case - - + + +/-

Page 68: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

68

FLOWer: Data perspective

• Case handling concept: data driven.

• Forms play inportant role.

• Multiple instance data.

Evaluated in Workflow data patterns 2005.

Page 69: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

69

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.

• Evaluated in Workflow resource patterns 2005.

Page 70: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

70

Forms

Page 71: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

71

Page 72: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

72

FLOWer: Conclusion

Positive

• Highly expressive language

• More flexible

• Powerful forms environment

• Strong presence in The Netherlands

Negative

• Complicated organizational model and more work needed to restrict people (if needed).

Page 73: 1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology

73

Other aspects important for evaluation

• Price

• Reliability/stability vendor

• Product support (training, etc.)

• Implementation support

• Performance (load and response times)

• Application integration

• Technical constraints (e.g., databases, etc.)

• ...