Workflow pattern

A workflow pattern is a specialized form of a design pattern as defined in the area of software engineering or business process engineering respectively. Workflow patterns refer specifically to recurrent problems and proven solutions related to the development of workflow applications in particular, and more broadly, process-oriented applications.

Concept

Workflow patterns are concepts of economised development. Their usage should follow strategies of simplifying maintenance and reducing modeling work. Workflow is performed in real time. The mechanisms of control must support the typical pace of work. Design patterns must delay execution of workflow.

Aggregation

Workflow patterns may usually be aggregated as chains and the conditions for starting and terminating must be explicitly defined.

Application

Workflow patterns can be applied in various context, hence the conditions for use must be explicitly defined and shown in order to prevent misinterpretation.

Van der Aalst classification [1]

A well-known collection of workflow patterns is that proposed by Wil van der Aalst et al. (2003) in their paper Workflow Patterns.[2] with earlier versions published in 2000-02. This collection of patterns focuses on one specific aspect of process-oriented application development, namely the description of control flow dependencies between activities in a workflow/process. These patterns are divided into the following categories:

Basic Control Patterns

Advanced Branching and Synchronization Patterns

Structural Patterns

Multiple Instances (MI)

State-based patterns

Cancellation Patterns

The above workflow patterns have been used to evaluate the functionality of commercial products supporting the development of process-oriented applications. They have also been used to evaluate a number of proposed standards, including BPEL, BPMN, UML Activity diagram, XPDL, etc. It has been noted that not all these patterns are relevant in all application domains, so care must be taken when using the above workflow patterns to select a particular language or system for a given application.

The workflow patterns have also been used as initial requirements in the design of a workflow language and open-source system called YAWL (Yet Another Workflow Language).

Several extensions to the above set of workflow patterns have been proposed. In particular, the same research groups that developed these patterns, have also proposed a set of Workflow Data Patterns, Workflow Resource Patterns, Workflow Exception Handling Patterns, and Service Interaction Patterns.

Another classification

Another classification of workflow patterns is the following:

Independent/Pooled
where each component of scheduled work is completed independent of each other component and no component has a specific dependency on any other component. An example would be where staff are serving at a counter - Raoul can serve a customer in his queue without waiting for Jamie to serve a customer in his queue.
Sequential
where each component of scheduled work is dependent on the preceding component. In this case the preceding component controls the advancement of the workflow through subsequent components. An example would be on a production line - Betty cannot affix the radiator cap to the Model T Ford until Veronica has put the radiator in place.
Interdependent/Networked
where each component of scheduled work is dependent on one or a number of other components being completed. In this case the preceding components control the workflow through subsequent components. An example would be a project team - Sarah must wait for several tasks to be completed by Kevin and George before she can execute her task.

Other perspectives

The workflow patterns are not limited to control-flow.[3] Other (workflow) pattern collections include:

These patterns collections have been used to evaluate a variety of workflow processes, both commercial (Websphere, Oracle BPEL, Staffware, SAP workflow, Windows Workflow Foundation, etc.) and open source.[10]

Workflow systems implementing patterns

.,[12]

References

  1. http://www.workflowpatterns.com
  2. Wil van Der Aalst, Arthur H.M. Hofstede, Bartek Kiepuszewski, and Alistair P. Barros (2003). "Workflow Patterns". In: Distributed and Parallel Databases 14 (1): pp. 5--51. doi:10.1023/A:1022883727209.
  3. N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst, and N. Mulyar. Workflow Control-Flow Patterns: A Revised View. BPM Center Report BPM-06-22 , BPMcenter.org, 2006.
  4. N. Russell, W.M.P.van der Aalst, A.H.M. ter Hofstede, and D. Edmond. "Workflow Resource Patterns: Identification, Representation and Tool Support". In O. Pastor and J. Falcao e Cunha, editors, Proceedings of the 17th Conference on Advanced Information Systems Engineering (CAiSE'05), volume 3520 of Lecture Notes in Computer Science, pages 216-232. Springer-Verlag, Berlin, 2005.
  5. N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P.van der Aalst. "Workflow Data Patterns: Identification, Representation and Tool Support". In L. Delcambre, C. Kop, H.C. Mayr, J. Mylopoulos, and O. Pastor, editors, 24th International Conference on Conceptual Modeling (ER 2005), volume 3716 of Lecture Notes in Computer Science, pages 353-368. Springer-Verlag, Berlin, 2005.
  6. N. Trcka, W.M.P.van der Aalst, and N. Sidorova. "Data-Flow Anti-Patterns: Discovering Data-Flow Errors in Workflows". In P. van Eck, J. Gordijn, , and R. Wieringa, editors, Advanced Information Systems Engineering, Proceedings of the 21st International Conference on Advanced Information Systems Engineering (CAiSE'09), volume 5565 of Lecture Notes in Computer Science, pages 425-439. Springer-Verlag, Berlin, 2009.
  7. N. Russell, W.M.P.van der Aalst, and A.H.M. ter Hofstede. "Workflow Exception Patterns". In E. Dubois and K. Pohl, editors, Proceedings of the 18th International Conference on Advanced Information Systems Engineering (CAiSE'06), volume 4001 of Lecture Notes in Computer Science, pages 288-302. Springer-Verlag, Berlin, 2006.
  8. W.M.P.van der Aalst, A.J. Mooij, C. Stahl, and K. Wolf. "Service Interaction: Patterns, Formalization, and Analysis". In M. Bernardo, L. Padovani, and G. Zavattaro, editors, Formal Methods for Web Services, volume 5569 of Lecture Notes in Computer Science, pages 42-88. Springer-Verlag, Berlin, 2009.
  9. C. Pautasso, G. Alonso. "Parallel Computing Patterns for Grid Workflows", In Proc. of the HPDC2006 Workshop on Workflows in Support of Large-Scale Science (WORKS06), Paris, France, June 2006.
  10. P. Wohed, N.C. Russell, A.H.M. ter Hofstede, B. Andersson, and W.M.P.van der Aalst. "Patterns-based Evaluation of Open Source BPM Systems: The Cases of jBPM, OpenWFE, and Enhydra Shark". In: Information and Software Technology, 51(8):1187-1216, 2009.
  11. Abouelhoda, M.; Issa, S.; Ghanem, M. (2012). "Tavaxy: Integrating Taverna and Galaxy workflows with cloud computing support". BMC Bioinformatics 13: 77. doi:10.1186/1471-2105-13-77. PMC 3583125. PMID 22559942.
  12. Abouelhoda, M.; Alaa, S.; Ghanem, M. (2010). "Meta-workflows". Proceedings of the 1st International Workshop on Workflow Approaches to New Data-centric Science - Wands '10. p. 1. doi:10.1145/1833398.1833400. ISBN 9781450301886.

Further reading

External links

This article is issued from Wikipedia - version of the Tuesday, November 03, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.