[z/OS]

Calling an enterprise bean from an external address space within a client-initiated transaction

Use this task when you call an WebSphere® (EJB) application that is deployed on WebSphere Application Server for z/OS® from an external address space within a client-initiated transaction. The Customer Information Control System (CICS®) environment is the only environment where transactional support is supported.

Before you begin

The only environment where transactional semantics are supported is Customer Information Control System (CICS).

Starting with Version 8.5.0.2, the Customer Information Control System (CICS®) and Information Management System (IMS) are the only environments where transactional support is provided with WOLA.

The client process must be running on a z/OS operating system and the client environment must support transactional semantics. The connection between the client and the WebSphere Application Server is configured to support transactions. Also, the client must have called the Register API with the TRANSACTIONAL flag set to the value of 1.

When running in an IMS dependent region, the IMS environment must be running with RRS=YES.

About this task

This process starts when you begin a transaction in a client environment. The client calls an EJB application that is running on WebSphere Application Server for z/OS and propagates the new transaction to the application server. The semantics for starting a transaction in the client environment varies based on the client environment. Refer to the CICS documentation for information about the semantics for starting a transaction in a CICS client environment. Refer to the IMS documentation for information about the semantics for starting a transaction in an IMS client environment.

Procedure

  1. Deploy an EJB application on WebSphere Application Server. Use a transaction attribute, such as required, support or mandatory, on the execute method.
  2. Start a transaction on the client application using the transactional semantics. The client application performs transactional work that is required in the client environment.
  3. Use the Invoke (BBOA1INV) API or the Send Request (BBOA1SRQ) API to make a remote call with the client program to the EJB application that is deployed on WebSphere Application Server.
    The transaction context propagates to the WebSphere Application Server server and the EJB application runs under the transaction context.
  4. Use the transactional semantics of the client environment to commit or end the transaction independent of the outcome of the WebSphere Application Server server transaction.

Results

The new transaction is propagated to the WebSphere Application Server for z/OS server. The client commits the transaction and a single two-phase commit completes the transaction across the two address spaces.