Towards Distributed Atomic Transactions over RESTful Services

Chapter

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.

References

  1. Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  2. 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
  3. 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.CrossRefGoogle Scholar
  4. Roy Fielding. Architectural Styles and The Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000.Google Scholar
  5. 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
  6. 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
  7. Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.Google Scholar
  8. 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
  9. Michi Henning. The Rise and Fall of CORBA. ACM Queue, 4(5):28–34, June 2006.MathSciNetCrossRefGoogle Scholar
  10. Mark Little. REST and transactions?, 2009. http://www.infoq.com/news/2009/06/rest-ts.
  11. 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
  12. Open Group. Distributed TP: The XA Specification, February 1992.Google Scholar
  13. Guy Pardon. Try-Cancel/Confirm: Transactions for (Web) Services, 2009. http://www.atomikos.com/Publications/TryCancelConfirm.
  14. 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
  15. Cesare Pautasso. BPEL for REST. In 7th International Conference on Business Process Management (BPM08), Milan, Italy, September 2008.Google Scholar
  16. 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
  17. 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
  18. 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
  19. 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
  20. Leonard Richardson and Sam Ruby. RESTful Web Services. O’Reilly, May 2007.Google Scholar
  21. 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
  22. 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
  23. Steve Vinoski. Serendipitous Reuse. IEEE Internet Computing, 12(1):84–87, 2008.CrossRefGoogle Scholar
  24. 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
  25. Jim Webber, Savas Parastatidis, and Ian Robinson. REST in practice. O’Reilly, September 2010.Google Scholar
  26. 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
  27. 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

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.ATOMIKOSMechelenBelgium
  2. 2.Faculty of InformaticsUniversity of LuganoLuganoSwitzerland

Personalised recommendations