Target Audience
The course is aimed at developers who require the basic skills of designing and writing application programs which issue calls to the Message Queuing Interface (MQI). The course is aimed at experienced applications developers who need to develop programs which use WebSphere MQ messaging techniques.
Pre-requisites
A basic understanding of the concepts of WebSphere MQ message queuing and COBOL programming. These can be gained by attending courses MQ01 and BT05.
Course Objectives
Whilst covering the basics of WebSphere MQ, this course also aims to give an insight into the programming and issuing of calls to the Message Queuing Interface.
On completion of this course the student will be able to:
-
Understand basic messaging concepts
-
Understand queues and message management
-
Understand and use the supplied panels, utilities and programs in a batch and CICS environment to manipulate WebSphere MQ objects
-
Understand and use the Message Queuing Interface
-
Understand and use Message Handling
-
Understand and use Queue and Message Attributes
-
-
Understand and use MQI calls and the MQI Options
-
Understand and use transactions
-
Understand and use triggers
-
Understand and use remote queuing
-
Understand and use MQSET and MQINQ calls
Course Environment
Development will be performed using:
-
IBM Mainframe
-
CICS and/or TSO Batch
Course Details
- MESSAGING CONCEPTS
- Islands of Automation
- Program to Program Communication
- Queues and Messages
- Synchronous Processing
- Asynchronous Processing
- Time Independence
- Client / Server Processing
- Parallel Processing
- Batch Processing
- Queue Manager
- Message Structure
- WebSphere MQ Clients
- WEBSPHERE MQ INTRODUCTION
- WebSphere MQ
- Operating Platforms
- WebSphere MQ Concepts
- Programming API
- MQ Series Framework
- QUEUES AND MESSAGES
- Queue Managers
- Remote Queue Managers
- Queue Types
- Local Queues
- Remote Queues
- Alias Queues
- Dynamic and Model Queues
- Transmission Queues
- System Queues
- Clustering
- Message Structure
- MQ Message Descriptor (MQMD)
- Datagram Type Messages
- Request/Reply Type Messages
- Report Type Messages
- Message Priority
- Message ID and Correlation ID
- Message Persistence
- Message Expiry
- Message Grouping and Segmentation
- MQ Objects
- COMMAND SETS
- Command Sets
- Control Commands
- WebSphere MQ Script Commands (MQSC)
- PCF Commands
- CONTROL COMMANDS
- Control Commands
- Control Commands on Windows Platforms
- Control Commands on UNIX Platforms
- CRTMQM - Create a Queue Manager
- STRMQM - Start a Queue Manager
- ENDMQM - Stop a Queue Manager
- DSPMQ - Display a Queue Manager
- DSPMQAUT - Display authorisations
- DSPMQFLS - Display Files
- RUNMQSC - Issue MQSC Commands
- RUNMQTRM - Start a Trigger Monitor
- MQ SCRIPT COMMANDS
- MQSC Commands
- Batch Script Commands
- Commands in z/OS
- Starting and Stopping MQSC
- Manipulating Queue Managers
- Manipulating Local Queues
- Manipulating Alias Queues
- Manipulating Model Queues
- Manipulating Trigger Objects
- alter process
- alter qmgr
- alter qalias
- alter qlocal
- alter qmodel
- alter qremote
- clear qlocal
- define process
- define qalias
- define qlocal
- define qmodel
- define qremote
- display process
- display qmgr
- display qstatus
- display queue
- z/OS OPERATING AND CONTROL PANELS
- Control Panel Access
- Control Panel Rules
- WebSphere MQ Main Menu
- Object Type
- Object Disposition
- Queue Manager
- Define a Local Queue
- Defining Other Objects
- Listing Object Definitions
- Altering Object Definitions
- Managing Objects
- Perform Action
- Channel Status
- CICS and WEBSPHERE MQ
- WebSphere MQ in CICS Applications
- MQ API
- Application Triggering
- WebSphere MQ CICS transactions
- CICS ADAPTER CONTROL PANELS
- CICS Control Functions
- CICS Adapter Control Panels
- Starting a Connection
- Stopping a Connection
- Modifying a Connection
- Displaying Connection Details
- Starting a Trigger Monitor (Task Initiator)
- Stopping a Trigger Monitor (Task Initiator)
- Displaying Instances of a Trigger Monitor (Task Initiator)
- Displaying CICS Task Information
- CSQUTIL MQ UTILITY PRORAM
- CSQUTIL Utility Program
- JCL Requirements
- PARM Statement
- Return Codes
- Command Management Function
- Display Command
- Client Channel Definition
- Copying Queues - COPY Function
- Copying Queues - SCOPY Function
- Copying Queues - EMPTY Function
- PROGRAMMING WITH MQI
- MQ Interface (MQI)
- Programming Languages
- Completion Code
- Reason Code
- MQCONN Call
- MQCONNX Call
- MQOPEN Call
- MQPUT Call
- MQGET Call
- MQPUT1 Call
- MQCLOSE Call
- MQDISC Call
- MQINQ Call
- MQSET Call
- MQBEGIN, MQCMIT and MQBACK Calls
- Message Descriptor
- DATA TYPES
- Data Types
- Elementary Data Types
- MQBYTE
- MQBYTEn
- MQCHAR
- MQCHARn
- MQHCONN
- MQHOBJ
- MQLONG
- MQPTR
- Data Types in Programming Languages
- STRUCTURES
- Data Structures
- Structures for MQI Calls
- Structures in Message Data
- Structures in C
- Structures in COBOL
- Structures in PL/I
- Structures in Visual Basic
- MQCONN CALL
- MQCONN
- Syntax
- Parameters
- Completion and Reason Codes
- MQCONNX CALL
- MQCONNX
- Syntax
- Parameters
- Completion and Reason Codes
- MQCONNX Options (MQCNO)
- MQOPEN CALL
- MQOPEN
- Syntax
- Parameters
- Object Descriptor
- MQOPEN Options
- MQOPEN Multiple Options
- Completion and Reason Codes
- Opening Different Queues
- Queue Name Resolution
- Alias Queues
- Model Queues
- Dynamic Queues
- MQOPEN Call for Model Queues
- MQCLOSE CALL
- MQCLOSE
- Syntax
- Parameters
- MQCLOSE Options
- Completion and Reason Codes
- MQDISC CALL
- MQDISC
- Syntax
- Parameters
- Completion and Reason Codes
- MQPUT CALL
- MQPUT
- Syntax
- Parameters
- MQPUT Options (MQPMO)
- Message Descriptor
- Persistence
- Priority
- Expiry
- Completion and Reason Codes
- MQGET CALL
- MQGET
- Syntax
- Parameters
- MQGET Options (MQGMO)
- Buffer Lengths
- Completion and Reason Codes
- MQPUT1 CALL
- MQPUT1
- Syntax
- Parameters
- REMOTE QUEUING
- Remote Queuing
- Multiple Message Hops
- Message Types
- Request and Replies
- Local Reply Queues
- Remote Reply Queues
- Dead Letter Queue
- Exception Reports
- Encoding
- CodedCharSetId
- Format
- CONTROLLING MESSAGE RETRIEVAL
- Controlling Message Retrieval
- Request / Reply Queues
- Message Retrieval - Application Parallelism
- Message Retrieval - All Messages
- Message Retrieval - By MsgId And CorrelId
- Message Retrieval - With Reports
- Wait and Wait Interval
- Set Signal
- TRANSACTION SUPPORT
- Transactions
- Local and Global Transactions
- Syncpoint Option
- MQPUT within Syncpoint
- MQGET within Syncpoint
- Syncpoint Control
- MQCMIT
- MQBACK
- MQBEGIN
- Poisoned Messages
- Remote Updates
- TRIGGER PROCESSING
- Triggering
- Trigger Types
- Trigger Parameters
- Trigger and Syncpoint
- MQI SECURITY
- Message Context
- Default Context
- Passing Context
- Context Handling
- Set Context
- Alternate User Authority
- MQINQ CALL
- MQINQ
- Syntax
- Parameters
- Completion and Reason Codes
- MQSET CALL
- MQSET
- Syntax
- Parameters
- Completion and Reason Codes
- MESSAGE GROUP AND SEGMENTATION
- Segments and Groups
- Message Groups
- Group Logical Messages
- Retrieving Logical Messages
- Groups and Unit of Work
- Message Segmentation
- Segmentation by Queue Manager
- Segmentation by Application
- COMPLETION AND REASON CODES
- Completion and Reason Codes
- Completion Codes
- Reason Codes
- DEBUGGING MQ
- Debugging WebSphere MQ Applications
- Error Logging
- Program Abends
- SAMPLE PROGRAMS
- Windows WebSphere MQ Supplied Programs
- AMQSPUT
- AMQSGBR and AMQSBCG
- AMQSGET
- AMQSREQ
- AMQSECH
- AMQSINQ
- AMQSSET
- COBOL WebSphere MQ Supplied Programs
- CSQ4BVK1
- CSQ4BVA1
- CSQ4BVJ1
- CSQ4TVH - Message Handler
- CICS COBOL WebSphere MQ Supplied Programs
- CSQ4CVK1
- CSQ4BVA1
- CSQ4CVJ1
- CSQ4CVC1
- COBOL RECORD STRUCTURES
- Message Descriptor - MQMD
- Object Descriptor - MQOD
- Get Message Options Structure - MQGMO
- Put Message Options Structure - MQPMO
- Dead Letter Header - MQDLH
- Trigger Message - MQTM
- Transmission Queue Header - MQXQH
- Constants For MQI - CMQV
Course Format
Demonstration sessions and practicals make up a large part of the course, allowing delegates to reinforce the lectures given. During these sessions the delegate will gain experience of Websphere MQ, specifically MQI.
Examples are used extensively, ranging from simple code snippets to full applications with complete ‘real world’ functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and ‘experiment’ with these under the instructor’s guidance as they are introduced.
These examples are available to take away, along with the delegate’s own work.
The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.
|