BPMN Workflow Patterns PDF
Document Details
Uploaded by KnowledgeableGold4285
Iscte - Instituto Universitário de Lisboa
José Cascais Brás
Tags
Summary
This document presents information on workflow patterns, specifically covering process modeling and deployment in the context of business management and computer science. It includes examples of workflow patterns and their representations, and an exploration of related topics.
Full Transcript
Master's in Computer Science and Business Management P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Process Modelling and Deployment José Casc...
Master's in Computer Science and Business Management P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Process Modelling and Deployment José Cascais Brás Professor P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Workflow Patterns José Cascais Brás Professor to: to: João CreditsCredits Caldeira Fernando Brito e Abreu DCTI & SSE/ISTAR DCTI & SSE/ISTAR 01 Patterns 03 Advanced Branching and Synchronization Patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS 02 Basic Control Flow Patterns 04 Cancellation and Force Completion Patterns W ORKFLOW PATTERNS P ROCESS MODELLING & D EPLOYMENT Patterns W ORKFLOW PATTERNS P ROCESS MODELLING & D EPLOYMENT M. C. Echer patterns The concept of patterns ❑First identified by Christopher Alexander in his seminal book A Pattern Language, which attempts to provide a means of gathering useful recurrent concepts in the architectural domain P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑Patterns provide an extremely effective means of recognizing and delineating common constructs in a particular subject area. ❑Patterns allow identifying common approaches (solutions) to resolving issues (problems) occurring in areas such as software design, enterprise application integration, data modelling, and user interface design. The source! CIO for a major Australian tools supplier in ICT and BPM (2009-2014). Currently a Principal Research Fellow in the Information Systems School at Queensland Univ. of Technology (Australia) P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Dutch computer scientist and professor at the Dep. of Mathematics & Computer Science of the Eindhoven Univ. of Technology (Netherlands), where chairs the Architecture of Information Systems group. Dutch computer scientist, and professor of Information Systems at the Queensland Univ. of Technology (Australia). Patterns expressed in BPMN ❑ “BPMN and the Business Process Expert” [Bruce Silver] P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑ “Pattern based Analysis of BPMN” [Wohed , van der Aalst, et. al.] ❑ “Process Modeling Notations and Workflow Patterns” [Stephen White] These papers are available at the e-learning platform Workflow Patterns Taxonomy ❑ Control-flow Patterns The control-flow perspective focuses on the manner/order in which the work is performed P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑ Data Patterns The data perspective focuses on identifying and defining generic constructs for data representation and handling ❑ Resource Patterns The resource perspective focuses on the manner in which work is distributed amongst and managed by the resources Control flow Patterns The control-flow perspective focuses on the manner/order in which the work is performed ❑ This perspective considers the following categories: ❖ Basic Control-flow Patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❖ Advanced Branching and Synchronization Patterns ❖ Structural Patterns ❖ Multiple Instance Patterns ❖ State-based Patterns Due to the available schedule, only the control-flow patterns will be ❖ Cancellation Patterns discussed in this course! Data Patterns ❑ This perspective considers the following categories: ❖ Data visibility patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❖ Data interaction patterns ❖ Data transfer patterns ❖ Data based routing patterns The data perspective focuses on identifying and defining generic constructs for data representation and handling. Resource Patterns ❑ This perspective considers the following categories: ❖ Creation patterns ❖ Push patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❖ Pull patterns The resource perspective focuses on the manner in which work is distributed ❖ Detour patterns amongst and managed by the resources ❖ Auto start patterns ❖ Visibility patterns ❖ Multiple resource patterns [Control Flow Perspective] Basic Control Flow Patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Basic Control Flow Patterns ❑ Sequence ❑ Parallel Split P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑ Synchronization ❑ Exclusive Choice ❑ Simple Merge Basic Control Flow Patterns Sequence ❑ Description: This pattern is used to model dependencies between tasks so that P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS one task cannot start before another is finished (serial execution). Example: When an insurance company receives a claim related to a policy, several activities must be performed in a logical sequence. First, the client submits the claim, then, the claim is evaluated in order to authorize its payment and finally the amount is disbursed. Note that the claim cannot be evaluated before it is submitted nor can the amount of the claim be disbursed before the claim is evaluated. Basic Control Flow Patterns Parallel Split ❑ Description: A parallel split is a point in the workflow process where a single P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS branch is divided into two or more parallel branches which are executed concurrently. PARALLEL GATEWAY: When used to split the sequence Example: flow, all outgoing branches are activated simultaneously. parallel (AND) split When a new employee arrives to a company, it is necessary to perform many activities such as grant access to company information, sign some legal documents and set up his or her workstation. These activities are performed in parallel and may have different durations. Basic Control Flow Patterns Parallel Split ❑ Representation variants P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Implicit representations should be avoided Basic Control Flow Patterns Synchronization ❑ Description ❑ Synchronization is a point in the process where two or more different branches of the process merge into one single branch. It is called synchronization because it expects all merged branches to be completed P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS before it can continue with the next activity ❑ Example When a new employee arrives to a company, it is necessary to perform many activities such as grant access to company information, sign some legal documents and set up his or her workstation. The employee cannot begin his normal work until all the activities are completed. Synchronization (parallel AND join) PARALLEL GATEWAY: When merging parallel branches it waits for all incoming branches to complete before triggering the outgoing flow. Basic Control Flow Patterns Synchronization ❑ Representation variants P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Implicit representations should be avoided Basic Control Flow Patterns Implicit representations should be avoided Exclusive Choice ❑ Description: ❑ The exclusive choice is a point in the process where a path is chosen from several available paths based on a decision or P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS process data. The Accounting Department receives and pays invoices. The payment of an invoice can be made by a bank transfer, check or credit card. Only one payment method is used. ❑ Example: Exclusive (XOR) choice EXCLUSIVE GATEWAY: When splitting, it routes the sequence flow to exactly one of the outgoing branches. Basic Control Flow Patterns Exclusive Choice ❑ Representation variants The conditions are defined in the diamond shapes. P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS One of the gates X marker is Implicit representations may be the default optional should be avoided Basic Control Flow Patterns Simple Merge ❑ Descriptions: ❑ The simple merge is a point in the process where two or more alternative branches come together without synchronization. ❑ Example: Continuing the previous example, let us now suppose that after making P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS the payment by one of the possible means, the financial ERP is updated. Note that the Update financial ERP activity will be enabled when only one of the incoming paths is taken. Simple merge EXCLUSIVE GATEWAY: When merging, it waits one incoming branch to complete before triggering the outgoing flow. Representation variants P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Implicit representations should be avoided [Control Flow Perspective] Advanced Branching and Synchronization Patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Advanced Branching and Synchronization Patterns ❑ Multiple-Choice P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑ Structured Synchronizing Merge ❑ Multi Merge ❑ Structured Discriminator ❑ Structured Partial Join ❑ Blocking Partial Join ❑ Cancelling Partial Join Advanced Branching and Synchronization Patterns Multiple-Choice ❑ Description: This pattern is used to model a point in the workflow process where a number of branches are chosen P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS based on a decision or a workflow control data. ❑ Example: During an auditory process it is very Multi-choice (OR split) common to find nonconformities. The latter must be evaluated and corrected by the process owner. The correction of the nonconformity can be done in different ways, e.g., with a corrective action, a preventive action, INCLUSIVE GATEWAY: an immediate action or with more When splitting, one or more than one of these options. branches are activated. Advanced Branching and Synchronization Patterns Multiple-Choice ❑ Representation variants P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS The complex gateway Implicit representations allows to define triggering should be avoided rules such as “at least 2 out of 3” or “exactly 2 out of 3” Advanced Branching and Synchronization Patterns Structured Synchronizing Merge ❑ Description: ❑ It is a point in the process where multiple paths that were enabled P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS earlier in the process converge into one single thread. Continuing the previous ❑ Example: example, let us now suppose the nonconformity cannot be closed until all the necessary activities are completed. INCLUSIVE GATEWAY: Structured All active incoming branches synchronizing must complete before merging. merge (OR join) Advanced Branching and Synchronization Patterns Structured Synchronizing Merge ❑ If the workflow is unstructured, a deadlock may occur P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS If the gate towards E is triggered, a deadlock occurs (D cannot be reached) Advanced Branching and Synchronization Patterns Multiple Merge ❑ Description: ❑ The multiple merge pattern is used to model the convergence of two or more branches into a single path. Each time an P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS incoming branch is enabled it results in the activation of the next activity within the process During a Recruitment process it is necessary to check the references of the future employee. It is ❑ Example: very important to check the personal and professional references provided by the employee. Each time a reference is checked, the Human Resources Manager must be notified. Multi merge This pattern uses a parallel gateway to enable two paths. Although those execution paths are merged, there is no synchronization of control flow and each thread of control which is currently active in any of the preceding branches will flow unimpeded into the merged branch. Advanced Branching and Synchronization Patterns Structured Discriminator ❑ Description: ❑ This pattern describes a point in the process that waits for one of the incoming branches to complete before activating the subsequent activity. The other P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS incoming branches are omitted after been completed. Once all the incoming branches are completed the discriminator is reset. ❑ Example: Structured discriminator An employee requests a loan Multi merge from the company. To grant COMPLEX GATEWAY: the credit to the employee, it When merging, it waits must be approved by the boss one incoming branch to or by the financial area. When complete before either of them approves the request, the money is triggering the outgoing disbursed to the employee. flow. Advanced Branching and Synchronization Patterns Structured Structured Discriminator discriminator P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS COMPLEX GATEWAY: When merging, it waits 2 out of 5 incoming branches to complete before triggering the outgoing flow. Advanced Branching and Synchronization Patterns Acyclic Synchronizing Merge ❑ Description: ❑ It describes the convergence of two or more branches which diverged P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS earlier in the process into a single subsequent branch. Determination of how many branches require synchronization is made on the basis of information available locally to the merge construct. This pattern can be modeled by using Conditional Events. These events are used to coordinate the synchronization between the necessary paths without forcing synchronization of all active paths. The conditional events will allow the flow to continue when the activities that must be coordinated have been accomplished. Advanced Branching and Synchronization Patterns Acyclic Synchronizing Merge P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS The marketing department plans a campaign for the company’s products or services using three possible means: radio, television and daily newspaper. If the marketing department decides to perform the campaign via radio or television, these two will be launched at the same time. The three campaigns can be launched several times, based on the record of the results observed in the past. This process ends when the whole campaign results are considered satisfactory or whenever the marketing department decides to cancel the campaign process. Advanced Branching and Synchronization Patterns General Synchronizing Merge ❑ Description: ❑ It describes the convergence of two or more branches which diverged P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS earlier in a single branch. The process continues when all the active incoming branches have been enabled or it is not possible that a branch will be enabled at any future time. ❑ Example A couple is going to get married. A wedding agency coordinates the main activities during this special day. They plan the wedding and receive the bride and groom, their parents and siblings in order to organize the ceremony. However, the siblings are abroad, so they are not expected until the last moment. Twenty minutes before the wedding hour the siblings are contacted, warning them that they may be too late. If they do not arrive at the planned wedding hour, the wedding will begin without them. Advanced Branching and Synchronization Patterns General Synchronizing Merge ❑ Example: This pattern uses Interrupting events. This kind of event is attached to the boundaries of an activity and it will activate an exceptional flow. Depending on the people who attend the P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ceremony, the Inclusive gateway enables their reception. One or more activities have interrupting events attached to allow the process to continue even if unexpected situations arise. In this case this situation is that the siblings do not arrive on time. [Control Flow Perspective] Cancellation and Force Completion Patterns P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS Cancellation and Force Completion Patterns ❑Cancel Task P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑Cancel Case ❑Cancel Region ❑Cancel Multiple Instance Activity ❑Complete Multiple Instance Activity Cancellation and Force Completion Patterns Cancel Task ❑ Description: ❑ This pattern describes the possibility of cancelling or withdrawing an enabled task. P ROCESS MODELLING & D EPLOYMENT W ORKFLOW PATTERNS ❑ Example A tourist books a travel online and pays for it after the travel agency confirms the booking. Until one week before the travel date the tourist can cancel the travel and be reimbursed. W ORKFLOW PATTERNS P ROCESS MODELLING & D EPLOYMENT