Oracle BPEL Process Manager Protection from Failures and Expected Behavior

Configuring High Availability for Oracle Fusion Middleware SOA Suite 5-19 Figure 5–11 Oracle BPEL PM Configuration Properties If you are using Oracle SOA Suite in a clustered environment, any configuration property changes you make in Oracle Enterprise Manager on one node must be made on all nodes. Configuration properties are set in Oracle Enterprise Manager through the following options of the SOA Infrastructure menu: Administration System MBean Browser SOA Administration any property selections.

5.3.2 Oracle BPEL Process Manager High Availability Architecture and Failover Considerations

Figure 5–6 describes an Oracle SOA Service Infrastructure two-node cluster running on two WebLogic Servers. Oracle BPEL PM is deployed as part of the Oracle SOA Service infrastructure.

5.3.2.1 Oracle BPEL Process Manager Protection from Failures and Expected Behavior

For information about Oracle SOA Service Infrastructure protection from failures and expected behavior, see Section 5.2.2.1, Oracle SOA Service Infrastructure Protection from Failures and Expected Behavior . The BPEL engine system is protected from all process failures by the WebLogic Server infrastructure. The following process failure considerations apply to Oracle BPEL: ■ If the managed servers crash, Node Manager attempts to restart them locally. If whole server migration is configured and repeated restarts fail, the WebLogic Server infrastructure attempts to perform server migration of the managed server to the other node in the cluster, if it is configured. Once the server on the other node is restarted, Oracle HTTP Server resumes routing any incoming requests to it. The migrated server reads the SOA database, resumes any pending processing, and resume transactions from the transaction logs in shared storage. ■ The BPEL PM Service Engine or the entire SOA Service Infrastructure may be unavailable because of errors related to JDBC data sources, or Coherence 5-20 Oracle Fusion Middleware High Availability Guide configuration, even after a successful managed server startup. Therefore, it is necessary to monitor SOA Service Infrastructure logs for errors. For the location of server logs, see Section 5.2.1.6, Oracle SOA Service Infrastructure Log File Locations . In addition, for the handling of failures in the BPEL Engine itself with the WebLogic Server infrastructure, you can define and perform fault recovery actions on BPEL process faults identified as recoverable in Oracle Enterprise Manager Fusion Middleware Control. The recovery actions you perform on faults are based on actions you defined in your fault recovery policy files for BPEL process service components. Three types of faults can be displayed in Oracle Enterprise Manager Fusion Middleware Control: ■ Business: Application-specific faults that are generated when there is a problem with the information being processed for example, a social security number is not found in the database. ■ System: Network and other types of errors, such as a database server being completely unavailable, or a Web service being unreachable. ■ Oracle Web Services Manager OWSM: Errors on policies attached to SOA composite applications, service components, or binding components. Fault recovery policies are defined at design time. The fault policies files included with the composites define the actions to take should a failure occur. For more information on how to define and use Fault recovery, see the Oracle Fusion Middleware Administrator’s Guide for Oracle SOA Suite. Missing Instances The inbound payload for one-way invocation requests is stored in the dehydration store and committed with the current global transaction context. If the caller has already started a global transaction, the invocation message is saved when the caller commits the transaction; if no incoming transaction is present, a new transaction is started to commit the invocation message. If a BPEL instance cannot be found in Enterprise Manager, the invocation message may be present in the manual recovery console the recovery console lists all of the incoming messages that have not been delivered yet. If the invocation message is not found in the recovery console, check the status of the transaction from the caller side. Transactional Issues with Endpoints BPEL asynchronously saves the audit trail for instances that cannot be dehydrated within the global transaction in which the request was started. If any transactional services that are referenced from a BPEL component happen to roll back the transaction, the BPEL instance audit trail should still appear in Enterprise Manager. If there is a problem with the dehydration store, the entire global transaction is rolled back and no audit trail is saved. In this case, a message or activity can be recovered to pick up processing from the last known dehydrated point. If the dehydration point is an Oracle RAC database with multiple nodes and the Java EE server on which the BPEL engine is hosted loses its JDBC connection to the Oracle RAC node, the BPEL engine attempts to retry the transaction thereby rolling back whatever changes were made in the current transaction. If a new connection cannot be established to a new Oracle RAC node, the BPEL message or activity can be recovered using the recovery console. Configuring High Availability for Oracle Fusion Middleware SOA Suite 5-21 Logging BPEL engine loggers are set to INFO level by default. When trying to track down a message or instance, you may find it helpful to set loggers to TRACE level to enable more output to the WebLogic Server logs. For dehydration log messages, enable oracle.soa.bpel.engine.data. For thread or dispatcher log messages, enable oracle.soa.bpel.engine.dispatcher. To capture all engine log messages, enable oracle.soa.bpel.engine.

5.3.2.1.1 Recovering Failed BPEL and Mediator Instances In the case of a server failure,

in-flight one-way processes that were invoked asynchronously may require manual recovery. Such processes are marked as Recoverable and can be restarted using Enterprise Manager as shown in Figure 5–12 . Figure 5–12 BPEL PM Instance Recovery using Oracle Enterprise Manager

5.3.2.2 Oracle BPEL Process Manager Cluster-Wide Configuration Changes