00:00:00
hello and welcome to this online
00:00:02
introduction to BPMN my name is Michal
00:00:05
Bromley and I will present you what is
00:00:07
BPMN and how to use it
00:00:10
ppm n stands for Business Process Model
00:00:13
and notation it is an object management
00:00:16
group specification the primary goal of
00:00:18
BPM n is to provide a graphical notation
00:00:21
that is understandable by all business
00:00:23
users from the business analysts that
00:00:27
create the initial drafts of the
00:00:29
processes to the technical developers
00:00:33
responsible for implementing the
00:00:35
technology that will perform those
00:00:37
processes and finally to the business
00:00:40
people who will manage and monitor those
00:00:43
processes the BPM and specification is
00:00:47
standardized by iso/iec BPMN provides
00:00:51
multiple diagrams which are defined for
00:00:54
the people who design and manage
00:00:56
business processes BPMN follows the
00:00:59
tradition of flow charting notations for
00:01:02
readability and flexibility in addition
00:01:05
the BPMN execution semantics are fully
00:01:07
formalized a process is a sequence or
00:01:12
flow of activities with the objective of
00:01:14
carrying out work in BPM M a process is
00:01:18
depicted as a graph of flow elements
00:01:20
which are a set of activities events and
00:01:27
gateways connected using sequence flows
00:01:31
in this example somebody is feeling
00:01:36
hungry
00:01:40
so he decides to order a pizza and wait
00:01:45
for the pizza to be delivered within 1
00:01:48
hour when the pizza is received
00:01:51
he pays and it's the pizza filling
00:01:58
satisfied a sequence flow is used to
00:02:02
show the order of flow elements in a
00:02:05
process each sequence flow has only one
00:02:08
source and only one target the source
00:02:11
and target must be events activities or
00:02:14
gateways a sequence flow is a solid line
00:02:18
with an arrowhead this is called also
00:02:21
unconditional sequence flow a sequence
00:02:26
flow can optionally define a condition
00:02:27
expression indicating that the flow will
00:02:30
be taken if the expression evaluates to
00:02:33
true the source of a conditional
00:02:35
sequence flow can be a gateway or an
00:02:37
activity when the source is an activity
00:02:40
the sequence flow is drawn with a
00:02:42
diamond marker a sequence flow can also
00:02:47
be defined as default such a sequence
00:02:50
flow will have a slash marker the
00:02:53
default sequence flow is taken only if
00:02:55
all other outgoing sequence flows are
00:02:57
not valid that is their condition
00:03:00
expression evaluate false note that if a
00:03:03
default flow is present then all other
00:03:06
flows must be conditional however
00:03:09
conditional flows can be mixed with
00:03:11
unconditional flows activities represent
00:03:15
points in a process flow where work is
00:03:17
performed
00:03:18
they are the executable elements of a
00:03:21
BPMN process an activity can be atomic
00:03:24
or non atomic tasks are atomic
00:03:27
activities while non-atomic activities
00:03:30
include sub processes and collectivities
00:03:32
a task is an atomic activity within a
00:03:37
process flow a task is used when the
00:03:40
work in the process cannot be broken
00:03:42
down to a final level of detail there
00:03:46
are different types of tasks identified
00:03:48
by a marker at the top left of the task
00:03:52
a task without a marker is called
00:03:54
abstract task it is a generic task a
00:03:59
service task is a task that uses some
00:04:02
sort of service which could be a web
00:04:04
service or an automated application a
00:04:08
scent ask is designed to send a message
00:04:11
once the message has been sent the task
00:04:13
is completed a receive task will wait
00:04:18
for the message to arrive once the
00:04:21
message has been received the task is
00:04:23
completed a user task is a typical
00:04:28
workflow task where a human performs the
00:04:31
task with the assistance of a software
00:04:33
application a manual task is expected to
00:04:37
be performed without the aid of any
00:04:39
software application a business rule
00:04:43
task is a mechanism for the process to
00:04:45
provide input to a business rules engine
00:04:47
and to get the output of calculation
00:04:50
that the business rules engines might
00:04:52
provide a script task is executed by a
00:04:57
business process engine the script is
00:05:00
defined in a language that the engine
00:05:02
can interpret a sub process is an
00:05:07
activity whose internal details have
00:05:09
been modeled using activities gateways
00:05:12
events and sequence flows as a process
00:05:15
is a graphical object within a process
00:05:19
as a process can be in a collapsed view
00:05:22
that hides its details or it can be in
00:05:27
an expanded view that shows its details
00:05:30
within the view of the process in which
00:05:32
it is contained there are different
00:05:37
types of sub processes an embedded sub
00:05:40
process is part of the normal flow of
00:05:42
the parent process it is triggered by
00:05:44
its incoming sequence flows an event sub
00:05:48
process is a specialized sub process it
00:05:51
is not part of the normal flow of its
00:05:53
parent process hence there are no
00:05:56
incoming or outgoing sequence flows like
00:05:59
a standard sub process which uses the
00:06:01
flow of the parent process as a trigger
00:06:03
an event sub process has a start event
00:06:06
trigger each time the start event is
00:06:09
triggered while the parent process is
00:06:11
active then the event sub process will
00:06:13
start a transaction is a specialized
00:06:18
type of sub process that will have a
00:06:20
special behavior controlled through a
00:06:22
transaction protocol like the embedded
00:06:25
sub process it is part of the normal
00:06:27
flow of the parent process an adult sub
00:06:31
process is a specialized type of sub
00:06:33
process that is a group of activities
00:06:36
that have no required sequence
00:06:37
relationships
00:06:38
this means that activities within the a
00:06:41
dog sub process are generally
00:06:43
disconnected from each other a
00:06:47
collectivity identifies a point in the
00:06:50
process where a global process or a
00:06:52
global task is used the activation of a
00:06:55
collectivity results in the transfer of
00:06:57
control to the cult global process or
00:07:00
global task a global process is a
00:07:04
process that can be called from another
00:07:07
process a global task is a task that can
00:07:11
be reused or called in different
00:07:13
processes it can be an abstract user
00:07:16
manual script or board business rule
00:07:19
tasks an event is something that happens
00:07:24
during the course of a process events
00:07:27
affect the flow of the process the start
00:07:29
of a process the end of a process a
00:07:32
message that arrives a timer that fires
00:07:34
could be considered as events there are
00:07:37
three main types of events start and an
00:07:40
intermediate the start event indicates
00:07:45
where a process will start the state
00:07:48
event starts the flow of the process and
00:07:51
thus it cannot have any incoming
00:07:53
sequence flows the end event indicates
00:07:57
where a process will end the end event
00:08:00
ends the flow of the process and thus it
00:08:02
will not have any outgoing sequence
00:08:05
flows intermediate events indicate where
00:08:09
something happens somewhere between the
00:08:11
start and the end of a process they will
00:08:14
affect the flow of the process but will
00:08:16
not start or terminate the process
00:08:20
an intermediate event can be attached to
00:08:23
the boundary of an activity this is
00:08:25
called a boundary event in this example
00:08:28
the triggering of signal one while a one
00:08:31
is being executed will result in the
00:08:34
interruption of the call activity and
00:08:37
the flow to T two will be taken an event
00:08:42
can catch a trigger or throw a result
00:08:45
start and intermediate catch events can
00:08:48
catch triggers while and an intermediate
00:08:50
throw events can throw results both
00:08:53
triggering result are represented by
00:08:56
event definitions let's have a quick
00:08:58
look at some event definitions messages
00:09:03
are used to describe communication
00:09:04
between different processes this is a
00:09:07
one-to-one type of communication a
00:09:09
message can be thrown by an intermediate
00:09:12
and an event it can be caught by start
00:09:16
and intermediate events signals are used
00:09:20
for broadcast communication within and
00:09:22
across processes this is a one-to-many
00:09:25
type of communication a signal can be
00:09:28
thrown by intermediate and end events it
00:09:31
can be caught by start and intermediate
00:09:34
events timers are implicitly thrown
00:09:38
meaning there are no throw events for
00:09:41
timers when they are activated they wait
00:09:45
for a time to elapse before triggering
00:09:47
the catch event a timer can be caught by
00:09:50
start and intermediate events the table
00:09:55
shows all available bpmn event
00:09:58
definitions and the type of events they
00:10:01
apply to gateways are used to control
00:10:06
the flow of a process the term gateway
00:10:09
implies that there is a gating mechanism
00:10:11
that either allows or denies passage
00:10:15
through the Gateway the Gateway controls
00:10:18
the flow of both diverging and
00:10:19
converging sequence flows meaning that
00:10:22
it can have multiple input and multiple
00:10:25
output flows the type of gateways are
00:10:28
exclusive parallel inclusive complex and
00:10:32
invent based
00:10:33
a diverging exclusive gateway or
00:10:38
decision is used to create alternative
00:10:40
paths within a process flow only one of
00:10:43
the paths can be taken a decision can be
00:10:46
thought of as a question that is asked
00:10:48
at a particular point in the process the
00:10:51
question has a defined set of
00:10:53
alternative answers each answer is
00:10:56
associated with an outgoing sequence
00:10:58
flow in the example either alternative 1
00:11:02
or 2 can be true but not both if neither
00:11:05
of them is true than the default path is
00:11:08
taken leading to T 3 when a path is
00:11:13
taken all other paths will no longer be
00:11:16
valid a converging exclusive gateway is
00:11:21
used to merge alternative paths each
00:11:23
incoming sequence flow is routed to the
00:11:25
outgoing sequence flow without
00:11:27
synchronization in the example if the
00:11:30
flow from T 4 has been taken first the
00:11:34
Gateway will trigger without waiting for
00:11:36
the flow from T 5 to arrive a parallel
00:11:41
gateway is used to create and combine
00:11:43
parallel flows a diverging parallel
00:11:46
gateway creates parallel paths without
00:11:48
checking any conditions each outgoing
00:11:52
sequence flow is taken upon execution of
00:11:55
this gateway the converging parallel
00:11:59
gateway will wait for all incoming flows
00:12:02
before triggering unlike the exclusive
00:12:06
gateway the converging parallel gateway
00:12:09
will synchronize its incoming flows a
00:12:14
diverging inclusive gateway or inclusive
00:12:17
decision can be used to create
00:12:19
alternative but also parallel paths
00:12:21
within a process flow unlike the
00:12:24
exclusive gateway all condition
00:12:26
expressions are evaluated all paths with
00:12:29
expression evaluating to true are taken
00:12:32
this means that all combinations of the
00:12:35
paths may be taken from 0 to all
00:12:38
however the Gateway should be designed
00:12:40
so that at least one path is taken a
00:12:43
default path can actually be defined to
00:12:46
be
00:12:46
taken if none of the conditional
00:12:48
expressions evaluate to true in the
00:12:51
example both expressions 1 & 2 are
00:12:54
evaluated both paths are taken if the
00:12:59
expression evaluate to true if neither
00:13:02
of them evaluates to true then the
00:13:05
default path will be taken leading to t3
00:13:07
a converging inclusive gateway is used
00:13:12
to merge a combination of alternative
00:13:14
and parallel paths a flow arriving at an
00:13:18
inclusive gateway may be synchronized
00:13:20
with some other flows that arrived later
00:13:22
at this gateway in the example if the
00:13:25
flow from t4 arrives at the gateway it
00:13:28
may or may not trigger the Gateway the
00:13:31
Gateway is triggered if there is no
00:13:33
other flow in the process that can
00:13:35
arrive at the gateway via t5 here the
00:13:40
Gateway waits for both flows from t4 and
00:13:44
t5 before triggering in the divergent
00:13:48
complex gateway the paths to be taken
00:13:50
are determined by the condition
00:13:52
expressions in the outgoing sequence
00:13:54
flows same as in the inclusive gateway a
00:13:57
converging complex gateway can be used
00:14:00
to model complex synchronization
00:14:02
behavior an expression is used to
00:14:04
describe the precise behavior for
00:14:07
example the expression could specify
00:14:09
that one out of the two incoming
00:14:11
sequence flows from t4 and t5 is needed
00:14:14
to activate the Gateway in this case
00:14:18
taking either of the paths will trigger
00:14:20
the Gateway the event base gateway
00:14:25
represents a branching point in the
00:14:27
process where the alternative paths that
00:14:29
follow the Gateway are based on events
00:14:31
that occur rather than the evaluation of
00:14:34
expressions is whittany exclusive or
00:14:38
inclusive gateway a specific event
00:14:40
determines the path that will be taken
00:14:43
when the first event in the event
00:14:45
gateway configuration is triggered then
00:14:47
the path that follows that event will be
00:14:49
taken all the remaining paths of the
00:14:52
Gateway will no longer be valid
00:14:54
basically the event gateway acts as an
00:14:57
exclusive gateway triggered by
00:15:00
unlike other gateways the event-based
00:15:02
gateway can be only divergent in this
00:15:08
example if message 1 is received its
00:15:11
path will be taken the other paths will
00:15:14
no longer be valid a traditional
00:15:17
requirement of process modeling is to be
00:15:20
able to model items physical or
00:15:22
information items that are created
00:15:25
manipulated and used during the
00:15:27
execution of a process this requirement
00:15:30
is realized in BPMN through various
00:15:32
constructs including data objects data
00:15:35
inputs data outputs data stores and data
00:15:38
associations these constructs do not
00:15:41
affect the flow of the process a
00:15:47
collaboration is used to describe the
00:15:49
interaction between participants it
00:15:51
usually contains two or more pools
00:15:54
representing the participants in the
00:15:56
collaboration a message exchanged
00:15:59
between the participants is shown by
00:16:01
message flows that connect the pools or
00:16:03
the elements within the pools a pool is
00:16:08
a graphical representation of a
00:16:09
participant in a collaboration a
00:16:11
participant can be a specific partner
00:16:14
entity example a company or can be a
00:16:17
more general partner role example a
00:16:20
customer or a vendor the pool may be
00:16:25
shown as a white box with all details of
00:16:28
the contained process exposed like the
00:16:30
vendor in this example or it can be
00:16:35
shown as a black box with all details
00:16:38
hidden like the customer a lane is a sub
00:16:43
partition within a process often within
00:16:46
a pool lanes are used to organize and
00:16:50
categorize activities of a process
00:16:52
within a pool the meaning of the lanes
00:16:55
is up to the modular lanes are often
00:16:58
used for such things as internal roles
00:17:00
in this example the delivery boy is an
00:17:04
internal role of the vendor its role
00:17:06
consists in delivering the pizza to the
00:17:08
customer
00:17:11
a message flow is used to show the flow
00:17:13
of messages between two participants a
00:17:16
message flow must connect two separate
00:17:19
pools they connect either to the pool
00:17:22
boundary or to flow elements within the
00:17:25
pool
00:17:26
they must not connect to elements within
00:17:29
the same pool let's put everything
00:17:32
together in a simple example this bpmn
00:17:35
model describes the collaboration
00:17:37
between two participants the customer
00:17:39
and the vendor both pools representing
00:17:42
the participants are shown as a white
00:17:44
box with their internal processes
00:17:46
visible the vendor process is organized
00:17:49
in three roles represented by the lanes
00:17:52
clerk chef and delivery boy the
00:17:57
collaboration starts with a customer
00:17:59
feeling hungry so he decides to order a
00:18:03
pizza the pizza order will start the
00:18:07
vendor process customer and vendor
00:18:09
processes can proceed in parallel the
00:18:14
customer will now wait for the pizza if
00:18:17
the pizza is not received within 60
00:18:19
minutes he will complain in the vendor
00:18:22
process the clerk is waiting for
00:18:24
complaints while the chef is preparing
00:18:26
the pizza let's make the customer
00:18:29
complain
00:18:31
the clerk will try to calm the customer
00:18:34
by reassuring him that his pizza will be
00:18:37
arriving soon enough complaining the
00:18:41
pizza should be ready now it can be
00:18:43
delivered to the customer the customer
00:18:47
received the pizza now he can pay get
00:18:51
the received and finally eat the pizza
00:18:55
feeling satisfied this animation has
00:18:59
been done with the pragmatic process
00:19:01
tool check the link in the video
00:19:03
description to see how to animate and
00:19:05
verify BPM and models thank you for your
00:19:10
attention for more information please
00:19:12
visit our website pragmatic calm