BPMN 2.0 Tutorial
Transcript of BPMN 2.0 Tutorial
![Page 1: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/1.jpg)
BPMN 2.0 Tutorial
Daniel BrookshierDistinguished Fellow
No Magic Inc.
![Page 2: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/2.jpg)
About the Tutorial
� Generated from MagicDraw UML
� Based on current BPMN 2.0 for UML reference implementation.
� Developed by Daniel Brookshier, Distinguished Fellow, No Magic Inc. [email protected]
![Page 3: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/3.jpg)
![Page 4: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/4.jpg)
What is BPMN ?
� Business Process Modeling Notation
� Developed by Business Process Management Initiative (BPMI), and is currently maintained by the Object Management Group since the two organizations merged in 2005
� Supports business process management for technical and business users
� Bridge communication gap between business process design and implementation
![Page 5: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/5.jpg)
What?
� BPMN is simple
� Process diagrams business people like
� Less complex (business likes that too)
� Under the covers, technical enough for techies
![Page 6: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/6.jpg)
What Does BPMN Not Do?
� State transitions
� Functional decomposition
� Organizational hierarchies
� Data modeling
![Page 7: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/7.jpg)
What is BPMN Like?
� Similar to flowcharts and UML Activity diagrams
� Flow of activities with various messaging and data
� Can be used for service orchestration in SOA
![Page 8: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/8.jpg)
Primary Components
![Page 9: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/9.jpg)
Why BPMN?
� Standard notation
� Model concepts and/or implementation of business process
� Models high-level process concepts
� Notation is not complex
![Page 10: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/10.jpg)
Issues With BPMN
� Limited complexity
� Process/conversation oriented
� Very high level
� Cannot see details of tasks or data
![Page 11: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/11.jpg)
Solving BPMN Issues ViaUML
� BPMN as an extension to UML
� Enhanced ability to implement complexity
� Link implementation with orchestration
� Greater tool support
� Fill in gaps with details state, decomposition, data, implementations
BPMN for UML specification in progress at OMG
![Page 12: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/12.jpg)
Executable Verses Non-executable
� Process flows can be executable or non executable
� Executable process follows specific rules
� Formal condition expressions are typically not included in non-executable form
� Executable does not have Manual, Abstract, and other non-execution elements
![Page 13: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/13.jpg)
BPMN Diagram Zoo
� Process – Flow of activity, decisions, data and events
� Collaboration – Conversations and interactions (also process)
� Choreography – Tasks performed by participants and how participants coordinate interactions via messages.
![Page 14: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/14.jpg)
Simple BPMN Process Diagram
![Page 15: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/15.jpg)
Process with Pools and Lanes
![Page 16: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/16.jpg)
Simple Collaboration
![Page 17: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/17.jpg)
Simple Collaboration
![Page 18: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/18.jpg)
Understanding Collaborations
![Page 19: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/19.jpg)
BPMN Choreography
� Sequence of interactions between Participants.
� Choreographies exist outside of or in between Pools.
� A Choreography Task is an atomic Activity in a Choreography Process.
� The task represents an Interaction, which is one or two Message exchanges between two Participants.
� Helps to show who initiates the activity and the first message.
![Page 20: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/20.jpg)
Simple Choreography Task With Messages
![Page 21: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/21.jpg)
BPMN Choreography Diagram
![Page 22: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/22.jpg)
Setting Messages on Choreography
![Page 23: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/23.jpg)
Example BPMN Diagrams
![Page 24: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/24.jpg)
Book Loan and Reservation (Librarian Perspective)
![Page 25: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/25.jpg)
Loan a book (main scenario)
![Page 26: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/26.jpg)
Book Loan and Reservation (Reader Perspective)
![Page 27: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/27.jpg)
Loan a Book
![Page 28: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/28.jpg)
Process Symbols
![Page 29: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/29.jpg)
Activities
� Work that is performed within a Business Process.
� Activity can be atomic or non-atomic (compound)
� High-level, so does not describe the activity detail (not the job of BPMN)
� Three types: Task, Sub-process, and Transaction
![Page 30: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/30.jpg)
Activiy Symbols
![Page 31: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/31.jpg)
Task Symbols (1 of 2)
![Page 32: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/32.jpg)
Task Symbols (2 of 2)
![Page 33: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/33.jpg)
What are Sub Processes?
� Is in the context of the process and can access the contextual data.
� Can be expanded or collapsed to show detail of the sub-process or to hide the detail.
� Sub process MUST define an internal process with a start and end event.
� A sub process is only reusable within the parent process (i.e. it is not reusable in the overall design).
![Page 34: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/34.jpg)
Sub Process Symbols
![Page 35: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/35.jpg)
Gateways
� Gateways are used to control how Sequence Flows interact as they converge and diverge within a Process.
� Capable of consuming or generating additional tokens.
� Define decisions/branching (exclusive, inclusive, and complex), merging, forking, and joining.
![Page 36: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/36.jpg)
Gateway Symbols
![Page 37: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/37.jpg)
About Data Symbols
� Data Objects provide information about what Activities require and/or what they produce
� Represent a singular object or a collection of objects
� Data Input and Data Output provide the same information for Processes
![Page 38: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/38.jpg)
Data
![Page 39: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/39.jpg)
Event Symbols Types
![Page 40: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/40.jpg)
Start Events
![Page 41: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/41.jpg)
Intermediate Events
![Page 42: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/42.jpg)
End Events
� End Event indicates where a Process will end.
� In terms of Sequence Flows, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flows.
� No Sequence Flow can connect from an End Event.
� Depending on the type, other rules are enforced (like error handling and/or how the process is terminated).
![Page 43: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/43.jpg)
End Event Symbols
![Page 44: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/44.jpg)
End Events (1 of 3)
![Page 45: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/45.jpg)
End Events (2 of 3)
![Page 46: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/46.jpg)
End Events (3 of 3)
![Page 47: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/47.jpg)
Pools
� A Pool is the graphical representation of a Participant in a Collaboration.
� It also acts as a “swimlane” and a graphical container for partitioning a set of Activities from other Pools
� Usually in the context of B2B situations
� Pool MAY have internal details, in the form of the Process that will be executed
� Pool MAY have no internal details, i.e., it can be a "black box."
![Page 48: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/48.jpg)
Lanes
� Lane (Swimlane) is a sub-partition within a Process
� Extend the entire length of the Process
� Lanes are used to organize and categorize Activities
![Page 49: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/49.jpg)
Pool and Lanes
![Page 50: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/50.jpg)
CONDITIONAL FLOW
![Page 51: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/51.jpg)
Default Sequence Flow
![Page 52: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/52.jpg)
Exception Flow
![Page 53: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/53.jpg)
Data Flow
![Page 54: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/54.jpg)
Compensation Flow
![Page 55: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/55.jpg)
Message Flows
� Flow of Messages between two Participants that are prepared to send and receive them.
� A Message Flow MUST connect two separate Pools.
� They connect either to the Pool boundary or to Flow Objects within the Pool boundary.
� They MUST NOT connect two objects within the same Pool.
![Page 56: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/56.jpg)
Message Flows
![Page 57: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/57.jpg)
Message Flow Between Lanes
![Page 58: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/58.jpg)
Data Associations
� Data Associations are used to move data between Data Objects, Properties, and inputs and outputs of Activities, Processes, and GlobalTasks.
� Tokens do not flow along a Data Association, and as a result they have no direct effect on the flow of the Process.
� Used for retrieving data from Data Objects or Process Data Inputs to fill the Activities inputs and push the output values from the execution of the Activity back into Data Objects or Process Data Outputs.
![Page 59: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/59.jpg)
Data Association Example
![Page 60: BPMN 2.0 Tutorial](https://reader035.fdocuments.in/reader035/viewer/2022081722/5868bc131a28ab7b568ba45c/html5/thumbnails/60.jpg)