BPMN
indigoo.com
BUSINESS PROCESS
MODEL AND NOTATION
OVERVIEW OF BUSINESS PROCESS
MODEL AND NOTATION (BPMN) LANGUAGE FOR
MODELING BUSINESS PROCESSES
PETER R. EGLI
INDIGOO.COM
1/24
Rev. 1.60
indigoo.com
Contents
1.
2.
3.
4.
5.
6.
7.
What is BPMN?
BPMN Main Parts
BPMN Scope
BPMN Core Concepts
BPMN versus BPEL
BPMN notation elements
BPMN 2.0 versus BPMN 1.2
2/24
Rev. 1.60
indigoo.com
1. What is BPMN?
BMPN is a graphical modeling language and notation for business processes (=graphical DSL
Domain Specific Language) with the following goals:
1. Common language understandable for different stakeholders.
2. Visualization of execution languages like WSBPEL.
3. Interchange format between tools for process description and diagrams.
Business people
use and monitor processes
Business analysists
define processes
Developers
implement processes
3/24
Rev. 1.60
indigoo.com
Orchestration/Process
Collaboration
Peter R. Egli 2015
Choreography
Conversation
4/24
Rev. 1.60
indigoo.com
Gateway
Data
Data
Object
Data
Output
Data
Input
Data
Store
Connecting Objects
Sequence Flow
Message Flow
Association
Data Association
Pool
Lane
Swimlanes
Artifacts
Text
Annotation
Group
5/24
Rev. 1.60
indigoo.com
BPMN
Business Process Model
Mapping to
<bpel:to>$timeService1GetCityTimeRequestMsg.param
eters/TimeService1:city</bpel:to>
</bpel:copy>
6/24
Rev. 1.60
indigoo.com
3. BPMN Scope
Different model notations and languages are used for modeling business aspects.
BPMN is a notation to model business processes.
Vision
Balanced
Scorecards
Organization
Org
Chart
Business
Rules
Business
Rules
Model
Functional
Breakdown
Functional
Decomposition
Diagram
Services
SOMF
Enterprise
Architecture
ArchiMate
Strategy
Business
Processes
Data
Information
Strategy
Map
BPMN
Entity
Relationship
Diagram
7/24
Rev. 1.60
indigoo.com
Activity
Event
Gateway
Activity
(=abstract super
class)
Sub-Process
Call Activity
Concrete
activity
types
Process types:
a. Private non-executable process (process for documentary purposes only)
b. Private executable process (contains enough detail to be executable)
c. Public process
8/24
Rev. 1.60
indigoo.com
Private Process
Check Order
Completeness
Start
Calculate Price
BusinessPro...
Approv e Order
Send Notification
End
Car Owner
b. Public process:
Public processes show interactions between a private process and another process or
participant (pool).
Internals of public process are not shown, only the interactions with another process.
My Car is Broken
Start
Go To CarServ
Receive Damage
Description
Problem Is Fixed,
Go To Checkout
Desk
9/24
Rev. 1.60
indigoo.com
Patient
Message flows cross the pool boundaries while sequence flows connect activities within pools.
Illness occurs
Contact Doctor
Request
Receive
Appointment
Healthcare Contact
Center / Doctor
Receive
Request
Send
Appointment
Send
Symptoms
Receive
Medicine
I have a stomach
ache
Receive
Symptoms
Give Medicine
10/24
Rev. 1.60
indigoo.com
I want to see
my doctor
I feel sick
I need my
medicine
Patient
Patient
Patient
Patient
Doctor Request
Handle Symptoms
Handle Prescription
Hanlde Medicine
Doctor
Doctor
Doctor
Doctor
Go see the
doctor
Pick up your
medicine
Here is your
medicine
11/24
Rev. 1.60
indigoo.com
Supplier
Retailer
Delivery
Negotiations
Consignee
Delivery /
Dispatch
Plan
Shipment
Schedule
Carrier
Shipper
Delivery /
Dispatch
Plan
Insurance
Coverage
12/24
Rev. 1.60
indigoo.com
Description Language
Translator
Execution
Language
Runtime
BPMN 1.2
BPMN Mapper
WS-BPEL
(BPEL 2.0)
BPMN 2.0
BPMN 2.0
BPMN runtime
Java
Java compiler
Byte code
C / C++
Compiler
Machine code
CPU
13/24
Rev. 1.60
indigoo.com
Task
Sub-process
Symbol
Task
Sub-Process
Call Activity
(Task)
Call activity
Call Activity
(Sub-Process)
Description
Atomic activity within a process that cannot be broken down
further.
Typically a task is executed by an end-user or application.
14/24
Rev. 1.60
indigoo.com
Task type
Abstract task
Service task
Send task
Receive task
Instantiating
receive task
Symbol
Task
Service Task
Description
Task without any specialization.
Task that uses some sort of service like a web service.
Send Task
Receive Task
Task that waits for a message to arrive from an external participant. After
the message is received, the task is completed.
Process
Instantiate
Receive Task
15/24
Rev. 1.60
indigoo.com
Task type
Symbol
User task
User Task
Manual task
Business rule
task
Script task
Manual Task
Business Rule
Task
Script Task
Description
Task executed by a human with the assistance of a software application.
16/24
Rev. 1.60
indigoo.com
Symbol
Loop Task
Multi-instance
Sequential Task
Description
A looping task repeats its action as long as a loop flag is set.
Multiinstance
parallel
Multi-instance
Parallel Task
Compensation
Compensation
Task
Task
Allowed
marker
combinations
Task
Task
indigoo.com
Event subprocess
Symbol
Transaction
Sub-Process
Description
A transactional sub-process executes all internal activities either
successfully or none (exception case).
Typically, a transaction sub-process is combined with a cancel event to
call a transaction cancel (rollback) handler.
Execution of an event sub-process is triggered by an event. The
execution is independent of the parent process flow, thus there are no
incoming and outgoing sequence flows. However, an event sub-process
is only executed when the parent process (or sub-process) is active.
18/24
Rev. 1.60
indigoo.com
Symbol
Loop
Sub-Process
Description
A looping sub-process repeats its internal activities as long as a loop
flag is set.
Multiinstance
sequential
Multi-instance
Sequential
Sub-Process
Multiinstance
parallel
Multi-instance
Parallel
Sub-Process
Compensation
Compensation
Sub-Process
Ad-hoc
Sequential
Sub-Process
Ad-hoc Parallel
Sub-Process
Ad-hoc
sequential
Ad-hoc
parallel
Peter R. Egli 2015
19/24
Rev. 1.60
indigoo.com
Task marker
Allowed
marker
combinations
Loop &
Compensation
Sub-Process
Multi-instance &
Compensation
Sub-process
Multi-instance &
compensation (parallel and
sequential)
Multi-instance &
Ad-hoc
Sub-process
Ad-hoc &
Compensation
Sub-process
Multi-instance &
Ad-hoc &
Compensation
Sub-process
20/24
Rev. 1.60
indigoo.com
Simplified meta-model:
Swimlane
<<represents>>
Lane
(=Subpartition
in pool)
Pool
<<Graphical
representation of>>
Participant
<<represents>>
PartnerEntity
Example:
Company
PartnerRole
Example:
Buyer
<<responsible for>>
Process
pool
Process
Blackbox pool
No process referenced
Contains a process
Pool types
21/24
Rev. 1.60
indigoo.com
Symbol
Description
Process
("Whitebox") pool
Process Pool
Swimlanes (2/2):
Blackbox pool
Black-box
pool
Sales
Production
Pool with
lanes
Lane
Swimlane
marker
Symbol
Description
Multiinstance
Multi-instance
Pool
Swimlanes markers:
22/24
Rev. 1.60
indigoo.com
Symbol
or
Description
Exclusive gateways are like decisions. The process flow takes either of the
outgoing directions (only 1 or none).
Inclusive
gateway
Parallel
gateway
Parallel gateways join and fork flows. Thus parallel gateways are used to
create (fork) and synchronize (join) parallel flows.
No condition checking is involved with parallel gateways.
Complex
gateway
Event gateway
23/24
Rev. 1.60
indigoo.com
Reusable sub-process
Call activity
Embedded sub-process
Sub-process
Abstract process
Public process
None task
Abstract task
24/24
Rev. 1.60