Developer Data Modeling Mistakes: From Postgres to NoSQL
Chapter 5
1. 4/9/2013
PROCESS CHOREOGRAPHIES
Business Process Methodology • business-to-business collaboration
Chapter 5- Process Choreographies
• To realize these collaborations, process
orchestrations interact with each other,
typically by sending and receiving messages.
Prepared by: • ensuring interoperability between process
Rao Majid Shamshad
University of Education, Lahore
orchestrations, each of which is performed by
email: majidrao111@yahoo.com a participant in a business-to-business
http://bpm-ue.blogspot.com/
collaboration.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 2
STANDARDIZED CHOREOGRAPHIES NEED & ADVANTAGES
• RosettaNet for the supply chain domain, • companies increasingly join forces to combine
• SWIFTNet for financial services, their services and products to provide added-
• Health Level Seven (HL7) for health care value products to the market.
services. • costs for the individual companies are reduced
They all define rules for the collaboration that • New companies can join the market more
companies need to comply with in order to easily,
collaborate with each other. • depend on the number of interacting partners
and the desired level of automation.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 3 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 4
1
2. 4/9/2013
• The first activity to be performed by Company 1 is
receive activity A1. This activity waits to receive a
message sent by activity B2. Assuming that
communication is synchronous, i.e., the receive
activity A1 is blocking, the process orchestration
run by Company 1 cannot proceed. Analogously,
Company 2 waits in activity A2 to receive a
message from activity C1 to be sent by Company
1. As a result, both process orchestrations cannot
proceed: they are stuck in a permanent deadlock
situation. To avoid these kinds of problems, the
partners involved in a process choreography need
to agree on the process choreography.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 5 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 6
5.2 DEVELOPMENT PHASES
• Business engineers are mainly involved in the
choreography design phases, including
scenario modelling, domain scoping,
milestone definition, and participant
identification. Business engineers are
responsible for business-related aspects of the
process choreography; they need to make
sure that the collaboration contributes to the
goals of the enterprise, similarly to
organizational business processes.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 7 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 8
2
3. 4/9/2013
• Once the process choreography design is
• System architects are responsible for the
completed, developers are responsible for
architectural aspects of the implemented process realizing the process orchestrations in a way
choreography. System architects are at the border that the overall business-to-business
collaboration as specified in the process
of design and implementation, as sketched in
choreography is realized. Behavioral interfaces
Figure 5.4. This means that they are involved in are important artifacts for designing the
the design of process choreographies as well as in individual process orchestrations.
their implementation. In particular, they are
involved in the specification of the behavioral
interfaces, discussed later in this chapter.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 9 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 10
SCENARIO MODELLING • Formal notations are not required in scenario
• Scenario modelling is at the heart of modelling and domain scoping, so that the
choreography design: scenarios describe the scenario and the domain can be described in a
overall setting and goals of the process language that allows expressing the relevant
choreography. They are also useful for concepts. Depending on the specific setting of
integrating the results of the other design the project, plain English text enriched with
phases. To model a particular scenario, a informally specified graphical diagrams can be
domain in which the cooperation will take used.
place needs to be specified. This is performed
during the domain scoping phase by business
engineers.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 11 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 12
3
4. 4/9/2013
PARTICIPANT IDENTIFICATION MILESTONE DEFINITION
• In the milestone definition phase, the
• The participant identification phase is devoted
participants define certain states of the
to defining different roles of choreography
choreography in which the cooperation has
participants. There are two options for doing
achieved certain results, typically
this. These roles are specified in a way that
characterized by intermediate products. These
allows for the selecting of concrete process
states are called milestones.
participants on the basis of their properties as
laid out in the participant roles. In the context • Milestones and their ordering describe
of process choreographies, the term process behavioral aspects of the choreography from a
participant refers to an organization, rather high level of abstraction.
than to an individual.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 13 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 14
MESSAGE IDENTIFICATION CHOREOGRAPHY DEFINITION PHASE
• In the message identification phase, the • Finally, the choreography definition phase
interactions in the scenario are used to combines the message identification and the
identify and design messages that realize the milestone definition phases of the modelled
various interactions. This phase has business scenario.
aspects as well as technical aspects; it is
therefore located on the border of the design • The result of this phase is a detailed
and implementation of process specification of the interactions between the
choreographies. The design aspects include participants, the messages to realize the
the business content of the messages, while interactions, and the milestones that are
the implementation aspects include the reached during the resulting conversation in
technical realization of these messages and the instance layer.
concrete message formats.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 15 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 16
4
5. 4/9/2013
• The choreography definition phase, just like • Domain standards, like the ones mentioned
the message identification phase, includes above, are in place to provide a common
business aspects as well as technical aspects. terminology, and, thereby, an understanding
Unsuccessful interaction behavior would arise of the concepts used. These standards are
if, for instance, message formats were used enhanced with technical information, so that
that one or more participants would not data structures and message formats are
understand. To avoid this problem, it is available. Business engineers, system
assumed that message formats as well as the architects, and developers participate in
semantics of the messages are agreed upon choreography definition and message
by the participants. identification.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 17 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 18
BEHAVIORAL INTERFACES 5.3 PROCESS CHOREOGRAPHY DESIGN
• In the lower part of Figure 5.4, the phases • The design of process choreographies involves
during implementation of process a series of activities. In each of these
choreographies are shown. Based on the activities, artefacts are developed. These
choreography definition, behavioral interfaces activities are described as follows:
of all roles in the process choreography are 1. High-level Structure Design: In high-level
defined. Behavioral interfaces serve as choreography design, the participant roles as
blueprints for the design of the individual well as their communication structures are
process orchestrations realized by the identified. High level structure design is
participants of the process choreography. conducted during the Participant
identification phase.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 19 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 20
5
6. 4/9/2013
2. High-level Behavioural Design: High-level
behavioural models specify the milestones of
the collaboration and the order in which the
milestones are reached. High-level
behavioural design is done during the
milestone definition phase.
Milestones have dependencies with respect
to other milestones. For instance, the auction
has to be set up before the bidding process
can be finished.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 21 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 22
3. Collaboration Scenarios: High-level
choreographies are refined by introducing
dedicated collaboration scenarios that relate the
reaching of milestones to the communication
between process participants. Collaboration
scenarios are developed during the choreography
definition phase, based on the scenarios
informally specified during scenario modelling.
In this phase, the interactions needed to proceed
from one milestone to another are specified One
or several collaboration scenarios show the
interactions and their dependencies that need to
occur between two milestones
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 23 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 24
6
7. 4/9/2013
• Scenarios should be kept small, as it is easier
to reach agreement on less complex
interaction behaviour.
• Additional scenario models might be
introduced to deal with special cases and
exceptions.
• Behavioural Interfaces: From these
collaboration scenarios, for each participant
role, a behavioral interface is derived.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 25 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 26
Compatibility
• Compatibility is the ability of a set of
participants to interact successfully according
• . to a given process choreography.
• Unsuccessful interaction behaviour could
arise, if, for instance, different message
formats were used in a collaboration and one
participant does not understand the content
of a message sent by another participant.
• Another source of incompatibility—which this
section will focus on—is due to wrong and
misaligned interactions.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 27 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 28
7
8. 4/9/2013
Structural Compatibility
• If, for instance, a participant expects a
notification at some point in its process before • A process choreography is structurally compatible
it can proceed, and none of the other if messages that can be sent by a participant
participants sends such a notification correspond to messages that other participants
message, then the process cannot continue, can receive. This property makes sure that all
so a deadlock situation emerges. Compatibility messages that are sent can actually be received
by participants. However, it does not rule out that
of interacting processes aims at avoiding this
participants can receive additional messages that
type of undesired behavior due to erroneous
none of the partners can send.
interactions between process orchestrations.
• Different types of structural compatibility are
introduced to describe structural properties of
process choreographies.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 29 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 30
5.4 PROCESS CHOREOGRAPHY IMPLEMENTATION
1. Strong structural compatibility of a process
choreography is given if, for every message • After discussing the design of process
that can be sent there is a participant who choreographies, this section looks at the
can receive it, and if for every message that
can be received, there is a participant who implementation of choreographies.
can send it. Behavioural interfaces serve as blueprints for
2. Weak structural compatibility is given if all the internal realization of process
messages sent by participants can be orchestrations, because each process
received by other participants. However, it is orchestration needs to expose an externally
not required that all messages that visible behaviour that was specified as the
participants can ever receive will actually be behavioural interface of the respective
sent by other participants. participant.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 31 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 32
8
9. 4/9/2013
5.5 SERVICE INTERACTION PATTERNS
Service interaction patterns can be classified according to
the following schemes.
• Number of participants involved: Bilateral interactions
involve two participants, whereas multilateral
interactions involve more than two participants.
• Number of messages exchanged: Single transmission
versus multi-transmission interactions.
• Variations in message receiver : In case of two-way
interactions, round-trip interaction means that the
receiver of the message is necessarily the same as the
sender, whereas routed interaction means that the
receiver of the message in general differs from the
sender.
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 33 Prepared by Rao Majid Shamshad, UE Township campus, Lahore 34
• One-To-Many Send
• One-From-Many Receive
• One-To-Many Send/Receive
• Multi-Responses
• Contingent Requests
• Atomic Multicast Notification
• Request With Referral
• Relayed Request
Prepared by Rao Majid Shamshad, UE Township campus, Lahore 35
9