WA1055 WebSphere MQ Java Application Programming Training and Courseware Course Outline |
|
| 1. MQ Java Programming |
|
|
|
| 2. Preparing WMQ Java Application Programs |
|
- Accessing WMQ objects From Applications
- Preparing WMQ Java Applications
- WMQ Java Application Environment
- Required Software
- Sample CLASSPATH
- WINDOWS WMQ V5.3
- Connection Modes
- Application Programs
- MQSeries client
- Sample MQPGM Client code
- Java Application Programs
- Applet
- Application Programs
- MQSeries server
- Sample MQSeries Programs
- WMQ Procedural Program
- Structure
|
|
| 3. WMQ Base Classes |
|
- Coding WMQ Java Applications - List of supported WMQ Java Classes (V5.3)
- Coding WMQ Java Applications – List of supported WMQ Interfaces (V5.3)
- WMQ Basic Java Classes
|
|
| 4. Accessing WMQ objects |
|
- Accessing WMQ objects - procedural code
- Accessing WMQ objects - Java Applications
- Basic Java Objects
- Connecting to the Queue Manager
- Connecting to the Queue Manager (MQCONNECT)
- MQCONNECT Completion Codes/MQCONNECT Reason Codes
- Disconnecting from the Queue Manager
- Accessing a Queue
- Open a Queue - using the Qmgr Class
- Open Options
- Open Options - combining options
- Open Completion Codes
- Closing a Queue - close() method of MQQueue class
- Dynamic Queues - Definition
- MQOPEN - Create Dynamic Queue
- Dynamic Queue - Sample Java Code
- Alias Queues - Definition
|
|
| 5. Accessing The Message Object |
|
- MQMessage Class
- WMQ Message
- Putting a message on the queue
- Building an output Message
- Setup the Put Message Options (PMO)
- Put a Message on the queue
- Using MQPUT (vs MQPUT1)
- Put Completion Codes/Put Reason Codes
- Put a Message on the queue - JAVA EXAMPLE
- Getting a Message from the queue
- Setting the Data buffer Position
- Setup the message Descriptor
- Setup the Get Message Options (GMO)
- Get a Message from the queue
- Get Completion Codes
- Retrieving data from the message buffer
- Get a Message from the queue - JAVA EXAMPLE
- MQGET with the wait option
- WAIT - the problem
- MQGET with the set signal option
- SET SIGNAL EXAMPLE (MVS) - the problem
- SET SIGNAL - Completion Codes
- SIGNAL PSEUDOCODE
- Browsing messages
- Browse cursor
- Get message under browse cursor
|
|
| 6. WMQ Triggering |
|
- WMQ Triggering - Concepts
- WMQ Triggering - Definition
- Components of Triggering
- Processing Sequence - I
- Processing Sequence - II
- Starting the trigger monitor
- Fields in the trigger message
- Java EXAMPLE - PGMTRIG1 (triggered)
- Java Sample MQTrigger Class
|
|
| 7. WMQ Message Handling |
|
- Message Persistence – Concepts
- Message Persistence / Recovery
- Message Priority
- Message Expiry
- Message Types
- DATAGRAM
- REQUEST - REPLY Messages - Synchronous model - Request/Reply
- REQUEST - REPLY Messages - Asynchronous model - Request/Reply
- REQUEST message/MQPUT Setup
- Report messages
- REPORT message – MQPUT Setup
- JAVA EXAMPLE – REQPGM MQPUT
- Sample Message descriptor
- Java EXAMPLE – REPLYPGM using MQPUT1
- MSGID and CORRELID – Message and correlation identifiers
- MSGID and CORRELID – Correllate request message with the reply
- MSGID and CORRELID – Reply/Report messages with CorrelId
- USE OF MSGID / CORRELID – PROG-A Pseudo Code
- USE OF MSGID / CORRELID – PROG-B Pseudo Code
- Pass MSGID and CORRELID – PASS MSGID / CORRELID – PROG-1 Pseudo Code
- PASS MSGID / CORRELID – PROG-2+3 Pseudo Code
- PASS MSGID / CORRELID – PROG-4 Pseudo Code
- MSGID and CORRELID – reset as needed for EACH MQGET !!!
- MSGID and CORRELID – or use Match Options
- MESSAGE DATA CONVERSION – Definition
- Data Conversion – Implementation
|
|
| 8. WMQ Minor Calls |
|
- Accessing The MQManagedObject - MQManagedObject Class
- MQQueueManager object
- MQQueue object
- MQManagedObject - inquire
- MQManagedObject - set
- MQManagedObject - inquire - Java EXAMPLE
- Coordination of WMQ unit of work
- WMQ Logical Unit of Work - Transaction
- Sample local UOW processing
- Local UOW processing - with DB updates
- Global UOW processing - with DB updates
- Coordination of WMQ unit of work - Java Implementation
|
|
| 9. WMQ Advanced Topics |
|
- Message Groups
- Message Groups - Concepts
- GROUP / SEGMENT IDENTIFIER
- GROUPING MESSAGES - Specify Grouping on the PUT options
- GROUPING MESSAGES - Specify Grouping on the GET options
- Message segmentation
- GROUP / SEGMENT IDENTIFIER - Specify SEGMENTATION on the PUT options
- GROUP / SEGMENT IDENTIFIER - Specify SEGMENTATION on the GET options
- GROUP / SEGMENT IDENTIFIER - GROUP ID + SEGMENT ID MQPUT Pseudo Code
- GROUP / SEGMENT IDENTIFIER - GROUP ID + SEGMENT ID MQGET Pseudo Code
- DISTRIBUTION LISTS
- DISTRIBUTION LISTS - Cocepts
- Distribution List - MQOPEN - using a procedural CALL
- Distribution List - MQOPEN - procedural Notes
- Distribution List - MQPUT - using a procedural CALL
- Distribution List - MQPUT Notes
- Distribution List - MQCLOSE
- Distribution List - Java Implementation
- Distribution List - Building the Distribution List (DL) in Java
- Distribution List - Build Distribution List - Java sample
- Distribution List - Error checking - Multiple MQCC+MQRC
|
|
| 10. Java Programming - WMQ Security |
|
- 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
|
|
| 11. Java Programming - Exercises |
|
- Exercise 1
- Exercise 2
- Exercise 3
- Exercise 4
- Exercise 5
|
|
| 12. Sample Java Programs |
|
- Java Sample Program - Request Pgm 1
- Java Sample Program - Request Pgm 2
- Java Sample Program - Request Pgm 2
- Java Sample Program - Reply Pgm 1
- Java Sample Program - Reply Pgm 2
|
|