A SURVEY OF RESTFUL TRANSACTION MODELS: ONE MODEL DOES NOT FIT ALL

Authors

  • NANDANA MIHINDUKULASOORIYA Center for Open Middleware, Ontology Engineering Group Universidad Polit´ecnica de Madrid, Spain
  • RA´UL GARC´IA-CASTRO Center for Open Middleware, Ontology Engineering Group Universidad Polit´ecnica de Madrid, Spain
  • MIGUEL ESTEBAN-GUTI´ERREZ Center for Open Middleware, Ontology Engineering Group Universidad Polit´ecnica de Madrid, Spain
  • ASUNCI´ON G´OMEZ-P´EREZ Center for Open Middleware, Ontology Engineering Group Universidad Polit´ecnica de Madrid, Spain

Keywords:

REST, Web applications, Transactions

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.

 

Downloads

Download data is not yet available.

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.

Downloads

Published

2016-02-27

Issue

Section

Articles