Post on 30-Oct-2015
7/16/2019 BPMN 2 0-Tutorial
1/61
BPMN 2.0 Tutorial
Daniel BrookshierDistinguished Fellow
No Magic Inc.
7/16/2019 BPMN 2 0-Tutorial
2/61
About the Tutorial
Generated from MagicDraw UML
Based on current BPMN 2.0 for UML referenceimplementation.
Developed by Daniel Brookshier, Distinguished Fellow,No Magic Inc. danielb@nomagic.com
7/16/2019 BPMN 2 0-Tutorial
3/61
7/16/2019 BPMN 2 0-Tutorial
4/61
What is BPMN ?
Business Process Modeling Notation
Developed by Business Process Management Initiative (BPMI),and is currently maintained by the Object Management Groupsince the two organizations merged in 2005
Supports business process management for technical andbusiness users
Bridge communication gap between business process design and
implementation
7/16/2019 BPMN 2 0-Tutorial
5/61
What?
BPMN is simple
Process diagrams business people like
Less complex (business likes that too)
Under the covers, technical enough for techies
7/16/2019 BPMN 2 0-Tutorial
6/61
What Does BPMN Not Do?
State transitions
Functional decomposition
Organizational hierarchies
Data modeling
7/16/2019 BPMN 2 0-Tutorial
7/61
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
7/16/2019 BPMN 2 0-Tutorial
8/61
Primary Components
7/16/2019 BPMN 2 0-Tutorial
9/61
Why BPMN?
Standard notation
Model concepts and/or implementation of
business process
Models high-level process concepts
Notation is not complex
7/16/2019 BPMN 2 0-Tutorial
10/61
Issues With BPMN
Limited complexity
Process/conversation oriented
Very high level
Cannot see details of tasks or data
7/16/2019 BPMN 2 0-Tutorial
11/61
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
7/16/2019 BPMN 2 0-Tutorial
12/61
Executable Verses
Non-executable
Process flows can be executable or non executable
Executable process follows specific rules
Formal condition expressions are typically not includedin non-executable form
Executable does not have Manual, Abstract, and other
non-execution elements
7/16/2019 BPMN 2 0-Tutorial
13/61
BPMN Diagram Zoo
Process Flow of activity, decisions, dataand events
Collaboration Conversations andinteractions (also process)
Choreography Tasks performed by
participants and how participantscoordinate interactions via messages.
7/16/2019 BPMN 2 0-Tutorial
14/61
Simple BPMN Process Diagram
7/16/2019 BPMN 2 0-Tutorial
15/61
Process with Pools and Lanes
7/16/2019 BPMN 2 0-Tutorial
16/61
Simple Collaboration
7/16/2019 BPMN 2 0-Tutorial
17/61
Simple Collaboration
7/16/2019 BPMN 2 0-Tutorial
18/61
Understanding Collaborations
7/16/2019 BPMN 2 0-Tutorial
19/61
BPMN Choreography
Sequence of interactions between Participants.
Choreographies exist outside of or in between Pools.
A Choreography Task is an atomic Activity in a ChoreographyProcess.
The task represents an Interaction, which is one or two Messageexchanges between two Participants.
Helps to show who initiates the activity and the first message.
7/16/2019 BPMN 2 0-Tutorial
20/61
Simple Choreography Task With
Messages
7/16/2019 BPMN 2 0-Tutorial
21/61
BPMN Choreography Diagram
7/16/2019 BPMN 2 0-Tutorial
22/61
Setting Messages on
Choreography
7/16/2019 BPMN 2 0-Tutorial
23/61
Example BPMNDiagrams
7/16/2019 BPMN 2 0-Tutorial
24/61
Book Loan and Reservation
(Librarian Perspective)
7/16/2019 BPMN 2 0-Tutorial
25/61
Loan a book (main scenario)
7/16/2019 BPMN 2 0-Tutorial
26/61
Book Loan and Reservation
(Reader Perspective)
7/16/2019 BPMN 2 0-Tutorial
27/61
Loan a Book
7/16/2019 BPMN 2 0-Tutorial
28/61
Process Symbols
7/16/2019 BPMN 2 0-Tutorial
29/61
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 (notthe job of BPMN)
Three types: Task, Sub-process, and Transaction
7/16/2019 BPMN 2 0-Tutorial
30/61
Activiy Symbols
7/16/2019 BPMN 2 0-Tutorial
31/61
Task Symbols (1 of 2)
7/16/2019 BPMN 2 0-Tutorial
32/61
Task Symbols (2 of 2)
7/16/2019 BPMN 2 0-Tutorial
33/61
What are Sub Processes?
Is in the context of the process and can access thecontextual data.
Can be expanded or collapsed to show detail of thesub-process or to hide the detail.
Sub process MUST define an internal process with astart and end event.
A sub process is only reusable within the parent
process (i.e. it is not reusable in the overall design).
7/16/2019 BPMN 2 0-Tutorial
34/61
Sub Process Symbols
7/16/2019 BPMN 2 0-Tutorial
35/61
Gateways
Gateways are used to control how SequenceFlows interact as they converge and divergewithin a Process.
Capable of consuming or generating additional
tokens.
Define decisions/branching (exclusive,inclusive, and complex), merging, forking, and
joining.
7/16/2019 BPMN 2 0-Tutorial
36/61
Gateway Symbols
7/16/2019 BPMN 2 0-Tutorial
37/61
About Data Symbols
Data Objects provide information about whatActivities require and/or what they produce
Represent a singular object or a collection of
objects
Data Input and Data Output provide the sameinformation for Processes
7/16/2019 BPMN 2 0-Tutorial
38/61
Data
7/16/2019 BPMN 2 0-Tutorial
39/61
Event Symbols Types
7/16/2019 BPMN 2 0-Tutorial
40/61
Start Events
7/16/2019 BPMN 2 0-Tutorial
41/61
Intermediate Events
E d E
7/16/2019 BPMN 2 0-Tutorial
42/61
End Events
End Event indicates where a Process will end.
In terms of Sequence Flows, the End Event ends the flow of theProcess, 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 errorhandling and/or how the process is terminated).
E d E t S b l
7/16/2019 BPMN 2 0-Tutorial
43/61
End Event Symbols
E d E t (1 f 3)
7/16/2019 BPMN 2 0-Tutorial
44/61
End Events (1 of 3)
E d E t (2 f 3)
7/16/2019 BPMN 2 0-Tutorial
45/61
End Events (2 of 3)
End E ents (3 of 3)
7/16/2019 BPMN 2 0-Tutorial
46/61
End Events (3 of 3)
Pools
7/16/2019 BPMN 2 0-Tutorial
47/61
Pools
A Pool is the graphical representation of a Participant ina Collaboration.
It also acts as a swimlane and a graphical containerfor partitioning a set of Activities from other Pools
Usually in the context of B2B situations
Pool MAY have internal details, in the form of theProcess that will be executed
Pool MAY have no internal details, i.e., it can be a"black box."
Lanes
7/16/2019 BPMN 2 0-Tutorial
48/61
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
Pool and Lanes
7/16/2019 BPMN 2 0-Tutorial
49/61
Pool and Lanes
CONDITIONAL FLOW
7/16/2019 BPMN 2 0-Tutorial
50/61
CONDITIONAL FLOW
Default Sequence Flow
7/16/2019 BPMN 2 0-Tutorial
51/61
Default Sequence Flow
Exception Flow
7/16/2019 BPMN 2 0-Tutorial
52/61
Exception Flow
Data Flow
7/16/2019 BPMN 2 0-Tutorial
53/61
Data Flow
Compensation Flow
7/16/2019 BPMN 2 0-Tutorial
54/61
Compensation Flow
Message Flows
7/16/2019 BPMN 2 0-Tutorial
55/61
Message Flows
Flow of Messages between two Participants that are prepared tosend and receive them.
A Message Flow MUST connect two separate Pools.
They connect either to the Pool boundary or to Flow Objects withinthe Pool boundary.
They MUST NOT connect two objects within the same Pool.
Message Flows
7/16/2019 BPMN 2 0-Tutorial
56/61
Message Flows
Message Flow Between Lanes
7/16/2019 BPMN 2 0-Tutorial
57/61
Message Flow Between Lanes
Data Associations
7/16/2019 BPMN 2 0-Tutorial
58/61
Data Associations
Data Associations are used to move data between Data Objects,
Properties, and inputs and outputs of Activities, Processes, andGlobalTasks.
Tokens do not flow along a Data Association, and as a result theyhave no direct effect on the flow of the Process.
Used for retrieving data from Data Objects or Process Data Inputsto fill the Activities inputs and push the output values from theexecution of the Activity back into Data Objects or Process DataOutputs.
Data Association Example
7/16/2019 BPMN 2 0-Tutorial
59/61
Data Association Example
7/16/2019 BPMN 2 0-Tutorial
60/61
7/16/2019 BPMN 2 0-Tutorial
61/61
Thank You
Daniel Brookshier
DanielB@NoMagic.com