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