1 / 73

Patterns and Products

Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl. Patterns and Products. Wil van der Aalst. See www.workflowpatterns.com!.

natashaw
Download Presentation

Patterns and Products

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl Patterns and Products Wil van der Aalst See www.workflowpatterns.com!

  2. Selection of workflow management systemsAn approach based on patterns

  3. Workflow patterns initiativewww.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.

  4. 20+ Control flow patterns Focus:The routing of work from one activity to another, i.e., a partial order of activities.

  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

  6. Basic control flow patterns – Pattern 2 Parallel Split

  7. Basic control flow patterns – Pattern 3 Synchronization simple right??

  8. Basic control flow patterns – Pattern 4 Exclusive choice XOR-split

  9. Basic control flow patterns – Pattern 5 Simple merge simple right??

  10. It's not that simple! • There are many ways to split! • There are many ways to join!

  11. Exclusive choice versus Deferred choice Not that simple 1: The moment of choice matters!

  12. Example: Deferred Choice (Pattern 16) process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 c4 check_proc process_complaint

  13. Not that simple 2: There are many ways to join! A C join B • 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.

  14. Staffware: Unintended race conditions

  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) • State-based Patterns • Pattern 16 (Deferred Choice) • Pattern 17 (Interleaved Parallel Routing) • Pattern 18 (Milestone) • 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) • Cancellation Patterns • Pattern 19 (Cancel Activity) • Pattern 20 (Cancel Case)

  16. Evaluation

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

  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.

  19. Data visibility – Pattern 3 Scope data

  20. Data interaction – Patterns 14-17

  21. Resource patterns

  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.

  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

  24. Push patterns – Pattern 17 Shortest Queue push workitem to shortest queue

  25. Pull patterns – Pattern 23 Resource Initiated Exec. pull workitem to start working

  26. Auto-start patterns – Pattern 38 Piled execution the completion of one activity starts another cf. Pattern 39 Chained execution

  27. FLASH Animations of Patterns

  28. Evaluation of 5 concrete WFM systems

  29. Four types of "workflow-like" systems: • Information systems with hard-coded workflows (process& organization specific). • Custom-made information systems with generic workflow support (organization specific). • Generic softwarewith embedded workflow functionality (e.g., the workflow components of ERP, CRM, PDM, etc. systems). • Generic softwarefocusing onworkflow functionality SAP Business Workflow/Webflow (SAP AG) FLOWer (Pallas Athena) Oracle BPEL (Oracle) Staffware (TIBCO) COSA (COSA GmbH)

  30. SAP Business Workflow/Webflow (SAP AG) Staffware (TIBCO) Oracle BPEL (Oracle) COSA (COSA GmbH) FLOWer (Pallas Athena)

  31. Staffware (TIBCO)

  32. start stop step (i.e., task) wait (i.e., AND-join) event step condition (i.e., XOR-split) complex router (OR-join/AND-split) automatic step Staffware: Control flow perspective

  33. AND-split OR-join

  34. Example

  35. Classical problems: no states only internal choices Evaluation based on: Workflow Patterns (2002) new features (prediction/fragments) do not influence evaluation Staffware: Control flow evaluation

  36. Staffware: Data perspective • Ability to define forms • Variables of different types • Evaluated in Workflow data patterns 2005. • Weaker than most other systems.

  37. Staffware: Resource perspective • Concept of work queues • Evaluated in Workflow resource patterns 2005. • Weaker than most other systems.

  38. 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. Staffware: Conclusion

  39. COSA (COSA GmbH)

  40. COSA: Control flow perspective • Based on Petri nets • Lots of functionality

  41. Benefits from Petri net basis. Support for advanced synchronization and multiple instances patterns could be better. Evaluation based on: Workflow Patterns (2002) COSA: Control flow evaluation

  42. COSA: Data perspective • Variables at different levels. • Good support through tool agents. • Evaluated in Workflow data patterns 2005. • Weaker than most other systems.

  43. COSA: Resource perspective • One of the most powerful tools on the market. • Multiple dimensions and rules. • Evaluated in Workflow resource patterns 2005.

  44. Positive Powerful language Unique features in each of the perspectives Negative No integrated forms environment Little operational flexibility Future of COSA is less clear COSA: Conclusion

  45. Oracle BPEL (Oracle)

  46. Oracle: Control flow perspective • Based on BPEL

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

  48. 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. Constructs

  49. 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 Oracle: Control flow evaluation

More Related