ABSTRACT
The REST architectural style supports the reliable interaction of clients with a single server. However, no guarantees can be made for more complex interactions which require to atomically transfer state among resources distributed across multiple servers. In this paper we describe a lightweight design for transactional composition of RESTful services. The approach -- based on the Try-Cancel/Confirm (TCC) pattern -- does not require any extension to the HTTP protocol. The design assumes that resources are designed to comply with the TCC pattern and ensures that the resources involved in the transaction are not aware of it. It delegates the responsibility of achieving the atomicity of the transaction to a coordinator which exposes a RESTful API.
- R. Fielding. Architectural Styles and The Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000. Google ScholarDigital Library
- M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley, November 2002. Google ScholarDigital Library
- Y. Y. Goland, E. J. Whitehead, A. Faizi, S. Carter, and D. Jensen. HTTP extensions for distributed authoring -- WebDAV. Internet RFC 2518, Feb. 1999. Google ScholarDigital Library
- J. Gray. The transaction concept: Virtues and limitations (invited paper). In Proc.of the Seventh International Conference on Very Large Data Bases, VLDB '81, pages 144--154. VLDB Endowment, 1981. Google ScholarDigital Library
- M. Little. REST and transactions?, 2009. http://www.infoq.com/news/2009/06/rest-ts.Google Scholar
- T. Margaria and M. Hinchey. Simplicity in IT: The power of less. Computer, 46(11):23--25, 2013. Google ScholarDigital Library
- N. Mihindukulasooriya, M. E. Gutiérrez, and R. G. Castro. Seven challenges for RESTful transaction models. In Proc. of Fifth International Workshop on RESTful Design (WS-REST 2014), 2014. Google ScholarDigital Library
- G. Pardon. Try-Cancel/Confirm: Transactions for (Web) Services, 2009. http://www.atomikos.com/Publications/TryCancelConfirm.Google Scholar
- G. Pardon and C. Pautasso. Towards distributed atomic transactions over RESTful services. In REST: From Research to Practice, pages 507--524. Springer, 2011.Google ScholarCross Ref
- C. Pautasso and M. Babazadeh. The atomic web browser. Poster at the 22nd International World Wide Web Conference (WWW 2013), pages 217--218, May 2013. Google ScholarDigital Library
- L. Richardson and S. Ruby. RESTful Web Services. O'Reilly, May 2007. Google ScholarDigital Library
Index Terms
- Atomic distributed transactions: a RESTful design
Recommendations
Scalable atomic visibility with RAMP transactions
SIGMOD '14: Proceedings of the 2014 ACM SIGMOD International Conference on Management of DataDatabases can provide scalability by partitioning data across several servers. However, multi-partition, multi-operation transactional access is often expensive, employing coordination-intensive locking, validation, or scheduling mechanisms. Accordingly,...
Split hardware transactions: true nesting of transactions using best-effort hardware transactional memory
PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programmingTransactional Memory (TM) is on its way to becoming the programming API of choice for writing correct, concurrent, and scalable programs. Hardware TM (HTM) implementations are expected to be significantly faster than pure software TM (STM); however, ...
Efficient, Distributed, and Non-Speculative Multi-Address Atomic Operations
MICRO '21: MICRO-54: 54th Annual IEEE/ACM International Symposium on MicroarchitectureCritical sections that read, modify, and write (RMW) a small set of addresses are common in parallel applications and concurrent data structures. However, to escape from the intricacies of fine-grained locks, which require reasoning about all possible ...
Comments