gtpc3m28 | Concepts and Structures |
The IBM MQSeries product is one of the fastest-growing, message-oriented
middleware products in the industry. It has the ability to deliver
messages to a diverse heterogeneous set of systems with a single set of
application programming interfaces (APIs).
The TPF system supports an MQSeries local queue manager, MQSeries
client, and an MQSeries server. If the application connects (using the
MQCONN API) to a queue manager other than the local queue manager, all API
requests will be sent over TCP/IP or LU 6.2 connections to the remote
MQSeries server. The complete functionality of the remote MQSeries
server is available to the application. If the application connects to
the local queue manager, the TPF MQSeries local queue manager will then
service subsequent API requests. For more information about TPF
MQSeries support, see TPF Application
Programming.
The implementation of TPF MQSeries local queue manager support is based on
a subset of the standard MQSeries local queue manager support interface used
by other MQSeries product offerings. The following is a list of the
standard MQSeries functions that are supported by TPF MQSeries local queue
manager support:
- An ISO-C interface is provided for the following supported functions that
make up the Message Queue Interface (MQI):
- MQBACK
- MQCLOSE
- MQCMIT
- MQCONN
- MQDISC
- MQGET
- MQINQ
- MQOPEN
- MQPUT
- MQPUT1
- MQSET.
- For TPF MQSeries local queue manager support, ZMQSC commands allow you to
do the following:
- Change and define channels, processes, profiles, and queues
- Delete or display channels, processes, and queues
- Reset, resolve, start, stop, or trace channels
- Display, start, or stop the queue manager
- Move messages from one transmission queue to another.
- The TPF MQSeries local queue manager supports three queue types:
- Remote queues belong to a remote queue manager.
- Local queues can be normal or transmission. Local queues
can be normal queues or transmission queues. Normal local queues can be
processor unique or processor shared. Transmission queues are always
processor unique. Processor unique queues reside in memory and are made
persistent by filing the memory copy of the queue to fixed file TPF records on
a regular basis (this is called checkpointing) and logging any updates between
checkpoints to the TPF recovery log. Processor shared queues reside on
file using TPF collection support (TPFCS).
- Alias queues are queues that are named as an alias for a queue
defined to the local queue manager.
A TPF MQSeries message channel agent (MCA) is provided to
communicate with adjacent MQSeries systems by using TPF sender, receiver, and
server connection channels only. Channels communicate by using
Transmission Control Protocol/Internet Protocol (TCP/IP) exclusively;
therefore, a TCP/IP connection between the TPF 4.1 system and a remote
MQSeries system is required.
- The following channel user exits are provided:
- The TPF MQSeries assign LNIATA user exit, CUIW, and the TPF MQSeries
convert to object handle user exit, CUIV, are ROUTC bridge user exits that are
provided to help customers route messages originating from the MQSeries queue
manager to non-MQSeries TPF applications, and then return the message to the
MQSeries network.
- The TPF MQSeries channel message user exit in segment CUIT allows you to
process a channel message.
- The TPF MQSeries channel message retry user exit in segment CUIT allows
you to try to put a message to a destination queue if a previous attempt
failed.
- The TPF MQSeries channel message security user exit in segment CUIT
provides security for data that is sent or received over TPF MQSeries
channels.
- The TPF MQSeries queue trigger user exit, CUIR, is called the first time a
message arrives on the queue if no process object is associated with the
queue.
System administrators have the following network routing options when
defining remote queues:
- Local definition of remote queues a remote queue can be defined
as a local definition of a remote queue allowing the administrator to
determine the destination queue manager and destination queue rather than the
application.
- Queue manager aliasing a remote queue can be defined with a
queue manager alias where the administrator determines the destination queue
manager rather than the application.
TPF MQSeries supports the following message types:
- Nonpersistent messages are not guaranteed to be delivered and
will not survive an initial program load (IPL) of the TPF 4.1
system. Inbound nonpersistent messages over a fast channel are
delivered immediately to the TPF-unique MQSeries ROUTC bridge.
- Persistent messages are guaranteed to be delivered and will
survive an IPL of the TPF 4.1 system.
TPF MQSeries supports the following channel types:
- Sender channels: Normal sender channels transmit all
messages in batches that are guaranteed to be delivered. Fast sender
channels do not guarantee delivery of nonpersistent messages.
- Receiver channels: Normal receiver channels receive
persistent and nonpersistent messages and guarantee delivery of all
messages. Fast receiver channels receive both persistent and
nonpersistent messages. Nonpersistent messages that are received over a
fast channel are passed immediately to applications through the TPF MQSeries
ROUTC bridge.
- Server connection channels are defined on the server
running the queue manager to communicate with an MQSeries application running
in an MQSeries client environment.
The following unique TPF functions are provided with TPF MQSeries local
queue manager support:
- TPF MQSeries ROUTC bridge immediately passes
nonpersistent messages that arrive at TPF MQSeries fast receiver channels to
applications. Nonpersistent messages that arrive through the MQSeries
interface are routed to a non-MQSeries TPF application.
- Swing queue provides the ability to move messages from
one transmission queue to another because of the high volume of messages that
TPF applications process and to prevent a continuous buildup of messages on a
transmission queue whose channel is down.
- Movemsgs allows you use the ZMQSC MOVEMSGS command to
move messages in a memory queue from a deactivated processor to another
processor in a loosely coupled complex.