TCP/IP can be used for the connections between the IMS™ TM resource
adapter and IMS Connect
in both distributed and z/OS® environments.
When your application is on a distributed platform, the connection between
the IMS TM
resource adapter and IMS Connect must be a TCP/IP connection. For example,
if the IMS TM
resource adapter is installed on WebSphere® Application Server on Windows®,
AIX®, Solaris, Linux®, Linux for z/OS, or HP-UX, the IMS TM resource adapter must connect with IMS Connect
using TCP/IP connections. You can also optionally use TCP/IP connections if
the IMS TM
resource adapter is installed on WebSphere Application Server for z/OS.
TCP/IP connections to IMS Connect are associated with an indentifier called
the client ID. IMS Connect ensures the uniqueness of these client IDs
for all of the socket connections to it.
There are two types of TCP/IP connections to IMS Connect:
- Dedicated persistent socket connections
- Shareable persistent socket connections
The client ID is determined differently for the two types of socket connections.
Dedicated persistent socket connections
In the
case of dedicated persistent socket connections, the client ID value is provided
by the application. Typically, a dedicated persistent socket connection is
used (or re-used) serially by a single application. However, a dedicated persistent
socket connection can also be used serially by multiple applications that
obtain the socket using the same client ID. If different applications attempt
to use a dedicated persistent socket connection using the same client ID at
the same time, the attempt by the first application will succeed but subsequent
attempts by other applications while the first application is still using
its connection will receive duplicate client errors (DUPCLNT) from IMS Connect.
A
duplicate client error can also occur when an application that obtains a dedicated
persistent socket connection using a given clientID runs in an environment
in which dedicated persistent socket connections can originate from multiple WebSphere Application
Server instances. For example, an environment that has multiple WebSphere Application
Server instances managed by a workload manager might encounter duplicate client
errors. It is strongly recommended that your application not be deployed
to this type of environment if it uses a dedicated persistent socket connection.
Dedicated persistent socket connections are intended to be:
- Serially re-usedby applications
- Used in an environment where a single instance of WebSphere Application Server is connected
to a single IMS Connect.
There are some situations where a single instance of WebSphere Application Server can be
connected to multiple instances of IMS Connect. In this configuration, if Sysplex
Distributor is being used between WebSphere Application Server and IMS Connect
the following interactions are not supported:
- 2 phase commit recovery
- IMS conversational
transactions
In addition, you may not be able to retrieve all available output messages
using SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAITinteractions when using multiple IMS systems
without Super Member. For more information please refer to the IMS OTMA User Guide
and Reference.
Shareable persistent socket connections
Shareable
persistent socket connections use client IDs that are generated by IMS Connector for Java™.
These client IDs are not visible to the application that is using the shareable
socket. Shareable persistent socket connections can be used serially by multiple
applications and do not have the limitations described above for dedicated
persistent socket connections.
Establishing dedicated persistent socket connections
To establish dedicated persistent socket connections:
- • Use WebSphere Application
Server to configure a J2C connection factory that creates dedicated persistent
socket connections. This is done by specifying a value of TRUE for
the CM0Dedicated property of the connection factory. For managed connections,
your application uses JNDI to locate this connection factory. Your application
must also be configured to set the commitMode property of its IMSInteractionSpec
to 0.
- Provide a value for the client ID property of the IMSConnectionSpec
object used to obtain the connection. If your application uses generated code,
you can set this value by exposing the client ID property of IMSConnectionSpec
as data. If your application uses the Common Client Interface (CCI) of the IMS TM
resource adapter, you can set this value by using the setClientID method of
the IMSConnectionSpec object that is passed in the getConnection method.
Establishing shareable persistent socket connections
To establish shareable persistent socket connections:
- Use WebSphere Application
Server to configure a J2C connection factory that creates shareable persistent
socket connections. Specify a value of FALSE for the CM0Dedicated property
of the connection factory. For managed connections, your application uses
JNDI to locate this connection factory.
- For shareable persistent socket connections, the client ID is set for
you automatically by the IMS TM resource adapter. If your application
uses generated code, the shareable persistent socket connection is obtained
by the generated code. If your application uses the Common Client Interface
(CCI) of the IMS TM
resource adapter, you must ensure that you do not provide a value for the
client ID property of the IMSConnectionSpec object that is passed in the getConnection
method.