- Preparing and writing MQSeries application programs
- Basic MQI calls
- Triggering
- Message Properties
- Data conversion
- Coordination of units of work
- Minor MQI calls
- Message groups and Segmented Messages
- Distribution Lists
- MQ Security
- JMS Programming concepts
WebSphere Training Learning Objectives
After completing this course, the student should be able to:
- Describe and use the MQI
- Design and write programs to use MQI as implemented on the chosen platform
- Explain the differences in program design necessitated by the messaging and queuing paradigm
- Describe, in detail, the different MQI calls
- Explain the differences in MQI across the different WebSphere MQ platforms
WebSphere Training Practical Work
The labs include extensive hands-on MQI coding exercises for procedural languages (C, COBOL) as well as basic administration tasks on UNIX and Windows platforms.
WebSphere Training 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