Fault-tolerant timestamp-based two-phase commit protocol for RESTful services
Service-oriented architecture provides interoperability and weak coupling features for software development. Representational state transfer (REST) is an architectural style that has attracted attention in the SOA domain as it allows the development of Web services based on original principles of the World Wide Web. Unlike Web service specifications, which are based on Simple Object Access Protocol and Web Services Description Language, REST does not provide official standards to address non-functional requirements of services, such as security, reliability, and transaction control. The timestamp-based two-phase commit protocol for RESTful service (TS2PC4RS) algorithm specifies concurrency control of RESTful services during a transaction. An extension of the TS2PC4RS specifies the concurrency control of the Web services considering the update operation to meet some business rules. However, neither algorithm addresses transaction control when failures occur. In long-term transactions, failures can occur and compromise the success of Web service applications. Two common failures traditionally considered in the analysis of protocols are host and connection failures. The aim of this paper is to address fault tolerance for TS2PC4RS and its extension. A fault-tolerant protocol based on timeout and log records is proposed. The fault-tolerant protocol provides support for the host and connection failures that may occur during a transaction execution. The fault-tolerant mechanisms are used to meet the application domain business rules that guide the behavior of RESTful services. We describe the protocol using scenarios when failures occur. Copyright  2012 John Wiley & Sons, Ltd.
rest architectural style web services reliability transaction concurrency control fault tolerance distributed system timestamp