IBM Integration Bus, Version 10.0.0.2 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS


Configuring the CICSRequest node for global transactions on distributed systems

Configure the CICSRequest node for local and globally coordinated transactions for CICS® on Linux, UNIX, and Windows.

Before you begin

Start of changeReview CICSRequest node to understand what Transaction mode properties you can set on a CICSRequest node for transactions.End of change

About this task

On distributed systems, a WebSphere® MQ queue manager provides the coordinated transaction support, which means that IBM® Integration Bus must have access to WebSphere MQ when it is processing the messages in the message flow. For more information about using WebSphere MQ with IBM Integration Bus, see Installing WebSphere MQ.

To configure the CICSRequest node for globally coordinated transactions:

Procedure

  1. Start of changeCreate a CICSConnection configurable service for the CICSRequest node, by using the web user interface or the mqsicreateconfigurableservice command:
    1. On the egXAForRecovery property, specify the integration server for XA recovery, and which will own the connection. You cannot use any other integration server with the configurable service. When this property is set, the CICSRequest node is treated as a global resource, otherwise it participates as a non-global resource.
    2. On the cicsServer property, you can choose either a direct connection or a connection through CICS Transaction Gateway.
    3. On the securityIdentity property, set up a valid security ID to authenticate the connection to CICS. For more information, see Security identities for integration nodes connecting to external systems.
    For more information, see Creating configurable services and CICSConnection configurable service.End of change
  2. In the IBM Integration Toolkit, switch to the Integration Development perspective.
  3. In the BAR file properties, set the Coordinated Transaction message flow property value to yes.
  4. In the Message Flow editor, set the Transaction mode property to Yes or Automatic for each CICSRequest node that is required in the globally coordinated transaction.
  5. Copy the switch file:
    • On Windows:Start of change
      • If you are using 64-bit WebSphere MQ, copy the 64-bit switch file IIBXASwitch.dll from the IBM Integration Bus installation directory (IIB_installation_directory\bin\IIBXASwitch.dll) to the \exits64 subdirectory in the WebSphere MQ installation directory (MQ_installation_directory\exits64\IIBXASwitch.dll).
      • If you are using 32-bit WebSphere MQ, copy the 32-bit switch file (IIBXASwitch32.dll) from the IBM Integration Bus installation directory (IIB_installation_directory\bin\IIBXASwitch32.dll) to the \exits subdirectory in the WebSphere MQ installation directory, and rename it to IIBXASwitch.dll (MQ_installation_directory\exits\IIBXASwitch.dll).
      End of change
    • On Linux and UNIX systems, create a symbolic link to the switch file that is supplied in your install_dir/server/lib directory.

      install_dir is the directory to which you installed IBM Integration Bus. The default location for this directory is install_dir/iib-10.0.0.n/server on Linux, or /opt/IBM/mqsi/10.0.0.n/server on UNIX systems. The default directory includes the version, release, modification, and fix of the product, in the format v.r.m.f (version.release.modification.fix).

      Start of changeSet up links in the /var/mqm/exits64 directory. The file name is libIIBXASwitch.so. For example:
      ln -s install_dir/server/lib/libIIBXASwitch.so /var/mqm/exits64/libIIBXASwitch.so
      End of change
  6. Add a stanza to the queue manager qm.ini file for CICS, in the following format:

    On Linux and UNIX:

    Start of change
    XAResourceManager:
        Name=name
        SwitchFile=libIIBXASwitch.so
        XAOpenString=integrationNodeName,CICS,CICS_configurable_service
        XACloseString=
        ThreadOfControl=THREAD
        
    End of change
    On Windows:Start of change
    XAResourceManager:
        Name=name
        SwitchFile=IIBXASwitch.dll
        XAOpenString=integrationNodeName,CICS,CICS_configurable_service
        XACloseString=
        ThreadOfControl=THREAD
    End of change where name is any name, integrationNodeName is the name of the integration node, and CICS_configurable_service is the name of the CICS configurable service.

What to do next

  • Check your configuration:
    • In the message flow, ensure that the Coordinated Transaction property is enabled for the BAR file by using the IBM Integration Bus Archive editor.
    • Ensure that each node that is part of the globally-coordinated (XA) transaction has its Transaction Mode property set to a valid global transaction value (Yes or Automatic).
    • Ensure that the service ID that is used for the integration node and the queue manager is the same user ID.
    • Ensure that CICS two-phase commit is working by using the activity log. Define an ActivityLog configurable service by naming a file and setting the RM property to CICS.
    • Look for issues in the error log for the queue manager.
  • Optional: secure the message flow connection; see Creating a security profile.

bc58010_.htm | Last updated 2015-09-24 12:54:02