MQ02 - Introduction to Application Programming with WebSphere MQ
Duration2 Days (customisation)
Availability

Course Description

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 understand WebSphere MQ messaging techniques and require an overview of MQI calls.

Pre-requisites

A general knowledge of application programming and design.

Objectives

Whilst covering the basics of WebSphere MQ, this course also aims to give an insight into the different WebSphere MQ queue managers.

On completion of this course the student will be able to:

  • Understand basic messaging concepts
  • Understand queues and message management
  • Understand transactions and transaction management
  • Understand security within WebSphere MQ
  • Understand the Message Queuing Interface
  • Understand Message Handling
  • Understand and use Queues and Message Attributes
  • Understand MQI calls and the MQI Options
  • Understand and use triggers
  • Use the supplied WebSphere MQ programs to put and get Messages to Queues

Environment

Development will be performed using:

  • A Distributed Platform - normally Windows
  • IBM Mainframe:
  • CICS and/or TSO Batch

Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

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
WEBSPHERE MQ EXPLORER
Administration Using WebSphere MQ Explorer
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 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
TRIGGERING 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

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.