Вы находитесь на странице: 1из 87

Business Process Modeling Notation

BPMN (1.0/1.1)

Tushar Jain
tusjain@yahoo.com
http://architecture-soa-bpm-eai.blogspot.com/
http://oracle-fusion-middlware.blogspot.com/

Tushar Jain
Introduction

 This tutorial introduces business process


modeling using the BPMN process modeling
standard. This session will show how BPMN
can support different methodologies as well
as different modeling goals (e.g.,
orchestration and choreography), using
actual business processes as examples.
Sample business models will also be
presented and explored to illustrate the
main concepts and notational innovations.
Two short exercises (on paper) will give
students the feel of modeling with the
major BPMN model elements.

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
What is Process Modeling?
Background

 The capturing of an ordered sequence of business


activities and supporting information
 Business processes describe how a business pursues its
objectives
 There are different levels of process modeling:
 Process Maps – simple flow charts of the activities
 Process Descriptions – flow charts extended with
additional information, but not enough to fully define
actual performance
 Process Models – flow charts extended with enough
information so that the process can be analyzed,
simulated, and/or executed
 BPMN supports each of these levels

Tushar Jain
What is BPMN?
Background

 BPMN is flow-chart based notation for defining


Business Processes
 BPMN is an agreement between multiple modeling
tools vendors, who had their own notations, to use
a single notation for the benefit of end-user
understand and training
 BPMN provides a mechanism to generate an
executable
 Business Process (BPEL) from the business level
notation
 A Business Process developed by a business analyst can
be directly applied to a BPM engine instead of going
through human interpretations and translations into other
languages

Tushar Jain
A BPM Hourglass
Background

Tushar Jain
BPMN 2.0
Background
 The Business Process Model and Notation is the name of the
working proposal for BPMN 2.0. The vision of BPMN 2.0 is to
have one single specification for a new Business Process
Model and Notation that defines the notation, metamodel and
interchange format but with a modified name that still
preserves the "BPMN" brand. The proposed features include
 Aligning BPMN with the business process definition meta model
BPDM to form a single consistent language
 Enabling the exchange of business process models and their
diagram layouts among process modeling tools to preserve
semantic integrity
 Expand BPMN to allow model orchestrations and choreographies
as stand-alone or integrated models
 Support the display and interchange of different perspectives on
a model that allow a user to focus on specific concerns
 Serialize BPMN and provide XML schemes for model
transformation and to extend BPMN towards business modeling
and executive decision support.
 A beta version of the specification is expected to be released in
September, 2009, with the final release scheduled for June,
2010.

Tushar Jain
Weaknesses of BPMN
Background

 Ambiguity and confusion in sharing BPMN


models
 Support for routine work
 Support for knowledge work, and
 Converting BPMN models to executable
environments

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling
Methodologies
 Orchestration vs. Choreography
 Exercise 2
 Summary
 Questions

Tushar Jain
Diagram Elements
Concepts

 Activities

 Events

 Gateways

 Connectors

 Swimlanes

 Artifacts

Tushar Jain
Activities
Concepts
 An activity is a generic term for work to be performed. There
are two Activity types:
 Task: An atomic activity. There are three types of markers for a
Task:
• Loop Marker
• Multiple Instance Marker
• Compensation Marker
 A Task may have one or two markers
 Sub-Process: A compound activity. The Sub-Process can be in
a collapsed view that hides its details or in an expanded view
that shows its details. There are five types of markers for a Sub-
Processes:
• Collapsed Marker (the plus sign)
• Loop Marker
• Parallel Marker
• Compensation Marker
• Ad Hoc Marker
 A collapsed Sub-Process may have one to three of these other
markers, in all combinations except that Loop and Multiple
Instance cannot be shown at the same time.

Tushar Jain
Events
Concepts

 An event affects the flow of the process and is usually


associated with a “Trigger” that defines the cause of the
event. There are three types of Events, based on when they
affect the flow:
 Start Event
 Intermediate Event
 End Event

Tushar Jain
Gateways
Concepts

 A Gateway is used to control the divergence and convergence


of Sequence Flow. Thus, it will determine branching, forking,
merging, and joining of paths. Internal markers will indicate
the type of behavior control. There are five types of
gateways:

Tushar Jain
Connectors
Concepts

 A Sequence Flow is used to show the order that activities


will be performed in a Process. Sequence Flow may be:

 A Message Flow is used to show the flow of messages


between two entities that are prepared to send and receive
them. Sequence Flow is not allowed between Pools.

 An Association is represented with a dotted line. An


arrowhead may be added to indicate the flow direction.
Associations are used to associate an Artifact, data or text to
an Object. A directional Association is used to show that a
Data Object is either an input to or an output from an
activity.
Tushar Jain
Activities
Concepts

Tushar Jain
Tasks
Concepts

Tushar Jain
Sub Processes
Concepts

Tushar Jain
Events
Concepts

Tushar Jain
Start Events
Concepts

Tushar Jain
Intermediate Events
Concepts

Tushar Jain
Intermediate Events (Normal Flow)
Concepts

Tushar Jain
Intermediate Events (Attached to Boundary)
Concepts

Tushar Jain
End Events
Concepts

Tushar Jain
Gateways
Concepts

Tushar Jain
Exclusive Gateways
Concepts

Tushar Jain
Exclusive Gateways, Based on Data
Concepts

Tushar Jain
Exclusive Gateways, Based on Events
Concepts

Tushar Jain
Inclusive Gateways
Concepts

Tushar Jain
Complex Gateways
Concepts

Tushar Jain
Parallel Gateways
Concepts

Tushar Jain
Connectors
Concepts

Tushar Jain
Sequence Flow
Concepts

Tushar Jain
Conditional Sequence Flow
Concepts

Tushar Jain
Default Sequence Flow
Concepts

Tushar Jain
Message Flow
Concepts

Tushar Jain
Associations
Concepts

Tushar Jain
Swimlanes
Concepts

Tushar Jain
Pools
Concepts

Tushar Jain
Lanes
Concepts

Tushar Jain
Artifacts
Concepts

Tushar Jain
Text Annotations
Concepts

Tushar Jain
Data Objects
Concepts

Tushar Jain
Groups
Concepts

Tushar Jain
Artifacts are Extendible
Concepts

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Exercise 1
Exercise 1

 In this exercise you will given a set of short


answer questions that cover the basic
BPMN elements
 Some questions will require a written
answer and some will require a (simple)
drawn answer

Tushar Jain
Questions: Set 1
Exercise 1

 What is the difference between a Task and


a Sub- Process?
 Draw a Task with a timeout and the follow-
up to the timeout
 What are the main restrictions for
Sequence Flow?

Tushar Jain
Answers: Set 1
Exercise 1

 What is the difference between a


Task and a Sub-Process?
 A Sub-Process can be broken down into
a lower level detail (another Process)
while a Task cannot
 Draw a Task with a timeout and
the followup to the timeout
 See picture
 What are the main restrictions for
Sequence Flow?
 A Sequence Flow can only connect
Activities, Events, and Gateways, they
cannot cross the boundary of a Sub-
Process or the boundary of a Pool
Tushar Jain
Questions: Set 2
Exercise 1

 What are the rules for Message Flow


connections?
 Draw two ways that data can be output
from one Task and then input into another
Task
 Why do the different behaviors of the
Gateways share the same basic diamond
shape?

Tushar Jain
Answers: Set 2
Exercise 1

 What are the rules for Message


Flow connections?
 They must connect from the boundary
or object within a Pool to the boundary
or object within a different Pool
 Draw two ways that data can be
output from one Task and then
input into another Task
 See figures
 Why do the different behaviors of
the Gateways share the same
basic diamond shape?
 Gateways represent a controlling
mechanism for Sequence Flow. A
diamond in the model shows a place
where Sequence Flow control is
needed

Tushar Jain
Questions: Set 3
Exercise 1

 How can Artifacts be used to enhance the


information content of a BPMN diagram?
 Draw a timed delay in a process
 What do Pools represent?

Tushar Jain
Answers: Set 3
Exercise 1

 How can Artifacts be used to


enhance the information content of
a BPMN diagram?
 New Artifacts can be created and
added to the diagram to allow
visualization of key model factors
 Draw a timed delay in a process
 See figure
 What do Pools represent?
 Participants in a Process diagram,
either a specific entity (e.g., PSTN) or a
business role (e.g., Shipper)

Tushar Jain
Questions: Set 4
Exercise 1

 What’s the difference between Exclusive


and Inclusive Gateways?
 Draw the synchronization of two parallel
paths
 What do Lanes generally represent? And
what can they represent?

Tushar Jain
Answers: Set 4
Exercise 1

 What’s the difference between


Exclusive and Inclusive Gateways?
 Only one outgoing path is chosen for
Exclusive Gateway while at least one to
all outgoing paths may be chosen for an
Inclusive Gateway
 Draw the synchronization of two
parallel paths
 See figure
 What do Lanes generally represent?
And what can they represent?
 The mostly are used to represent
organizational roles (e.g., Employees) or
departments (e.g., Sales). The can
represent most any object attribute that
the modeler wants to use to partition
activities

Tushar Jain
Questions: Set 5
Exercise 1

 How to Associations affect the main flow of


a Process?
 Draw a Message Flow between one “white
box” Participant and one “black box”
Participant
 What are the rules for adding marker or
icons to activities?

Tushar Jain
Answers: Set 5
Exercise 1

 How to Associations affect the


main flow of a Process?
 They don’t. They can only affect
the requirements for an activity
 Draw a Message Flow between
one “white box” Participant and
one “black box” Participant
 See figure
 What are the rules for adding
marker or icons to activities?
 The marker or icon cannot change
the footprint of the activity and
cannot conflict with any standard
BPMN element

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Normal Flow
Concepts - 2

 Normal Sequence Flow refers to the flow


that originates from a Start Event and
continues through activities via alternative
and parallel paths until it ends at an End
Event
 Normal Flow does not include exception
flow or compensation flow

Tushar Jain
Link Events Within a Process
Concepts - 2

 Link Events can be used for Off-Page


connectors
 Link Events can be used as “Go-To” objects

Tushar Jain
Process Levels
Concepts - 2

 Processes can be developed hierarchically,


with multiple levels through Sub-Processes
 Sequence Flow cannot cross a Sub-Process
boundary
 Message Flow and Associations can cross Sub-
Process boundaries

Tushar Jain
Data Flow
Concepts - 2

Tushar Jain
Exception Handling
Concepts - 2

 Intermediate Events attached to the boundary


of an activity represent triggers that can
interrupt the activity. All work within the
activity will be stopped and flow will proceed
from the Event. Timer, Errors, Messages, etc.
can be Triggers.

Tushar Jain
Compensation and Transactions
Concepts - 2

 A Transaction is an activity that has


a double border. Transactions are
supported by a transaction protocol
(e.g. WS-Transaction)
 Normal Outgoing Sequence Flow
represents the path to follow a
successful completion
 A Cancel Intermediate Event
represents the path to follow a
cancelled completion
 An Exception Intermediate Event
represents the path to follow a
transaction hazard (but no
compensation is performed)
 Activities used for compensate (with
marker) are outside normal flow and
are Associated normal activities.
Compensation flows “backwards.”

Tushar Jain
Looping
Concepts - 2

Tushar Jain
Timers
Concepts - 2

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Process Modeling Methodologies
Methodologies

 BPMN is intended to be methodology


independent
 Simple or complex diagrams can be created
based on the chosen methodology
 Methodologies determine what information is
captured about a process
 Many different methodologies can be used
for modeling with BPMN
 Some may require extended Artifacts
 Examples of methodologies:
 LOVeM, EPCs, RAD methodology, IDEF
 Consulting organization methodologies

Tushar Jain
General Modeling Concepts
Methodologies

 A process is chronological. Accurate models should be


oriented on a time line (in general, from left to right in
sequence)
 Processes generally begin with triggering events, and work
their way through to significant business results
 They can also represent smaller segments of re-usable work
 All tasks or activities are assigned to roles that are
meaningful to people in the business. Be sure you have
captured all relevant roles, which may sometimes be outside
of the client’s company
 A complete model should display how objects or data (or
both) are transferred and where they are going
 A process can be modeled in a hierarchical fashion (e.g., with
Sub-Processes)
 The choices made for decisions, which occur within a process,
determine which of all potential paths will be taken

Tushar Jain
General Modeling Guidelines
Methodologies

 Establish organization standards or guidelines for developing


models and naming model elements, e.g.,
 Establish naming conventions for each type of modeling object.
For example, all activity names could have the following format
• verb + (adjective/descriptor) + noun
• example: “Verify Account”
 Avoid redundancy in naming, e.g., do not include the word
Process in the Process names or the words Task or Activity in
Task names
 To help with report outputs, names should be 32 characters or
less
 To help with readability, all words should be capitalized
 Establish a set of standard nouns, verbs, and acronyms that
are used for naming objects
 Establish standards for versioning methods associated at the
process model and artifact level to provide requirement
traceability

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Orchestration vs. Choreography
Orchestration & Choreography

 Orchestration: Workflow, internal


processes, private processes
 Contained within one Pool
 Choreography: Collaboration, global
processes, B2B processes
 Defined by the interaction between Pools

Tushar Jain
Orchestration
Orchestration & Choreography

 Orchestration defines processes that are


internal to a specific organization
 Thus, they are contained within a single Pool

Tushar Jain
Choreography
Orchestration & Choreography

 A Choreography process depicts the interactions


between two or more business entities (as
modeled with Pools)
 Shown by the Message Flow between the Pools
 Or a sequence of interaction (global) types of
activities

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Create a Process for Expense Reimbursement
Exercise - 2

 In this exercise you will read a text


descriptive information about a process and
will map the process on paper
 The process is a sample expense
reimbursement process:
 This process provides for reimbursement of
expenses incurred by employees for the
company. For example buying a technical book,
office supplies or software. In a normal day
there are several hundreds of instances of this
process created.
 Concentrate on the basic flow of the
Process…
Tushar Jain
Process Information: Expense Reimbursement
Exercise - 2

 After the Expense Report is received, a new account must be


created if the employee does not already have one
 The report is then reviewed for automatic approval
 Amounts under $200 are automatically approved
 Amounts equal to or over $200 require approval of the
supervisor
• In case of rejection, the employee must receive a rejection notice by
email
 The reimbursement goes to the employee’s direct deposit
bank account
 If no action has happened in 7 days, then the employee must
receive an approval in progress email
 If the request is not finished within 30 days, then the process
is stopped and the employee receives an email cancellation
notice and must re-submit the expense report

Tushar Jain
Answer
Exercise - 2

Tushar Jain
Agenda
 BPMN Background
 Basic Concepts
 Exercise 1
 Additional Concepts
 Process Modeling Methodologies
 Orchestration & Choreography
 Exercise 2
 Complex Example
 Questions

Tushar Jain
Complex Example
Complex Example

Tushar Jain
Complex Example
Complex Example

 The BPM model shown is for a Travel


Agency that receives the customer’s trip
criteria and displays matching flight and
hotels. Once the customer makes a
selection, the agency charges the
customer’s credit card and books the flight
and hotel. An itinerary is sent to the
customer and a link to the airline check-in
website is sent to the customer 24hrs
before the trip date. The modeler follows
the 6 steps.

Tushar Jain
Create a Process for Expense Reimbursement
Complex Example
 Define the Process Participants (Pools): Start by defining the
process participants. In the example shown, there are three
participants: The Customer, The Travel Agency and the Financial
Institution. The process is developed from the point of view of the
Travel Agency, hence, the Customer and the Financial Institution
are considered as external Participant who will be communicated
with using messages. Each Participant is represented as a Pool.
 Define the level of activity detail to show within each Pool: If
the activities performed by a participant are irrelevant and instead
the process is focused on the messages exchanged with the
participant, then the process model shows minimal (like in the case
of the Financial Institution) to no activities (like in the case of the
Customer) within that Pool.
 Define how to categorize the activities within each Pool:
Since it is necessary to distinguish between the automated activities
performed by the Travel Agency’s website and the manual activities
performed by the Customer Service dept, the two are shown as two
Lanes within the Travel Agency Pool.

Tushar Jain
Create a Process for Expense Reimbursement
Complex Example
 Define the activities that lead to a successful end: Note: the following steps correspond to the
steps in the BPMN diagram below
 Define the starting event of the process. The process starts when the web site receives a message from the
customer with the desired flight and hotel room criteria. (flight dates, no. of stops, no. of nights, hotel rating, etc).
(BPMN: Start Message Event)
 The web site performs two sub-processes simultaneously (in parallel) to retrieve the flights and hotel rooms that
meet the customer criteria. (BPMN: Parallel Expanded Sub-Process)
 The Web site presents the available flights and hotel rooms to the customer.
 The website decides the next step based on the event that will take place, which will be one of three: a) no
customer response for 15 minutes (which may make the displayed flights and hotel rooms obsolete), b) the
customer requests to continue booking with a selected flight and hotel room, and c) receive the customer’s request
to cancel. (BPMN: Event-Based Gateway)
 In the happy path, the process will receive a message from the customer with a request to continue booking for
selected flight and hotel room. (BPMN: Intermediate Message)
 The website requests and gets the customer’s credit card information.
 The website requests authorization from the Financial Institution to charge the customer’s credit card. (BPMN: Task
with a possible Time-out Exception Flow). Execution within the Travel Agency’s lane is paused (step 9) waiting for a
response from the Financial Institution.
 The Financial Institution processes the authorization request.
 The Financial Institution sends back the authorization request response.
 The paused website receives the response and continues execution.
 The website evaluates the response received (BPMN: Data-Based Decision Gateway).
 In the happy path, the credit card charge is authorized. (BPMN: Default Flow).
 The website performs a transaction that includes two activities: booking the flight and booking the hotel room. The
Transaction insures that all activates are completed successfully or all of them will be cancelled. (BPMN:
Transaction).
 In the happy path, the booking is successful for both.
 The website prepares the trip itinerary.
 The website emails the trip itinerary to the customer.
 At the same time (in parallel), the Customer Service dept mails the paper itinerary to the customer’s physical
address.
 The process continues when both itineraries are sent to the customer. (BPMN: Parallel Join)
 The website closes the order.
 The website waits until 24 hrs before the trip date.
 The website emails the customer a link to the airlines check-in website. (BPMN: Sub-process with Activity Looping)
 The process ends successfully.

Tushar Jain
Create a Process for Expense Reimbursement
Complex Example
 Define the alternate paths that lead to a successful
end: First Alternate Path: At step 7, if the request to
authorize the credit card times out (more than 10 seconds),
then the flow is routed to steps: 22, 23, 24, 8, 9, 25, 26, 27,
28 and resumes at step 15. Second Alternate Path: At step
13, if booking fails for the first, second or third time, then the
flow is routed to steps: 29, 30, and resumes at step 13.
Examine the model to find more alternate paths.
 Define the exception paths that will not lead to a
successful end: First Exception Path: At step 4, if the
system waits for 15 minutes without receiving a response
from the customer, the flow is routed to steps: 39, 40, 41,
42, 43 and 21. Second Exception Path: At step 11, if the
credit card charge are not authorized, the flow is routed to
steps: 50, 51, 52, 42, 43, and 21.Examine the model to find
more alternate paths.

Tushar Jain
Summary
Summary

Tushar Jain
Questions

Tushar Jain
Thai
Hindi

Russian
Traditional Chinese
Gracias Spanish

Obrigado
Arabic
Thank You Brazilian Portuguese

Grazie Danke
Italian
German

Merci French

Simplified Chinese
Tamil

Korean

Japanese

Tushar Jain

Вам также может понравиться