You are on page 1of 61

Introduction to BPMN

Business Process Modeling Tutorial

Interactive Design Labs Louis Marbel

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 conventions. Two short exercises (on paper) will give students the feel of modeling with the major BPMN elements.

Topics
BPMN Background Basic Concepts Exercise #1 Modeling Concepts Orchestration, Choreography, and Workflow Exercise #2 Summary

What is Process Modeling?

The capturing of an ordered sequence of business activities and supporting information


Business processes describe how a business pursues its objectives Process Maps Simple flow charts of the activities Process Description Flow charts extended with additional information, but not enough to fully define actual performance Process Models Flow charts elaborated with enough information so that the process can be analyzed, simulated and executed

There are different levels of process modeling:


-

BPMN supports all the above levels

What is BPMN?

BPMN is a flow-chart based notation for defining Business Processes

BPMN provides a mechanism to generate an executable Business Process (BPEL) and XPDL from the business level notation
A Business Process developed by a business analyst can be exported to an executable format and directly applied to a BPM engine

BPMN supports all the above levels

BPMN Positioning

Audiences
Business Analysts Process Designers System Architects Software Engineers

Purposes
Modeling

Methodology Agnostic
Methodologies provide guidance as to the purpose and level of detail for modeling

Topics

BPMN Background

Basic Concepts
Exercise #1 Additional Concepts Orchestration, Choreography, and Workflow Exercise #2 Summary

BPMN Basic Concepts - Diagram Elements

Core set of modeling elements that enable the easy development of simple Business Process Diagrams that will look familiar to most Business Analysts

BPMN Basic Concepts - Diagram Elements

A Pool is a swimlane and a graphical container for partitioning a set of activities from other Pools A Lane is a sub-partition within a Pool and will extend the whole length of the pool, either vertically or horizontally

BPMN Basic Concepts - Diagram Elements

Data Objects are not flow objects (I.e., connected through Sequence Flow), but they do provide information about how documents and data objects are used and updated within a Process Text Annotations are a mechanism for a modeler to provide additional information for the reader of a BPMN diagram

Groups provide a mechanism to visually organize activities

10

BPMN Basic Concepts - Activities

An activity is work that is performed within a business process. An activity can be atomic or non-atomic (compound). The types of activities that are part of a Process Model are Sub-Process and Task. Activities have rounded rectangles and can be performed only once.

Activities can have internally defined loops

11

BPMN Basic Concepts - Tasks

A Task is an atomic activity that is included within a Process. A Task is used when the work in a Process is not broken down to a finer level of Process Model detail There are specialized types of Tasks for sending and receiving, user-based Tasks, service Tasks, etc.

User Task

Markers or icons can be added to Tasks to help visually identify the type of Task. Fill colors can also be added to Tasks
Service Task

Manual Task

12

BPMN Basic Concepts - Sub-Processes

A Sub-Process is a compound activity that is included within a Process. It is compound in that it can be broken down into a finer level of detail (a Process) through a set of sub-activities. Sub-Processes enable hierarchical Process design. For a collapsed version of a Sub-Process, The details of the Sub-Process are not visible in the Diagram. A plus sign in the lower-center of the shape indicates that the activity is a Sub-Process and has a lower-level of detail. For an expanded version of a Sub Process, the details (a Process) are visible within its boundary. There are two types of Sub-Processes: Embedded and Independent (Re-usable).

13

BPMN Basic Concepts - Event Types

An Event is something that happens during the course of a business process. These Events can affect the flow of a Process and usually have a trigger or a result. They can start, interrupt, or end a flow. Events are circles, the type of boundary determines the type of Event.

14

BPMN Basic Concepts - Start Event Triggers

Start Events indicate where a Process will begin There are different Triggers that indicate the specific circumstances under which the Process is started
None This is used to mark the start of Sub-processes, or when the start is undefined Message - This is used to communicate between processes Signal This is used to communicate between processes within the same enterprise and have registered to receive the alert Multiple Any one of the Start Event Triggers included in a Multiple Start Event definition will start the the Process

Start Event Trigger Types None

Message

Timer

Rule Link

Signal

Multiple

15

BPMN Basic Concepts - Intermediate Event Triggers


Catch Throw

Intermediate Events may occur after a Process has been started and before the Process is ended. It indicates where in the Process flow the Event will occur, and if it is a Catch or Throw Event. There are different Triggers that indicate the specific circumstances under which the Intermediate Event will occur and enable the Process flow to continue. If it is a Catch Event, the Event will respond to the Trigger, if it is a Throw the Trigger sends the Event. Multiple Any one of the Intermediate Event Triggers included in a Multiple Start Event definition will start the Process. Intermediate Events can be placed in the normal flow of the Process, or attached to the boundary of an Activity or collapsed Subprocess to indicate departure from the normal flow to exception flow of the Process.

None Message Timer

Rule

Link

Signal

Error

Cancel Multiple Compensation

16

BPMN Basic Concepts - Intermediate Event [Normal Flow] Model

Events that are placed within the process flow represent things that happen during the normal operation of the process. The Event can represent a response to the Event Trigger (i.e. receipt of a message, timer expiration, etc.), and will be in the Catch mode. The Event represents the creation of an Event Trigger (i.e. sending a message, or a signal), when it is a Throw Event.

17

BPMN Basic Concepts Attached Intermediate Event [Interrupted Flow] Model

Events that are attached to the boundary of an activity (or SubProcess) indicates that the activity (Sub-Process) should be interrupted when the Event is triggered. The interrupted flow pattern can be used for error handling, business exception handling and compensation.

18

BPMN Basic Concepts - End Event Triggers


The End Event is an indicator that a particular path has completed. There are several variations (nine) of the End Event and all of them, except one (Termination), provide for the Implicit Termination of the process. The variations of the End Event all have internal markers to indicate a particular Result for ending the path. The variations of the End Event include:
None This indicates the process ended normally Message The process sends a message indicating on ending Link The process links (chains) to the start event of another process Signal The process sends a signal on ending Error The process indicates that it ended on an error encountered in the process Cancel This indicates the process ended as a result of the Process being cancelled Terminate This will cause the entire process to stop, even if there are activities that have not started or are still active
Start Event Trigger Types None

Message Link

Signal

Error

Cancel

Terminate

Multiple Compensation 19

BPMN Basic Concepts - Gateway Types

Exclusive OR
Data-Based

Event-Based

Inclusive OR

Gateways are modeling constructs that are used to define the control points in the process flow where the Sequence Flows converge or diverge. There are different types of Gateways, each supporting a specific control logic; the Gateway types are indicated with a marker in the center of the Gateway symbol. All Gateways both split and join (merge) Sequence Flows. If the process flow does not need to be controlled, then a Gateway is not needed.

Parallel (AND)

Complex

20

BPMN Basic Concepts - Exclusive Gateways

Exclusive Gateways are decision points within a business process where the Sequence Flow can take two (2) or more alternative paths. Only one of the possible outgoing paths can be taken when the process is performed. Exclusive Gateways can also be used to merge Sequence Flows. There are two (2) types of decision mechanisms supported:
Data (e.g., Condition Expressions) Event (e.g., receipt of a message, timer trigger, or signal)

21

BPMN Basic Concepts Exclusive Gateways, Based on Data


These are the most commonly used Gateways. They can be shown with or without the internal X marker as illustrated in diagrams below. The Gateway (Decision Point) creates alternate paths based on the defined conditions.

Exclusive Choice

22

BPMN Basic Concepts - Exclusive Gateways, Based on Events

This type of Gateway represents a decision point in the process flow where the decisions on what alternate path to take are based on events that happen at that point in the Process, rather than on condition expressions. The Multiple Intermediate Event is used to identify this Gateway. The Events that follow the Gateway determine the chosen path, the first Event that triggers is selected. Exclusive Choice

23

BPMN Basic Concepts Exclusive Gateways, Based on Data (Continued)


The Gateway defines a point (Decision) in the process where a set of alternate paths is joined into a single path. The Exclusive Gateway provides a control mechanism used to merge the alternative paths of incoming Sequence Flows. The outgoing Sequence Flow from the Gateway (in Red font) will have a Boolean expression that will be evaluated to determine which Sequence Flow should be used to continue the Process. The Gateway also acts as a discriminator in that all other Sequence Flows arriving at the Gateway are excluded after the first Sequence Flow is accepted.

Simple Merge

24

BPMN Basic Concepts - Inclusive Gateways


The Inclusive Gateway represents a decision point where there is more than one possible outcome. The Gateway allows from one to all of the alternative paths to be chosen. Each outgoing Sequence Flow from the Gateway (indicated in Red font) will have Boolean expressions that will be evaluated to determine which Sequence Flow should be used to continue the process.

Multiple Choice

25

BPMN Basic Concepts - Inclusive Gateways


The Inclusive Gateway represents a decision point where there is more than one possible outcome. The Gateway allows from one to all of the alternative paths to be chosen. The downstream Inclusive Gateway is used to merge the paths created by the upstream Inclusive Gateway. The downstream Inclusive Gateway synchronizes the all the alternative paths created by the Multiple Choice Gateway.

Synchronizing Merge
Multiple Choice Gateway

26

BPMN Basic Concepts Parallel Gateway, ANDSplit


Parallel Gateways are modeling constructs that are used to define the control points in the process flow where two or more activities are performed concurrently, rather than serially. A single path through the process is split into two or more paths (Sequence Flows) so that two or more activities can be started at the same time. The Parallel Gateway is not required to fork a path, since forking a path is considered uncontrolled flow; that is, flow will proceed down each path without any dependencies or conditions. Forking Sequence Flow can be generated from a Task, Sub-Process, or a Start Event.

Parallel Split

27

BPMN Basic Concepts - Parallel Gateway, AND-Join


Parallel Gateways can be used to combine the paths into a single Sequence Flow. The Parallel Gateway accepts multiple incoming Sequence Flow and blocks until all activities within the flows are completed then the flow continues. The Gateway synchronizes the parallel paths.

Synchronization

28

BPMN Basic Concepts - Connectors

A Sequence Flow is used to show the order that activities will be performed in a Process.

An Association is used to associate data, information, and artifacts with flow objects.

A Message Flow is used to show the flow of messages Processes that are prepared to send and receive them.

29

BPMN Basic Concepts Connectors, Sequence Flow

A Sequence Flow is used to show the order that activities will be performed in a Process. The source and target must be one of the following flow objects: Events, Activities, and Gateways. A Sequence Flow cannot cross a Sub-Process boundary or a Pool boundary.

30

BPMN Basic Concepts Connectors, Conditional Sequence Flow


A Sequence Flow MAY have a defined condition if it exits an activity. Such an activity must have at least two outgoing Sequence Flows. The condition has to be True to allow the flow to continue down the Sequence Flow. A mini-diamond shows that the Sequence Flow has a condition. At least one of the outgoing Sequence Flows must be chosen during Process performance.

31

BPMN Basic Concepts Connectors, Default Sequence Flow


A Sequence Flow that exits an Exclusive or Inclusive Gateway may be defined as being the default path. A hatch mark at the line beginning shows the default Sequence Flow. The default path is chosen only if all the other conditions of the Gateway are False.

32

BPMN Basic Concepts Connectors, Message Flow

A Message Flow is used to show the flow of messages between two Participants of a Process. In BPMN, separate Pools are used to represent the Participants. A Message Flow can connect to the boundary of the Pool or to an object within the Pool. Message Flow are not allowed between objects within a single Pool.

Need to add a Message Flow Diagram here

33

BPMN Basic Concepts Connectors, Association


Associations are used to associate data and document artifacts to Activities to indicate the flow of data in the process. The data flow model shows how data is input to and output from Activities. An Association is used to associate Compensation Task to another Activity or Sub-Process. Text Annotations can be Associated with flow objects.

34

BPMN Basic Concepts Swimlanes

BPMN uses the concept known as swimlanes to help partition and/organize activities There are two main types of swimlanes: Pool and Lane
Pools represent Participants in an interactive (B2B) Business Process Diagram Lanes represent sub-partitions for the objects within a Pool

35

BPMN Basic Concepts Pools

Pools represent Participants in an interactive (B2B) Business Process Diagram A Participant may be a business role (e.g., buyer or seller) or a business entity (e.g., HP or OMG) A Pool may be a black box or may contain a Process Interaction between Pools is handled through Message Flow Sequence Flow cannot cross the boundary of a Pool (i.e., a Process is fully contained within a Pool)

36

BPMN Basic Concepts Lanes


Lanes represent sub-partitions for the objects within a Pool. They often represent organization roles (e.g., Manager, Sales Account Representative), but can represent any desired business object that can perform a Task or Process. Sequence Flow can cross Lane boundaries.

37

BPMN Basic Concepts Artifacts

Artifacts provide the capability to show information beyond the basic flow-chart structure of the Process There are currently three standard Artifacts in BPMN: Data Objects, Groups, and Annotations A tool can extend BPMN by defining new Artifacts such as Document Objects

38

BPMN Basic Concepts Text Annotation


Text Annotations are a mechanism for a modeler to provide additional information about a Process. Text Annotations can be connected to a specific object on the Diagram with an Association.

39

BPMN Basic Concepts Data Objects


Data Objects are Artifacts that are used to show how data and documents are used within a Process. Data Objects can be used to define inputs and outputs of activities. Data Objects can be given a state that shows how a document may be changed or updated within the Process.

40

BPMN Basic Concepts Groups

Groups are Artifacts that are used to highlight certain sections of a Diagram without adding additional constraints for performance as a Sub-Process would Groups can be used to categorize elements for reporting purposes Groups are not constrained by restrictions of Pools and Lanes

41

Topics

BPMN Background

Basic Concepts
Exercise #1 Modeling Concepts Orchestration, Choreography, and Workflow Exercise #2 Summary

42

BPMN Basic Concepts Exercises #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

43

BPMN Basic Concepts Exercises, Question Set #1

What is the difference between a Task and a Sub- Process? What are the main restrictions for Sequence Flow? How do Associations affect the main flow of a Process? What are the rules for Message Flow connections?

44

BPMN Basic Concepts Exercises, Question Set #2

Why do the different behaviors of the Gateways share the same basic diamond shape? Whats the difference between Exclusive and Inclusive Gateways? Draw the synchronization of two parallel paths.

45

BPMN Basic Concepts Exercises, Question Set #3

Draw a Task with a timeout and the follow-up to the timeout Draw a timed delay in a process

46

BPMN Basic Concepts Exercises, Question Set #4

How can Artifacts be used to enhance the information content of a BPMN diagram? What do Lanes generally represent? And what can they represent? What do Pools represent?

47

BPMN Basic Concepts Exercises, Question Set #5

Draw two ways that data can be output from one Task and then input into another Task.

48

BPMN Basic Concepts Exercises, Answer Set #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

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

How do Associations affect the main flow of a Process?


They dont. They only affect the requirements for an activity

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

49

BPMN Basic Concepts Exercises, Answer Set #2


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

Whats the difference between Exclusive, Inclusive and Complex 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, and M out of N outgoing paths may be chosen for Complex Gateway

Draw the synchronization of two parallel paths

50

BPMN Basic Concepts Exercises, Answer Set #3


Draw a Task with a timeout and the follow-up to the timeout

Draw a timed delay in a process

51

BPMN Basic Concepts Exercises, Answer Set #4


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

What do Lanes generally represent? And what can they represent?


They mostly are used to represent organizational roles (e.g., Associate) or departments (e.g., Finance). The can represent most any actor that the modeler wants to use to partition activities

What do Pools represent?


Participants in a Process diagram, either a specific entity (e.g., FedEx) or a business role (e.g., Shipper)

52

BPMN Basic Concepts Exercises, Answer Set #5

Draw two ways that data can be output from one Task and then input into another Task

53

Topics

BPMN Background

Basic Concepts
Exercise #1 Modeling Concepts Orchestration, Choreography, and Workflow Exercise #2 Summary

54

BPMN Modeling Concepts Normal Flow


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.

55

BPMN Modeling Concepts Layered Hierarchical Process Model

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 SubProcess boundaries

56

BPMN Modeling Concepts Orchestration vs. Choreography

Orchestration: Workflow, internal processes, private processes contained within one Pool Choreography: Collaboration, global processes, B2B processes
Defined by the interaction between Pools

57

BPMN Modeling Concepts Orchestration


Orchestration defines processes that are internal to a specific organization. Thus, they are contained within a single Pool.

Workflow

58

BPMN Modeling Concepts Exercises #2, Create a Process for Placing Circuit and Service Orders
In this exercise you will read text descriptive information about a process and will map the process in process modeling tool. The process is a sample circuit service ordering process. This process provides business units within a large organization, with over 2300 branch offices, the ability to place orders (with approved Telco vendors) for the installation of data network services which connects the enterprise to the Internet and/or WAN. For example ordering T3 line from AT&T to be installed at a branch office. In a normal day there are several hundreds of instances of this process created. Concentrate on the basic flow of the Process After the business unit submits the order request, it is then reviewed for automatic approval.
Requests with the appropriate expense and accounts payable(A/P) codes, and installation sites outside the organizations SONET Ring Services are automatically approved and the orders placed with the vendor. The Asset Management group and the Service Delivery Group (responsible for the branch site) are notified. Requests with missing or invalid expense and A/P codes are routed to be reworked to correct the problem and resubmitted. Requests whose installation sites are in the SONET Ring services domain are routed to the Capacity Assessment Group; if there is enough available capacity the request is processed and the circuit is provisioned and the Asset Management Group is notified.

59

BPMN Modeling Concepts Exercises #2, Create a Process for Placing Circuit and Service Orders
Once the circuit/service is installed and tested the Order Management Group and Asset Management Group are notified of the order fulfillment, and the circuit/service asset information is sent to the Order Management Group.
The Order Manager assigned to the order validates and confirms the asset information provided by the vendor is correct and consistent with the provisioned service. The Order Manager updates the Order information with the provisioned information and the work is routed to an assigned Asset Manager for verification and update of the Enterprise Asset Management system. The Order Management group notifies the Business Unit Contact to inform them of the installation.

The Order Management Group can cancel an order that has been placed with the vendor (with no penalty) if the cancellation request is within the period the vendors schedule allows.

60

BPMN Modeling Concepts Exercises #2, Create a Process for Placing Circuit and Service Orders
[Answer]

61

You might also like