Compensating transaction

With distributed systems, it is not always practical or desirable to issue a command as a transaction. A transaction in this context refers to a lower-level programming construct that manages one or more commands as a single action that either all succeeds or all fails. In some situations, a distributed transaction is not supported, or the overhead of using a distributed transaction outweighs the benefits. The Compensating Transaction pattern was developed to handle this situation. Let's use the following as an example based on a BizTalk orchestration:

The diagram shows two steps in a process: creating order in an Order Service and debiting funds from a Customer Service. The diagram shows how, first the order is created and then the funds are removed. If the debit of funds does not succeed then the order is removed from the Order Service. 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.254.35