Even if a single idempotent interaction between one client and one RESTful Web service is reliable, it is not clear how to guarantee the property of atomicity when a client is interacting with multiple RESTful Web services. Even if HTTP has been designed to achieve reliable transfer of state between client and server, it is not clear how to use HTTP in order to let a client atomically transfer the state among two resources owned by different servers. There is considerable debate in the REST community whether or not transactions are needed, desirable and possible, but it is agreed that many are reluctant to adopt REST to build SOAs in enterprise settings due to the apparent lack of transactional support.This presentation's contribution to this debate is threefold:
As opposed to existing work in the area, our TCC for REST protocol minimizes the assumptions made on the individual services that can be part of a transaction (ensuring that they remain loosely coupled) and does not require any extension to the HTTP protocol.Watch the recording of Transactions for the REST of us presentation on InfoQ but also have a look at the book "SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST" in which this and other REST-based transaction methods are documented. Transactions for REST is available to subscribers of ExtremeTransactions.