Extending BPEL for Run Time Adaptability
Dimka Karastoyanova
3,1
, Alejandro Houspanossian
2
, Mariano Cilia
1,2
,
Frank Leymann
3
, Alejandro Buchmann
1
1
Technical University Darmstadt, Darmstadt, Germany
{cilia | buchmann}@informatik.tu-darmstadt.de
2
UNICEN, Faculty of Sciences, Campus Universitario Tandil, Argentina
ahouspan@exa.unicen.edu.ar
3
University of Stuttgart, Stuttgart, Germany
{leymann | karastoyanova}@informatik.uni-stuttgart.de
Abstract
The existing Web Service Flow (WS-flow)
technologies enable both static and dynamic
binding of participating Web services (WSs) on the
process model level. Adaptability on per-instance
basis is not sufficiently supported and therefore
must be addressed to improve process flexibility
upon changes in the environment. Ad-hoc process
instance changes can be enabled by swapping
participating WS instances, by modifying port
Types of the partners to be invoked, and by
changing process logic. In this work we address the
problem of dynamic binding of WSs to WS-flow
instances at run time, i.e. the ability to exchange a
WS instance participating in a WS-flow instance
with an alternative one. The problem is additionally
complicated by the fact that the execution of a
process depends on its deployment. We describe the
“find and bind” mechanism, and we show its
representation as a BPEL extension. We discuss the
benefits that could be gained and the disadvantages
it brings in. The mechanism extends and improves
the existing process technologies. It facilitates a
precisely controlled policy-based selection of WSs
at run time and also provides for process instance
repair, while maintaining simplicity. We also
discuss a prototypical implementation of the
presented functionality.
1. Introduction
Web Service Flows (WS-flows) are composite
Web Services implemented using a process-based
approach. Similarly to the traditional workflows
WS-flows definitions specify declaratively
collections of tasks executed by the participants in a
process. A process definition also defines the
execution order of tasks (control flow), the data
exchanged among its tasks and its participants (data
flow), exception handling, and business rules.
Unlike the traditional workflows however, the WS-
flows involve only a single type of participants –
Web Services (WSs).
WSs are a technology aiming at the
standardization of protocols and formats for the
interaction among applications, in a language and
platform independent manner, and even over the
Web [38], [18]. WSs have interface descriptions in
WSDL [37], which define the service functionality
in terms of messages consumed and produced. WSs
interact with each other in terms of messages and
are loosely coupled [18]. This is a characteristic
allowing the architecture to remain flexible to
change [39]. In keeping with the SOA principles,
WSs are discoverable [24], [5], [30], and can be
composed in complex WSs. The technology has
been designed with the purpose of application-to-
application communication [18].
While WSs enable flexibility of organizations
by defining standard protocols and formats,
businesses often still use them in relatively simple
scenarios. Boosting the technology acceptance and
deployment depends partly on the ability to
compose WSs in complex ones. Therefore the WS
community, both from academia and industry, puts
a lot of effort in specifying WS-flows. BPEL [9] is
the de facto standard in this area but it does not
support adaptability of WS-flows at run time. One
approach towards enhancing process adaptability is
the main topic of the paper, namely run time
adaptations with respect to port binding in a per
process instance manner.
WS-flows benefit from the features inherent to
WSs [3], [17]. Having only WS participants makes
WS-flow definitions independent from
organizational structures and infrastructure
specifics, i.e. regardless of formats and mechanism
used to access the respective WS functionality. WS-
flows provide a very flexible programming model
relying on loose coupling to WS ports. Yet
processes flexibility can be further enhanced: First,
Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05)
0-7695-2441-9/05 $20.00 © 2005 IEEE