MQ Series


  Messaging and Queuing
  Message queuing is a method of program-to-program communication
  Programs within an application communicate by writing and retrieving application specific data (messages) to/from queues, without having a private, dedicated, logical connection to link them.
  Messaging means that programs communicate with each other by sending data in messages and not by calling each other directly
  Queuing means that programs communicated thru queues.  Programs communicating through queues need not be executed concurrently
Asynchronous messaging Sending program proceeds with its own processing without waiting for a reply to its message
Synchronous messaging Sending program waits for the reply before it resumes processing
  User is concerned with conversational or data-entry type applications
  MQ Series is used in a client/server or distributed environment
API 13 APIs (calls / languages) - Application Program Interface
  Indirect program-to-program communication because it uses queues
  Programmer specifies target queue name
  Each queue is associated with a program
  Program can have multiple I/P and O/P queues
  If target queue is not available, the message stays in queue and gets processed later
Segmenting Queue manager segments large messages.  Receiving end application can receive whole message or each piece depending on buffers
  Programmer controls size and splits
Grouping Small messages grouped together to reduce traffic over network
  Message consists of:
     1. Data sent from program to program (up to 100 mb)
     2. Message descriptor (header)
Message Headers       - Version (1=pre MQ v5   2=MQ v5)
        - Message ID / Correlation ID
      - Persistent / non-persistent
        - Priority
        - Date and time - when MQPUT occurred
        - Expiration date of a message - MQGET will discard if past
        - Return address - reply-to-queue, reply-to-queue-manager
        - Format - for data conversion
        - Sender application and type - program name, path, platform
        - Report options / Feedback (COA, COD)
        - Backout counter
        - Segmenting / group information
Distribution Lists / MQPUT call Send one message to multiple queues belonging to one queue manager.  Receiving queue manager replicates the messages and puts them in correct queue.  LATE-FAN-OUT
Message Types Datagram: information - no response is expected
  Request   : reply is requested
  Reply      : reply to request
  Report    : describes an event (confirmation on arrival or delivery or error message)
Persistent Msg Must get delivered.  Written to logs to survive system failure
Non-Persistent cannot be recovered after system restart
Queue Manager (MQM) Run-time program.  Manage queues and messages for applications.  Provides application programming interface Message Queue Interface.  Transfers messages using existing network facilities.
Channel Network communication facilities - TCP/IP, SNA or SPX
Message Queue Interface (MQI)  


Stored Procedures