ferent pool elements that enclose all tasks of one or-
ganization and the sequence flows linking these tasks.
This implies that message flows are only drawn be-
tween different pools. Pools can be further structured
with lanes dividing an organization into different de-
partments. Our sample process (Figure 1) shows one
pool, and hence one organization, where all three
tasks are connected using sequence flows. Moreover,
BPMN provides a data object element, which can be
linked to tasks with directed or undirected associa-
tions. It does not have any direct affect on sequence
flows or message flows and only adds further informa-
tion to the model.
Since the data object and its association edges
does not provide any additional benefit to the con-
trol flow, they could be used to model data-flows
in BPMN. However, to maintain compatibility with
other existing BPMN process descriptions, we leave
the semantics of the association edge and the data
object untouched. Instead, we introduce a new ex-
plicit data edge to express an explicit data flow. The
data edge indicates that the connected tasks exchange
data. A data edge can connect two tasks within one
pool (one organization) as well as two tasks in differ-
ent pools (different organizations). An organization-
internal data edge is depicted in Figure 2 between the
tasks Get Sensor Data and Generate Report.
After specifying the modeling constructs to model
an explicit data aspect in BPMN, we now define
derivation rules to map a data-aware BPMN diagram
to a valid data-aware BPEL description. BPMN is an
abstract notation and hides all technical details neces-
sary for an implementation of the modeled process. A
transformation from data-aware BPMN to data-aware
BPEL can, therefore, construct only a non-executable
skeleton of the process in BPEL notation. How-
ever, this skeleton contains (i) the control flow struc-
ture as well as (ii) data management information in-
cluding standard service calls implementing the data
flow. Instead of using our proposed BPEL data transi-
tion (Habich et al., 2007b), we are now able to utilize
standard BPEL constructs resulting in high compat-
ibility with various existing BPEL implementations.
In case, the BPEL data transitions are realized by in-
tegrating additional specialized service calls for the
data management.
In detail, the BPMN-to-BPEL transformation gen-
erates service invocation activities for all tasks and
connects them together according the control flow
specified in BPMN. Every data edge in BPMN is
mapped to a flow environment between two invoke ac-
tivities in BPEL that represents the source task and
the target task of the data flow. Within this flow en-
vironment, two parallel control flow paths are gen-
erated. The first path represents the normal control
flow between the source and target task in BPMN.
The second path invokes the data flow specific Data
Mapping Service (DM-Service). This DM-Service is
responsible for the adaptation of the data structures
between the source and target services using special-
ized tools like an ETL-tool. Because of this parallel
execution of control and data flow, the data mapping
does not slow down intermediate traditional service
invocations. The merge of the control flow at the end
of the flow environment ensures that the succeeding
task is only executed, if both paths are successfully
processed.
Figure 2 illustrates this BPMN-to-BPEL transfor-
mation for our running example. Here, the transfor-
mation maps the source task (Get Sensor Data) and
the target task (Generate Report) to two appropri-
ate invoke activities. Both invoke activities represent
a data-grey-box Web services call, so the transfor-
mation also realizes the data reference flow between
the two services by suitable assignments of the neces-
sary service invocation parameters. Furthermore, the
transformation generates a flow environment between
those two invoke activities. In our example, the first
(left) path of the flow environment contains the invoke
activity Select Report Layout, which represents
the BPMN task of the same name. In the second path
the transformation generates the DM-Service invoca-
tion. The DM-Service executes the data transforma-
tion between the data structures of the Get Sensor
Data service and the Generate Report services.
To turn the process skeleton into an executable
BPEL process, the process designer has to select ap-
propriate services for all invoke activities. This step
provides the concrete schemas of the input and out-
put data of each service. The next step is to define
the mapping rules which are used by the DM-Service.
This part is covered by the following section. After
this enrichment of the BPEL skeleton, the BPEL pro-
cess is executable in an efficient way.
To conclude this section, the major advantages of
this approach are (1) a convenient process modeling
approach without too many technical details, (2) the
transformation of a BPMN process with explicit data
flows into a data-aware, but standard compliant BPEL
process and (3) an efficient process execution.
3 DATA MAPPINGS
The last step to realize our data-aware process exe-
cution consists of the specification of data mappings
between services participating in a data flow. In gen-
eral, each available and data-specific tool can be used
INNOVATIVE PROCESS EXECUTION IN SERVICE-ORIENTED ENVIRONMENTS
301