Mq presentation


Published on

This is MQ Presentation for introduce how to use MQ

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Bill Beinert November 2001 Introduction to MQ Series for people interested in middleware solutions Most Enterprise Application Integration products support MQ as the messaging agent
  • I don’t think we write any client-server applications like this ourselves, but use vendor products like IIS, WebSphere or Utility Partners’ Mobile UP. The focus here is that the server uses MQ at the the ‘back end’ to assemble the data it needs to present to the users at the ‘front end’. The client PCs need no MQ software, just as they would need no ODBC driver if the server was using DB2 or SQL Server.
  • Here MQ client software is installed on the client PC, along with configuration files that tell it where to find it’s MQ Server. The client program uses the same MQ calls as it would if it were running on a server, but it is linked with stubs that connect across the network to the MQ Server, where the MQ calls are actually executed on behalf of the client. MQ’s guarantees are not in full effect when applied to the connection between the client and the server, since this is supported only by basic network protocols, with no effective assured delivery. OS/390 can be an MQ server, though the license is pricey, and there are security issues that are more easily addressed when there is an intermediate server that is part of the same security domain as the end user.
  • MQSeries can be used in many, many contexts. But remember: MQSeries is NOT: -          An application execution environment like CICS, IMS, DB2 Stored Procedure etc -          A replacement for the MDI Gateway or DB2 Connect or FTP
  • This is just a sample…not necessarily the best solution to this problem…
  • This is just a sample…not necessarily the best solution to this problem…
  • This is a real solution to a real problem – our Wireless Gas Leak Dispatching System
  • This is just a sample…not necessarily the best solution to this problem…
  • This is just a sample…not necessarily the best solution to this problem…
  • This is just a sample…not necessarily the best solution to this problem…
  • Mq presentation

    1. 1. MQ Series <ul><li>Cross Platform </li></ul><ul><li>Dominant Messaging sw – 70% of market </li></ul><ul><li>Messaging API same on all platforms </li></ul><ul><li>Guaranteed one-time delivery </li></ul><ul><li>Two-Phase Commit </li></ul><ul><li>Wide EAI industry support </li></ul>
    2. 2. What is it? MQSeries is a middleware product from IBM that runs on multiple platforms and enables applications to send messages to other applications. Basically, the sending application PUTs a message on a Queue, and the receiving application GETs the message from the Queue. The sending and receiving applications do not have to be on the same platform, and do not have to be executing at the same time. MQSeries takes care of all the storage, logging and communications details required to guarantee delivery of the message to the destination queue. In most cases, it will take care of translating the data when the source and destination use different character sets (EBCDIC on MVS vs. ASCII on NT or Unix). All the applications have to do is know the name of the Queue and agree on the meaning of the message.
    3. 3. MQ Series API (basic) <ul><li>Connect to a Queue Manager </li></ul><ul><li>Open a queue </li></ul><ul><li>Put or get messages </li></ul><ul><li>Close a queue </li></ul><ul><li>Commit or roll back </li></ul><ul><li>Disconnect </li></ul>
    4. 4. Advanced features <ul><li>Triggering – automatically starting an application to process a message </li></ul><ul><li>IMS & CICS Bridges – reusing legacy transactions without modification </li></ul><ul><li>Confirmation of message arrival, delivery </li></ul><ul><li>Grouping of messages </li></ul><ul><li>Load balancing </li></ul>
    5. 5. MQ Application environments <ul><li>IMS transaction </li></ul><ul><li>IMS BMP </li></ul><ul><li>IMS batch </li></ul><ul><li>OS/390 Batch </li></ul><ul><li>TSO </li></ul><ul><li>CICS </li></ul><ul><li>DB2 Stored Procedure </li></ul><ul><li>VB program on Windows </li></ul><ul><li>C program on Windows or Unix </li></ul>Supported languages include VB, C/C++, PL/1 and Cobol
    6. 6. Local Queuing
    7. 7. Distributed Queuing
    8. 8. Distributed Queuing
    9. 9. Server to Server Client PCs (no MQ sw at all) Unix or NT Server Hosting: Queue Manager Server sw (WebSphere, UP, IIS, Apache, Web server…) OS/390 hosting: Queue Manager IMS DB2 … .
    10. 10. Server to Server - <ul><li>Server application gets it’s data using MQ. Clients do not use MQ API </li></ul><ul><li>Guaranteed Delivery in effect </li></ul><ul><li>Server license required </li></ul>
    11. 11. Client to Server Client PCs (MQ client sw) Unix or NT Server Hosting: Queue Manager, MQ Client support, other server sw OS/390 hosting: Queue Manager IMS DB2
    12. 12. Client to Server <ul><li>Client applications use MQ API (linked differently) </li></ul><ul><li>MQ processing actually occurs on server within client support modules </li></ul><ul><li>Client licenses free </li></ul><ul><li>Guaranteed delivery not supported over client – server link </li></ul>
    13. 13. To what problems is MQ the solution? <ul><li>Fast, asynchronous inter-system notification. </li></ul><ul><li>Data propagation </li></ul><ul><li>Transferring data from mainframe systems to PC/Unix systems </li></ul><ul><li>Transferring data from PC/Unix systems to mainframe systems </li></ul>
    14. 14. Problem…Solution… An event in an IMS system requires action by a midrange system. Modify the IMS program to PUT a message to the midrange system. The midrange system can be configured to start the application whenever a message arrives.
    15. 15. Problem…Solution… <ul><li>An event in an midrange system requires action by a </li></ul><ul><li>mainframe system. </li></ul><ul><li>Modify the midrange program to PUT a message to </li></ul><ul><li>the mainframe system. The mainframe system can </li></ul><ul><li>process the message : </li></ul><ul><li>Immediately </li></ul><ul><li>At set intervals </li></ul><ul><li>On a schedule </li></ul>
    16. 16. CAD - MQ Architecture MQSEND ECS Database CAD to ECS ECS to CAD *existing ECS MPPs modified to: 1 – add XML formatting to some data 2 – MQPUT to UP incoming queue MQ MQ <ul><li>New BMP, cycles every x minutes </li></ul><ul><li>Reads all messages from queue into buffer </li></ul><ul><li>Sorts on sequence number </li></ul><ul><li>Processes each in proper order </li></ul>UP Database OG_Main_Download OF_Main_Upload MQRECV
    17. 17. Problem…Solution… A PC user needs to request an overnight report that needs data from IMS, DB2 and other files. A VB program puts the report requirements on a queue which is read by a batch job
    18. 18. Problem…Solution… Web server needs data from legacy IMS/CICS transaction. Web server puts a message to the MQ-IMS/CICS Bridge, which runs the transaction and returns the results on a queue (screen-scraping without the 3270).
    19. 19. Problem…Solution… VB app needs data from DB2, SQL Server and IMS VB client app puts messages on queues on NT and mainframe systems, triggering programs which populate reply queues on an NT system, which the VB app will read to present to the user. The VB client need not wait for the report to be completed. It could spawn a separate thread that would monitor the reply queues and notify the user when the report was complete.