MQTC v2018 Introduction To MQ
MQTC v2018 Introduction To MQ
Sam Goulden
IBM MQ L3 Service
¡ Fundamentals of IBM MQ
Messaging models
Key components
Messaging applications
MQ Environments
Security
Reliability and availability
Administration
MQ Advanced
¡ Reliability
¡ Scalability
¡ Flexibility
Request an action
App B
App A
App B
App B
App A
Process response Send response
App
Message consumer
Message consumer
Topic
Message producer Subscription Message consumer
Subscriber 1
ra ble
Message
Du
Publisher
Topic
No n
-du
rab Subscriber 2
le
V9
AJAX Messaging
REST Managed
V8
Web 2.0 File Transfer
JMS JMS 1.1
Mobile SSL RCMS
New LTS
SOAP Release:
Multi- V7.5 Aug 2018
MQI
Assured platform V7.0.1
V7.1
delivery
Pub/sub V7 IBM MQ
V6 Appliance First LTS
IBM MQ IBM MQ RELEASE:
V5.3 Advanced June 2016
V5.2 IBM MQ Advanced
V5 V5.1 Managed for Two delivery
V2 V2.1
V1.1 File Developers models:
IBM IBM MQ
IBM MQ MQTT IBM MQ Transfer Advanced 1) Long Term
IBM IBM
Everyplace Low Message Service
MQSeries MessageSight
Latency Security 2) Continuous
1990s 2000s Delivery
2010s
MQ Technical Conference v2.0.1.8
What MQ adds to messaging
Enterprise Messaging
Reliability Scalability Ubiquity Security
Assured message High performance Breadth of support for Data encryption and
delivery “Once and solution platforms and integrity
once only” environments
Incremental growth of End use authentication
Resiliency and high applications and Multiple application and authorisation
availability of the infrastructure environments and APIs
infrastructure to suit many styles Audit trails for
configuration and data
Continued support and flows
interoperability of
systems for over twenty
years
A queue manager is a runtime that hosts messaging resources such as queues and
their messages
A queue manager manages the flow and storage of messages Channel
Each queue manager runs on a single system
Multiple queue managers can be connected together using channels and messages
routed between them
¡ Queues App B
Queues are a named resource where messages sent to by applications, stored by the
queue manager and retrieved by applications
¡ Messages System 3
Are just chunks of data
Applications build messages to send and receive
¡ Channels
Channels define a way for one queue manager to connect to another queue manager
Channels can be manually configured or dynamically created as and when needed
using MQ Clusters
QMgr
Linux @ MQ 8.0.0.5
¡ This is the ‘original’ deployment pattern
for MQ QMgr
AIX @ MQ 7.1
QMgr
costs go up
between them
¡ Two options:
QMgr
QMgr
QMgr
MQ clusters QMgr
¡ MQI
¡ JMS
¡ MQ Light API
¡ MQTT
¡ REST API Messaging (point to point only!)
QM1 MQCONN(QM)
…
MQOPEN(Q)
…
APP.Q
MQPUT(Q)
…
MQGET(Q)
…
MQCLOSE(Q)
…
MQDISC(QM)
¡ XMS syntactically the same as JMS V1.1 but for C, C++ and C#
// Establish a connection with the queue manager & create JMS objects
APP.Q JMSContext context
JMSConsumer consumer
= cf.createContext();
= context.createConsumer(dest);
// Get a message
Message msg = consumer.receive();
MQ Technical Conference v2.0.1.8
MQ APIs - MQ Light
¡ AMQP based API
# Receive:
var mqlight = require('mqlight');
var recvClient = mqlight.createClient({service: 'amqp://localhost'});
recvClient.on('started', function() {
recvClient.subscribe('news/technology');
recvClient.on('message', function(data, delivery) {
console.log(data);
});
});
HTTPS
• Allowing applications to put and get messages from a
queue without installing any MQ software locally
REST API
• Ideal for environments with native REST support,
such as common JavaScript libraries including QM1
NodeJS, and AngularJS
Existing channels
MQ App
App
App
• Can only be used for point to point messaging Q1 MQPUT(Q1)
MQGET(Q1)
.NET
MQTT
QMgr
QMgr
JMS
COBOL
QMgr
¡ Finding it hard to
get developers
started with MQ?
messaging/learn-
mq
¡ Transactions
Multiple messaging operations can be coordinated as a transaction
Messaging applications are often updating other resources based on messages
E.g. Receive a message, insert the data to a database
MQ applications can coordinate messaging operations with other transactional resources
A queue manager can be an XA transaction coordinator
Or coordinated externally, for example a JEE application server such as WebSphere Application Server
Available in MQI, JMS and XMS APIs
Request Queue
Reply Queue
Persistent Queues
Request Queue
Reply Queue
Persistent Queues
Transaction
Combining persistent messages with transactions gives you
once and once only delivery of messages from an application’s point of view
MQ Technical Conference v2.0.1.8
IBM MQ
Environments
On-premise & Cloud
AWS
AWS
AWSAzure NEW
IBM Z
Linux AWS
AIX
Windows
Solaris
HPE IBMi
Appliance …
IBM Cloud Private
Private cloud
console.bluemix.net/catalog/services/mq
Hosted on
SSL/TLS
Channel Authentication
(ADDR/USER/SSL Map)
Security Exit
MQRC_NONE
Connection Authentication
Or
Channel Authentication
MQRC_NOT_AUTHORIZED (BLOCKUSER)
Authorization
¡ Programmatic APIs
Administering MQ, The MQ Console
and the MQ REST API! ¡ REST API
Room: Zebrawood
Time: Tuesday, 8:30AM or
Wednesday 13:00PM
AMS Client
MQ standard security: App B Interceptor
• Industry standard TLS channels (256-bit)
• Certified for Common Criteria
• Authentication is based on Operating System identifier of local
process
• Message data can be encrypted in transport but not when it resides in
the queues AMS Interceptor
MQ
MQ Advanced Message Security adds: Queue Manager
• Authentication policies are based on certificates associated with
each application
• Message data is protected end-to-end – including when it resides in
queues
• Much finer granularity in security policies
• No changes needed to applications or queues
¡ Finding it hard to
get developers
started with MQ?
messaging/learn-
mq
Youtube
https://www.youtube.com/user/IBMmessagingMedia
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at
“Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml.
Questions?