Use this task when you want to use the outbound APIs to connect to an application in an
external address space from an application that is deployed on WebSphere® Application Server for z/OS®.
Before you begin
The daemon group, address space, and external address space must be set up to use the
optimized local adapters APIs. The external address space must be registered in the daemon group by
calling the BBOA1REG API. The application that is running in the external address space must have
established itself as an optimized local adapters server task using one of the APIs, including
BBOA1SRV, BBOA1RCA or BBOA1RCS.
The optimized local adapters resource adapter archive (RAR)
file, ola.rar, is deployed and configured using the WebSphere Application Server administrative console or the olaRar.py
script.
Procedure
- Locate the application deployment descriptor in the application that makes the external
call.
This is the application that is deployed on WebSphere Application Server for which you want to make an outbound call
from.
- Create a resource reference that points to the optimized local adapter connection
factory.
The optimized local adapter connection factory is created when the
ola.rar file is installed on WebSphere Application Server.
- Locate the connection factory for the optimized local adapter.
You can find the connection factory by looking up the resource reference in the Java™ Naming Directory Interface (JNDI), for
example:
Context ctx = new InitialContext();
ConnectionFactory cf = ctx.lookup("java:comp/env/ola");
- Create a ConnectionSpecImpl method call and provide the register name to connect
to.
You can either use the Register name as an attribute on the managed connection
factory or use the ConnectionSpecImpl method, setRegisterName, to provide the registration name for
the application that is running in the external address space or subsystem that you want to connect
to. This must be the same registration name that was provided by the application in the external
address space or subsystem using one of the server optimized local adapters APIs, BBOA1SRV,
BBOA1RCA, or BBOA1RCS. For example,
ConnectionSpecImpl csi = new ConnectionSpecImpl();
csi.setRegisterName ("MyRES1");
Attention: Setting the register name on the ConnectionSpecImpl object is not necessary if the
register name was specified using the RegisterName custom property on the ConnectionFactory
object.
Attention: If you want to use the resource adapter high availability feature, you must
ensure that your application does not use the setRegisterName method and instead you must configure
the target Register name in the managed connection's connection factory attributes. Refer to the
topic, Enabling resource adapter high availability support, for more information on how to configure
high availability.
- Optional: If you are calling an Information Management System (IMS) transaction that does not use the optimized local adapter
server APIs, BBOA1SRV, BBOA1RCA, or BBOA1RCS, use this step to set the IMS Open Transaction Manager Access (OTMA) parameters.
You can either set the IMS OTMA server name, XCF group ID
and transaction level as attributes on the managed connection factory, or use the corresponding
ConnectionSpecImpl setter methods, setOTMAServerName, setOTMAGroupID, and setOTMATranLevel, to
provide this information for the application that is running in the external address space or
subsystem that you want to connect to.
Attention: When you use optimized local adapters
over OTMA, the registration name does not have a counterpart on the IMS transaction side. The registration name can be set, but it is not used for optimized local
adapter calls over OTMA. For more information, see the topic Calling existing IMS transactions with optimized local adapters over OTMA.
- Use the connection factory to create a connection, for example:
Connection con = cf.getConnection(csi);
Results
Your application that is deployed on WebSphere Application Server is
connected to an external address space and ready to call the services that are hosted on the
external address space.