Database Reference
In-Depth Information
Associating SOA patterns with OFM
standard tools
Compensation is not exactly proportional to the complexity of your composition. With no
rollback option available, returning to a condition that is equivalent to the composition's
initial state (before the composition was initiated, or at a certain composition condition
where the state of affairs was consistent) is directly related to the duration of the composi-
tion. Think of it this way: if you break your wife's favorite cup, a bunch of flowers and an-
other cup would be enough. However, if you forget your wedding anniversary, even a good
diamond ring could barely settle this down (although, one positive thing is for certain: you
will never forget it again). Talking seriously about services' data consistency, the further we
are from the composition's initiation point, the more difficult it will be to remove all rela-
tions that occur around the data implanted by service activities. As we mentioned, long run-
ning compositions hosted by SCA in general can be presented as a chain of ATCs that are
handled by OSB. Actually, this is the shortest description of the agnostic composition con-
troller, which is available in Chapter 3 , Building the Core - Enterprise Business Flows , to
Chapter 6 , Finding the Compromise - the Adapter Framework ; it signifies that the central-
ized exception handling facility should equally cover Rollback and Compensations.
Tip
Regardless of the terminology you have established for your domain, the process of hand-
ling errors, exceptions, and system messages, in general, is the same as that of detecting the
event, assigning an appropriate action for it, and executing this action in a controlled man-
ner. In the scope of this chapter, the event we understand is not just any event (change of
state), but those that are not in the range of our "happy execution plan". A forced event
such as Audit is something different, although its data can be stored together with excep-
tions in the common log.
As we mentioned, a number of corrective actions can be quite substantial, and going fur-
ther, not all of them can be really corrective. There are some preparations and post-comple-
tion steps required; also, the service composition should adhere to certain design rules in
order to be more controllable in situations when recovery is needed. We will start with
gathering common requirements first and then see which of the Oracle tools can cover
them in a generic and reusable way. Our first traditional move is the analysis of a typical
SOA landscape.
Search WWH ::




Custom Search