How to Ensure Transactions in Services How to Handle Errors in the Synchronous Request-Response MEP How to Optimize the Services to Improve Response Time

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