Database Reference
In-Depth Information
Compensative transactions
The compensative transaction feature is proprietary for long running transactions, and thus,
it's incorporated into BPEL. Like with most Oracle BPEL features, it is presented graphic-
ally; thanks to this, it's quite well known and widely used. Probably, we should not waste
your time here by explaining the obvious, but as long as the Compensative Transaction
SOA pattern is involved, a brief walkthrough should be in order.
The classic example (and you can find plenty of them) is based on SCA's booking applica-
tion: while planning your vacation, you consequently topic a hotel, a flight, and a car. If a
car is not an option, you still have no reason to cancel your vacation, flight, and hotel reser-
vation (the error resolution action would be Continue). Now, if there are no rooms available
(you should start earlier this year) and living in a tent hardly makes your spouse happy, you
definitely have to cancel your flight and consider another destination (we hope that you
can).
So what do we know? Refer to the following bullet points:
• We are aware of the blue double-arrow icon (like the one on your remote control)
on the left-hand side of the BPEL scope. It is second from the bottom, named Add
Compensation Handler .
• We know that we are not in the same atomic transaction: ACID rollback is not pos-
sible.
• As rollback is not possible, physical delete (as opposite to insert, the so-called
business rollback) will be implemented, probably as a separate BPEL scope or ad-
ditional process call: invoke the "ClearBooking". Thus, some more effort is re-
quired from us. Our Entity services must have the full set of basic operations: ad-
d<..> , get<..> , delete<..> .
Search WWH ::




Custom Search