www.ccsenet.org/cis Computer and Information Science Vol. 3, No. 4; November 2010 Published by Canadian Center of Science and Education 53 The Safety Issue in a Web Travel Booking Services Scenario Based on Business Process Execution Language Apostolos Axenopoulos Charalampos Doulaverakis Informatics and Telematics Institute Centre for Research and Technology Hellas, Thessalonica, Greece E-mail: {axenop, doulaver}@iti.gr Nicholas Protogeros Panayiotis Tahinakis Department of Accounting and Finance 156 Egnatia str., 546-00, Thessalonica, Greece E-mail: {nproto, tahi67}@uom.gr John Mylonakis 10 Nikiforou str., Glyfada, 16675, Athens, Greece E-mail: imylonakis@vodafone.net.gr Abstract In the Business Process modeling area, the Business Process Execution Language (BPEL) seems to be gaining ground in favor of its other competitors. The simplicity of the protocol coupled with its ability to hide the complex mechanisms that lie underneath along with advanced control features and integration with other concrete standards as XPath and XSLT have contributed to its acceptance. BPEL has been thoroughly investigated in literature as a solution to workflow management in an enterprise environment. In this paper, an intrinsic property of BPEL, related to compensation handling, is investigated as an alternative approach to two-phase commit used in distributed transactions. The applicability of the proposed solution is demonstrated on a travel booking scenario and interesting conclusions are drawn regarding the system’s response in cases of service failures. Keywords: Web services, Business process execution language, Business process management, Database transactions, Compensation handling mechanism 1. Introduction Service Oriented Architecture (SOA) is the de facto standard for designing complex software systems, where each component is offered as a service described in a uniform and reusable way. Today, SOA is mainly implemented using web services. The combination of web services and SOA has had a substantial impact on business process workflow and management by enabling automation of procedures that involved either intra or inter corporate structures while at the same time being able to sustain a high level of interoperability. However, it was soon realized that business process logic and business process implementation had to be separated which in turn led to the development of protocols and standards that would allow an adequate distinction of logic from implementation, an active area of research known as Business Process Management (BPM). The Business Process Execution Language (BPEL) emerged as an industry backed standard for describing long-running processes. Its adoption rate as a BPM protocol is partly due to endorsement from companies like IBM, Microsoft and Oracle who have all contributed to the standard and also provide commercial products as BPEL engines and designers for easy implementation of BPEL workflows although reliable open source engines have been released, e.g. ActiveBPEL from Active Endpoints (http://www.activevos.com). Each party in the business process is referred to as a partner. The Business Process Execution Language communicates between partners using partner links with the exchanged messages defined in WSDL. All BPEL processes perform three basic operations. These are: