Content deleted Content added
GreenC bot (talk | contribs) Reformat 1 archive link. Wayback Medic 2.5 per WP:URLREQ#citeftp |
|||
(29 intermediate revisions by 22 users not shown) | |||
Line 1:
A '''workflow pattern''' is a specialized form of
== Concept ==
Workflow patterns are concepts of economised development. Their usage
Workflow is performed in real time. The mechanisms of control must support the typical pace of work. Design patterns must delay execution of workflow.
Line 12 ⟶ 11:
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 <ref>{{cite web|url=http://www.workflowpatterns.com |title=Workflow Patterns Home Page |publisher=Workflowpatterns.com |date= |accessdate=2021-11-26}}</ref> ==
A well-known collection of workflow patterns
=== Basic Control Patterns ===
Line 25 ⟶ 24:
* Terminate - terminate execution of activities upon defined event or status change
=== Advanced Branching and Synchronization Patterns ===
* Multiple Choice - choose several execution paths from many alternatives
Line 49 ⟶ 48:
* Deferred Choice - execute one of a number of alternative threads. The choice which thread is to be executed is not based on data that is available at the moment when the execution has reached the deferred choice, but is rather determined by an event (e.g. an application user selecting a task from the worklist, or a message being received by the process execution engine).
* Interleaved Parallel Routing - execute a number of activities in any order (e.g. based on availability of resources), but do not execute any of these activities
* Milestone - allow a certain activity at any time before the milestone is reached, after which the activity can no longer be executed.
Line 60 ⟶ 59:
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]], [[Unified Modeling Language|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.
Line 73 ⟶ 72:
== Other perspectives ==
The workflow patterns are not limited to control-flow.<ref>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
Other (workflow) pattern collections include:
* resource patterns,<ref>N. Russell, [[Wil van der Aalst|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.</ref>
* data patterns,<ref>N. Russell, A.H.M. ter Hofstede, D. Edmond, and [[Wil van der Aalst|W.M.P.van der Aalst]]. "Workflow Data Patterns: Identification, Representation and Tool Support". In L. Delcambre, C. Kop, H.C. Mayr, [[John Mylopoulos|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.</ref><ref>N. Trcka, [[Wil van der Aalst|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
* exception patterns,<ref>N. Russell, [[Wil van der Aalst|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.
</ref>
Line 82 ⟶ 81:
* parallelism and pipelining patterns.<ref>C. Pautasso, G. Alonso. [http://www.jopera.org/node/7 "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.</ref>
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.<ref>P. Wohed, N.C. Russell, A.H.M. ter Hofstede, B. Andersson, and [[Wil van der Aalst|W.M.P.van der Aalst]]. "Patterns-based Evaluation of Open Source BPM Systems: The Cases of jBPM,
==Workflow systems implementing patterns ==
*[[YAWL]], Yet Another Workflow Language,
*[[Cameleon (programming language)]], Workflow based graphical language for functional programming.
== References ==
Line 93:
== Further reading ==
* [[Marlon Dumas]], [[Wil van der Aalst]] and [[Arthur H.M. ter Hofstede]] ed. (2005). ''Process-Aware Information Systems''. John Wiley and Sons. {{ISBN
* Volker Kramberg (2006) [ftp://ftp.informatik.uni-stuttgart.de/pub/library/medoc.ustuttgart_fi/STUD-2052/STUD-2052.pdf Pattern-based Evaluation of IBM WebSphere BPEL]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}}: Evaluation of IBM's WebSphere Integration Developer based on Workflow Patterns.
== External links ==
Line 101:
[[Category:Software design patterns]]
[[Category:Workflow technology]]
|