Citation
Mihindukulasooriya, Nandana and García-Castro, Raúl and Esteban-Gutiérrez, M. and Gómez-Pérez, A.
(2016).
A survey of restful transaction models: one model does not fit all.
"Journal of Web Engineering", v. 15
(n. 1-2);
pp. 140-169.
ISSN 1540-9589.
Abstract
The REpresentational State Transfer (REST) architectural style is getting traction as a light-weight alternative to SOAP-based Web Services in industry for building loosely coupled applications. In addition, the REST architectural constraints induce scalability and the World Wide Web is a great example of a distributed hypermedia system that is built using REST principles. Despite these benefits, one of the main drawbacks of RESTful services is the lack of standard mechanisms to support advanced quality-of service requirements such as transactions, which are vital to maintain the high-level of consistency required in common enterprise scenarios. To fill this gap, several RESTful transaction models have been proposed in the past decade; the goal of this paper is to survey such transaction models and to analyse them based on the common transactional scenarios that appear in most enterprise systems. To this end, this paper presents a systematic literature review that was conducted to identify and summarize the state of the art of the RESTful transaction models; the review is followed by a detailed analysis of the models found in the survey. For the analysis, the paper proposes a comparison framework for the RESTful transaction models to evaluate them according to various dimensions, such as their capability to satisfy common transactional scenarios, the level of transaction guarantees provided, compliance to the REST constraints, and other miscellaneous properties. The results of the survey provide a good overview of the current RESTful transaction models and their evolution over the past decades and help to identify the current gaps in the state of the art. In addition, the paper identifies a set of challenges for the current RESTful transaction models by examining the limitations identified in the analysis. A main conclusion of this analysis is that building a generic RESTful transaction model capable of satisfying the requirements of all the scenarios is hard though several models solidly satisfy some specific scenarios in some specific domains.