How to Ensure Transactions in Services How to Handle Errors in the Asynchronous Request-Delayed Response MEP

12-24 Developers Guide for Oracle Application Integration Architecture Foundation Pack Figure 12–12 Async Provider ABCS Composite with a Second Reference to ResponseEBS When the message is processed successfully, the provider ABCS invokes the callback operation on the response EBS. The response EBS routes the response to the requester ABCS by invoking another receive activity. When en error occurs during the processing of the message, the provider ABCS invokes the response EBS through its second reference to the response EBS. In this case, the responseEBS is invoked using a SOAP call, not a native call. This is achieved by having the following property set on the second reference to the response EBS, in the composite of the provider ABCS. binding.ws port=port location=url property name=oracle.webservices.local.optimization type=xs:booleanfalseproperty binding.ws

12.6.3 How to Ensure Transactions in Services

For more information about ensuring transactions, see Section 13.6.1, How to Ensure Transactions in AIA Services .

12.6.4 How to Handle Errors in the Asynchronous Request-Delayed Response MEP

See Chapter 24, Configuring Oracle AIA Processes for Error Handling and Trace Logging. Note: Use this property in the provider ABCS reference component ONLY for the error scenario. Constructing the ABCS 12-25

12.7 Implementing Synchronous Request-Response Message Exchange Scenario

If you are implementing synchronous request-response MEP, this section provides the necessary guidelines. For more information about the scenarios for which this MEP is recommended, see Section 11.3.2.1, When to Use the Synchronous Request-Response MEP . In this scenario, requester ABCS synchronously invokes the EBS. The EBS invokes the Provider ABCS and waits for a response. Synchronicity should manifest in the WSDLs of requester ABCS, EBS, and provider ABCS. All of the WSDLs should have the operation defined with input and output message.

12.7.1 How to Ensure Transactions in Services

This MEP does not need to support transactions. No break points such as midprocess Receive, wait, Pick, onMessage activities should be in any of the BPEL processes participating in implementation of this MEP. For more information about ensuring transactions, see Section 13.6.1, How to Ensure Transactions in AIA Services .

12.7.2 How to Handle Errors in the Synchronous Request-Response MEP

See Chapter 24, Configuring Oracle AIA Processes for Error Handling and Trace Logging.

12.7.3 How to Optimize the Services to Improve Response Time

Because this MEP involves implementation of transient services no break point activities and hence, no dehydration in the middle, we highly recommend that the audit details for BPEL services are persisted only for faulted instances. This means that the service instances associated with the successfully completed integration flows are not visible using Oracle Enterprise Manager. This approach significantly improves the response time. auditLevel property sets the audit trail logging level. This configuration property is applicable to both durable and transient processes. This property controls the amount of audit events that are logged by a process. Audit events result in more database inserts into the audit_level and audit_details tables, which may impact performance. Audit information is used only for viewing the state of the process from Oracle Enterprise Manager Console. Use the Off value if you do not want to store any audit information. Always choose the audit level according to your business requirements and use cases. For synchronous BPEL processes, AIA recommends nonpersistence of instance details for successfully completed instances. For this, set the auditLevel property to off at the service component level. This general guideline could be overridden for individual services based on use cases.

12.8 Invoking Enterprise Business Services

This section discusses the guidelines for invoking an EBS from an ABCS and for working with operations of an EBS. This content is provided from the perspective of invoking an EBS operation and also helps in understanding EBS operations from an implementation perspective.