International Journal of Web Services Research , Vol. X, No. X, 200 X 1 A Reservation-Based Extended Transaction Protocol for Coordination of Web Services Wenbing Zhao Dept. of Electrical and Computer Engineering Cleveland State University Cleveland, OH 44115 wenbing@ieee.org Firat Kart, L. E. Moser, P. M. Melliar-Smith Dept. of Electrical and Computer Engineering University of California, Santa Barbara Santa Barbara, CA 93106 {fkart,moser,pmms}@ece.ucsb.edu ABSTRACT: Web Services can be used to automate business activities that span multiple enterprises over the Internet. Such business activities require a coordination protocol to reach consistent results among the participants in the business activity. In the current state-of-the-art, either classical distributed transactions or extended transactions with compensating transactions are used. However, classical distributed transactions lock data in the databases of different enterprises for unacceptable durations or involve repeated retries, and compensating transactions can lead to inconsistencies in the databases of the different enterprises. In this paper, we describe a novel Reservation Protocol that can be used to coordinate the tasks of a business activity. Instead of resorting to compensating transactions, the Reservation Protocol employs an explicit reservation phase and an explicit confirmation/cancellation phase. We show how our Reservation Protocol maps to the Web Services Coordination specification and describe our implementation of the Reservation Protocol. We compare the performance of the Reservation Protocol with that of the Two Phase Commit Protocol and Optimistic Two Phase Commit Protocol. We also compare the probability of inconsistency of the Reservation Protocol with that of Compensating Transactions. KEY WORDS: Business Activity, Continuous Availability, Extended Transaction Model, Relaxed Atomicity, Reservation Protocol, Transaction Processing, Web Services INTRODUCTION Business activities often involve related tasks that are carried out over a long period of time in a loosely-coupled distributed environment. Web Services (Champion, Ferris et al. 2002) make it possible to automate business activities across multiple enterprises over the Internet. Such direct computer-to-computer interactions, without human supervision or intervention, provide speed improvements and cost reductions for distributed enterprise computing. However, such enterprise applications must operate with a high degree of availability, reliability, scalability and performance. Problems in the operation of the Web Services can adversely affect the relationships between an enterprise and its customers, suppliers and partners. Resolving inconsistencies among the databases of multiple enterprises is difficult, expensive, time- consuming and error-prone, much more so than within a database of a single enterprise. Many enterprise applications are programmed using the transaction processing programming paradigm. A transaction is a set of operations on the application state that exhibit the Atomicity, Consistency, Isolation and Durability (ACID) properties (Gray and Reuter 1993).