Looking into Compensable Transactions
Jing Li,Huibiao Zhu,Geguang Pu,Jifeng He
DOI: https://doi.org/10.1109/SEW.2007.62
2007-01-01
Abstract: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.