(zos)Calling an enterprise bean from an external address space while ignoring the client transaction context
Use this task when to call an WebSphere (EJB) application that is deployed on WebSphere Application Server for z/OS from an external address space while ignoring the client transaction context.
The only environment where transactional semantics are supported is Customer Information Control System (CICS ).
(V8502) Start with v8.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 WAS is configured to support transactions. Also, the client must have called the Register API with the TRANSACTIONAL flag set to the value of 1.
(V8502) When running in an IMS dependent region, the IMS environment must be running with RRS=YES.
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.
- Deploy an EJB application on WebSphere Application Server using a transaction attribute of not supported, never or requires new on the execute method.
- Start the client program transaction using the transactional semantics and perform transactional work required in the client environment.
- Use the Invoke (BBOA1INV) API or the Send Request (BBOA1SRQ) API to make a remote call to the EJB application that is deployed on WebSphere Application Server for z/OS. The transaction context propagates to the WAS server, but the EJB application creates a new local or global transaction context, depending on the transaction attribute used by the EJB application.
- The WebSphere Application Server server transaction is committed at the end of the execute method.
- Use the transactional semantics of the client environment to commit or end the transaction independent of the outcome of the WAS server transaction.
Results
The new transaction is propagated to the WAS for z/OS. The server ignores the transaction context and drives the EJB call inside its own unit of work, which commits independent of the client's unit of work when the EJB call returns.
Related concepts
Optimized local adapters on WebSphere Application Server for z/OS Optimized local adapters for z/OS APIs WebSphere Application Server transactions BBOC, BBO$, BBO#
Related tasks
Deploy Enable optimized local adapters support in CICS Install the WebSphere BBOC, BBO$ and BBO# transactions in CICS