Day one of this course provides delegates with a sound understanding of IBM MQ (formerly MQSeries) messaging system. The following three days are a practical, 'hands-on' workshop. The course is taught with students using either COBOL or C, the practicals running in a Windows environment.
This course can be presented using the compiler environment and platform of the customer's choice. Options for the workshop include Windows, .Net, UNIX and Solaris, using COBOL, C or Java Base Class MQI.
Attendees should have the appropriate skills in the language and programming environment to be used for writing and deploying MQ applications.
Delegates will learn how to
- establish a connection to an MQ Queue Manager
- understand the concepts of Queues, Queue Managers and MQ messages
- describe MQ program design considerations and the MQI
- explain triggering, syncpoints and message grouping and segmentation
- discuss Distributed Queuing enablement
- understand and describe Clustering
- explain the role of MQ system integrator
- open/close predefined and dynamic queues
- pass data between MQ programs using queues
- pass Request/Reply messages between programs
- use Msgid & Correlid to PUT and subsequently GET selected messages from a queue
- understand the effect of putting and getting messages under Syncpoint control
- understand the effect of using Persistent messages.
Basic Messaging Concepts
Islands of information and IBM MQ; What's in a name?; Software layers; IBM MQ features; Wide platform coverage; The MQI - a common application programming interface; Time independent or asynchronous processing; Assured message delivery; Support of different application styles; MQ - some comparisons; Queues; Messages; MQPUT; MQGET; Queue Managers and database managers; A significant difference between queues and database tables...; Messages and queues; Shared queues; The Queue Manager; Basic message structure; Asynchronous messaging; Synchronous messaging; Multiple requesters, one responder; Parallel messaging; Re-using MQ application processes as business objects; Meshed business objects; Remote messaging (distributed queuing); MQ clients.
Queue Managers, Queues & Messages
Queue types; Local queues; Alias queues; Model and dynamic queues; Remote queues; The Message Descriptor; Datagram message type; Request/Reply messages; Report messages - COA; Report messages - COD; Message priority; Message-id and correlation-id; Message retrieval by message or correlation id; Using Msgid and CorrelIid; Message persistence; Message persistence - logging; Circular logging in distributed MQ; Linear logging in distributed MQ; Message expiry; Message expiry usage; Message translation - encoding; Message translation - coded character set.
The MQI, Triggering and Syncpoints
The MQI layer; The MQI - language Interfaces; The MQI calls; Program preparation; Load Module structure; MQCONN; MQCONN sample call; MQOPEN; MQOPEN sample call; MQPUT; MQPUT sample call; MQGET; MQGET sample call; MQCLOSE; MQCLOSE sample call; MQPUT1; MQDISC; MQDISC sample call; Triggering - why?; Using triggering; Triggering overview; Trigger message contents; Syncpoint control; MQCMIT; MQGET under syncpoint control; Syncpoints and non-resource managed objects; Recovery co-ordination without a transaction manager; MQ recovery co-ordination of XA compliant resource manager(s); Recovery with a transaction manager; A distributed business transaction without MQ; A distributed business transaction with MQ; Message grouping and segmentation.
MQ Distributed Queuing
Distributed queuing components; Remote queues; Transmission queues; Message Channel Agents; MCA configuration; Channel types; Triggering channels; Dead letter queues; Client/server or MQI channels; Setting up a client/server channel; MQ clustering; Cluster resilience; Choosing the target instance of a cluster queue.
Installing MQ; Administration mechanisms; Control commands; MQSC (MQ script) commands; Runmqsc: displaying Queue Manager properties; Runmqsc: displaying queue properties; MQ Explorer: looking at Queue Managers; MQ Explorer: looking at queues and channels; z/OS ISPF panels: looking at queues; Instrumentation events.
IBM MQ Security
Channel Exits; Security Exits; Secure Sockets Layer (SSL); Channel Authentication Records; Access Control; Message Descriptor (MQMD) Context Information; Advanced Message Security.
The MQI Major Calls
Communicating with Queue Managers; Application protection; Purpose of MQCONN; MQCONN call sample; The connection handle; Default Queue Managers; The MQCONN call and CICS; MQCONN & single threaded applications; MQCONN & multi-threaded applications; MQCONN & the MQ client; Environment variables; Queue Manager grouping with the MQ client; The MQCONNX call; The MQDISC call; The MQI completion codes; MQCONN common reason codes; MQOPEN and MQCLOSE; MQOPEN & security; Queue name resolution; The MQOD object descriptor; The MQOD object descriptor for RPG; The MQC public interface for Java; The MQOD fields; Creating dynamic queues with MQOPEN; Controlling the name of dynamic queues; The open options fields; The open input options field; MQOPEN share options; Other MQOPEN options; Open options and clustering; Open options for clustering; Identity & context open options; MQOPEN sample call; MQCLOSE sample call; The MQCLOSE options.
The MQMD Message Descriptor
The MQMD layout; The MQMD layout for RPG; MQMD: report options, message type, message expiry, feedback field, encoding field, encoding field usage, coded character set id, format field, priority, persistence, message id, correlation id, context information, context options, context userid field, context accounting field, application identity, context put information, Setting some MQMD values.
PUT Message Options
MQPMO: structure, options field, layout, layout for RPG, resolved queue.
The MQPUT Call
MQPUT usage; MQPUT sample call; Section summary; Practical session.
GET Message Options
MQGMO structure; MQGMO structure for RPG; MQGMO fields; MQGMO options field; MQGMO WAITINTERVAL.
The MQGET Call
MQGET usage; MQGET sample call; Section summary; Practical session.
MQPUT1 call description; MQPUT1 sample call; Practical session; Summary.
Message id and correlation id; MSGID & CORRELID overview; Message & correlation id formats; Message retrieval using MSGID & CORRELID; Retrieved messages; Section summary.
MQGET with WAIT
MQGET WAIT overview; Usage; MQGMO wait options; MQGMO set signal (z/OS); MQGMO set signal (Windows).
Request/Reply overview; Request/Reply client side; Request/Reply client & server; Request/Reply timeouts; Summary; Practical session.
MQPUT & syncpoint control; Recovery co-ordination with manager; Recovery co-ordination without manager; MQ recovery co-ordination of XA compliant resource manager(s); Options controlling syncpoints; Mark skip backout; MQCMIT; Summary; Practical session.
Why trigger?; Trigger message generation; Processing the trigger message; Syncpoint considerations; Summary; Practical session.
Minor Calls and Messaging
MQINQ and MQSET; MQINQ call format; Selectors and selector counts; MQINQ integer attributes; MQINQ character attributes; MQINQ code sample; MQSET call format; Summary; NAMELISTs.
Publish & Subscribe
Introduction; Terms and terminology; Publications; An orphan subscription; Defining topics; Command prompt; MQ Explorer; A publish and subscribe environment; Publish APIs within applications; Publish sample programs; Publish MQ Explorer; Subscribe APIs within applications; Subscribe MQ Explorer; AMQSSBX; RFHUTIL; Topic alias; Subscription/publication testing under Explorer.
Message headers; Format; Message format in WebSphere MQ V7; Message flowing to a previous version; API introduction; API example; Commands: MQCRTMH, MQSETMP, MQINQMP, MQDLTMP; Testing properties RFHUTIL; Viewing properties using MQ Explorer.
Frequently asked questionsSee all of our FAQs
How can I create an account on myQA.com?
There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.
If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".
If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.
Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.
How do QA’s virtual classroom courses work?
Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.
We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.
Learn more about our Virtual Classrooms.
How do QA’s online courses work?
QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.
All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.
Learn more about QA’s online courses.
When will I receive my joining instructions?
Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.
When will I receive my certificate?
Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.