Batched Transactions for RESTful Web Services

  • Sebastian Kochman
  • Paweł T. Wojciechowski
  • Miłosz Kmieciak
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7059)

Abstract

In this paper, we propose a new transaction processing system for RESTful Web services; we describe a system architecture and algorithms. Contrary to other approaches, Web services do not require any changes to be used with our system. The system is transparent to non-transactional clients. We achieve that by introducing an overlay network of mediators and proxy servers, and restricting transactions to be a batched set of REST/HTTP operations (or requests) on Web resources addressed by URIs. To be able to use existing Web hosts that normally do not support versioning of Web resources, transaction resources are currently modified in-place, with a simple compensation mechanism. Concurrent execution of transactions guarantees isolation.

Keywords

Enterprise Architecture Transaction Processing Window Azure Transaction Execution Atomic Broadcast 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Aguilera, M.K., Merchant, A., Shah, M., Veitch, A., Karamanolis, C.: Sinfonia: A new paradigm for building scalable distributed systems. In: Proc. SOSP 2007 (2007)Google Scholar
  2. 2.
    Bernstein, P.A., Newcomer, E.: Principles of Transaction Processing. Morgan Kaufmann (2009)Google Scholar
  3. 3.
    Carlyle, B.: The REST statelessness constraint (June 2009), http://soundadvice.id.au/blog/2009/06/13/#stateless
  4. 4.
    Défago, X., Schiper, A., Urbán, P.: Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys 36(4), 372–421 (2004)CrossRefGoogle Scholar
  5. 5.
    Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine (2000)Google Scholar
  6. 6.
    Haridas, J., Nilakantan, N., Calder, B.: Windows Azure Table. Microsoft (2009)Google Scholar
  7. 7.
    IT-SOA. Atomic REST (2011), http://www.it-soa.eu/atomicrest
  8. 8.
    Marinos, A., Razavi, A., Moschoyiannis, S., Krause, P.: RETRO: A consistent and recoverable RESTful transaction model. In: Proc. ICWS 2009 (July 2009)Google Scholar
  9. 9.
    Microsoft. Windows Azure - Team Blog, http://blogs.msdn.com/windowsazure
  10. 10.
  11. 11.
    Musgrove, M.: Compensating RESTful Transactions (June 2009), http://community.jboss.org/wiki/CompensatingRESTfulTransactions
  12. 12.
    OASIS. Web Services Atomic Transaction, Version 1.2 (February 2009)Google Scholar
  13. 13.
    Pautasso, C., Zimmermann, O., Leymann, F.: RESTful Web Services vs. ”Big” Web Services: Making the Right Architectural Decision. In: Proc. WWW 2008 (2008)Google Scholar
  14. 14.
    Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly (2007)Google Scholar
  15. 15.
    Rotem-Gal-Oz, A.: Transactions are bad for REST (June 2009), http://www.rgoarchitects.com/nblog/2009/06/15/TransactionsAreBadForREST.aspx
  16. 16.
    Rotem-Gal-Oz, A., Bruno, E., Dahan, U.: Saga. In: SOA Patterns, ch. 5.4. Manning Publications Co. (June 2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sebastian Kochman
    • 1
  • Paweł T. Wojciechowski
    • 1
  • Miłosz Kmieciak
    • 1
  1. 1.Poznań University of TechnologyPoland

Personalised recommendations