CICS Transaction Server for z/OS connectivity

Use the CICSRequest node to connect IBM® Integration Bus with CICS® Transaction Server for z/OS® applications.

The CICSRequest node that is available in IBM Integration Bus provides connectivity to CICS applications by using IP InterCommunications (IPIC) protocol. IPIC is part of a CICS multi-version initiative to provide communications support over TCP/IP as an alternative to that provided over intersystem communication (ISC) and multiregion operation (MRO).

IPIC supports Distributed Program Link (DPL) requests over TCP/IP. The CICSRequest node communicates with CICS by sending Distributed Program Link (DPL) requests over TCP/IP-based IPIC. IPIC provides a multiplexed single socket connection to CICS Transaction Server for z/OS.

IBM Integration Bus message flows can use the CICSRequest node to call programs that are running externally in a targeted CICS region. The CICSRequest node can be used by a message flow deployed to any integration node platform.

The CICSRequest node supports the following capabilities:
  • Commareas
  • Channels and containers
  • Mirror transactions
  • A direct connection to CICS (two-tier)
  • A connection to CICS through CICS Transaction Gateway (three-tier)
  • Local environment overrides for some properties
  • Request timeout
  • An integration node APPLID (client APPLID and qualifier) that can identify the application that is connecting to CICS, therefore identifying that IBM Integration Bus is connected
  • CICSConnection configurable services
  • Secure Sockets Layer (SSL) protocol connection to CICS
  • Security identity
  • User name, or user name and password identity propagation
  • Resource statistics
  • Transactionality

You can specify either a COMMAREA data structure or a channel data structure on the CICSRequest node to use as input for linking to CICS programs. The data structure that is specified as input returns the same data structure as output. Channels are an alternative for COMMAREAs, providing relief from the COMMAREA maximum size of 32766 bytes, and allowing greater flexibility in input/output data structures. For more information about using a COMMAREA or channel data structure, see COMMAREA or channel data structures.

CICS channels hold a number of structures called containers. In IBM Integration Bus, a CICS channel is represented as a message collection structure. A message collection can hold child messages, each treated as a container by the CICSRequest node. For information about using ESQL to create a message collection, see Creating a message collection by using ESQL.

If a single container is required for input only, a message collection does not need to be constructed. Instead a regular message can be used, provided the 16-character maximum alphanumeric channel name and the single 16-character maximum alphanumeric container name are specified in the local environment. For more information about using single message mode, see COMMAREA or channel data structures.

Because it is not possible to know how many containers are in the response, a message collection is always produced as output. However, the CICSRequest node Result data location property can be used to reduce the result tree down to a single message folder, or down to a single field or subtree for output. For information about the Result data location property, see CICSRequest node.

You can add name-value attributes to a message collection to create CICS containers. Name-value attributes in the message collection, apart from CollectionName, can be used in lieu of full message-folders for simple data. For example, a name-value string attribute can be set in the message collection and used directly by the CICSRequest node without needing to create a message set for the element. For more information about attributes, see COMMAREA or channel data structures.

Name-value attributes can be produced from containers on output, as well as accepted for input. For information about creating an attribute instead of a message folder from a container, see CICSRequest node.

You can specify a mirror transaction name on the CICSRequest node for CICS tasks and programs to run under. This grouping greatly assists stat collection, accounting, and aids decision making about task priority. For more information about mirror transactions, see CICS Transaction Server for z/OS mirror transactions.

The CICSRequest node support in IBM Integration Bus provides direct communication with CICS (two-tier connection) by sending Distributed Program Link (DPL) requests over TCP/IP-based IPIC, or communication with CICS through CICS Transaction Gateway (three-tier connection). For more information about the two-tier and three-tier connection models, see CICS Transaction Server for z/OS overview for a high-level overview, or CICS Transaction Server for z/OS two-tier connectivity and CICS Transaction Server for z/OS three-tier connectivity for detailed conceptual information.

For information about configuring the CICSRequest node to get connection details from a CICSConnection configurable service, see Changing connection information for the CICSRequest node.

You can configure the CICSRequest node or a CICSConnection configurable service to use SSL protocol. For more information, see Securing the connection to CICS Transaction Server for z/OS by using SSL.

You can use the mqsisetdbparms command to set a user ID and password for the CICSRequest node or CICSConnection configurable service. For detailed information about how to configure CICS security identity support, see mqsisetdbparms command.

The CICSRequest node can use an identity that is present on an input message, and propagate it to CICS, by using the Propagate property on the security profile that is defined for the node. For more information, see Propagating security credentials to CICS Transaction Server for z/OS and Identity and security token propagation.

You can use the CICSRequest node to connect to a CICS application by using a synchronous style of message flow. For details about how to use this node in a message flow, see CICSRequest node.