THE Internet, along with its related technologies, has created an interconnected world in which information flows easily and tasks are processed collaboratively. To make service-oriented applications more robust, Web services must be examined from a transactional perspective. By transactional, we mean first defining the actions that guide the execution of Web services when failures arise and then the states that permit claiming the success of this execution following the handling of these failures. A variety of transactional models are reported in the database community. Some of these models can be leveraged and enhanced in response to Web services characteristics while others are not suitable for Web services due to the dynamic nature of Web services, the long-running execution scenarios that Web services take part in, and the successful execution of Web services despite other peers’ failure. Today’s service-oriented applications require advanced transactional models that guarantee integrity and continuity of business processes despite the dynamic nature of the features of the environments hosting the execution of these applications. This special section sheds light on the latest advances in the fields of Web services and transactional models in order to better address advanced research on and experience with transactional Web services. Four papers out of 19 submissions were selected for inclusion in this special section. Each submission was subject to a double-review process by at least three peer reviewers. In the first paper, entitled “Event-Based Design and Runtime Verification of Composite Service Transactional Behavior,” Gaaloul et al. propose an event-driven approach to validate the transactional behavior of Web services taking part in compositions. A composition life cycle consists of four phases, namely, design, execution, monitoring, and reengineering. The verification of this behavior throughout this life cycle is done either at design time to validate recovery mechanisms’ consistency or after runtime to detect execution deviations and repair design errors, and, therefore, formally ensure the execution reliability of Web services. In addition, this verification is based on the Event Calculus formalism, which offers a sound definition for this reliability. In the second paper, entitled “FACTS: A Framework for Fault-Tolerant Composition of Transactional Web Services,” Liu et al. note that delivering reliable compositions over unreliable Web services is challenging. To address this challenge, Liu et al. identify a set of high-level exception handling strategies and a new taxonomy of transactional Web services to devise a fault-tolerant mechanism that combines exception handling and transaction techniques. In addition, Liu et al. devise two modules, known as specification and verification, to assist service designers in constructing fault handling logic conveniently and correctly. This logic is automatically injected into WS-BPEL. In the third paper, entitled “Rule-Based Coordination of Distributed Web Service Transactions,” von Riegen et al. study the distributed transactional activity control problem in the context of service choreographies. In such a context, many participants are allowed to work together to achieve a global, common goal, and the initiator of a process is not always the one who is able to commit or cancel a transaction. Von Riegen et al. introduce a framework that allows autonomous coordination of dynamic processes. This framework extends WSBusinessActivity to strengthen the role of the coordinator. Predicate rules are developed to let participants cancel or complete a process and help the coordinators decide on the completion processes and the confirmation or cancellation of the participants’ works. In the fourth paper, entitled “TQoS: Transactional and QoS-Aware Selection Algorithm for Automatic Web Service Composition,” El Haddad et al. focus on the issues of selecting and composing Web services. A design-time selection algorithm is proposed in which transactional and QoS requirements are both integrated into the selection process. This algorithm is based on the notion of risk that indicates if execution outcomes can either be compensated for or not. Two risk levels of execution in a transactional system are considered: Risk 0, meaning that if the execution is successful, the obtained outcomes can be compensated for by the user, and Risk 1, meaning that the system does not guarantee successful execution, but if it achieves it, the outcomes cannot be compensated for by the user. We hope this special section inspires researchers to develop new transactional models that would guarantee service-oriented applications integrity and continuity. 30 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 3, NO. 1, JANUARY-MARCH 2010
Read full abstract