| Most
transactions in current computer systems are considered "short-lived
transactions". That is, the decision to commit (go-forward)
or rollback (undo) the transaction is made within seconds. Long
Running Transactions (LRT, also known as Sagas) are transactions
that may take minutes, days or weeks before the outcome of the
transaction is known. This increased length of time is common
when multiple companies are required to participate in a multi-step
transaction. It also occurs when the transaction is waiting for
an external event (like user input).
|
The first step in
executing a LRT is to make sure all of the parties know that they
need to participate in the conversation. In the GXA,
this has been accomplished via the WS-Coordination
standard. After all parties agree to cooperate, another GXA standard
(WS-Transaction) is used to
determine the actual outcome. Unlike in short lived transactions,
LRT’s will use a compensation
to undo the effects of the original request if the transaction
does not succeed.
|