IBM WebSphere MQ Support, CICS-MQ Bridge (CKQC/CKTI) & MQ-IMS Bridge
In enterprise mainframe architectures, asynchronous and decoupled messaging across systems and business units is predominantly powered by IBM MQ (formerly WebSphere MQ). Core applications depend heavily on two primary patterns: [1]
Read the full briefing
1. Capability Overview & Problem It Solves
In enterprise mainframe architectures, asynchronous and decoupled messaging across systems and business units is predominantly powered by IBM MQ (formerly WebSphere MQ). Core applications depend heavily on two primary patterns:
- CICS-MQ Integration: Online CICS programs send and receive messages using standard
MQOPEN,MQGET,MQPUT, andMQCLOSEcalls, while background trigger monitor transactions (CKTI) automatically launch CICS transactions when messages arrive on an application queue. - MQ-IMS Bridge: Distributed systems (such as Java, .NET, or cloud microservices) post messages containing an IMS header (
MQIIH) to an MQ queue, and the bridge transports them directly into the IMS message queue for processing by Message Processing Programs (MPPs), routing responses back to an MQ reply queue.
When modernizing or rehosting these workloads onto distributed Linux/UNIX or Windows platforms, losing native MQ adapter and bridge semantics would require re-architecting message patterns, building custom socket bridges, or extensively modifying COBOL business logic.
Rocket Enterprise Server provides comprehensive, native IBM WebSphere MQ Support, including the CICS-MQ Adapter and Trigger Monitor (CKQC/CKTI), the MQ-IMS Bridge, and IMS Trigger Monitoring (WebSphere MQ Support - Rocket Software Documentation, CKQC - Start a CKTI monitor - Rocket Software Documentation, MQ-IMS Bridge - Rocket Software Documentation).
2. Architecture & How It Works
- CICS-MQ Adapter & The
CKTITrigger Monitor:- The Adapter Layer: Intercepts standard COBOL
CALL 'MQ...'invocations within CICS Service Execution Processes (SEPs) and communicates with local queue managers or remote queue managers via MQ client connections (WebSphere MQ Environment Variables). - Trigger Monitoring with
CKTI:CKTIruns as a long-lived CICS transaction that listens to an initiation queue (e.g.,SYSTEM.CICS.INITIATION.QUEUE). When an application queue depth triggers an event,CKTIretrieves the trigger message containing the target CICS transaction identifier, initiates the transaction viaEXEC CICS START, and passes the message context. - Management via
CKQC: The suppliedCKQCtransaction provides operational and administrative control over the adapter, enabling administrators to start, stop, monitor, or displayCKTItrigger monitors interactively or programmatically (CKQC - Start a CKTI monitor - Rocket Software Documentation).
- The Adapter Layer: Intercepts standard COBOL
- MQ-IMS Bridge Architecture:
- The MQ-IMS Bridge allows external non-IMS client applications to execute IMS transactions asynchronously via standard MQ queues without establishing direct TCP/IP OTMA socket connections (MQ-IMS Bridge - Rocket Software Documentation).
- Inbound MQ messages include an IMS Information Header (
MQIIH). The bridge dequeues the message, validates the header, and places the transaction into the Enterprise Server IMS Message Queue. - When the IMS MPP transaction completes and issues an
ISRTto the alternate I/O PCB, the bridge intercepts the response, wraps it in an updatedMQIIH, and routes it directly to the designatedReplyToQ.
- IMS Trigger Monitoring: Beyond the bridge, Enterprise Server supports IMS Trigger Monitoring (
ioj1742951312125_1.html). An IMS trigger monitor transaction monitors an initiation queue and issues commands to schedule the associated IMS transaction into an active Message Processing Region (MPR). - XA Two-Phase Commit (2PC) Coordination: When COBOL applications update relational databases (Db2, Oracle, PostgreSQL, SQL Server) and read/write MQ messages within the same logical unit of work, IBM MQ acts as an enlisted XA Resource Manager (XAR). Enterprise Server coordinates two-phase commit syncpoints across both the relational database and the MQ queue manager, guaranteeing atomic delivery without stranded messages or orphan database rows.
3. Key Syntax, Configuration & Operational Directives
- Managing Trigger Monitors via
CKQC: Administrators can start aCKTIinstance from a 3270 terminal session, an automated script, or a program load table (PLTPI) (CKQC - Start a CKTI monitor - Rocket Software Documentation):
CKQC START MON=CKTI Q=SYSTEM.CICS.INITIATION.QUEUE- Programmatic Adapter Control via
dfhzckqc: CICS programs can start or stopCKTIinstances dynamically by passing commands in a COMMAREA to the supplieddfhzckqcprogram (CKQC - Start a CKTI monitor - Rocket Software Documentation):
WORKING-STORAGE SECTION.
01 WS-CKQC-CMD PIC X(60) VALUE 'START MON=CKTI Q=APP.INIT.QUEUE'.
...
PROCEDURE DIVISION.
EXEC CICS LINK PROGRAM('dfhzckqc')
COMMAREA(WS-CKQC-CMD)
LENGTH(LENGTH OF WS-CKQC-CMD)
RESP(WS-RESP)
END-EXEC.- Configuring MQ Client Environment Variables: In ESCWA (Enterprise Server Common Web Administration) under
[Region] > General > Properties > Environment Variables, configure MQ client channel routing (WebSphere MQ Environment Variables):
# Route MQ calls to remote queue manager
MQSERVER=SYSTEM.DEF.SVRCONN/TCP/mqhost.enterprise.internal(1414)
export MQSERVER- XA Resource Definition for Two-Phase Commit: In ESCWA under
[Region] > General > XA Resources > New, configure IBM MQ as an XAR:- Module: Point to the compiled MQ switch module (e.g.,
libmqmxa64.soon UNIX ormqmxa.dllon Windows). - Open String: Provide the target queue manager name:
- Module: Point to the compiled MQ switch module (e.g.,
QM=QMGR014. Reference Citations (Rocket Enterprise Server 12.0 Manuals)
- WebSphere MQ Support - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- CKQC - Start a CKTI monitor - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- MQ-IMS Bridge - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- IMS Trigger Monitoring - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- WebSphere MQ Environment Variables — Enterprise Server 12.0 for UNIX