- Preparing and writing MQSeries Java programs
- Using Basic MQ Java Classes
- Accessing the Message Object
- Triggering
- Message Properties
- Data conversion
- Coordination of units of work
- Minor MQI calls – accessing MQ Objects
- 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 MQ Java Classes
- Design and write programs to use MQ Java Classes
- Explain the differences in program design necessitated by the messaging and queuing paradigm
- Understand, in detail, the different MQ functions
- Explain the differences in MQI across the different WebSphere MQ platforms
WebSphere Training Practical Work
The labs include extensive hands-on MQ Java coding exercises as well as basic administration tasks on UNIX and Windows platforms.
WebSphere Training Course duration
Three Days
WebSphere Training 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
Minimum Hardware Requirements
- 700 MHz or faster CPU
- 256 MB of memory or more
- 4GB hard disk space minimum
- CD-ROM drive
- LAN Adapter
- Networked
- Internet Access (strongly recommended)
Minimum Software Requirements
- Microsoft Windows 2000 (32-bit version only) with Service Pack 4 or later. This can be any of the following products:
- Microsoft Windows 2000 Professional
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows XP Professional (32-bit version only).
- Microsoft Windows Server 2003 (32-bit version only). This can be either of the following products:
- Microsoft Windows Server 2003 Standard Edition
- Microsoft Windows Server 2003 Enterprise Edition
- Adobe Acrobat Reader V5.0 or later
- IBM JDK 1.4.2 *
- WebSphere MQ V6 for Windows (Obtain CD from Web Age Solutions). *