Using Integration Controls

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Controls and Transactions

Business processes in WebLogic Integration are transactional in nature. Every step of a process is executed within the context of a JTA transaction. To learn about how transactions work within a business process, see Transaction Boundaries.

Some integration controls are transactional. This means that the control is able to participate in transactions within a business process. Whether or not a control is transactional depends on both the underlying resource and the specific control implementation. Also, transactional behavior differs depending on whether the control call is synchronous or asynchronous. To learn about synchronous or asynchronous operations in business processes, see Building Synchronous and Asynchronous Business Processes.

For synchronous control calls:

For asynchronous control calls:

The Process control is a special case, since it involves processes calling subprocesses.

For synchronous operations:

For asynchronous operations

The following integration controls are transactional:

The following integration controls are not transactional:

Good Practice in Creating Web Service Controls for a Business Process Application

When you call Web Service controls asynchronously from business processes, it is recommended that you buffer the asynchronous call. After creating the Web Service control, specify that the asynchronous calls from the business process to the control are buffered. By doing so, you ensure that the message sent from the business process to the Web service is enqueued. An asynchronous call to a resource marks the boundary of a transaction in your business process; a call to a resource is not enqueued until the transaction is committed. In other words, by buffering the call to the resource, you ensure that the transaction is committed before any response from the resource is attempted. If you do not buffer the call, your business process must wait for the HTTP acknowledgement to occur before the transaction is committed, leaving open the possibility that the resource attempts to respond to the business process before the HTTP acknowledgement occurs.

To learn how to buffer the methods, see com.bea.control.annotations.MessageBuffer. For an example of buffered asynchronous calls to Web Services, see how the taxCalculation, priceProcessor, and availProcessor Web Service controls are used in Tutorial: Building Your First Business Process.

Related Topics

Transaction Boundaries

Building Synchronous and Asynchronous Business Processes


  Back to Top       Previous  Next