To achieve high availability when processing SAP messages
on distributed systems, you can set up a shared queue for the SAP
adapter event store.
About this task
On distributed systems, you can configure the
integration node to use a client connection to a remote IBM® MQ queue manager to persist the
transaction ID (TID) store for SAP transactional RFC (tRFC) data.
By using this configuration, two adapters that are deployed to two
integration nodes can share the same TID, and can therefore operate
as a single RFC server. This configuration is essential if the adapters
have been configured with the same RFC Program ID. For important information
about using IBM MQ with IBM App Connect Enterprise, see Installing IBM MQ.
Before
the integration node can use a remote queue manager as the TID store,
you must complete some administration tasks on that queue manager.
- You must first create the queue for the integration node to use
as the TID store.
- Then you must define two channels for the integration node to
use to connect to that queue manager: define the server channel on
the queue manager, and define a client channel in a file, which you
must make available to the integration node.
You can use the Run WebSphere® MQ Commands (runmqsc)
command or IBM MQ Explorer to create
this client channel definition file on any queue manager. After you
have created the file, you must move it from the queue manager to
a file system that is accessible to the integration node.
To set up a shared queue for the SAP adapter event store,
complete the following steps.
Procedure
- Create the queue SYSTEM.BROKER.ADAPTER.PROCESSED.
You
can create the queue either by using
IBM MQ Explorer
or by running the following command in
IBM MQ runmqsc:
DEFINE QLOCAL('SYSTEM.BROKER.ADAPTER.PROCESSED')
- Create the server channel.
- On the computer that hosts the shared queue manager,
create a server channel by running the IBM MQ runmqsc command
and entering the following parameters, where WSADAPTERS.SAP is
an example of the channel name.
DEFINE CHANNEL ('WSADAPTERS.SAP') CHLTYPE (SVRCONN) TRPTYPE(TCP)
- After you have created the channel, start it by using
the following command in runmqsc:
START CHANNEL ('WSADAPTERS.SAP')
- Create the client definition file.
On any
queue manager, create a client definition file by running the
runmqsc command
and entering the following parameters, where the following criteria
apply:
- WSADAPTERS.SAP is an example of the channel
name.
- myhost.ibm.com is an example of the host name
of the computer where the queue manager is running. This queue manager
is the one on which you created the queue in step 1 and the server
channel in step 2. This name is used by the integration node to connect
to the queue manager, therefore do not use localhost.
- 1414 is an example of the port number where
the listener is running on that queue manager.
- QMGR is an example of the queue manager name.
- You can use any name for the server and client channels, but they
must match.
- Set the CONNAME parameter to the host name or IP address of the
computer that hosts the shared queue manager, and the port number
of the MQ Listener that is running on that computer. 1414 is the default
listener port.
DEFINE CHANNEL ('WSADAPTERS.SAP') CHLTYPE (CLNTCONN) CONNAME(‘myhost.ibm.com(1414)') TRPTYPE(TCP) QMNAME(QMGR)
If
the queue manager is running in multi-instance mode, define two channels,
one for each instance of the queue manager
- Move the client definition file to a file system that is
accessible by the integration node.
- On Linux® and UNIX, you can find this file at /var/mqm/qmgrs/QMGR_NAME/@ipcc/AMQCLCHL.TAB.
- On Windows,
you can find this file at C:\Program Files\IBM\IBM MQ\Qmgrs\QMGR_NAME\@ipcc\AMQCLCHL.TAB.
- Configure the integration node.
- Create an SAP Connection policy for the .inadapter component
and ensure that the name of the policy matches the name of the adapter
component (see Creating policies with the IBM App Connect Enterprise Toolkit).
- Set the Shared TID store client definition file property
of the policy to the path of the file that you created in step 3 and
moved in step 4.
- Set the Shared TID store queue manager parameter
to the name of the queue manager for which you created the queue in
step 1 and the server channel in step 2.
- Deploy the SAP Connection policy.
- Verify the setup.
After you have completed
these steps, you can verify that the integration node is using the
queue on the remote queue manager by inspecting user trace. If the
setup is successful, message BIP3470 is issued, specifying
which queue manager the integration node is using as the TID store.