WA1044 WebSphere MQ Application Programming for Distributed Platforms Training and Courseware Course Outline

Preparing Application Programs
  • Accessing WMQ objects From Applications
  • Supported Languages
  • Preparing MQI Application Programs
  • WMQ Application Programs – Server Implementation
  • WMQ Application Programs – Client Implementation
  • Preparing Application Programs – UNIX/AIX
  • Preparing Application Programs – WINDOWS NT
  • Preparing Application Programs – OS/400
  • Preparing Application Programs – MVS
  • Preparing Application Programs Other environments
  • MQ Program – Structure
  • Sample WMQ Programs
MQSeries Data Structures and Constants
  • MQSeries Structures and Constants
  • MQI Program Definitions
BASIC MQI CALLS
  • MQI Calls
  • MQ Program – Sample Logic Flow
  • MQI Calls – Documentation
  • MQI Completion Codes
  • MQI CALLS – MQCONN
    • MQCONN C– EXAMPLE
    • MQCONN – Completion / Reason Codes
    • MQCONN – Connection Handle
  • MQI Calls MQOPEN
  • MQI Calls – MQOPEN – Usage notes
    • MQOPEN – Completion / Reason Codes
    • MQOPEN – Object Handle
    • MQOPEN – Multiple Object Handles
    • MQOPEN COBOL EXAMPLE 1
    • MQOPEN C – EXAMPLE 1
    • MQOPEN COBOL EXAMPLE 2
    • MQOPEN – Create Dynamic Queue
    • MQOPEN – Create Dynamic Queue COBOL EXAMPLE
    • MQOPEN – Create Dynamic Queue C – EXAMPLE
  • MQI Calls – MQPUT
    • MQPUT PUT MESSAGE OPTIONS (in MQPMO)
    • MQPUT Completion / Reason Codes
    • MQPUT COBOL EXAMPLE
    • MQPUT C – EXAMPLE
  • MQI Calls MQPUT1
  • Using MQPUT
  • MQI Calls – MQGET
    • MQGET GETMESSAGE OPTIONS
    • MQGET Completion / Reason Codes
    • MQGET COBOL EXAMPLE
    • MQGET C – EXAMPLE
  • MQGET with the wait option
  • WAIT – the problem
  • WAIT with WAITINTERVAL Pseudocode
  • MQGET with the set signal option
  • SET SIGNAL EXAMPLE (MVS)
  • SET SIGNAL – Completion Codes
  • SIGNAL PSEUDOCODE
  • Browsing messages
  • Browse cursor
  • Get message under browse cursor
  • MQI Calls MQCLOSE
  • MQI Calls MQDISC
MQI AND TRIGGERING
  • TRIGGERING Definition
  • Triggering Processing Sequence
  • Queue attributes controlling triggering
  • Process attributes
  • Trigger message (MQTM)
  • Triggering COBOL EXAMPLE – PGMTRIG1
  • Trigger Monitors
  • CICS Based Trigger
MESSAGE PROPERTIES
  • USING MESSAGE PRIORITY
  • MESSAGE TYPES – Datagrams
  • MESSAGE TYPES – Request messages
  • MESSAGE TYPES – Report messages
  • MESSAGE TYPES – Request/Reply/Report messages
  • MESSAGE TYPES – ****Sample Message descriptor****
  • MESSAGE TYPES – COBOL EXAMPLE - REPLYPGM
  • MESSAGE TYPES – COBOL EXAMPLE - REQPGM MQGET
  • Message and Correlation identifiers
  • MSGID and CORRELID – Correllate request message with the reply
  • MSGID and CORRELID – SCENARIO
  • USE OF MSGID / CORRELID Pseudo Code
  • MSGID and CORRELID Reply/Report messages with CorrelId
  • Passing MSGID and CORRELID
  • Pass MSGID and CORRELID Pseudo Code
  • USING MSGID / CORRELID on MQGET
  • MSGID and CORRELID – use Match Options
MESSAGE DATA CONVERSION
  • MESSAGE DATA CONVERSION Concept
  • Data Conversion Implementation
Coordination of units of work
  • MQINQ
  • MQSETCoordination of units of work
  • Commit coordination – MQBEGIN
  • Commit coordination – MQCMIT
  • Commit coordination by application code (without Xtion manager)
    • Global unit of work (QMGR is the transaction manager)
    • MQGET (within Syncpoint control)
    • MQPUT MQGET mixing in/out of Syncpoint control
    • MQPUT (within Syncpoint control)
    • MQPUT (mixing in/out of Syncpoint control)
MINOR MQI CALLS
  • MQINQ
    • MQINQ - COBOL EXAMPLE
    • MQINQ – C EXAMPLE
  • MQSET
    • MQSET - COBOL EXAMPLE
    • MQSET – C EXAMPLE
MESSAGE GROUPS / SEGMENTATION
  • Message Group
    • Specify Grouping on the PUT options
    • Specify Grouping on the GET options
  • GROUP / SEGMENT IDENTIFIER
  • Message segmentation
    • Specify SEGMENTATION on the PUT side
    • Specify SEGMENTATION on the GET side
  • GROUP / SEGMENT IDENTIFIER Pseudo Code
DISTRIBUTION LISTS
  • DISTRIBUTION LISTS
  • Distribution List – MQOPEN
  • Distribution List – MQPUT
  • Distribution List – MQCLOSE
WebSphere MQ Security
  • MQ Access Control
  • Access Control
  • WMQ Access Control
  • Access Control Lists
  • Access Control for MQI
  • Audit: MQSeries Security Events
  • Message Context
  • MQMD Context Fields
  • Setting Context by Application
  • Setting No Context by Application
  • Passing Context
  • Pass Context – Sample
  • Using Alternate User Authority
  • Alternate User ID – Sample
  • Access Control for MQSeries Clients
Appendix


MQI Programming Exercises

  • MQI Programming Exercises 1
  • MQI Programming Exercises 2
  • MQI Programming Exercises 3
  • MQI Programming Exercises 4
  • MQI Programming Exercises 5
  • MQI Programming Exercises 6

Answers for MQI Programming Exercises

  • MQI Programming Exercise 1
  • MQI Programming Exercise 3
  • MQI Programming Exercise 4
  • MQI Programming Exercise 5