A SURVEY OF RESTFUL TRANSACTION MODELS: ONE MODEL DOES NOT FIT ALL
Keywords:
REST, Web applications, TransactionsAbstract
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.
Downloads
References
C. Pautasso, O. Zimmermann, and F. Leymann, “RESTful Web Services vs. “Big” Web Services:
Making the Right Architectural Decision,” in Proceedings of the 17th International World Wide
Web Conference (WWW’08). Beijing, China: ACM, Apr 2008, pp. 805–814.
R. T. Fielding and R. N. Taylor, “Principled design of the modern web architecture,” ACM
Transactions on Internet Technology, vol. 2, no. 2, pp. 115–150, May 2002.
E. Maler and J. Hammond, “The Forrester Wave: API Management Platforms,” Forrester Re-
search, Cambridge, USA, Tech. Rep. Q1 2013, Feb 2013.
J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, 1st ed. California,
USA: Morgan Kaufmann, Sep 1992.
G. Pardon and C. Pautasso, “Towards distributed atomic transactions over RESTful services,” in
REST: From Research to Practice. Springer, Aug 2011, vol. 1, pp. 507–524.
R. T. Fielding, “Architectural styles and the design of network-based software architectures,”
Ph.D. dissertation, University of California, 2000.
E. Wilde and C. Pautasso, REST: From Research to Practice. Springer, 2011.
J. Gray, “The Transaction Concept: Virtues and Limitations,” in Proceedings of the 7th Interna-
tional Conference on Very Large Data Bases (VLDB ’81), vol. 7. VLDB Endowment, Sep 1981,
pp. 144–154.
T. Haerder and A. Reuter, “Principles of transaction-oriented database recovery,” Journal of ACM
Computing Surveys (CSUR), vol. 15, no. 4, pp. 287–317, Dec 1983.
E. A. Brewer, “Towards Robust Distributed Systems,” in Proceedings of the 19th Annual ACM
Symposium on Principles of Distributed Computing (PODC’00). Portland, Oregon, USA: ACM,
Jul 2000, pp. 7–8.
S. Gilbert and N. Lynch, “Brewer’s Conjecture and the Feasibility of Consistent, Available,
Partition-tolerant Web Services,” SIGACT News, vol. 33, no. 2, pp. 51–59, Jun. 2002.
D. J. Abadi, “Consistency Tradeoffs in Modern Distributed Database System Design: CAP is Only
Part of the Story,” Computer, vol. 45, no. 2, pp. 37–42, Feb 2012.
W. Vogels, “Eventually Consistent,” ACM Queue, vol. 6, no. 6, pp. 14–19, Oct. 2008.
D. Pritchett, “BASE: An ACID Alternative,” ACM Queue, vol. 6, no. 3, pp. 48–55, May 2008.
J. E. B. Moss, Nested Transactions: An Approach to Reliable Distributed Computing. Cambridge,
MA, USA: MIT Press, Jan 1985.
G.Weikum and H.-J. Schek, “Concepts and applications of multilevel transactions and open nested
transactions,” in Database transaction models for advanced applications, A. K. Elmagarmid, Ed.
San Francisco, CA, USA: Morgan Kaufmann, 1992, pp. 515–553.
H. Garcia-Molina and K. Salem, “Sagas,” in Proceedings of the 1987 ACM SZGMOD Conference,
ser. 3, vol. 16. San Francisco, US: ACM, May 1987, pp. 249–259.
P. A. Bernstein and E. Newcomer, Principles of Transaction Processing, 2nd ed., ser. The Morgan
Kaufmann Series in Data Management Systems. Morgan Kaufmann, Jun 2009.
G. Coulouris, J. Dollimore, T. Kindberg, and G. Blair, Distributed Systems: Concepts and Design,
th edition. Addison-Wesley, 2011.
J. Eder and W. Liebhart, “Workflow transactions,” in Workflow Handbook 1997. John Wiley &
Sons, 1997, pp. 195–202.
H. Schuldt, G. Alonso, C. Beeri, and H. Schek, “Atomicity and isolation for transactional
processes,” ACM Trans. Database Syst., vol. 27, no. 1, pp. 63–116, 2002. [Online]. Available:
http://doi.acm.org/10.1145/507234.507236
B. Kitchenham and S. Charters, “Guidelines for performing Systematic Literature reviews in
Software Engineering,” Keele University and Durham University, EBSE Technical Report, Jul
M. P. Papazoglou, “Web Services and Business Transactions,” World Wide Web: Internet and
Web Information Systems (WWW), vol. 6, no. 1, pp. 49–91, Mar 2003.
S. Poledna, Fault-Tolerant Real-Time Systems: The Problem of Replica Determinism, ser. The
Springer International Series in Engineering and Computer Science. Norwell, MA, USA: Kluwer
Academic Publishers, 1996, vol. 345.
M. Little, “Rest and transactions?” 2009, InfoQ article, [accessed 3-February-2014]. [Online].
Available: http://www.infoq.com/news/2009/06/rest-ts
S. Jacobs, “Thoughts on a RESTful Transaction Process in HTTP,” Feb 2004, [accessed
-February-2014]. [Online]. Available: url{http://www.seairth.com/web/resttp.html}
R. Fielding, “Waka: A replacement for HTTP,” 2002, ApacheCon US, [accessed 3-February-2014].
[Online]. Available: http://gbiv.com/protocols/waka
H. F. Nielsen and D. LaLiberte, “Editing the web: Detecting the lost update problem using
unreserved checkout,” World Wide Web Consortium, W3C Note, May 1999.
T. Raman and A. Malhotra, “Identifying Application State,” World Wide Web Consortium, TAG
Finding, Dec 2011.
L. Dusseault, “HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV),”
Internet Requests for Comments, IETF, RFC 4918, June 2007. [Online]. Available:
http://www.rfc-editor.org/rfc/rfc7232.txt
L. Richardson and S. Ruby, RESTful web services: Web services for the real world. CA, USA:
O’Reilly Media, May 2007.
J. Webber, S. Parastatidis, and I. Robinson, REST in Practice: Hypermedia and Systems Archi-
tecture. CA, USA: O’Reilly Media, Sep 2010.
T. Erl, R. Balasubramanians, C. Pautasso, and B. Carlyle, SOA with REST: Principles, Patterns
& Constraints for Building Enterprise Solutions with REST, 1st ed. Prentice Hall, Aug 2012.
S. Allamaraju, RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplic-
ity. O’Reilly Media and Yahoo Press, Feb 2010.
L. Richardson, M. Amundsen, and S. Ruby, RESTful Web APIs. O’Reilly Media, Sep 2013.
R. Khare and R. N. Taylor, “Extending the Representational State Transfer (REST) Architectural
Style for Decentralized Systems,” in Proceedings of the 26th International Conference on Software
Engineering (ICSE 2004). Scotland, UK: IEEE, May 2004, pp. 428–437.
L. Lamport, “A new solution of Dijkstra’s concurrent programming problem,” Communications
of the ACM, vol. 17, no. 8, pp. 453–455, Aug 1974.
L. A. H. da Silva Maciel and C. M. Hirata, “An optimistic technique for transactions control using
REST architectural style,” in Proceedings of the 2009 ACM symposium on Applied Computing.
ACM, 2009, pp. 664–669.
H. F. Korth, E. Levy, and A. Silberschatz, “A Formal Approach to Recovery by Compensating
Transactions,” in Proceedings of the 16th International Conference on Very Large Data Bases
(VLDB 1990). Brisbane, Australia: Morgan Kaufmann, Aug 1990, pp. 95–106.
R. Fielding and J. Reschke, “Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests,”
Internet Requests for Comments, IETF, RFC 7232, June 2014. [Online]. Available:
http://www.rfc-editor.org/rfc/rfc7232.txt
A. Marinos, A. Razavi, S. Moschoyiannis, and P. Krause, “RETRO: A consistent and recoverable
RESTful transaction model,” in Proceedings of the 7th IEEE International Conference on Web
Services (ICWS 2009). San Sebastian, Spain: IEEE, Jul 2009, pp. 181–188.
A. Razavi, A. Marinos, S. Moschoyiannis, and P. Krause, “RESTful transactions supported by
the isolation theorems,” in Proceedings of the 9th International Conference on Web Engineering
(ICWE 2009). Springer Berlin Heidelberg, 2009, pp. 394–409.
L. A. H. da Silva Maciel and C. M. Hirata, “A timestamp-based two phase commit protocol for
web services using rest architectural style,” Journal of Web Engineering, vol. 9, no. 3, pp. 266–282,
Sep 2010.
S. Ceri and G. Pelagatti, Distributed Databases: Principles and Systems, ser. Mcgraw-Hill Com-
puter Science Series. McGraw-Hill College, Mar 1985.
G. F. Coulouris, J. Dollimore, T. Kindberg, and G. Blair, Distributed Systems: Concepts and
Design, 5th ed. Addison-Wesley, May 2011.
G. Pardon and G. Alonso, “Cheetah: a lightweight transaction server for plug-and-play internet
data management,” in Proceedings of the 26th International Conference on Very Large Data Bases
(VLDB 2000). Cairo, Egypt: Morgan Kaufmann Publishers Inc., Sep 2000, pp. 210–219.
C. Pautasso and E. Wilde, “Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service
Design,” in Proceedings of the 18th International Conference on World Wide Web (WWW ’09).
Madrid, Spain: ACM, Apr 2009, pp. 911–920.
G. Pardon and C. Pautasso, “Atomic Distributed Transactions: a RESTful Design,” in Proceedings
of the companion publication of the 23rd international conference on World wide web. Seoul, South
Korea: ACM, Apr 2014, pp. 943–948.
S. Kochman, P. T. Wojciechowski, and M. Kmieciak, “Batched transactions for RESTful web ser-
vices,” in Current Trends in Web Engineering, ser. Lecture Notes in Computer Science. Springer
Berlin Heidelberg, June 2012, vol. 7059, pp. 86–98.
A. Razavi, A. Marinos, S. Moschoyiannis, and P. Krause, “Recovery management in RESTful
interactions,” in Proceedings of the 3rd IEEE International Conference on Digital Ecosystems and
Technologies (DEST’09). IEEE, Jun 2009, pp. 419–424.
L. A. H. da Silva Maciel and C. M. Hirata, “Fault-tolerant timestamp-based two-phase commit
protocol for RESTful services,” Software: Practice and Experience, Special Issue on Web Tech-
nologies, vol. 43, no. 12, pp. 1459–1488, Dec 2013.
——, “Extending timestamp-based two phase commit protocol for RESTful services to meet
business rules,” in Proceedings of the 2011 ACM Symposium on Applied Computing (SAC ’11).
TaiChung, Taiwan: ACM, Mar 2011, pp. 778–785.
C. Pautasso and M. Babazadeh, “The Atomic Web Browser,” in Proceedings of the 22nd interna-
tional conference on World Wide Web (WWW’13), Rio de Janeiro, Brazi, May 2013, pp. 217–218.
N. Mihindukulasooriya, M. Esteban-Guti´errez, and R. Garc´ıa-Castro, “Seven challenges for REST-
ful transaction models,” in Proceedings of the companion publication of the 23rd international
conference on World wide web, Seoul, South Korea, Apr 2014, pp. 949–952.
L. Lamport, “Time, clocks, and the ordering of events in a distributed system,” Communications
of the ACM, vol. 21, no. 7, pp. 558–565, 1978.
M. Lanthaler and C. Guetl, “Hydra: A Vocabulary for Hypermedia-Driven Web APIs.” in Pro-
ceedings of the 6th Workshop on Linked Data on the Web (LDOW2013), ser. CEUR Workshop
Proceedings, vol. 996, May 2013, pp. 11–16.
N.Mihindukulasooriya, R. Garc´ıa-Castro, and A. G´omez-P´erez, “A Distributed TransactionModel
for Read-Write Linked Data Applications,” in Engineering the Web in the Big Data Era, ser.
Lecture Notes in Computer Science. Springer International Publishing, 2015, vol. 9114, pp.
–634.