Module6 BPMN New
Module6 BPMN New
BUSINESS
PROCESS
MANAGEMENT
Dr. Tuan Truong
NOTATION
(BPMN)
PROCESS ANALYSIS AND
DESIGN business process modeling notation
Swim Lanes
start end
activity event gateway sequence
flow
LET’S START MODELING
Order-to-cash process
A typical order-to-cash process is triggered by the receipt of a
purchase order from a customer. The purchase order has to be
checked against the stock regarding the availability of the item(s)
requested. Depending on stock availability the purchase order may
be confirmed or rejected.
If the purchase order is confirmed, an invoice is emitted and the
goods requested are shipped. The process completes by archiving
the order or if the order is rejected.
SOLUTION IN BPMN: ORDER-
TO-CASH
end
Reject order event
activity Items not in
Order
stock
rejected
Check stock split gateway end
availability
Purchase event
order Items in
received stock Confirm Emit Archive
Ship goods
start order invoice order
Order
event fulfilled
Naming conventions
• Event: noun + past-participle verb (e.g. insurance claim lodged)
• Activity: imperative verb + noun (e.g. assess credit risk)
BPMN CORE ELEMENTS
Activities capture work performed in a
process
Different types of activities
activity
6
BPMN CORE ELEMENTS
Gateways capture forking and joining paths in the
control flow.
Different types of gateways
gateway
7
PROCESS MODEL VS PROCESS
INSTANCES: THE TOKENS GAME
Order #1
Order #2
Order #3
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
8
A LITTLE BIT MORE ON
EVENTS…
A start event triggers a new process instance start
event
by generating a token that traverses the
end
An end event signals that a process instance has
event
completed with a given outcome by consuming
a token (“tokens sink”)
9
LET’S RECONSIDER OUR
ORDER-TO-CASH EXAMPLE
[…] If the purchase order is confirmed, an invoice
is emitted and the goods requested are
shipped. The process completes by archiving the
order. […]
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
10
SOLUTION: ORDER-TO-CASH
An
yt wi
th hing
thi wr
s m on
od g
Reject order
el?
Items not in
Order
stock
rejected
Check stock
availability split Emit invoice
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
split join fulfilled
Ship goods
11
A LITTLE MORE ON
GATEWAYS: XOR GATEWAY
An XOR Gateway captures decision points (XOR-
split) and points where alternative flows are merged
(XOR-join)
condition
5
EXERCISE 6.1
Model the following fragment of a business process for
assessing loan applications (loan origination process).
Check stock
availability XOR-split Send invoice
Purchase
order Items in
received stock
Archive
Confirm order
order
Order
AND-split AND-join fulfilled
Ship goods
EXERCISE 6.2
Model the following fragment of a business process for
assessing loan applications.
Haptic
Standalone
E.g. Visio, Camunda Modeler
Repository-based
E.g. ARIS, Signavio, Apromore
19
XOR / AND ARE NOT ALWAYS
WHAT WE NEED...
Order distribution process
A company has two warehouses, one in Amsterdam, the other
in Hamburg, that store different products. When an order is
received, it is distributed across these warehouses: if some of
the relevant products are maintained in Amsterdam, a sub-
order is sent there; likewise, if some relevant products are
maintained in Hamburg, a sub-order is sent there. Afterwards,
the order is registered and the process completes.
SOLUTION 1
Order distribution process
XOR-split XOR-join
AND-split AND-join
SOLUTION 2
Order distribution process
AND-split AND-join
XOR-split XOR-join
OR GATEWAY
An OR Gateway provides a mechanism to
create and synchronize n out of m parallel
flows.
cond1
24
WHAT JOIN TYPE DO WE
NEED HERE?
25
BUSINESS OBJECTS (AKA
ARTIFACTS)
Can be:
Physical or digital information artifacts
(e.g. an order on paper, an invoice on
PDF)
Physical material (e.g. a box
containing the ordered goods)
26
OUR ORDER-TO-CASH
PROCESS, AGAIN Send
invoice
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order
rejected
The purchase order document serves as an input to the stock availability check against the
Warehouse DB. Based on the outcome of this check, the status of the document is
updated, either to “approved” or “rejected”. If the order is approved, an invoice and a
shipment notice are produced. The order is then archived on the Orders DB.
27
BUSINESS OBJECTS IN BPMN
A Data Object captures an artifact
required (input) or produced (output)
Purchase
order
Invoice
by an activity.
Can be physical or electronic
Emit
invoice
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order Orders DB
rejected Shipment
notice
Warehouse DB
Purchase
Order
[rejected]
The purchase order document serves as an input to the stock availability check against the Warehouse DB. Based
29
on the outcome of this check, the status of the document is updated, either to “approved” or “rejected”. If the order
is approved, an invoice and a shipment notice are produced. The order is then archived on the Orders DB.
EXERCISE 6.3
31
PROCESS RESOURCES
Active resources:
Process participant
Software system
Equipment
Resource class:
A group of (active) resources that are interchangeable, e.g. a role, an
organizational unit or the whole organization.
32
BPMN ELEMENTS – POOLS &
LANES
Pool
Captures a resource class. Generally used to model a business party (e.g. a
whole company)
Pool
Lane
Captures a resource sub-class within a resource class by partitioning a pool.
Generally used to model departments (e.g. shipping, finance), internal roles (e.g.
Manager, Associate), software systems (e.g. DBMS, CRM) or equipment (e.g.
Manufacturing plant) Lane
Pool
Lane
Lane
Lane
33
EXAMPLE: ORDER-TO-CASH
14
BPMN ELEMENTS – MESSAGE FLOW
A Message Flow represents a flow of information or materials between
two process parties (Pools)
Message
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
35
BPMN ELEMENTS – START MESSAGE EVENT
36
EXAMPLE:
ORDER-TO-
CASH
37
POOLS, LANES AND
MESSAGE FLOWS: SYNTAX
1. The Sequence Flow cannot cross
the boundaries of a Pool
2. Both Sequence Flow and
Message Flow can cross the
boundaries of Lanes
3. A Message Flow cannot connect
two flow elements within the
same pool
19
WHEN ARE MESSAGES SENT OR
RECEIVED?
• A Send activity will send the outgoing message upon activity completion
• A Receive activity won’t start until the incoming message has been received
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
Note: the order of the message flows w.r.t. an activity is irrelevant, the above
rules always hold
39
WHEN ARE MESSAGES
• Message B is first received
SENT OR RECEIVED?
before Activity can start.
• Message A is sent after,
upon Activity’s completion
• First, message B is
received, before Activity can
start.
• Then, message A is sent,
upon Activity’s completion
40
PROCESS (OR
ORCHESTRATION)
Models a single business party and can be:
DIAGRAM
Public view (black box)
Auctioning Service
Private view (white box)
Auctioning Service Conduct auction
41
COLLABORATION DIAGRAM
Send delivery
notification
Seller
Send auction Send
Send
creation payment
payment ack.
request details
Private
Auction Auction process
creation Auction completion
request creation notification
confirmation Goods
Payment sent
details Payment notification
Auctioning Service
Auction
Bid Bid
completion
acknowledgement
notification
Bidder
Public
process
Models a global business process between at least two business parties (each modelled by a Pool)42
BPMN TOOL
https://demo.bpmn.io/
https://www.bpsimulator.com/run/
QUESTION AND
ANSWER