Skip to main content

Towards Distributed Atomic Transactions over RESTful Services

  • Chapter
  • First Online:
REST: From Research to Practice

Abstract

There is considerable debate in the REST community whether or not transaction support is needed and possible. This chapter’s contribution to this debate is threefold: we define a business case for transactions in REST based on the Try-Cancel/Confirm (TCC) pattern; we outline a very light-weight protocol that guarantees atomicity and recovery over distributed REST resources; and we discuss the inherent theoretical limitations of our approach. Our TCC for REST approach minimizes the assumptions made on the individual services that can be part of a transaction and does not require any extension to the HTTP protocol. A very simple but realistic example helps to illustrate the applicability of the approach.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Especially because the participants are not aware that they are part of a transaction

  2. 2.

    A similar idea (but lacking the “try” phase) was also proposed in the OASIS BTP proposal (Dalal et al. 2003), which was standardized but remains without any current implementations.

References

  • Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.

    Google Scholar 

  • Eric A. Brewer. Towards robust distributed systems (abstract). In Proc. of the 19th Annual ACM Symposium on Principles of Distributed Computing, page 7, Portland, Oregon, July 2000.

    Google Scholar 

  • Sanjay Dalal, Sazi Temel, Mark Little, Mark Potts, and Jim Webber. Coordinating Business Transactions on the Web. IEEE Internet Computing, 7(1):30–39, January 2003.

    Article  Google Scholar 

  • Roy Fielding. Architectural Styles and The Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000.

    Google Scholar 

  • Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson. Impossibility of distributed consensus with one faulty process. J. ACM, 32(2):374–382, 1985.

    Google Scholar 

  • Yaron Y. Goland, E. James Whitehead, A. Faizi, S. Carter, and D. Jensen. HTTP Extensions for Distributed Authoring — WebDAV. Internet RFC 2518, February 1999.

    Google Scholar 

  • Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.

    Google Scholar 

  • Pat Helland. Life beyond Distributed Transactions: an Apostate’s Opinion. In Third Biennial Conference on Innovative Data Systems Research (CIDR 2007), pages 132–141, Asilomar, CA, January 2007.

    Google Scholar 

  • Michi Henning. The Rise and Fall of CORBA. ACM Queue, 4(5):28–34, June 2006.

    Article  MathSciNet  Google Scholar 

  • Mark Little. REST and transactions?, 2009. http://www.infoq.com/news/2009/06/rest-ts.

  • Alexandros Marinos, Amir R. Razavi, Sotiris Moschoyiannis, and Paul J. Krause. RETRO: A Consistent and Recoverable RESTful Transaction Model. In Proc. of the IEEE International Conference on Web Services (ICWS 2009), pages 181–188, Los Angeles, CA, USA, July 2009.

    Google Scholar 

  • Open Group. Distributed TP: The XA Specification, February 1992.

    Google Scholar 

  • Guy Pardon. Try-Cancel/Confirm: Transactions for (Web) Services, 2009. http://www.atomikos.com/Publications/TryCancelConfirm.

  • Guy Pardon and Gustavo Alonso. CheeTah: a Lightweight Transaction Server for Plug-and-Play Internet Data Management. In Proceedings of 26th International Conference on Very Large Data Bases (VLDB 2000), pages 210–219, Cairo, Egypt, September 2000.

    Google Scholar 

  • Cesare Pautasso. BPEL for REST. In 7th International Conference on Business Process Management (BPM08), Milan, Italy, September 2008.

    Google Scholar 

  • Cesare Pautasso. Composing RESTful Services with JOpera. In Proc. of the International Conference on Software Composition (SC09), pages 142–159, Zurich, Switzerland, July 2009.

    Google Scholar 

  • Cesare Pautasso and Erik Wilde. Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design. In Proc. of the 18th International World Wide Web Conference, pages 911–920, Madrid, Spain, May 2009.

    Google Scholar 

  • Prabhu Ram, Lyman Do, Pamela Drew, and Tong Zhou. Object Transaction Service: Experiences and Open Issues. In International Symposium on Distributed Objects and Applications (DOA 1999), pages 296–304, Edinburgh, UK, September 1999.

    Google Scholar 

  • Amir R. Razavi, Alexandros Marinos, Sotiris Moschoyiannis, and Paul J. Krause. RESTful Transactions Supported by the Isolation Theorems. In ICWE’09, pages 394–409, 2009.

    Google Scholar 

  • Leonard Richardson and Sam Ruby. RESTful Web Services. O’Reilly, May 2007.

    Google Scholar 

  • Florian Rosenberg, Francisco Curbera, Matthew J. Duftler, and Rania Kahalf. Composing RESTful Services and Collaborative Workflows. IEEE Internet Computing, 12(5):24–31, September-October 2008.

    Google Scholar 

  • Stefan Tai, Thomas Mikalsen, Eric Wohlstadter, Nirmit Desai, and Isabelle Rouvellou. Transaction policies for service-oriented computing. Data Knowl. Eng., 51(1):59–79, 2004.

    Google Scholar 

  • Steve Vinoski. Serendipitous Reuse. IEEE Internet Computing, 12(1):84–87, 2008.

    Article  Google Scholar 

  • Hartmut Vogler, Marie-Luise Moschgath, Thomas Kunkelmann, and J. Grünewald. The Transaction Internet Protocol in Practice: Reliability for WWW Applications. IEEE Computer Society, Internet Workshop’99 (IWS’99), February 1999.

    Google Scholar 

  • Jim Webber, Savas Parastatidis, and Ian Robinson. REST in practice. O’Reilly, September 2010.

    Google Scholar 

  • Xiwei Xu, Liming Zhu, Yan Liu, and Mark Staples. Resource-Oriented Architecture for Business Processes. In Proc of the 15th Asia-Pacific Software Engineering Conference (APSEC2008), December 2008.

    Google Scholar 

  • Olaf Zimmermann, Jonas Grundler, Stefan Tai, and Frank Leymann. Architectural Decisions and Patterns for Transactional Worlflows in SOA. In Proc. of the 5th International Conference on Service-Oriented Computing, Vienna, Austria, 2007.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guy Pardon .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Pardon, G., Pautasso, C. (2011). Towards Distributed Atomic Transactions over RESTful Services. In: Wilde, E., Pautasso, C. (eds) REST: From Research to Practice. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-8303-9_23

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-8303-9_23

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4419-8302-2

  • Online ISBN: 978-1-4419-8303-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics