BPMN Business Process Modeling Notations Hala Skaf-Molli Hala.Skaf@univ-nantes.fr http://pagesperso.lina.univ-nantes.fr/~skaf-h
References BBMN January 2011: http://www.omg.org/spec/bpmn/2.0 (538 pages) Introduction to BPMN of Stephen A. White, IBM Corp., United States : http://www.slideshare.net/jimarlow/introductiontobpmn005 Workflowpatterns.com Pattern-based Analysis of BPMN an extensive evaluation of the Control-flow, the Data and the Resource Perspectives, Wohed et al. http://www.omg.org/news/meetings/workshops/soa- HC/presentations-2011/14_MT-2_Brookshier.pdf Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States Other references on the Web Hala Skaf-Molli, Nantes 2
BPMN http://bpmnhandbook.com/01_bpmn.html Hala Skaf-Molli, Nantes 3
Business Process Model and Notation (BPMN) A standard for business process modeling that provides a graphical notation for specifying business processes in a Business Process Diagram (BPD), based on a flowcharting technique very similar to activity diagrams from Unified Modeling Language (UML). Source: Wikipedia Hala Skaf-Molli, Nantes 4
BPMN BPMN provides a mechanism to generate an executable Business Process (BPEL) from the business level notation Can be used for service orchestration in SOA Hala Skaf-Molli, Nantes 5
BPMN Orchestration Process (see page 145) more familiar to most process modelers and defines the flow of Activities of a specific PartnerEntity or organization. Choreography formalizes the way business Participants coordinate their interactions. The focus is not on orchestrations of the work performed within these Participants, but rather on the exchange of information (Messages) between these Participants Hala Skaf-Molli, Nantes 6
Executable Verses Non-Executable Process flows can be executable or non executable Executable process follows specific rules, data,.. Executable does not have Abstract, and other non-execution elements Formal condition expressions are typically not included in non-executable form Hala Skaf-Molli, Nantes 7
Hala Skaf-Molli, Nantes 8
Some BPMN Symbols Hala Skaf-Molli, Nantes 9
Hala Skaf-Molli, Nantes 10 http://www.omg.org/news/meetings/workshops/soa-hc/presentations-2011/14_mt-2_brookshier.pdf
Hala Skaf-Molli, Nantes 11
Activities Atomic activity Task Loops for as long as the underlying looping condition is true Activity isperformed many times with different data sets. Hala Skaf-Molli, Nantes 12
Hala Skaf-Molli, Nantes 13
Hala Skaf-Molli, Nantes 14
Hala Skaf-Molli, Nantes 15
Hala Skaf-Molli, Nantes 16
Questions? Using Sub-processes or Tasks? Using Loops or Multiple Instances? Hala Skaf-Molli, Nantes 17
Some BPMN Symbols Hala Skaf-Molli, Nantes 18
Hala Skaf-Molli, Nantes 19
Hala Skaf-Molli, Nantes 20
Data association The visibility of data follow classical rules Process, tasks, sub-process define le level of visibility Hala Skaf-Molli, Nantes 21
Hala Skaf-Molli, Nantes 22 http://www.omg.org/news/meetings/workshops/soa-hc/presentations-2011/14_mt-2_brookshier.pdf
Some BPMN Symbols Hala Skaf-Molli, Nantes 23
Events Something happens during processes 1. Start events 2. End events 3. Intermediate events Hala Skaf-Molli, Nantes 24
Hala Skaf-Molli, Nantes 25
Hala Skaf-Molli, Nantes 26
Source:http://blog.goodelearning.com/bpmn/common-bpmn-modeling-mistakes-best-practices-basic-events/ Hala Skaf-Molli, Nantes 27
Event context When used in a flow (between task 1 and task 2) the meaning of the event 10 minutes is: wait for 10 minutes before continuing to task 2. When the event is attached to task 1, its meaning is: after 10 minutes, task 1 is interrupted and the process flow continues to task 3. Source:http://blog.goodelearning.com/bpmn/common-bpmn-modeling-mistakes-best-practices-basic-events/ Hala Skaf-Molli, Nantes 28
Events Behaviors Catching Event: the event waits for its trigger and then emits a token All starts events and some intermediate events. Throwing Events : the events waits a token then it throws a trigger All End Events and some Intermediate Events Hala Skaf-Molli, Nantes 29
30
Hala Skaf-Molli, Nantes 31
Message Start Event Start a process (message start event), which creates a new instance when the message arrives Hala Skaf-Molli, Nantes 32
Hala Skaf-Molli, Nantes 33
End Event Semantics There MAY be multiple End Events within a single level of a Process. An End Event is OPTIONAL: If an End Event is not used, then the implicit End Event for the Process SHALL NOT have a Result. If the End Event is not used, then all Flow Objects that do not have any outgoing Sequence Flow mark the end of a path in the Process. However, the Process MUST NOT end until all parallel paths have completed. If there is a Start Event, then there MUST be at least one End Event. Hala Skaf-Molli, Nantes 34
Hala Skaf-Molli, Nantes 35
Hala Skaf-Molli, Nantes 36
Mistakes with Events Mistake 1:Implicit or explicit process events Problem. BPMN specification defines start and end events as optional. Note that if a process includes a start event, an end event is mandatory. Hala Skaf-Molli, Nantes 37
Mistake 2:Inadequate event naming Process start for start event Process end for end event Hala Skaf-Molli, Nantes 38
Mistake 3: Equal Event Beware!. If several events share common naming and symbols, they actually represent a single event. Hala Skaf-Molli, Nantes 39
Mistake 3: Equal Event Beware!. If several events share common naming and symbols, they actually represent a single event. Hala Skaf-Molli, Nantes 40
Mistake 4: End event vs Terminate event Problem: over-use terminate end events instead of using simple end events, because they perceive a terminate end event as a stronger end of a process. Hala Skaf-Molli, Nantes 41
A terminate end event means that if one of the paths reaches an end, all other process paths (currently performing activities and activities which are waiting to be performed) are ended immediately. This could correspond to a real-life process situation, but it is very unlikely. Hala Skaf-Molli, Nantes 42
Solution. other end events (e.g. a generic end event), even if a process defines several end states (e.g. a successful and unsuccessful process end). When used this way an end event will not stop the execution of the remaining process paths or activities. Hala Skaf-Molli, Nantes 43
Hala Skaf-Molli, Nantes 44
Hala Skaf-Molli, Nantes 45
Hala Skaf-Molli, Nantes 46
Intermediate events When used in a flow (between task 1 and task 2) the meaning of the event 10 minutes is: wait for 10 minutes before continuing to task 2. When the event is attached to task 1, its meaning is: after 10 minutes, task 1 is interrupted and the process flow continues to task 3. Source:http://blog.goodelearning.com/bpmn/common-bpmn-modeling-mistakes-best-practices-basic-events/ Hala Skaf-Molli, Nantes 47
Hala Skaf-Molli, Nantes 48
Gateways Controlling the execution of a given Process Gateways, like Activities, are capable of consuming or generating additional tokens. The main difference is that Gateways do not represent work being done and they are considered to have zero effect on the operational measures of the Process being executed (cost, time, etc.). Hala Skaf-Molli, Nantes 49
Gateways Types Hala Skaf-Molli, Nantes 50
Hala Skaf-Molli, Nantes 51
Source: BPMN2.0, 11-03-01 Hala Skaf-Molli, Nantes 52
Event-Based Gateway Gateways are based on Events rather than the evaluation of Expressions using Process data (as with an Exclusive). Which event has occurred? A specific Event, usually the receipt of a Message, determines the path that will be taken. For example, if a company is waiting for a response from a customer they will perform one set of Activities if the customer responds Yes and another set of Activities if the customer responds No. The customer s response determines which path is taken. Hala Skaf-Molli, Nantes 53
Event based Gateway Hala Skaf-Molli, Nantes 54
Event based Gateway Hala Skaf-Molli, Nantes 55
Benefits of using send and receive tasks (1) Send and receive massage task still define the presence of a performer, whereas events do not. Advanced behavior of a task Multiple parallel, sequential or looping types markers can be used in case of send or receive tasks different data sets influence the content of the message Hala Skaf-Molli, Nantes 56
Benefits of using send and receive tasks (2) Capability of attaching a boundary event to a task http://blog.goodelearning.com/bpmn/message-events-vs-message-tasks/ Hala Skaf-Molli, Nantes 57
Benefits of using intermediate message events To model a situation where receiving a message can cause an exception when performing an activity, only interrupting boundary intermediate message catch events can be used. Hala Skaf-Molli, Nantes 58
A user activity of writing a report, which can be interrupted by receiving an important update. In this case, updating the files is performed and writing a report is instantiated a new. In case of receiving an invitation to a meeting, a note is written by the performer of the activity while the main activity of writing a report is not interrupted. Such behavior could not be represented by using only send and receive tasks. Hala Skaf-Molli, Nantes 59
60
61
Inclusive Decision Gateway All condition expressions are evaluated. The true evaluation of one condition expression does not exclude the evaluation of other condition Expressions. Hala Skaf-Molli, Nantes 62
Complex Gateway Model complex synchronization behavior. An Expression activationcondition is used to describe the precise behavior. Expression could specify that tokens on three out of five incoming Sequence Flows are needed to activate the Gateway Hala Skaf-Molli, Nantes 63
Hala Skaf-Molli, Nantes 64
Examples (1) Hala Skaf-Molli, Nantes 65
Examples (2) Hala Skaf-Molli, Nantes 66
Examples (3) Loop Hala Skaf-Molli, Nantes 67
Some BPMN Symbols Hala Skaf-Molli, Nantes 68
Organizational aspects Presentation of participants and processes interactions Pool: represent an organization Lane: subdivision of an organization Actor: who executes activities No control flow between Pool Hala Skaf-Molli, Nantes 69
Pool An organization Hala Skaf-Molli, Nantes 70
Collaboration process 71
Collaboration process Local process does not need to be in a pool Hala Skaf-Molli, Nantes 72
73
Hala Skaf-Molli, Nantes 74
Hala Skaf-Molli, Nantes 75
Lanes Hala Skaf-Molli, Nantes 76
Summarizing Example 77
Questions What is the difference between inclusive and exclusive gateway? What is the main restriction on the Sequence Flow? What do Lanes generally represent? Hala Skaf-Molli, Nantes 78
Hala Skaf-Molli, Nantes 79
Hala Skaf-Molli, Nantes 80
Hala Skaf-Molli, Nantes 81
Error Handling Error Intermediate event : To handle the occurrence of errors during the execution of a certain activity. Error End event : To handle the occurrence of errors at a certain point of the flow of a process. Hala Skaf-Molli, Nantes 82
Error Handling Error Intermediate Event: set alternative path to handle error during the execution of a task. ErrorCode attribute of Error Event Hala Skaf-Molli, Nantes 83
Error Handing Error not cached by intermediate event the error propagates to the parent process of the process where the error occurred An error can only be caught once.. Hala Skaf-Molli, Nantes 84
Error Handling Error End Event: process path ends with an error. The error will propagate to the parent process Hala Skaf-Molli, Nantes 85
86
Transaction Sub-processes Transaction : ACID All the sub-process tasks must be completed correctly; otherwise the process is undone (rollback) Hala Skaf-Molli, Nantes 87
Hala Skaf-Molli, Nantes 88
Cancel End Event: activate process rollback Hala Skaf-Molli, Nantes 89
Hala Skaf-Molli, Nantes 90
A compensated activity Hala Skaf-Molli, Nantes 91
92
Hala Skaf-Molli, Nantes 93