Looking into Compensable Transactions

Transaction is a lasting debatable issue, no matter in database systems or in the new paradigm of web services. Particularly, in the context of service oriented computing, business transactions usually require long periods of time to complete. In case of failure, the traditional approaches, e.g., rollback, are not applicable to handle errors during long running transactions. Instead, compensation is suggested to be an error recovery mechanism. Hence, a business transaction is programmed as a composition of a set of compensable transactions. Sequence and parallel are two standard primitives to put compensable transactions together into a bigger compensable one. Besides, there are other useful compositional constructs, such as speculative choice, exception handling, alternative forwarding, and programmable compensation. These constructs cannot only improve the responsiveness to environment but also enhance the capability for dealing with errors. In this paper, we introduce a transactional calculus in which compensable transactions can be composed in a variety of ways. It is equipped with a trace model which is carefully presented to provide a clear meaning for each transactional construct. In addition, algebraic properties are investigated by giving corresponding equational laws.

[1]  Roberto Bruni,et al.  From Theory to Practice in Transactional Composition of Web Services , 2005, EPEW/WS-FM.

[2]  Manuel Mazzara,et al.  A Framework for Generic Error Handling in Business Processes , 2004, Electron. Notes Theor. Comput. Sci..

[3]  Cosimo Laneve,et al.  Foundations of Web Transactions , 2005, FoSSaCS.

[4]  Michael J. Butler,et al.  An Operational Semantics for StAC, a Language for Modelling Long-Running Business Transactions , 2004, COORDINATION.

[5]  Peter Henderson,et al.  Extending the concept of transaction compensation , 2002, IBM Syst. J..

[6]  Jing Li,et al.  Towards the Semantics for Web Service Choreography Description Language , 2006, ICFEM.

[7]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[8]  Michael J. Butler,et al.  A Process Compensation Language , 2000, IFM.

[9]  T. D. Fletcher,et al.  Web Services Choreography Description Language Version 1.0, W3C , 2004 .

[10]  Jing Li,et al.  Modeling and Verifying Web Services Choreography Using Process Algebra , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[11]  S. Krishnan,et al.  2 XLANG : Web Services for Business Process Design , 2002 .

[12]  Jifeng He,et al.  A model for BPEL-like languages , 2007, Frontiers of Computer Science in China.

[13]  Roberto Bruni,et al.  Comparing Two Approaches to Compensable Flow Composition , 2005, CONCUR.

[14]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[15]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[16]  Shamim Ripon,et al.  Executable Semantics for Compensating CSP , 2005, EPEW/WS-FM.

[17]  Abraham Silberschatz,et al.  A Formal Approach to Recovery by Compensating Transactions , 1990, VLDB.

[18]  Roberto Bruni,et al.  Theoretical foundations for compensations in flow composition languages , 2005, POPL '05.

[19]  Jifeng He,et al.  Theoretical Foundations of Scope-Based Compensable Flow Language for Web Service , 2006, FMOODS.