Looking into Compensable Transactions

  • Authors:
  • Jing Li;Huibiao Zhu;Geguang Pu;Jifeng He

  • Affiliations:
  • -;-;-;-

  • Venue:
  • SEW '07 Proceedings of the 31st IEEE Software Engineering Workshop
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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 sug- gested to be an error recovery mechanism. Hence, a busi- ness 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 specu- lative choice, exception handling, alternative forwarding, and programmable compensation. These constructs cannot only improve the responsiveness to environment but also en- hance the capability for dealing with errors. In this paper, we introduce a transactional calculus in which compens- able 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.