sm mq cics integration
TRANSCRIPT
-
8/13/2019 SM MQ CICS Integration
1/50
Scott Meridew
Director of Professional Services, TxMQ
(905) 940.2427 x334
www.txmq.com
CICS-WebSphere MQ
Integration
-
8/13/2019 SM MQ CICS Integration
2/50
Agenda
WebSphere MQ Introduction and Overview
WebSphere MQ Structure and Components
The MQ API (MQI)
Advanced Concepts (Clustering, Triggering, Exits,Transactions, Threading, Security, Reports)
The CICS Adapter (CKTI)
The CICS Bridge (CKBR - monitor, CKBP - bridge)
Where to find more information
-
8/13/2019 SM MQ CICS Integration
3/50
Typ ical Env i ronment
Business Requirements: E - Business
Outside vendors/business connection
Multiple Platforms
Diverse Applications
Lotus Notes
Internet/Intranet SAP
CICS - IMS on mainframe
Workstations
-
8/13/2019 SM MQ CICS Integration
4/50
Diverse Env i ronment
Diverse Data
DB2
VSAM
IMS
Lotus Notes
Oracle/SYBASE
SAP
Multiple Network Types
-
8/13/2019 SM MQ CICS Integration
5/50
Role of Midd leware
Communication Networking Transparency
Faster Application Deployment
New type of Application
Data Mining - Incorporate New and ExistingData
Application Mining - Reuse of Old with New
Foundation of Future Technology
-
8/13/2019 SM MQ CICS Integration
6/50
Time Independence
-
8/13/2019 SM MQ CICS Integration
7/50
-
8/13/2019 SM MQ CICS Integration
8/50
WebSphere MQ Produc t
Common API
For all platforms
Assure message delivery
not lost, and deliver only once
Asynchronous
Parallel processing
Syncpoint control with Resource Managers
-
8/13/2019 SM MQ CICS Integration
9/50
WebSphere MQ Benef i ts
Interoperability
Fast application deployment
Robust Client-Server Model Separation of functions
Database Independence
Different Application Style
Parallelism
Scalability
Reuse of modules
-
8/13/2019 SM MQ CICS Integration
10/50
Platfo rm s - A s ing le in terface (the MQI)
-
8/13/2019 SM MQ CICS Integration
11/50
WebSphere MQ Structu re
-
8/13/2019 SM MQ CICS Integration
12/50
Message Queuing Interface (MQI)
APPLICATION
Queue Manager
NETWORKQueues
Logging OS Interface
WebSphere MQ Components
-
8/13/2019 SM MQ CICS Integration
13/50
Header User Data
Message Attributes
Message Format
A Series of Message Attributes
Understood and augmented by
the Queue Manager
Unique Message Id
Correlation Id
Routing information
Reply routing information
Message priority
Message codepage/ encoding
Message format
.... etc.
Free formatAny sequence of bytes
Private to the sending andreceiving
programs
Not meaningful to the Queue
Manager
Message Struc ture
-
8/13/2019 SM MQ CICS Integration
14/50
WebSphere MQ Objects
Queue Manager
Most platforms except OS/400 can have multipleQueue Managers
Queues
Process
Channels
Local and Remote Objects
Cluster Objects
-
8/13/2019 SM MQ CICS Integration
15/50
MQI
QMGR ABC
SalesApplication
InventoryApplication
MQI
LOG LOG
QMGR XYZ
Transmission Queue
Channel
Local Queue
Dead Letter Queue
Remote Queue
Dist r ibuted Queuing
-
8/13/2019 SM MQ CICS Integration
16/50
Channel
MQ Client
Message
Channel
Agent
Q Manager
Message
ChannelAgent
Local Queue
Client Channel
SYNCHRONOUS
WebSphere MQ Clien t
-
8/13/2019 SM MQ CICS Integration
17/50
The MQI
-
8/13/2019 SM MQ CICS Integration
18/50
MQI Languages
COBOL
C
PL/I C++ (wrapper classes)
Java (wrapper classes)
Visual Basic (also COM wrapper classes)
TAL (Tandem)
Assembler (MVS)
RPG (AS400)
Smalltalk (wrapper classes)
-
8/13/2019 SM MQ CICS Integration
19/50
Interfaces
TSO/ISPF
REXX
CICS
IMS TM
Java, JMS
Web
Lotus Notes SAP
Visual Age Generator
NON-IBM - INTERSPACE, MERCATOR, CANDLE,
NEON
-
8/13/2019 SM MQ CICS Integration
20/50
Queue
Applicationb
Applicationa
Send-and-Depend
-
8/13/2019 SM MQ CICS Integration
21/50
Queue
Applicationb
Applicationa
Reply Queue
Applicationb
Applicationa
Reply Queue
Applicationb
Applicationc
Request and Reply
-
8/13/2019 SM MQ CICS Integration
22/50
Applicationb
SubscriptionQueue
Applicationc
Applicationa
Applicationd
SubscriptionQueue
Subscription
Queue
PublicationQueue
Pub/SubBroker
Publ ish and Subscr ibe
-
8/13/2019 SM MQ CICS Integration
23/50
The MQI Verbs
-
8/13/2019 SM MQ CICS Integration
24/50
Common MQ API Cal ls
MQCONN (MQCONNX) - Connect to Queue Manager
MQOPEN - Open Queue
MQGET - Get message from Queue
MQPUT - Put message onto Queue
MQPUT1 - Open/Put/Close
MQCLOSE - Close Queue MQDISC - Disconnect from Queue Manager
-
8/13/2019 SM MQ CICS Integration
25/50
Advanced MQ API Cal ls
MQINQ - Inquire attributes of QMgr or Queue
MQSET - Set attributes of QMgr or Queue
MQBEGIN - Start transaction
MQCMIT - Commit transaction
MQBACK - Backout transaction
-
8/13/2019 SM MQ CICS Integration
26/50
Message Queuing Advanced Top ics
-
8/13/2019 SM MQ CICS Integration
27/50
SYNCPOINT
LOGICAL UNIT OF WORK
DB WRITE
SEND RECEIVE
WRITE DBTWO-PHASE
COMMIT
SYNCHRONOUS MODEL
SYNCPOINT
UNIT OF WORK 1
DB WRITE
PUT
GET
WRITEDB
ASYNCHRONOUS MODEL
Q Q
SYNCPOINTUOW 2
UOW 3
Messaging - Sync Point
-
8/13/2019 SM MQ CICS Integration
28/50
Failover
Workload balancing
Default: round-robin
User replaceable exit
Reduced administration
Automatic creation of:
Queue definitions
Channels
Scalability
New queue managers can
join cluster at any time
Platforms supporting clusters
MQSeries 5.1 and 5.2
AIX 4.2 and 4.3.x
HP/UX 10.20 and 11.x
Sun Solaris 2.6, 2.7, 7, 8
OS/2 with "Workspace on
Demand"
Windows NT 4.0 and Win2K
AS/400 - OS/400 V4 R4/5
Linux (RedHat 6.1, Caldera 2.2,
SuSE 6.4, TurboLinux 3.6)
MQSeries for OS/390 (started
with V2.1)
Queue A
Queue A
Queue A
Queue B
Queue B
MQPUT
High Avai labi l i ty - Clus ter ing
-
8/13/2019 SM MQ CICS Integration
29/50
APPL
MQSeriesLQ1
MOVER
MVS1
APPL
MQSeriesLQ1
MOVER
MVS2
DB DB
SQ1
DB2
CFSYSPLEX1
MQSeries
Windows
MQSeries
AIX
High Avai labi l i ty Queue Shar ing Groups
-
8/13/2019 SM MQ CICS Integration
30/50
Transact ional contro l
Local unit of work
MQPUT/ MQGET (MQ*_ SYNCPOINT) updates only
Coordinated by MQCMIT/ MQBACK
Global unit of work (MQ) (Version 5 queue managersonly)
MQPUT/ MQGET (MQ*_ SYNCPOINT) updates Database updates
Coordinated by MQBEGIN/ MQCMIT/ MQBACK
-
8/13/2019 SM MQ CICS Integration
31/50
Transact ional contro l
Global unit of work (external coordination)
MQPUT/ MQGET (MQ*_ SYNCPOINT)
updates
Other resource updates
Coordinated by external transaction
coordinator (e. g. CICS, Encina ...)
-
8/13/2019 SM MQ CICS Integration
32/50
Trigger ing
-
8/13/2019 SM MQ CICS Integration
33/50
Transmission
QueueServer
Input
Queue
M
C
A
M
C
A
security security
message message
send receive
retry
Security Exit: For channel authentication
Send Exit: For Data compressionReceive Exit: For Data decompression
Message Exit: For encryption/decryption
Message Retry Exit: For put failures
Vendor products available for encryption/decryption, compression and compaction
Channel Exi ts
-
8/13/2019 SM MQ CICS Integration
34/50
Repo rt Messages from a remote QMgr
-
8/13/2019 SM MQ CICS Integration
35/50
The CICS Adapter (CKTI)
-
8/13/2019 SM MQ CICS Integration
36/50
What is the CICS Adapter?
Allows CICS transactions to make MQ APIcalls (must link-edit to CSQCSTUB)
Supports up to 8 concurrent MQ API calls
Supports syncpointing under CICS syncpointmgr
Supports security checking (i.e. via RACF)
API crossing exit (for intercepting andmonitoring calls the MQI slows you down!)
-
8/13/2019 SM MQ CICS Integration
37/50
Con trol l ing the adapter
From the control panel:
CKQC
From the command line:
MODIFY CICS_Job_Name CKQC
From the program: EXEC CICS LINK PROGRAM(CSQCRST )
INPUTMSG(CKQC MODIFY Y)
-
8/13/2019 SM MQ CICS Integration
38/50
Start Adapter Connect ion to MQ
Via the adapter control panel (CKQC):
Must Provide QMGR, INITQ, Trace #
Via command line:
CKQC START Y|N
Via a CICS program:
EXEC CICS LINK PROGRAM(CSQCQCON)INPUTMSG(CONNPL) INPUTMSGLEN(length ofCONNPL)
-
8/13/2019 SM MQ CICS Integration
39/50
Stop Adapter Connect ion to MQ
Via the adapter control panel (CKQC):
Specify Quiesce or Force
Via command line:
CKQC STOP [FORCE]
Via a CICS program:
EXEC CICS LINK PROGRAM(CSQCDSC)
INPUTMSG(CKQC STOP)
-
8/13/2019 SM MQ CICS Integration
40/50
View Adapter Connect ion Stats
Only Via the adapter control panel (CKQC):
Parameters used for the connection
Statisticstotals for current connection
Statistics produced by the adapter
-
8/13/2019 SM MQ CICS Integration
41/50
The task in it iator (tr igger for CICS)
Built-in CICS Transaction called CKTI
Monitors an initiation queue
Starts another CICS transaction (defined in anMQ PROCESS definition)
1-1 relationship between an instance of CKTI
and an initiation queue in CICS subsystem
-
8/13/2019 SM MQ CICS Integration
42/50
Start/Stop CKTI
Via control panel:
INITQ name must be provided
Via command line: CKQC STARTCKTI
CKCQ STOPCKTI
Via an application program
EXEC CICS LINK PROGRAM(CSQCSSQ )INPUTMSG(CKQC STARTCKTI INITQ.NAME)
EXEC CICS LINK PROGRAM(CSQCSSQ)
INPUTMSG(CKQC STOPCKTI INITQ.NAME)
-
8/13/2019 SM MQ CICS Integration
43/50
How CICS, the adapter, and MQ fit
-
8/13/2019 SM MQ CICS Integration
44/50
The CICS Br idge (CKBR Monito r ,
CKBP B ridge)
-
8/13/2019 SM MQ CICS Integration
45/50
What does the br idge do?
Enables access to CICS programs from MQprograms
No MQI calls within CICS program
3270-connected transactions can be driven viaMQ messages instead of 3270 streams (no re-compile or re-link needed)
CICS DPL programs can be driven (EXEX CICSLINK) by MQ messages
MQ CICS Header (MQCIH) structure identifieswhat CICS transaction(s) to run
-
8/13/2019 SM MQ CICS Integration
46/50
Why use the br idge?
To access legacy business processes withminimal impact on them:
From a new MQ application
From a Lotus Notes application
From a WebSphere EJB application
From a Web Service using MQ Internet
Gateway
-
8/13/2019 SM MQ CICS Integration
47/50
Driv ing CICS DPL p rog rams
COMMAREA used to pass MQ data using EXEC CICS LINK
-
8/13/2019 SM MQ CICS Integration
48/50
Driving CICS 3270 transact ions
MQCIH data is used to drive the appropriate transaction(s)
-
8/13/2019 SM MQ CICS Integration
49/50
Where to Find Mo re Info rmat ion
-
8/13/2019 SM MQ CICS Integration
50/50
Add i tional Resources
System parameters
Setting up the CICS adapter
Setting up the CICS bridge
WebSphere MQ for z/OS System
Setup Gu ide
Operating the CICS adapter
Operating the CICS bridgeWebSphere MQ for z/OS SystemAdm inist ration Guide
Console messages WebSphere MQ for z/OSMessages and Cod es
Writing CICS applications
API-crossing exit
WebSphere MQ Appl icat ionprogramm ing Guide
Writing CICS bridgeapplications
CICS Intern al and External
Interfaces Gu ide