TPF MQSeries Local Queue Manager Support Allan Feldman allanf@us.ibm.com TPF Users Group -Fall '98 10/12/98 MVS QMGR WINTQMGR ~ Local/Remote Queues Why IBM MQSeries? e-lnteropera bility between platforms • Over 17 platforms: Windows NT, AIX, UNIX, MVS"",TPF ... Interoperability between customers . TPFto TPF • Over SCKX1 customers ... Guaranteed Message Delivery (if you want) • Single or multiple messages within a commit scope • Persistent and non-persistent messages II>-Application Productivity • Communications hidden from application e-Simple API TPF MQ Series Local Queue Manager Support provides.... ~ Coexistence with TPF MQ Client Support ~ MQ API ~ Local and remote queues ~ Dead letter queue ... Empty queue trigger user exit II>-Persistent and non-persistent messages ...Sender and receiver channels -fast and normal II>-Bridge to existing non-MQ TPF application local Queues TPfApplication Iv\QCONN (TPF.QMGR) Iv\QOPEN (TPF.LOCALQ) Iv\QGET (HandIt!) Receiver Iv\QCLOSE (Hancllt!j TPF.QMGR Iv\QDISC (HandIt!) Channel TPF.LOCALQ SG(TPF.QMGR Local Queues· Loosely Coupled TPF A MOOPEN(TPFMQ, LOCALQ) MOPUT(Hand!el) MOOPEN(TPFMQ, ~--t LQ1) MQPUT(Handle2j La1 TPF B MOOPEN(TPFMQ, LOCALQ MOG T(Hand!e) DEF OL-LOCALQ USAGE-NORMAL COMMON-YES DEF OL-LQ1 USAGE-NORMAL COMMON-NO Local Queues· Transmission Queues ... Messages put to remote queues are actually put to a transmission queue ... Sender channel gets messages from transmission queue ... Messages on a transmission queues can be "swung" to another transmission queue • For instance, when channel is broken • All new messages get put to new transmission queue • All existing messages on transmission queue are moved to new transmission queue Remote Queues local Definition of a Remote Queue TPfApplication Iv\QCONN (TPF.QMGR) SG(MVS.QMGR Sender TPF.QMGR ""'OPEN IRQ I) Channel Iv\QPUT (Hamllt!j VS.LOO\LQ) CHLI Iv\QCLOSE (Ham/It!) Iv\QDISC (Ham/It!) TPF.TRANSMISSIONQ DEF OR-RQI RQMNAME-MVS.Q\K R RNAME-MVS.LOCALQ XMITO TPF.TRANSMISSIOl\Q ~ DEF Q-lL-CHL I CHLTYPE-SDR XMITQ·TPF. TRANSMISSIONQ Remote Queues Queue Manager Alias DEAD.lmER.QUEUE ~ System queue ~ Messa ses put to DEAD.LETTER.QUEUE when the queue manager can not resolve destination ~ Customers will need a DEAD.LETTER.QUEUE monitor Empty Queue Trigger ~ Application issues a MQGET but the queue is empty ~ When a message is then put to the empty queue the empty queue user exit is invoked II>-User exit must determine which application, if any, to process the queue Message Types ... Persistent • Guaranteed delivery • Stored on file until next node in network confirms receipt ... Non-persistent • Not guaranteed Channels II>-Receiver Channels • All messages received in batches e Normal • All messages stored on file • Fast • Persistent messages are stored on file • Non-persistent messages immediately given to a TPF application in AMOSG format via TPF MQ Bridge ellanoels (continued) ~ Sender Channels • Normal • All messages sent in batches -persistent and non-persistent • Messages deleted from file upon confirmation from remote channel • Fast • Only sends non-persistent messages • No batch-no confinnation TPF MQ Bridge ~ Inbound non-persistent MQ messages over fast channel • Converted to AMOSG format • User Exit to convert LNIATA • Handed to COA4 -message router e-Outbound ROUTe intercepted • Converted back to MQ message format • User exit • Sent as non-persistent message Product Infonnation ~ Available on PUT 9 ... Uses TPF CS, Internet Daemon, C++, Lower case functional message support ~ Channel is OCO ... Requires C++ compiler ... Requires recompile of existing MQ Client applications and TPF MQ Client Support