Jump to content

Long-running transaction

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by DJSoundDog (talk | contribs) at 04:44, 15 January 2021 (Added reference to the original paper which introduced the term 'saga' to this context, as well as the use of an execution controller. Removed reference to a penalty fee for cancellation of a hotel reservation as it is not relevant to the topic.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Long-running transactions (also known as the saga interaction pattern[1][2] ) are computer database transactions that avoid locks on non-local resources, use compensation to handle failures, potentially aggregate smaller ACID transactions (also referred to as atomic transactions), and typically use a coordinator to complete or abort the transaction. In contrast to rollback in ACID transactions, compensation restores the original state, or an equivalent, and is business-specific. For example, the compensating action for making a hotel reservation is canceling that reservation.

A number of protocols have been specified for long-running transactions using Web services within business processes. OASIS Business Transaction Processing[3] and WS-CAF[4] are examples. These protocols use a coordinator to mediate the successful completion or use of compensation in a long-running transaction.

See also

References

  1. ^ Garcia-Molina, Hector; Salem, Kenneth (7 January 1987). "SAGAS" (PDF). Princeton, NJ: Department of Computer Science Princeton University. {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ Rotem-Gal-Oz, Arnon (September 24, 2012). "5.4 Saga" (PDF). SOA Patterns (1st ed.). Manning Publications. ISBN 978-1933988269.
  3. ^ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=business-transaction
  4. ^ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-caf