A BPEL _____________ is needed to support nonidempotent application service

A BPEL _____________ is needed to support nonidempotent application service

A BPEL _____________ is needed to support nonidempotent application service

A.
compensation handler

B.
throw block

C.
switch construct

D.
exception handler

Explanation:
If a scope requires a compensation handler, the service that requires compensation
should be marked as non-idempotent by setting the “idempotent” property value to “false.” This
will cause Oracle BPEL Process Manager to start a new transaction after invoking the nontransactional resource.
Note: BPEL includes the concept of an invocable Compensating Transaction. This is similar to an
exception handler, and is defined at the scope level. However, it is explicitly invoked only by the
“Compensate” activity. Compensation is intended to allow the application of reversing operations
to systems that cannot participate in transactions, or when it has been decided that the systems
should not operate as part of transactions. For example, a Web Service might allow inventory to
be decremented, but an error makes it necessary to roll back the process. In this case, a
compensation handler would be defined to call the Web Service to increment the inventory,
effectively providing a reversing transaction. This allows you to define rollback activities and
associate them with the code that performs the operations that may need to be reversed. This is
also very useful in that it allows some exceptions to be handled without undoing all of the work.

Note: An idempotent activity is an activity that can be retried (for example, an assign activity or an
invoke activity). The instance is saved after a nonidempotent activity. This property is applicable to
both durable and transient processes.
Reference: SOA Suite Essentials for WLI Users, Working with Transactions



Leave a Reply 0

Your email address will not be published. Required fields are marked *