vuoi
o PayPal
tutte le volte che vuoi
BASIC CONCEPTS:
● Activities
: they denote some work or action done by a person, group of person, or a
system;
● Sequence flow:
they specify the order in which activities are to be executed, by
stating that the target activity can only start after the source activity is completed;
● Start and end nodes:
they denote the starting and ending point of the process. They
can be labeled to denote when a new execution of the process is started and the
status in which a process execution ends.
● Events:
represent either facts that are observed by a process or that are
communicated by a process;
● Gateways:
they allows the sequence flow to choose a different path based on some
conditions. In this way, we will execute different activities. They control the passage
of the flow.
PRIVATE PROCESSES: when we look inside the BPMN pool. This is what the organization
view from the inside. The private process denotes how we internally implement a given
service or functionality.
PUBLIC PROCESSES: It is the the view of the private process towards a specific
participant, and it includes what we want to expose about our process to a given participant,
that is, it is the process as seen by the other participant. It does not include so many details.
The person interested in it does not care to understand the whole process itself but just the
overall idea of what it happens inside.
COLLABORATION: It shows the interactions between two or more participants. The
interaction among participants is shown in terms of message flows that connect either the
pools or the nodes in the pool. Useful to study the interaction between to partners.
CHOREOGRAPHY: It is a process which describes the flow of interactions across two or
more pools. It define the sequences and conditions under which multiple cooperation
independent agents exchange messages in order to perform a task to achieve a goal state.
● Instead of looking at what happens inside, we look at what happens between
participants;
● Focus on interaction and coordination among participants
● DETAILS:
○ Sequence flow: Each participant has, at any time, all the information required
to understand which messages it can expect, and which messages it is
supposed to send.
○ TO BE CONTINUED...
CONVERSATIONS:
It represents interactions (message exchanges) among participants,
where the message have a common topic. They live between pools rather than within.
More precisely, a conversation is a set of messages that carries the same c
orrelation
information (such as a correlation key). The correlation (the topic of the interaction) message
is characterized by an identifier that is present in all messages exchanged in the
conversation.
This information is what is used to route the messages to the correct instance of each
participant.
EVENTS
Which kinds of boundary events are there in BPMN and what is the difference?
Boundary events catch events that occur inside an activity. They can be interrupting or
notinterrupting. In case of interrupting, when the event occurs all activities inside the activity
are terminated and the flow proceeds generating a flow from the boundary event. In case of
notinterrupting events, the activities are not terminated. The flow goes through more paths
and more tokens are generated.
What is the difference between multiple start events and eventbased gateways?
When should each of these be used?
The difference is that in the EventBased Gateways the sequence flow that is activated next
depends on which event occurs. In Multiple EventBased Gateway when one of the event
occurs, the other events stop “listening” for events and the flow proceed in the flow. In the
Multiple Start Event Node if a new event arrives a new instance of the process is created
and it never stops listening. Even if EventBased Gateways can be used to start a processes
it is advised not to because it is confusing and just use them as ordinary gateways.
The difference is that in a eventbased gateways the token is waiting for an event, and once
it had been triggered the gateway stop listening.
The start event is always listening for that event and once triggered creates a new instance
of the process! We use them in different contexts, If we have a process that can be triggered
by different events we use multiple starts events, while if during a process execution we
have to wait for different events in order to proceed, we use eventbased gateways and the
gateway will be “listening” only when a token reach it.
“An activity can have two or more different start events as input, as shown in F
igure 6.1
. Whenever
one of them occurs, a new instance is created and the token flows. Notice that the start event “listens”
to events only when there is no instance active. Once the in stance is active, start events do not wait
for events to arrive in that instance (a different instance will be generated if another such event
arrives). This pair of start events is therefore analo gous to a multiple start event.” p. 67
What is the purpose of start events in BPMN and in process modelling in general?
Why is it important to model start events accurately?
The allow us to clearly model when or under what condition a process instance will start. It
can be associated to a trigger (such as the arrival of a message or at a certain time) or it can
be started when someone in the organization decides to.
What is the difference between error and terminate end events?
Both error and terminate events terminate all activities. But with the Error Event an error is
thrown and it can be catched only by an error intermediate event or by a boundary catching
event.
ADVANCED TASKS
What is an ad hoc subprocess? When is it useful?
Ad hoc subprocesses are a collection of activities without a prescribed order or flow. Ad hoc
subprocesses provide a more flexible way to specify ordering among activities, or, rather,
they allow to avoid specifying ordering among activities. They can be in parallel or sequential
mode. They allow to avoid specifying order between activities. They are useful when we
don't want to specify an order constraint.
The parallel
one works like this: at the start, all activities without input flows are enabled.
In a sequential
subprocess, we have the same flexibility of choice but we can activate only
one activity at a time.
What is the difference between a parallel multiinstance and a parallel ad hoc
subprocess?
A parallel multiinstance activity executes in parallel multiple instances of the same activity.
Is An ad hoc subprocess can execute in parallel different activities.
What is the difference between a multiinstance sequential and a a multiinstance
parallel task?
A multiinstance sequential task execute multiple instances of the same activity one after the
other while the parallel one execute all of them at the same time, in parallel.
When should we use an event subprocess instead of simply using event nodes?
We should use an event subprocess when we want to reduce complexity of the diagram and
maintain it all at the same level of abstraction.
Event subprocess can be used also when the interested event can be triggered during the
execution of the overall process.
These subprocesses are not part of the normal flow, but they are activated when the specific
event is triggered.
The event subprocesses are the dotted boxes that are not part of the flow :). They are useful
for capturing specific events without interrupting the normal flow of the process. These
events can happen at any time during the process, so if you tried to model the same thing
with event nodes, you would have to listen for events at every step (e.g. with boundary
events).
When should we use send and receive tasks instead of send and receive event
nodes?
We should use send and receive tasks instead of event nodes when the action to be
performed is not just to send or receive a message but it requires also work to be done.
CHOREOGRAPHY
Which is the difference between public and private processes? what is the relation
between them?
A private process describes how a process is run and what tasks is made of from the
internal point of view of the organization. A public processes is a view of the private process
from the perspective of an external participant and it defines whatever the other participants
need to know to interact with the service.
What does a task in a choreography represent?
A task in choreography is a message exchange pattern. It can be oneway, requestreply or
multiparty message exchange. It represents the interactions in terms of information
exchange between two entities.
Can we use an xor gateway in a choreography, and if we can, which are the rules we
need to follow?
In a choreography we can use XOR gateway only if all participants that initiate actions after
the gateway, are able to evaluate the gateway. If they are not they must implement an
eventbased gateway and be ready to alternatives.
What is the purpose and intended usage of choreographies?
Choreographies are used to describe the flow of interactions and coordination between
participants and define the sequence and conditions of the exchange of messages.
Choreographies are used for topdown design of a service delivered in collaboration by
multiple participants. With the choreography we are able to derive the public processes of
each participant.
TRANSACTIONS
What is the difference between a regular subprocess and a transaction subprocess?
N/A
What is an ACID transaction and what are the ACID properties?
An ACID transaction is a logical unit of execution, a set of data operation that must be
executed as a whole. ACID stands for Atomicity (the operations must be executed all of
them or none of them), Consistency (the database must be in a correct state after the
execution), Isolation (updated must not be visible before committed), Durability (if the
changes are committed they must not be lost because of subsequent failure).
Why ACIDity is sometimes i) not achievable and ii) not desirable in BPM?
N/A
What is two phase commit and when it is used?
2phase commit is a protocol for achieving ACIDity among multiple participants where both
parties first agree to attempt the transaction, then all must agree to either go forward with the
entire unit of work or not.
PROCESS ANALYSIS
Key performance metrics:
● Flow time (T) (or throughput time): Total time spent by flow unit in a process from
start to end. Measured in units of time (minutes, seconds..). Reducing flow time
benefits costs (less inventory), faster feedback about quality, more responsiveness to
order changes. In case of a parallel gateway, we consider for the flow time the
activity which need mor