This feature allows a client application such as batch, CICS®, etc. to contact a remote WebSphere® Application Server server instance hosting an application whose business logic execution and results are required by the client. The remote invocation is done by leveraging the BBOA1INV/BBGA1INV and BBOA1SRQ/BBGA1SRQ APIs and a proxy application (RemoteEJBProxy), which is shipped with WebSphere Application Server for z/OS®.
The remoteEJBProxy application is bound by default to JNDI name: ejb/com/ibm/ws390/ola/jca/RemoteEJBProxyHome. If for any reason the default value must be changed, the proxy application's target resource JNDI name can be customized through the administrative console page under Applications > ola_proxy > EJB JNDI Name > JNDI Name for all interfaces. If the JNDI name is updated, the WebSphere runtime must be made aware of the change by setting the ola_remote_ejb_proxy_jndiname environment variable as discussed in the topic, Optimized local adapters environment variables.
Note that changing the remoteEJBProxy application's default JNDI name is an optional step. It is not required unless you need it to be changed.
The invocation procedures for the Invoke (BBOA1INV/BBGA1INV) and send request (BBOA1SRQ/BBGA1SRQ) APIs are the same as those for local invocations, with the only difference being that the invocation request type parameter (requesttype) must be set to 2 as discussed in the Optimized local adapters for z/OS APIs topic.
The service name (JNDI name) specified on the invoke or send request API calls should be the name that the local WebSphere Application Server for z/OS would use to look up the remote application using the federated JNDI namespace for the remote server. For example, if the remote server's namespace was federated at location remote/server5, and the application is installed using JNDI name ejb/myRemoteApp on the remote server, then the service name specified on the invoke API or the send request API would be remote/server5/ejb/myRemoteApp.
This feature also provides the capability of invoking the remote application within a client initiated global transaction. When using a CICS client within a global transaction, the outcome might result in an ABEND ASP3 when CICS detects that the transaction rolled back after it issued a command to commit the global transaction. This is an expected case given CICS handling of such a scenario. The rollback behavior is also an expected behavior in cases where an error condition takes place while processing the EJB invocation such that the global transaction's outcome cannot be other than rollback.