Databases Reference
In-Depth Information
Once we have defined a policy, we can then attach (or bind) it to an SOA composite,
a BPEL, a Mediator service component, or an external reference. This provides a
flexible mechanism for attaching different polices to different components within a
composite. For example, we could define a generic fault policy for a composite, but
then override it for a specific component or external reference within that composite.
Although BPEL processes and Mediators leverage the same fault management
framework, the application of the framework is slightly different for each.
Using the fault management framework in
BPEL
Within BPEL, the fault management framework allows us to define policies for
handling faults which occur when a BPEL process executes an Invoke activity.
When a fault occurs, the framework intercepts the fault before it is returned to the
BPEL process. It then attempts to identify an appropriate fault policy to handle the
fault. If it finds one, the policy is executed, and assuming the fault is resolved, the
BPEL process continues as if nothing happened.
In the case where the framework is unable to identify an appropriate fault policy to
handle the fault, the fault is returned to the BPEL process to handle.
This is fine for a business fault as we need to handle it in a way that is appropriate to
the business process, as covered previously.
But for system faults, such as network problems resulting in a service becoming
temporarily unavailable, implementing the handling of this at the process level can
be protracted, often requiring the same fragments of BPEL to be implemented in
every process.
For these scenarios, the fault management framework can greatly simplify the effort
required to implement the appropriate error handling within BPEL.
Using the fault management framework in
Mediator
The behavior of the fault management framework is slightly different for the
Mediator. Firstly, we can only use it for operations which implement parallel
routing rules. This means that we can only use it for asynchronous services.
 
Search WWH ::




Custom Search