The advanced BPEL concepts are as follows:
BPEL provides rich features to handle faults.
Faults can be managed through
Catch, CatchAll
, Compensate, and also through Fault policies.The purpose of the compensation activity is to do a business rollback rather than a transaction rollback of a physical transaction. Compensate is not used for an ACID purpose; it compensates for an asynchronous activity in the business process flow.
The faults that are defined by WS-BPEL specifications are standard faults.
A BPEL process in SOA Suite 11g supports the business and runtime fault categories.
If a fault policy is defined, it overrides the fault handling in the BPEL process.
Faults are notified and handled differently for synchronous and asynchronous invocations.
The
bpelx:replay
fault is used to replay the scope by throwing a replay fault.Fault policy and fault policy bindings are defined in
fault-policies.xml
andfault-bindings.xml
, and they are bound to a composite usingcomposite.xml
.A custom fault policy needs to implement the
oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass
interface.The order of precedence in a BPEL process, which the Fault policy execution follows is:
Fault policies specified in
composite.xml
Fault handlers configured using the
Catch
block at scope level and theCatchAll
at process level (main scope)
BPEL supports both DOM and SDO data forms.
The FlowN activity creates multiple flows equal to the value of N, which is defined at runtime based on the data available and logic within the process.