sm mq cics integration

Upload: rahul-jaiswal

Post on 04-Jun-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 SM MQ CICS Integration

    1/50

    Scott Meridew

    Director of Professional Services, TxMQ

    (905) 940.2427 x334

    [email protected]

    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