Thursday, June 4, 2009

JavaOne 2009: RESTful Transaction Systems

Mark Little (JBoss CTO) and Michael Musgrove (Red Hat Tx)
RESTful Transaction Systems


  • Atomic Transactions should have a scoping mechanism that provides "all-or-nothing" semantics, enables shared resources to be protected from concurrent use and have ACID properties (Atomic, Consistent, Isolated, Durable)

  • WS-Transactions in the past vas very hard to achieve transactional interaction among WS services; even JTS implementations didn't interoperate but WS provide the opportunity to leverage unparalleled interoparability

  • On B2B interaction, one cannot affort to lock resources on behalf of an individual indefinitely and maybe you need to undo a subset of the worh that's been done

  • Possible Transaction Models for REST


    • Atomic Transaction (XA/XTA) - status: specified and implementd

    • Forward Compensation Base (WS-BP)- status: specified


  • Implementation for REST transaction for JBoss uses an uniform interface with HTTP and the usual methods (GET, PUT and POST) return the usual HTML code and some XML in the body

  • Example URLs:


    • GET <s>://<auth>/transaction-coordinator/active

    • POST <s>://<auth>/transaction-coordinator/begin


  • Demo is using the transaction-coordinator (with a Proxy in Tomcat) and some Web Services in Python, JBoss TM and RESTeasy

No comments: