• Aucun résultat trouvé

Automating Data Exchange in Process Choreographies (Extended Abstract)

N/A
N/A
Protected

Academic year: 2022

Partager "Automating Data Exchange in Process Choreographies (Extended Abstract)"

Copied!
4
0
0

Texte intégral

(1)

Jan Mendling and Stefanie Rinderle-Ma, eds.:Proceedings of EMISA 2016, Gesellschaft f¨ur Informatik, Bonn 2016

Automating Data Exchange in Process Choreographies (Extended Abstract)

3

D. Fahland1, Andreas Meyer, Luise Pufahl, Kimon Batoulis, Mathias Weske2

Abstract:Communication between organizations is formalized as process choreographies in daily business. While the correct ordering of exchanged messages can be modeled and enacted with cur- rent choreography techniques, no approach exists to describe and automate the exchange of data between processes in a choreography using messages. This paper describes an entirely model-driven approach for BPMN introducing a few concepts that suffice to model data retrieval, data transforma- tion, message exchange, and correlation – four aspects of data exchange. For automation, this work utilizes a recent concept to enact data dependencies in internal processes. We present a modeling guideline to derive local process models from a given choreography; their operational semantics al- lows to correctly enact the entire choreography from the derived models only including the exchange of data. Targeting on successful interactions, we discuss means to ensure correct process choreogra- phy modeling. Finally, we implemented our approach by extending thecamunda BPM platformwith our approach and show its feasibility by realizing all service interaction patterns using only model- based concepts. The work summarized in this extended abstract has been published in [Me15].

Keywords: Process Modeling, Data Modeling, Process Choreography, Data Exchange, BPMN, SQL

1 Introduction and Problem Description

In daily business, organizations interact with each other, e.g., concluding contracts or ex- changing information. Fig. 1(left) describes an interaction between a customer and a sup- plier with respect to a request for a quote. The customer sends therequestto a chosen sup- plier which internally processes it and sends the resultingquoteas response which then is handled internally by the customer. An interaction between business processes of multiple organizations via message exchange is calledprocess choreography. In BPMN (Business Process Model and Notation), achoreography diagramdescribes the order of messageex- changesbetween multiple participants from a global view (globalchoreography model).

Acollaboration diagramdescribes message exchanges are realized viasendandreceive activities, distributed over the different participants (local choreography model).

This paper considers how to implement local choreography models that adhere to a global agreement; we focus on a top-down approach where all participants jointly agree on a

1d.fahland@tue.nl, Eindhoven University of Technology, The Netherlands

2andreas.meyer@hpi.de, luise.pufahl@hpi.de, kimon.batoulis@hpi.de, mathias.weske@hpi.de, Hasso Plattner Institute at the University of Potsdam, Germany

3This article summarizes problem, approach, and selected findings of a study published asAndreas Meyer, Luise Pufahl, Kimon Batoulis, Dirk Fahland, Mathias Weske: Automating data exchange in process choreographies.

Inf. Syst. 53: 296-329 (2015)doi:10.1016/j.is.2015.03.008[Me15]

1

(2)

GlobalQCollaborationQDiagram

PrivateQProcessQModel

Customer

SendQ request

ReceiveQ quote

Supplier

ReceiveQ request

SendQ quote

Customer

Supplier SendQ

request ReceiveQ quote Request

[created]

pk:Qr_id

Request [sent]

pk:Qr_id Quote [received]

pk:Qq_id fk:Qr_id [new]

CO:QRequest

QuoteQItem [received]

pk:Qqi_id fk:Qq_id III [new]

Global_Request

CI: Global_Request.r_id Global_Quote

CI: Global_Request.r_id Request

Message Quote

Message

GlobalQLevel LocalQLevelQofQCustomer

CreateQ request

[new]

Global_Quote CI:QGlobal_Request.r_id Global_Request

CI:QGlobal_Request.r_id

Quote Details [received]

pk:Qqd_id fk:Qq_id [new]

Fig. 1: Implementing a given global collaboration diagram (left) in a private process model (right)

1 Global Collaboration Diagram

2 Global Data Model

2 Message Definition

3 Private Process Model 3 Private Process Model

4 Local Data Model 4 Local Data Model Global LevelLocal Level

Fig. 2: Modeling Guideline for deriving local process models from a global choreography model.

global data exchange and collaboration model to which each participant’s local process and data models either must adhere or are required to be changed accordingly [vdAW01].

Deriving a local choreography from a global one is a non-trivial step; various techniques are required [DW11] includinglocally enforcingthe order of globally specified message exchanges. In general, both control-flow (order of message exchange) and data-flow (ac- tual message contents) need to be addressed when transitioning from global to local mod- els. The paper contributes an approach to for integrating control-flow and data-flow in message exchange; we present a few syntactic extensions to BPMN together with oper- ational semantics that allow to model and realize the intended global interaction using model-based concepts only.

2 Approach

We combine several existing approaches to automate data exchange in process choreogra- phies entirely model-driven as follows; these approaches are used along the general guide- line shown in Fig. 2. (1) All participants agree on a global choreography model expressed in BPMN as shown in Fig. 1(left); BPMN will also be used for the local choreography models.

2

(3)

Customer

Supplier

Receive

request Send

quote

Quote [created]

pk: q_id fk: r_id [new]

Create quote

Request [received]

pk: r_id [new]

Global_Request CI: Global_Request.r_id

Article [selected]

pk: a_id fk: q_id [new]

Global_Quote CI: Global_

Request.r_id

Local Level of Supplier

III CO: Request

Request [received]

pk: r_id -r_id -g_r_id -state -date

Request

-a_id -q_id -state -articleType -quantity -articlePrice

Article 1

*

1 1

-q_id -r_id -state -price -deliveryDate

Quote

Fig. 3: Local process model and local data model of the supplier (2) In addition, we introduce

that all participants glob- ally agree to specific data exchange formats used in the collaboration modeled in UML; Fig 4(top) shows the global data model. (3) For mapping the control-flow of a global choreography model into local ones, we uti- lize the Public-to-Private ap-

proach [vdAW01] unchanged; Fig. 1(right) and Fig. 3 show the two local process models obtained from the choreography of Fig. 1(left).

-r_id -date

Global_Request -q_id -r_id -totalPrice -deliveryDate

Global_Quote -a_id -q_id -type -quantity -price Global_Article

1 *

1 1

Global LevelLocal Level

Local Data Model of Customer Global Data Model

-q_id -r_id -state -g_r_id -g_q_id Quote

-deliveryDate -totalPrice -state -q_id -qd_id Quote Details 1 1

-date -state -r_id

Request

1 * -qi_id

-q_id -itemPrice -quantity -type -state -g_q_id -g_qi_id Quote Item

1 1

Fig. 4: Data schema mapping from global data model (messages) to local data model of the Cus- tomer.

(4) Next, we map the data perspective of the global choreography to each lo- cal process model by defining a straight- forward attribute-level data schema map- ping between global and local data mod- els. When exchanging messages local data is translated from the local data model of the sender to the globally agreed on data model, and then translated by the recipient to its local data model. This way heteroge- nous local data models are isolated from each other and are synchronized. By mark- ing specific attributes of the global data

model as correlation identifiers(e.g.,Global Request.r id in Fig. 1(left)) we obtain lo- cally usable correlation keys through the above mentioned data schema mapping; these local correlation identifiers can then be used as proposed in the BPMN standard to asso- ciate an incoming message to the right process instance.

(5) To process (create and store) messages in a model-driven fashion, we apply (and slightly extend) the approach in [Me13] for automatically deriving SQL queries from BPMN data objects to enact complex data-dependencies. Thereby, we utilize the notion of dedicated (multi-instance) case objects for subprocesses from to realize 1:n communi- cation with a set of participants. Fig. 5 illustrates thesyntaxand theoperational seman- ticswe provided with this extension. 1.) To sendGlobal Quote message, activity Send Quotefirst automatically derives SQL queries based on the annotations to its input data objects [Me13] (aQuoteobject related to the quote instance, aRequestand severalArticle object related to the quote).2.)The retrieved local data is transformed into a message car- rying a data object of the global data model by an XQuery generated from the data schema mapping of Fig. 4.3.+4.)The message is sent and received using standard communication protocols.5.)The recipientcorrelatesthe received message through the designated corre- lation keyGlobal Request.r id; technically, we identify the process instance of theCus- tomerthat holds aQuoteobject with attributer idhaving the same value as the message;

3

(4)

Supplier

Send quote Quote [created]

pk: q_id CO: Request

Data- base

Customer

Receive quote

Quote Item [received]

pk: qi_id fk: q_id [new]

...

Data- base 1. Retrieval

of data

2. Transfor- mation of data

6. Transfor- mation of data

3. Send message

Global_Quote CI: Global_Request.r_id Process Engine of Supplier

Correlation mechanism

Process Engine of Customer

7. Storage of data

5. Correlation of message 4. Receive

message

Request [received]

pk: qd_id

Article [selected]

pk: a_id

CO: Request

fk: r_id

fk: q_id fk: q_id

Quote [received]

pk: q_id fk: r_id [new]

III III

Quote Details [received]

pk: qd_id fk: q_id [new]

...

Quote Message

Fig. 5: Operational semantics of data exchange from model-driven concepts.

this query is generated automatically.6.+7.)The received message is transformed into lo- cal data objects (using the data schema mapping) which are then stored in the database of theCustomer, again using queries derived from the output data objects of taskReceive Quote[Me13].

3 Results

We integrated several existing, isolated techniques for fully model-based definition and enactment of choreographies. We provided a few minor syntactic extensions of BPMN with complimentary operational semantics that translates model features into executable, platform-independent code [Me15]; we implemented our approach based on theCamunda BPM engine; see http://bpt.hpi.uni-potsdam.de/Public/BPMNData. Using this engine, we created fully model-driven implementations of all service interaction pat- terns[BDtH05] including patterns on 1:n message exchange with multiple participants using identical/different correlation identifiers, and referral of correlation identifiers.

References

[BDtH05] Barros, Alistair; Dumas, Marlon; ter Hofstede, Arthur H. M.: Service interaction pat- terns. In: BPM 2005. volume 3649 of LNCS. Springer, pp. 302–318, 2005.

[DW11] Decker, Gero; Weske, Mathias: Interaction-centric modeling of process choreographies.

Information Systems, 36(2):292–312, 2011.

[Me13] Meyer, Andreas; Pufahl, Luise; Fahland, Dirk; Weske, Mathias: Modeling and Enacting Complex Data Dependencies in Business Processes. In: BPM 2013. volume 8094 of LNCS. Springer, pp. 171–186, 2013.

[Me15] Meyer, Andreas; Pufahl, Luise; Batoulis, Kimon; Fahland, Dirk; Weske, Mathias: Au- tomating data exchange in process choreographies. Inf. Syst., 53:296–329, 2015.

[vdAW01] van der Aalst, Wil M. P.; Weske, Mathias: The P2P approach to interorganizational work- flows. In: Advanced Information Systems Engineering. Springer, pp. 140–156, 2001.

4

Références

Documents relatifs

In order to achieve safe execution of a process model, it must be ensured that every time a task attempts to access a data object, the data object is in a certain expected data state

Due to the complexity possible in an ontology and the semantic ambiguity behind changes being made, it is not possible to automatically generate the transformation that performs

The tool allows, once the data repository and metamodel are connected by the mapping definition, to analyze and use the data from a Business Process point of view and exploit those

In this paper we presented a new unit testing technique which is based on transforming the AST of the production code in a way that dependent functions or types are replaced with

If not for other reasons, just considering the fact that concepts in DLs are interpreted as sets of domain elements and that the basic concept constructs in DLs, namely

Users access the data by means of queries formulated using the vocabulary of the ontology; query answering amounts to computing the certain answers of the query over the union

2 HCM-L was developed for Modelling purposes in the domain of Ambient Assistance, and in particular within the framework of the Human Behavior Monitoring and Support (HBMS)

Conformance checking is the process mining task that aims at coping with low model or log quality by comparing the model against the corresponding log, or vice versa.. The