Workflow pattern

Last updated

A workflow pattern is a specialized form of design pattern as defined in the area of software engineering or business process engineering. 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.

Contents

Concept

Workflow patterns are concepts of economised development. Their usage should follow strategies of simplifying maintenance and reducing modelling 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

Related Research Articles

The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL, is an OASIS standard executable language for specifying actions within business processes with web services. Processes in BPEL export and import information by using web service interfaces exclusively.

<span class="mw-page-title-main">Process modeling</span> Definition and description of a process or system

The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the business process model.

A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation, company policy, or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code.

<span class="mw-page-title-main">XPDL</span>

The XML Process Definition Language (XPDL) is a format standardized by the Workflow Management Coalition (WfMC) to interchange business process definitions between different workflow products, i.e. between different modeling tools and management suites. XPDL defines an XML schema for specifying the declarative part of workflow / business process.

YAWL is a workflow language based on workflow patterns. It is supported by a software system that includes an execution engine, a graphical editor and a worklist handler. It is available as open-source software under the LGPL license.

Process mining is a family of techniques relating the fields of data science and process management to support the analysis of operational processes based on event logs. The goal of process mining is to turn event data into insights and actions. Process mining is an integral part of data science, fueled by the availability of event data and the desire to improve processes. Process mining techniques use event data to show what people, machines, and organizations are really doing. Process mining provides novel insights that can be used to identify the execution paths taken by operational processes and address their performance and compliance problems.

Workflow Management Coalition (WfMC) was a consortium formed to define standards for the interoperability of workflow management systems. The coalition was disbanded in 2019 and no longer exists.

Business process discovery (BPD) related to business process management and process mining is a set of techniques that manually or automatically construct a representation of an organisations' current business processes and their major process variations. These techniques use data recorded in the existing organisational methods of work, documentations, and technology systems that run business processes within an organisation. The type of data required for process discovery is called an event log. Any record of data that contains the case id, activity name, and timestamp. Such a record qualifies for an event log and can be used to discover the underlying process model. The event log can contain additional information related to the process, such as the resources executing the activity, the type or nature of the events, or any other relevant details. Process discovery aims to obtain a process model that describes the event log as closely as possible. The process model acts as a graphical representation of the process. The event logs used for discovery could contain noise, irregular information, and inconsistent/incorrect timestamps. Process discovery is challenging due to such noisy event logs and because the event log contains only a part of the actual process hidden behind the system. The discovery algorithms should solely depend on a small percentage of data provided by the event logs to develop the closest possible model to the actual behaviour.

ProActive Parallel Suite is an open-source software for enterprise workload orchestration, part of the OW2 community. A workflow model allows a set of executables or scripts, written in any language, to be defined along with their dependencies, so ProActive Parallel Suite can schedule and orchestrate executions while optimising the use of computational resources.

A workflow management system provides an infrastructure for the set-up, performance and monitoring of a defined sequence of tasks, arranged as a workflow application.

A program structure tree (PST) is a hierarchical diagram that displays the nesting relationship of single-entry single-exit (SESE) fragments/regions, showing the organization of a computer program. Nodes in this tree represent SESE regions of the program, while edges represent nesting regions. The PST is defined for all control flow graphs.

jBPM is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0. jBPM is a toolkit for building business applications to help automate business processes and decisions. It's sponsored by Red Hat, part of the JBoss community and closely related to the Drools and OptaPlanner projects in the KIE group. It is released under the ASL by the JBoss company.

Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business processes is BPM. Processes can be structured and repeatable or unstructured and variable. Though not required, enabling technologies are often used with BPM.

<span class="mw-page-title-main">Wil van der Aalst</span> Dutch computer scientist and professor

Willibrordus Martinus Pancratius van der Aalst is a Dutch computer scientist and full professor at RWTH Aachen University, leading the Process and Data Science (PADS) group. His research and teaching interests include information systems, workflow management, Petri nets, process mining, specification languages, and simulation. He is also known for his work on workflow patterns.

Service choreography in business computing is a form of service composition in which the interaction protocol between several partner services is defined from a global perspective. The idea underlying the notion of service choreography can be summarised as follows:

"Dancers dance following a global scenario without a single point of control"

The α-algorithm or α-miner is an algorithm used in process mining, aimed at reconstructing causality from a set of sequences of events. It was first put forward by van der Aalst, Weijters and Măruşter. The goal of Alpha miner is to convert the event log into a workflow-net based on the relations between various activities in the event log. An event log is a multi-set of traces, and a trace is a sequence of activity names. Several extensions or modifications of it have since been presented, which will be listed below.

Arthur Harry Maria ter Hofstede is a Dutch computer scientist, and professor of information systems at the Queensland University of Technology in Australia, and professor at the Eindhoven University of Technology, known for his work in workflow patterns, YAWL, and business process management.

Mathias Weske is a German computer scientist, and Professor of Business Process Technology at the University of Potsdam, known for his contributions in the field of business process management and as a founder of the business Signavio.

A process driven messaging service (PDMS) is a service that is process oriented and exchanges messages/data calls. A PDMS is a service where jobs and triggers can be put together to create a workflow for a message.

Process Risk is considered to be a sub-component of operational risk. It exists when the process that supports a business activity lacks both efficiency and effectiveness, which may then lead to financial, customer, and reputational loss. This form of risk may be present within any stage of a business transaction. For instance, an error in pricing may be seen as loss in sales revenue, while a disruption in the fulfillment process may cause financial losses in terms of production quality and customer relationships. The majority of operational risk events occur due to losses from ineffective processing of business transactions or process management, and from inadequate relations with trade counter parties and vendors.

References

  1. "Workflow Patterns Home Page". Workflowpatterns.com. Retrieved 2021-11-26.
  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. S2CID   17343728.

Further reading