SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
InterConnect
2017
HHM-6894
Messaging APIs for Cloud,
Enterprise & Digital
Applications
Matthew Whitehead
IBM MQ Development
• IBM Messaging APIs and Servers
• Languages, Wire Formats, and APIs
• Recap of the Key Messaging Features
• Features supported in the different
Messaging APIs
Agenda
IBM Messaging APIs &
Servers
3 3/19/2017
IBM Messaging
• IBM MQ
• Enterprise & hybrid messaging
• Ideal for inter-cloud communication, cloud ingress/egress
• Deployable anywhere that can host VMs or containers
• MessageHub
• Bluemix message streaming service based on Apache Kafka
• Ideal for micro-service architectures
• Streaming & real-time analytics
• MQ Light Development Server
• Ideal for rapid development of nodejs, Ruby, Java apps
• Simple messaging interface designed with language specific idioms
• Develop on Windows/Linux/Mac, deploy against MQ or MessageHub
• MessageSight and Watson IoT Platform
• Internet of Things platforms
• Connect huge numbers of devices
• Well suited to low-bandwidth networks
IBM Messaging
IBM
MessageHub
MQ Bridge
MQ Light
Microservice
Applications
Apache
Spark
Watson IoT
Platform / Message Sight
IBM Messaging
IBM
MessageHub
MQ Bridge
MQ Light
Microservice
Applications
Apache
Spark
• C MQI
• MQ JMS
• XMS C/C++/.Net
• MQ Light/AMQP 1.0
• MQTT 3.1
• …
Watson IoT
Platform / Message Sight
IBM Messaging
IBM
MessageHub
MQ Bridge
MQ Light
Microservice
Applications
Apache
Spark
• MQTT v3.1
Watson IoT
Platform / Message Sight
IBM Messaging
IBM
MessageHub
MQ Bridge
MQ Light
Microservice
Applications
Apache
Spark
• MQ Light /
AMQP 1.0
Watson IoT
Platform / Message Sight
IBM Messaging
Watson IoT
Platform / Message Sight
IBM
MessageHub
MQ Bridge
• Kafka
MQ Light
Microservice
Applications
Apache
Spark
Languages, Wire Formats,
and APIs
10 3/19/2017
Wire Formats
APIs
Languages/
Runtimes
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI
MQ Object
Oriented
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF JMS
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF JMS MQ HTTPMQTT
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF JMS MQTT MQ HTTP MQ Light
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS WCF JMS MQTT
MQ Object
Oriented
MQ HTTP MQ Light
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS WCF JMS MQTT
MQ Object
Oriented
MQ HTTP MQ Light
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS WCF JMS MQTT
MQ Object
Oriented
MQ HTTP MQ Light
Languages, Wire Formats, and APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
C#
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net Ruby
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
C#
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
nodejs
Ruby
MQI XMS
MQ Object
Oriented
WCF JMS MQTT
C#
Languages, Wire Formats, and APIs
HTTP MQ LightMQ HTTP MQ Light
APIs
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
C
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
Cobol
PL/1
VB
C++
Perl ActiveX
WCF
Java
.Net
nodejs
Ruby
C#
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ Light
Native C++ is now
stabilised.
Recommendations
are XMS or the C MQI
MQ HTTP MQ Light
Languages, Wire Formats, and APIs
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
nodejs
Ruby
C#
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Base Java is now
stabilised. JMS is the
recommended MQ-
Java interface
MQI XMS
MQ Object
Oriented
(Base Java)
WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
nodejs
Ruby
C#
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
MQI XMS
MQ Object
Oriented
(Base Java)
WCF JMS HTTPMQTT MQ LightHTTP MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
nodejs
Ruby
C#
Wire Formats
MQ Wire Format
(& Local Bindings)
APIs
Languages/
Runtimes
MQTT HTTP AMQP 1.0
Cobol
PL/1
VB
C++
Perl
C
ActiveX
WCF
Java
.Net
nodejs
Ruby
C#
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ LightHTTP MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
Wire Formats
C
Cobol
Java
WCF
PL/1
VB .Net
C++
Perl ActiveX
MQ Wire Format
(& Local Bindings)
AMQP 1.0MQTT
nodejs
Ruby
HTTP
APIs
Languages/
Runtimes
C#
MQI XMS
MQ Object
Oriented
WCF JMS HTTPMQTT MQ LightHTTP MQ LightMQ HTTP MQ Light
Languages, Wire Formats, and APIs
Recap of Key Messaging
Features
Features supporting in IBM
Messaging APIs
47 3/19/2017
Point-to-Point messaging
Publish/Subscribe messaging
Shared subscriptions
Message persistence
Message expiry
Message grouping
Message segmentation
Message selection
Local transactions
Global transactions
HA failover
MQ Messaging Features
Message properties
Asynchronous consume
Message browsing
Qualities of service
• At most once msg delivery
• At least once msg delivery
• Exactly once msg delivery
Point-to-Point messaging
Publish/Subscribe messaging
Shared subscriptions
Message persistence
Message expiry
Message grouping
Message segmentation
Message selection
Local transactions
Global transactions
HA failover
MQ Messaging Features
Message properties
Asynchronous consume
Message browsing
Qualities of service
• At most once msg delivery
• At least once msg delivery
• Exactly once msg delivery
MQ Wire Format MQTT HTTP AMQP 1.0
 ~
MQI MQ OO MQTT MQ HTTP MQ Light
   ~
Examples
C/MQI
strncpy(od.ObjectName, “Q1”, (size_t)MQ_Q_NAME_LENGTH);
MQOPEN(Hcon, &od, O_options,&Hobj, &OpenCode, &Reason);
JMS
destination = session.createQueue(“Q1”);
producer = session.createProducer(destination);
nodejs/
MQ Light
Notes:
• ~ can be used indirectly
at the subscriber
var options = { ttl: “300000” };
client.subscribe(“topic1”, “share1”, options, msgArrivedCallback);
Point-to-point messaging
MQ Wire Format MQTT HTTP AMQP 1.0
  ~
MQI MQ OO MQTT MQ HTTP MQ Light
    
Examples
C/MQI
od.ObjectString.VSPtr=“my/first/messaging/topic”;
od.ObjectString.VSLength=(MQLONG)strlen(argv[1]);
od.ObjectType = MQOT_TOPIC;
MQOPEN(Hcon, &od, O_options,&Hobj, &OpenCode, &Reason);
JMS
destination = session.createTopic(“my/first/topic”);
producer = session.createProducer(destination);
nodejs/
MQ Light
client.send(“my/first/messaging/topic”, body, options,
callback);
Notes:
• ~ can be used
indirectly
Publish/Subscribe Messaging
MQ Wire Format MQTT HTTP AMQP 1.0
 ~
MQI MQ OO MQTT MQ HTTP MQ Light
JMS 2 
Examples
C/MQI
JMS 2
MessageConsumer messageConsumer =
session.createSharedConsumer(topic,"mySubscription");
MessageConsumer messageConsumer =
session.createSharedDurableConsumer(topic,"myDurableSub");
nodejs/
MQ Light
client.subscribe(pattern, “myShare”, options,
function(err, pattern) { // Handle errors });
N/A
Notes:
• ~ can be used indirectly
• Not supported by C MQI
• Primarily added to MQ for
JMS 2 support
• MQI has other ways of
achieving similar pattern
Shared Subscriptions
MQ Wire Format MQTT HTTP AMQP 1.0
 ~ 
MQI MQ OO MQTT MQ HTTP MQ Light
  ~  ~
Examples
C/MQI
MQMD md = {MQMD_DEFAULT};
md.Persistence = MQPER_PERSISTENT;
…
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
JMS
MessageProducer producer = session.createProducer(dest);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
nodejs/
MQ Light
var options = { qos: mqlight.QOS_AT_LEAST_ONCE };
client.send(topic, body, options, callback);
Notes:
• ~ can be set indirectly
Message Persistence
MQ Wire Format MQTT HTTP AMQP 1.0
  
MQI MQ OO MQTT MQ HTTP MQ Light
   
Examples
C/MQI
MQMD md = {MQMD_DEFAULT};
md.Expiry = 3000; // Expire in 5
minutes
…
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
JMS
MessageProducer producer = session.createProducer(dest);
producer.setTimeToLive(300000); // Expire in 5 minutes
nodejs/
MQ Light
var options = { ttl: 300000 }; // Expire in 5 minutes
client.send(topic, body, options, callback);
Notes:
• MQ expiry value is ‘tenths of a
second’
Message Expiry
MQ Wire Format MQTT HTTP AMQP 1.0
 
MQI MQ OO MQTT MQ HTTP MQ Light
  
Examples
C/MQI
JMS
String selector = “NewsType = ’Sports’”;
MessageConsumer consumer =
session.createConsumer(queue, selector);
nodejs/
MQ Light
N/A
Notes:
• Use on MQOPEN to filter
queued messages
• Applies to message properties
od.SelectionString.VSPtr=“Colour=‘red’”;
od.SelectionString.VSLength=MQVS_NULL_TERMINATED;
MQOPEN(Hcon, &od, O_options, &Hobj, &CC, &RC);
Message Selection (1)
MQ Wire Format MQTT HTTP AMQP 1.0
 
MQI MQ OO MQTT MQ HTTP MQ Light
  
Examples
C/MQI
JMS
String selector = “NewsType = ’Sports’”;
MessageConsumer consumer =
session.createConsumer(queue, selector);
nodejs/
MQ Light
N/A
Notes:
• Use on MQSUB to filter
published messages
• Applies to message properties
sd.SelectionString.VSPtr=“Colour=‘red’”;
sd.SelectionString.VSLength=MQVS_NULL_TERMINATED;
MQSUB(Hcon, &sd, &Hobj, &Hsub, &CompCode, &Reason);
Message Selection (2)
• Ability to put or get multiple messages to/from a destination, either all of them or none
at all
• Messages are hidden from other applications until the transaction is committed.
• If a failure occurs mid-sequence, the transaction is rolled back and none of the
messages are delivered. Other applications are never aware of the messages.
• If everything completes successfully, the messages are made available to other
applications.
Local Transactions
MQ Wire Format MQTT HTTP AMQP 1.0
 
MQI MQ OO MQTT MQ HTTP MQ Light
 
Examples
C/MQI
pmo.Options = MQPMO_SYNCPOINT;
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
MQCMIT(Hcon, &CC, &RC);
JMS
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
// Get and put messages
session.commit();
nodejs/
MQ Light
N/A
gmo.Options = MQGMO_SYNCPOINT;
MQGET(Hcon, Hobj, &md, &gmo, bufflen, buff, &msglen, &CC, &RC);
MQCMIT(Hcon, &CC, &RC);
Notes:
• Only queue manager
resources involved
• JEE containers manage
JMS transactions for you
Local Transactions
Similar to local transactions, but with multiple resources to update e.g.
• Application consumes 5 related messages from a queue and writes them all to a
database
• If everything happens successfully, the messages are guaranteed to be removed
from the queue and written to the database
• If a failure occurs, the messages are rolled back to the queue and none are in the
database
• Potential for a transaction to go in-doubt needing manual resolution
Global Transactions
MQ Wire Format MQTT HTTP AMQP 1.0

MQI MQ OO MQTT MQ HTTP MQ Light
 
Examples
C/MQI
MQBEGIN(Hcon, &bo, &CC, &RC);
// Read from database
pmo.Options = MQPMO_SYNCPOINT;
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
MQCMIT(Hcon, &CC, &RC);
JMS
session = connection.createXASession();
// Read from database, put messages
xaResource = session.getXAResource();
xaResource.prepare(xaId, false);
xaResource.commit(xaId, false);
nodejs/
MQ Light
N/A
Notes:
• Multiple resources coordinated
together (e.g. MQ and
Database)
• In this example the queue
manager is coordinating the
transaction
• Can be coordinated by DB/WAS
etc.
• Can result in in-doubt
transactions if a resource fails
mid-transaction
• In JMS/JEE the container does
the work
• MQ must be configured with the
DB XA libraries
Global Transactions
Describes the level of assurance given that a message will be delivered
• At most once delivery
The message might not arrive, but it is guaranteed that you won’t receive duplicates
• At least once delivery
The message will definitely arrive, but you may receive duplicates
• Exactly once delivery
The message is guaranteed to be delivered once and exactly once.
Often considered to be the ‘best’ option but brings with it various additional costs
and complexities
Where are you measuring from?
Quality of Service
MQ Wire Format MQTT HTTP AMQP 1.0
   
MQI MQ OO MQTT MQ HTTP MQ Light
    
Examples
C/MQI
md.Persistence = MQPER_NOT_PERSISTENT;
…
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
JMS
nodejs/
MQ Light
var options = { qos: mqlight.QOS_AT_MOST_ONCE };
client.send(topic, body, options, callback);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
session = connection.createSession(transacted,
Session.AUTO_ACKNOWLEDGE);
producer.send(destination, message)
At-Most-Once Delivery
MQ Wire Format MQTT HTTP AMQP 1.0
   
MQI MQ OO MQTT MQ HTTP MQ Light
    
Examples
C/MQI
md.Persistence = MQPER_PERSISTENT;
pmo.Options = MQPMO_SYNCPOINT;
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
MQCMIT(Hcon, &CC, &RC);
JMS
nodejs/
MQ Light
var options = { qos: mqlight.QOS_AT_LEAST_ONCE };
client.send(topic, body, options, callback);
Notes:
• Can’t always just turn at-least-
once ON with a single
parameter
• Relates to several areas:
• Reliability of network protocol
• Persistence of messages
• Durability of subscriptions
• ACK features in client libraries
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
message.acknowledge();
At-Least Once Delivery
MQ Wire Format MQTT HTTP AMQP 1.0
 
MQI MQ OO MQTT MQ HTTP MQ Light
  
Examples
C/MQI
MQBEGIN(Hcon, &bo, &CC, &RC);
pmo.Options = MQPMO_SYNCPOINT;
MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC);
MQCMIT(Hcon, &CC, &RC);
JMS
session = connection.createXASession();
// Put messages
xaResource = session.getXAResource();
xaResource.prepare(xaId, false);
xaResource.commit(xaId, false);
nodejs/
MQ Light
N/A
Notes:
• Requires XA/Global
transactions
• Useful if messages MUST
arrive and MUSTN’T be
duplicated, but:
• Network flow more
complicated
• Might require a human
to resolve in-doubt
transactions
Exactly-Once Delivery
MQ Wire Format MQTT HTTP AMQP 1.0
N/A N/A N/A N/A
MQI MQ OO MQTT MQ HTTP MQ Light
N/A N/A N/A N/A N/A
Client Built-in HA reconnect?
C MQI Client 
JMS MQ Client 
Cobol MQI Client 
MQ Base Java Client 
C++ MQ Client 
XMS C/C++/.Net 
VB 
.Net WCF 
MQ Light Node/Ruby/Java/Python clients 
Notes:
• Really a feature of the client
library rather than the wire
format or API
HA Failover/Auto-Reconnect
MQI MQ OO MQTT MQ HTTP MQ Light
 Not base java  
Message properties
MQI MQ OO MQTT MQ HTTP MQ Light
 Not base java
or .Net/C#
some langs 
Asynchronous consume
MQI MQ OO MQTT MQ HTTP MQ Light
  
Message browsing
Miscellaneous…
MQI MQ OO MQTT MQ HTTP MQ Light
 Some langs
Message segmentation
MQI MQ OO MQTT MQ HTTP MQ Light
 
Message grouping
InterConnect
2017
Questions?
69 3/19/2017
InterConnect
2017
Thank you
IBM Messaging Developer Centre
developer.ibm.com/messaging
IBM Messaging Youtube
www.youtube.com/IBMmessagingMedia
LinkedIn
ibm.biz/ibmmessaging
Twitter
@IBMmessaging
IBM MQ Facebook
facebook.com/IBMMQ
InterConnect
2017
IBM MQ Sessions at a Glance
71
Monday
1:00-1:45pm 6880 IBM MQ Appliance: Messaging in a Box
6894 Messaging APIs
2:00-2:45pm 6879 IBM MQ Advanced
3:15-4:00pm 6882 What’s New in the World of IBM MQ
4:15-5:00pm 3559 Banrisul Bank’s Migration to the MQ Appliance
6904 Help Shape the Future of IBM MQ
6:00-6:20pm 7441 IBM MQ in the Cloud
Tuesday
11:30-12:15pm 1487 IBM MQ Versus Open Source Messaging
1:30-2:15pm 1183 IBM MQ Appliance: Best Practices from the Field
2:30-3:15pm 6881 Unlock the data flowing through the infrastructure
3:45-4:30pm 4555 Allstate’s Experience with the MQ Appliance
4:15-4:35pm 7440 Managed Event Streams
4:45-5:30pm 5214 Managing Loyalty Programs with IBM MQ
6895 IBM MQ for z/OS: The Latest and Greatest
Wednesday
8:00-8:45am 2699 IBM MQ for z/OS: Performance Tuning
6885 Deploying IBM MQ into the Cloud
6906 IBM MQ Appliance: Hands-on Lab (8:00-9-45)
10:15-12:00pm 6907 IBM MQ Hybrid Cloud: Hands-on Lab
11:15-12:00pm 6884 Designing MQ for the Cloud Generation
6904 Help Shape the Future of IBM MQ
1:00-1:45pm 6903 Share your Experiences with the IBM MQ Experts
2:00-2:45pm 3695 How Banco Bradesco Manages IBM MQ for z/OS
3:15-4:00pm 6892 Availability and Scalability with MQ Clusters
4:15-5:00pm 6891 Making MQ Resilient across DCs and the Cloud
6893 Keep Out the Bad Guys by Securing MQ
Thursday
8:30-9:15am 6886 Simple, Resilient Messaging with MQ Appliance
9:30-10:15am 6878 You Need MQ Messaging!
6887 Managing MQ Messaging in the Hybrid Cloud
6890 New Tools and Interfaces to Manage IBM MQ
10:30-11:15am 6889 Help! Has Anyone seen my MQ Message?
Find us in the EXPO: Hybrid Integration Booth, Messaging Ped
72 3/19/2017
Notices and disclaimers
Copyright © 2017 by International Business Machines Corporation (IBM).
No part of this document may be reproduced or transmitted in any form
without written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to
products that have not yet been announced by IBM) has been reviewed
for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no
responsibility to update this information. This document is distributed
“as is” without any warranty, either express or implied. In no event
shall IBM be liable for any damage arising from the use of this
information, including but not limited to, loss of data, business
interruption, loss of profit or loss of opportunity. IBM products and
services are warranted according to the terms and conditions of the
agreements under which they are provided.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product
plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a
controlled, isolated environments. Customer examples are presented
as illustrations of how those customers have used IBM products and
the results they may have achieved. Actual performance, cost, savings or
other results in other operating environments may vary.
References in this document to IBM products, programs, or services
does not imply that IBM intends to make such products, programs or
services available in all countries in which IBM operates or does
business.
Workshops, sessions and associated materials may have been prepared
by independent session speakers, and do not necessarily reflect the
views of IBM. All materials and discussions are provided for informational
purposes only, and are neither intended to, nor shall constitute legal or
other guidance or advice to any individual participant or their specific
situation.
It is the customer’s responsibility to insure its own compliance with legal
requirements and to obtain advice of competent legal counsel as to
the identification and interpretation of any relevant laws and regulatory
requirements that may affect the customer’s business and any actions
the customer may need to take to comply with such laws. IBM does not
provide legal advice or represent or warrant that its services or products
will ensure that the customer is in compliance with any law.
73 3/19/2017
Notices and disclaimers
continued
Information concerning non-IBM products was obtained from the
suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products in
connection with this publication and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be
addressed to the suppliers of those products. IBM does not warrant the
quality of any third-party products, or the ability of any such third-party
products to interoperate with IBM’s products. IBM expressly disclaims
all warranties, expressed or implied, including but not limited to, the
implied warranties of merchantability and fitness for a particular,
purpose.
The provision of the information contained herein is not intended to, and
does not, grant any right or license under any IBM patents, copyrights,
trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS,
Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services®,
Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®,
IBM Social Business®, Information on Demand, ILOG, Maximo®,
MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower,
PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®,
PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®,
SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®,
Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and
System z® Z/OS, are trademarks of International Business Machines
Corporation, 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.

Weitere ähnliche Inhalte

Was ist angesagt?

IBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsIBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsMarkTaylorIBM
 
What's new in MQ 9.1.* on z/OS
What's new in MQ 9.1.* on z/OSWhat's new in MQ 9.1.* on z/OS
What's new in MQ 9.1.* on z/OSMatt Leming
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQMatt Leming
 
What's new in IBM MQ Messaging
What's new in IBM MQ MessagingWhat's new in IBM MQ Messaging
What's new in IBM MQ MessagingMarkTaylorIBM
 
What's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OSWhat's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OSMatt Leming
 
What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8MarkTaylorIBM
 
IBM MQ - better application performance
IBM MQ - better application performanceIBM MQ - better application performance
IBM MQ - better application performanceMarkTaylorIBM
 
Where is My Message
Where is My MessageWhere is My Message
Where is My MessageMatt Leming
 
3429 How to transform your messaging environment to a secure messaging envi...
3429   How to transform your messaging environment to a secure messaging envi...3429   How to transform your messaging environment to a secure messaging envi...
3429 How to transform your messaging environment to a secure messaging envi...Robert Parker
 
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersDavid Ware
 
What's New in IBM Messaging
What's New in IBM MessagingWhat's New in IBM Messaging
What's New in IBM MessagingMorag Hughson
 
3452 - Managing your applications
3452 - Managing your applications3452 - Managing your applications
3452 - Managing your applicationsTimothy McCormick
 
Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneWhere is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneMorag Hughson
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ BasicPRASAD BHATKAR
 
IBM MQ Channel Authentication
IBM MQ Channel AuthenticationIBM MQ Channel Authentication
IBM MQ Channel AuthenticationIBM Systems UKI
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014Vidhya Gholkar
 
Secure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message SecuritySecure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message SecurityMorag Hughson
 
Building a resilient and scalable solution with IBM MQ on z/OS
Building a resilient and scalable solution with IBM MQ on z/OSBuilding a resilient and scalable solution with IBM MQ on z/OS
Building a resilient and scalable solution with IBM MQ on z/OSMatt Leming
 

Was ist angesagt? (20)

IBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsIBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platforms
 
What's new in MQ 9.1.* on z/OS
What's new in MQ 9.1.* on z/OSWhat's new in MQ 9.1.* on z/OS
What's new in MQ 9.1.* on z/OS
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQ
 
What's new in IBM MQ Messaging
What's new in IBM MQ MessagingWhat's new in IBM MQ Messaging
What's new in IBM MQ Messaging
 
What's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OSWhat's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OS
 
What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8What's New in IBM MQ - Version 8
What's New in IBM MQ - Version 8
 
IBM MQ - better application performance
IBM MQ - better application performanceIBM MQ - better application performance
IBM MQ - better application performance
 
IBM MQ V8 Security
IBM MQ V8 SecurityIBM MQ V8 Security
IBM MQ V8 Security
 
Where is My Message
Where is My MessageWhere is My Message
Where is My Message
 
3429 How to transform your messaging environment to a secure messaging envi...
3429   How to transform your messaging environment to a secure messaging envi...3429   How to transform your messaging environment to a secure messaging envi...
3429 How to transform your messaging environment to a secure messaging envi...
 
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
 
What's New in IBM Messaging
What's New in IBM MessagingWhat's New in IBM Messaging
What's New in IBM Messaging
 
3452 - Managing your applications
3452 - Managing your applications3452 - Managing your applications
3452 - Managing your applications
 
Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneWhere is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ Basic
 
IBM MQ Channel Authentication
IBM MQ Channel AuthenticationIBM MQ Channel Authentication
IBM MQ Channel Authentication
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
 
MQ V8004 Summary
MQ V8004 SummaryMQ V8004 Summary
MQ V8004 Summary
 
Secure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message SecuritySecure Messages with IBM WebSphere MQ Advanced Message Security
Secure Messages with IBM WebSphere MQ Advanced Message Security
 
Building a resilient and scalable solution with IBM MQ on z/OS
Building a resilient and scalable solution with IBM MQ on z/OSBuilding a resilient and scalable solution with IBM MQ on z/OS
Building a resilient and scalable solution with IBM MQ on z/OS
 

Ähnlich wie HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications

An Introduction to and Comparison of the Different APIs Supported by MQ
An Introduction to and Comparison of the Different APIs Supported by MQAn Introduction to and Comparison of the Different APIs Supported by MQ
An Introduction to and Comparison of the Different APIs Supported by MQmatthew1001
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai vibrantuser
 
Flex Remoting and Messaging (2010)
Flex Remoting and Messaging (2010)Flex Remoting and Messaging (2010)
Flex Remoting and Messaging (2010)Christopher Grant
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai vibrantuser
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai vibrantuser
 
Introduction of Apache Camel
Introduction of Apache CamelIntroduction of Apache Camel
Introduction of Apache CamelKnoldus Inc.
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and TomorrowJon Galloway
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule EsbAnand kalla
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniquesguest8899ec02
 
SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...4DK Technologies, Inc.
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
.Net overview
.Net overview.Net overview
.Net overviewteach4uin
 

Ähnlich wie HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications (20)

An Introduction to and Comparison of the Different APIs Supported by MQ
An Introduction to and Comparison of the Different APIs Supported by MQAn Introduction to and Comparison of the Different APIs Supported by MQ
An Introduction to and Comparison of the Different APIs Supported by MQ
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai
 
Flex Remoting and Messaging (2010)
Flex Remoting and Messaging (2010)Flex Remoting and Messaging (2010)
Flex Remoting and Messaging (2010)
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai
 
Web services
Web servicesWeb services
Web services
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
 
Introduction of Apache Camel
Introduction of Apache CamelIntroduction of Apache Camel
Introduction of Apache Camel
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and Tomorrow
 
Net framework
Net frameworkNet framework
Net framework
 
Net framework
Net frameworkNet framework
Net framework
 
soap toolkit
soap toolkitsoap toolkit
soap toolkit
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
 
Wcf
WcfWcf
Wcf
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniques
 
Bottom-Line Web Services
Bottom-Line Web ServicesBottom-Line Web Services
Bottom-Line Web Services
 
SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
.Net overview
.Net overview.Net overview
.Net overview
 

Mehr von matthew1001

Building an Active-Active IBM MQ System
Building an Active-Active IBM MQ SystemBuilding an Active-Active IBM MQ System
Building an Active-Active IBM MQ Systemmatthew1001
 
Monitoring and problem determination of your mq distributed systems
Monitoring and problem determination of your mq distributed systemsMonitoring and problem determination of your mq distributed systems
Monitoring and problem determination of your mq distributed systemsmatthew1001
 
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud WorldHHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud Worldmatthew1001
 
IBM Messaging in the Cloud
IBM Messaging in the CloudIBM Messaging in the Cloud
IBM Messaging in the Cloudmatthew1001
 
Running and Supporting MQ Light Applications
Running and Supporting MQ Light ApplicationsRunning and Supporting MQ Light Applications
Running and Supporting MQ Light Applicationsmatthew1001
 
Hybrid Messaging with IBM Bluemix
Hybrid Messaging with IBM BluemixHybrid Messaging with IBM Bluemix
Hybrid Messaging with IBM Bluemixmatthew1001
 
An introduction to mq light and bluemix
An introduction to mq light and bluemixAn introduction to mq light and bluemix
An introduction to mq light and bluemixmatthew1001
 
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM BluemixHybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemixmatthew1001
 
Mq light, mq, and bluemix web sphere user group july 2015
Mq light, mq, and bluemix   web sphere user group july 2015Mq light, mq, and bluemix   web sphere user group july 2015
Mq light, mq, and bluemix web sphere user group july 2015matthew1001
 
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferenceIBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferencematthew1001
 
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC ConferenceWebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conferencematthew1001
 
How to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq lightHow to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq lightmatthew1001
 

Mehr von matthew1001 (12)

Building an Active-Active IBM MQ System
Building an Active-Active IBM MQ SystemBuilding an Active-Active IBM MQ System
Building an Active-Active IBM MQ System
 
Monitoring and problem determination of your mq distributed systems
Monitoring and problem determination of your mq distributed systemsMonitoring and problem determination of your mq distributed systems
Monitoring and problem determination of your mq distributed systems
 
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud WorldHHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
 
IBM Messaging in the Cloud
IBM Messaging in the CloudIBM Messaging in the Cloud
IBM Messaging in the Cloud
 
Running and Supporting MQ Light Applications
Running and Supporting MQ Light ApplicationsRunning and Supporting MQ Light Applications
Running and Supporting MQ Light Applications
 
Hybrid Messaging with IBM Bluemix
Hybrid Messaging with IBM BluemixHybrid Messaging with IBM Bluemix
Hybrid Messaging with IBM Bluemix
 
An introduction to mq light and bluemix
An introduction to mq light and bluemixAn introduction to mq light and bluemix
An introduction to mq light and bluemix
 
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM BluemixHybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
 
Mq light, mq, and bluemix web sphere user group july 2015
Mq light, mq, and bluemix   web sphere user group july 2015Mq light, mq, and bluemix   web sphere user group july 2015
Mq light, mq, and bluemix web sphere user group july 2015
 
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferenceIBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
 
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC ConferenceWebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference
 
How to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq lightHow to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq light
 

Kürzlich hochgeladen

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Kürzlich hochgeladen (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications

  • 1. InterConnect 2017 HHM-6894 Messaging APIs for Cloud, Enterprise & Digital Applications Matthew Whitehead IBM MQ Development
  • 2. • IBM Messaging APIs and Servers • Languages, Wire Formats, and APIs • Recap of the Key Messaging Features • Features supported in the different Messaging APIs Agenda
  • 3. IBM Messaging APIs & Servers 3 3/19/2017
  • 4. IBM Messaging • IBM MQ • Enterprise & hybrid messaging • Ideal for inter-cloud communication, cloud ingress/egress • Deployable anywhere that can host VMs or containers • MessageHub • Bluemix message streaming service based on Apache Kafka • Ideal for micro-service architectures • Streaming & real-time analytics • MQ Light Development Server • Ideal for rapid development of nodejs, Ruby, Java apps • Simple messaging interface designed with language specific idioms • Develop on Windows/Linux/Mac, deploy against MQ or MessageHub • MessageSight and Watson IoT Platform • Internet of Things platforms • Connect huge numbers of devices • Well suited to low-bandwidth networks
  • 5. IBM Messaging IBM MessageHub MQ Bridge MQ Light Microservice Applications Apache Spark Watson IoT Platform / Message Sight
  • 6. IBM Messaging IBM MessageHub MQ Bridge MQ Light Microservice Applications Apache Spark • C MQI • MQ JMS • XMS C/C++/.Net • MQ Light/AMQP 1.0 • MQTT 3.1 • … Watson IoT Platform / Message Sight
  • 7. IBM Messaging IBM MessageHub MQ Bridge MQ Light Microservice Applications Apache Spark • MQTT v3.1 Watson IoT Platform / Message Sight
  • 8. IBM Messaging IBM MessageHub MQ Bridge MQ Light Microservice Applications Apache Spark • MQ Light / AMQP 1.0 Watson IoT Platform / Message Sight
  • 9. IBM Messaging Watson IoT Platform / Message Sight IBM MessageHub MQ Bridge • Kafka MQ Light Microservice Applications Apache Spark
  • 10. Languages, Wire Formats, and APIs 10 3/19/2017
  • 12. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes Languages, Wire Formats, and APIs
  • 13. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT Languages, Wire Formats, and APIs
  • 14. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP Languages, Wire Formats, and APIs
  • 15. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 Languages, Wire Formats, and APIs
  • 16. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI Languages, Wire Formats, and APIs
  • 17. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI MQ Object Oriented Languages, Wire Formats, and APIs
  • 18. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented Languages, Wire Formats, and APIs
  • 19. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF Languages, Wire Formats, and APIs
  • 20. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF JMS Languages, Wire Formats, and APIs
  • 21. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs
  • 22. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF JMS MQ HTTPMQTT Languages, Wire Formats, and APIs
  • 23. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs APIs
  • 24. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF JMS MQTT MQ HTTP MQ Light Languages, Wire Formats, and APIs
  • 25. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS WCF JMS MQTT MQ Object Oriented MQ HTTP MQ Light Languages, Wire Formats, and APIs
  • 26. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS WCF JMS MQTT MQ Object Oriented MQ HTTP MQ Light Languages, Wire Formats, and APIs
  • 27. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS WCF JMS MQTT MQ Object Oriented MQ HTTP MQ Light Languages, Wire Formats, and APIs
  • 28. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs APIs
  • 29. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs APIs
  • 30. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 31. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 32. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 33. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 34. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 35. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 36. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF Java MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 37. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net MQI XMS MQ Object Oriented WCF JMS MQTT Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 38. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net MQI XMS MQ Object Oriented WCF JMS MQTT C# Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 39. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net Ruby MQI XMS MQ Object Oriented WCF JMS MQTT C# Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 40. Wire Formats MQ Wire Format (& Local Bindings) Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net nodejs Ruby MQI XMS MQ Object Oriented WCF JMS MQTT C# Languages, Wire Formats, and APIs HTTP MQ LightMQ HTTP MQ Light APIs
  • 41. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 C MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs Cobol PL/1 VB C++ Perl ActiveX WCF Java .Net nodejs Ruby C#
  • 42. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ Light Native C++ is now stabilised. Recommendations are XMS or the C MQI MQ HTTP MQ Light Languages, Wire Formats, and APIs Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net nodejs Ruby C#
  • 43. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 Base Java is now stabilised. JMS is the recommended MQ- Java interface MQI XMS MQ Object Oriented (Base Java) WCF JMS HTTPMQTT MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net nodejs Ruby C#
  • 44. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 MQI XMS MQ Object Oriented (Base Java) WCF JMS HTTPMQTT MQ LightHTTP MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net nodejs Ruby C#
  • 45. Wire Formats MQ Wire Format (& Local Bindings) APIs Languages/ Runtimes MQTT HTTP AMQP 1.0 Cobol PL/1 VB C++ Perl C ActiveX WCF Java .Net nodejs Ruby C# MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ LightHTTP MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs
  • 46. Wire Formats C Cobol Java WCF PL/1 VB .Net C++ Perl ActiveX MQ Wire Format (& Local Bindings) AMQP 1.0MQTT nodejs Ruby HTTP APIs Languages/ Runtimes C# MQI XMS MQ Object Oriented WCF JMS HTTPMQTT MQ LightHTTP MQ LightMQ HTTP MQ Light Languages, Wire Formats, and APIs
  • 47. Recap of Key Messaging Features Features supporting in IBM Messaging APIs 47 3/19/2017
  • 48. Point-to-Point messaging Publish/Subscribe messaging Shared subscriptions Message persistence Message expiry Message grouping Message segmentation Message selection Local transactions Global transactions HA failover MQ Messaging Features Message properties Asynchronous consume Message browsing Qualities of service • At most once msg delivery • At least once msg delivery • Exactly once msg delivery
  • 49. Point-to-Point messaging Publish/Subscribe messaging Shared subscriptions Message persistence Message expiry Message grouping Message segmentation Message selection Local transactions Global transactions HA failover MQ Messaging Features Message properties Asynchronous consume Message browsing Qualities of service • At most once msg delivery • At least once msg delivery • Exactly once msg delivery
  • 50. MQ Wire Format MQTT HTTP AMQP 1.0  ~ MQI MQ OO MQTT MQ HTTP MQ Light    ~ Examples C/MQI strncpy(od.ObjectName, “Q1”, (size_t)MQ_Q_NAME_LENGTH); MQOPEN(Hcon, &od, O_options,&Hobj, &OpenCode, &Reason); JMS destination = session.createQueue(“Q1”); producer = session.createProducer(destination); nodejs/ MQ Light Notes: • ~ can be used indirectly at the subscriber var options = { ttl: “300000” }; client.subscribe(“topic1”, “share1”, options, msgArrivedCallback); Point-to-point messaging
  • 51. MQ Wire Format MQTT HTTP AMQP 1.0   ~ MQI MQ OO MQTT MQ HTTP MQ Light      Examples C/MQI od.ObjectString.VSPtr=“my/first/messaging/topic”; od.ObjectString.VSLength=(MQLONG)strlen(argv[1]); od.ObjectType = MQOT_TOPIC; MQOPEN(Hcon, &od, O_options,&Hobj, &OpenCode, &Reason); JMS destination = session.createTopic(“my/first/topic”); producer = session.createProducer(destination); nodejs/ MQ Light client.send(“my/first/messaging/topic”, body, options, callback); Notes: • ~ can be used indirectly Publish/Subscribe Messaging
  • 52. MQ Wire Format MQTT HTTP AMQP 1.0  ~ MQI MQ OO MQTT MQ HTTP MQ Light JMS 2  Examples C/MQI JMS 2 MessageConsumer messageConsumer = session.createSharedConsumer(topic,"mySubscription"); MessageConsumer messageConsumer = session.createSharedDurableConsumer(topic,"myDurableSub"); nodejs/ MQ Light client.subscribe(pattern, “myShare”, options, function(err, pattern) { // Handle errors }); N/A Notes: • ~ can be used indirectly • Not supported by C MQI • Primarily added to MQ for JMS 2 support • MQI has other ways of achieving similar pattern Shared Subscriptions
  • 53. MQ Wire Format MQTT HTTP AMQP 1.0  ~  MQI MQ OO MQTT MQ HTTP MQ Light   ~  ~ Examples C/MQI MQMD md = {MQMD_DEFAULT}; md.Persistence = MQPER_PERSISTENT; … MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); JMS MessageProducer producer = session.createProducer(dest); producer.setDeliveryMode(DeliveryMode.PERSISTENT); nodejs/ MQ Light var options = { qos: mqlight.QOS_AT_LEAST_ONCE }; client.send(topic, body, options, callback); Notes: • ~ can be set indirectly Message Persistence
  • 54. MQ Wire Format MQTT HTTP AMQP 1.0    MQI MQ OO MQTT MQ HTTP MQ Light     Examples C/MQI MQMD md = {MQMD_DEFAULT}; md.Expiry = 3000; // Expire in 5 minutes … MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); JMS MessageProducer producer = session.createProducer(dest); producer.setTimeToLive(300000); // Expire in 5 minutes nodejs/ MQ Light var options = { ttl: 300000 }; // Expire in 5 minutes client.send(topic, body, options, callback); Notes: • MQ expiry value is ‘tenths of a second’ Message Expiry
  • 55. MQ Wire Format MQTT HTTP AMQP 1.0   MQI MQ OO MQTT MQ HTTP MQ Light    Examples C/MQI JMS String selector = “NewsType = ’Sports’”; MessageConsumer consumer = session.createConsumer(queue, selector); nodejs/ MQ Light N/A Notes: • Use on MQOPEN to filter queued messages • Applies to message properties od.SelectionString.VSPtr=“Colour=‘red’”; od.SelectionString.VSLength=MQVS_NULL_TERMINATED; MQOPEN(Hcon, &od, O_options, &Hobj, &CC, &RC); Message Selection (1)
  • 56. MQ Wire Format MQTT HTTP AMQP 1.0   MQI MQ OO MQTT MQ HTTP MQ Light    Examples C/MQI JMS String selector = “NewsType = ’Sports’”; MessageConsumer consumer = session.createConsumer(queue, selector); nodejs/ MQ Light N/A Notes: • Use on MQSUB to filter published messages • Applies to message properties sd.SelectionString.VSPtr=“Colour=‘red’”; sd.SelectionString.VSLength=MQVS_NULL_TERMINATED; MQSUB(Hcon, &sd, &Hobj, &Hsub, &CompCode, &Reason); Message Selection (2)
  • 57. • Ability to put or get multiple messages to/from a destination, either all of them or none at all • Messages are hidden from other applications until the transaction is committed. • If a failure occurs mid-sequence, the transaction is rolled back and none of the messages are delivered. Other applications are never aware of the messages. • If everything completes successfully, the messages are made available to other applications. Local Transactions
  • 58. MQ Wire Format MQTT HTTP AMQP 1.0   MQI MQ OO MQTT MQ HTTP MQ Light   Examples C/MQI pmo.Options = MQPMO_SYNCPOINT; MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); MQCMIT(Hcon, &CC, &RC); JMS session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); // Get and put messages session.commit(); nodejs/ MQ Light N/A gmo.Options = MQGMO_SYNCPOINT; MQGET(Hcon, Hobj, &md, &gmo, bufflen, buff, &msglen, &CC, &RC); MQCMIT(Hcon, &CC, &RC); Notes: • Only queue manager resources involved • JEE containers manage JMS transactions for you Local Transactions
  • 59. Similar to local transactions, but with multiple resources to update e.g. • Application consumes 5 related messages from a queue and writes them all to a database • If everything happens successfully, the messages are guaranteed to be removed from the queue and written to the database • If a failure occurs, the messages are rolled back to the queue and none are in the database • Potential for a transaction to go in-doubt needing manual resolution Global Transactions
  • 60. MQ Wire Format MQTT HTTP AMQP 1.0  MQI MQ OO MQTT MQ HTTP MQ Light   Examples C/MQI MQBEGIN(Hcon, &bo, &CC, &RC); // Read from database pmo.Options = MQPMO_SYNCPOINT; MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); MQCMIT(Hcon, &CC, &RC); JMS session = connection.createXASession(); // Read from database, put messages xaResource = session.getXAResource(); xaResource.prepare(xaId, false); xaResource.commit(xaId, false); nodejs/ MQ Light N/A Notes: • Multiple resources coordinated together (e.g. MQ and Database) • In this example the queue manager is coordinating the transaction • Can be coordinated by DB/WAS etc. • Can result in in-doubt transactions if a resource fails mid-transaction • In JMS/JEE the container does the work • MQ must be configured with the DB XA libraries Global Transactions
  • 61. Describes the level of assurance given that a message will be delivered • At most once delivery The message might not arrive, but it is guaranteed that you won’t receive duplicates • At least once delivery The message will definitely arrive, but you may receive duplicates • Exactly once delivery The message is guaranteed to be delivered once and exactly once. Often considered to be the ‘best’ option but brings with it various additional costs and complexities Where are you measuring from? Quality of Service
  • 62. MQ Wire Format MQTT HTTP AMQP 1.0     MQI MQ OO MQTT MQ HTTP MQ Light      Examples C/MQI md.Persistence = MQPER_NOT_PERSISTENT; … MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); JMS nodejs/ MQ Light var options = { qos: mqlight.QOS_AT_MOST_ONCE }; client.send(topic, body, options, callback); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); session = connection.createSession(transacted, Session.AUTO_ACKNOWLEDGE); producer.send(destination, message) At-Most-Once Delivery
  • 63. MQ Wire Format MQTT HTTP AMQP 1.0     MQI MQ OO MQTT MQ HTTP MQ Light      Examples C/MQI md.Persistence = MQPER_PERSISTENT; pmo.Options = MQPMO_SYNCPOINT; MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); MQCMIT(Hcon, &CC, &RC); JMS nodejs/ MQ Light var options = { qos: mqlight.QOS_AT_LEAST_ONCE }; client.send(topic, body, options, callback); Notes: • Can’t always just turn at-least- once ON with a single parameter • Relates to several areas: • Reliability of network protocol • Persistence of messages • Durability of subscriptions • ACK features in client libraries producer.setDeliveryMode(DeliveryMode.PERSISTENT); session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); message.acknowledge(); At-Least Once Delivery
  • 64. MQ Wire Format MQTT HTTP AMQP 1.0   MQI MQ OO MQTT MQ HTTP MQ Light    Examples C/MQI MQBEGIN(Hcon, &bo, &CC, &RC); pmo.Options = MQPMO_SYNCPOINT; MQPUT(Hcon, Hobj, &md, &pmo, messlen, buffer, &CC, &RC); MQCMIT(Hcon, &CC, &RC); JMS session = connection.createXASession(); // Put messages xaResource = session.getXAResource(); xaResource.prepare(xaId, false); xaResource.commit(xaId, false); nodejs/ MQ Light N/A Notes: • Requires XA/Global transactions • Useful if messages MUST arrive and MUSTN’T be duplicated, but: • Network flow more complicated • Might require a human to resolve in-doubt transactions Exactly-Once Delivery
  • 65. MQ Wire Format MQTT HTTP AMQP 1.0 N/A N/A N/A N/A MQI MQ OO MQTT MQ HTTP MQ Light N/A N/A N/A N/A N/A Client Built-in HA reconnect? C MQI Client  JMS MQ Client  Cobol MQI Client  MQ Base Java Client  C++ MQ Client  XMS C/C++/.Net  VB  .Net WCF  MQ Light Node/Ruby/Java/Python clients  Notes: • Really a feature of the client library rather than the wire format or API HA Failover/Auto-Reconnect
  • 66. MQI MQ OO MQTT MQ HTTP MQ Light  Not base java   Message properties MQI MQ OO MQTT MQ HTTP MQ Light  Not base java or .Net/C# some langs  Asynchronous consume MQI MQ OO MQTT MQ HTTP MQ Light    Message browsing Miscellaneous… MQI MQ OO MQTT MQ HTTP MQ Light  Some langs Message segmentation MQI MQ OO MQTT MQ HTTP MQ Light   Message grouping
  • 68. InterConnect 2017 Thank you IBM Messaging Developer Centre developer.ibm.com/messaging IBM Messaging Youtube www.youtube.com/IBMmessagingMedia LinkedIn ibm.biz/ibmmessaging Twitter @IBMmessaging IBM MQ Facebook facebook.com/IBMMQ
  • 69. InterConnect 2017 IBM MQ Sessions at a Glance 71 Monday 1:00-1:45pm 6880 IBM MQ Appliance: Messaging in a Box 6894 Messaging APIs 2:00-2:45pm 6879 IBM MQ Advanced 3:15-4:00pm 6882 What’s New in the World of IBM MQ 4:15-5:00pm 3559 Banrisul Bank’s Migration to the MQ Appliance 6904 Help Shape the Future of IBM MQ 6:00-6:20pm 7441 IBM MQ in the Cloud Tuesday 11:30-12:15pm 1487 IBM MQ Versus Open Source Messaging 1:30-2:15pm 1183 IBM MQ Appliance: Best Practices from the Field 2:30-3:15pm 6881 Unlock the data flowing through the infrastructure 3:45-4:30pm 4555 Allstate’s Experience with the MQ Appliance 4:15-4:35pm 7440 Managed Event Streams 4:45-5:30pm 5214 Managing Loyalty Programs with IBM MQ 6895 IBM MQ for z/OS: The Latest and Greatest Wednesday 8:00-8:45am 2699 IBM MQ for z/OS: Performance Tuning 6885 Deploying IBM MQ into the Cloud 6906 IBM MQ Appliance: Hands-on Lab (8:00-9-45) 10:15-12:00pm 6907 IBM MQ Hybrid Cloud: Hands-on Lab 11:15-12:00pm 6884 Designing MQ for the Cloud Generation 6904 Help Shape the Future of IBM MQ 1:00-1:45pm 6903 Share your Experiences with the IBM MQ Experts 2:00-2:45pm 3695 How Banco Bradesco Manages IBM MQ for z/OS 3:15-4:00pm 6892 Availability and Scalability with MQ Clusters 4:15-5:00pm 6891 Making MQ Resilient across DCs and the Cloud 6893 Keep Out the Bad Guys by Securing MQ Thursday 8:30-9:15am 6886 Simple, Resilient Messaging with MQ Appliance 9:30-10:15am 6878 You Need MQ Messaging! 6887 Managing MQ Messaging in the Hybrid Cloud 6890 New Tools and Interfaces to Manage IBM MQ 10:30-11:15am 6889 Help! Has Anyone seen my MQ Message? Find us in the EXPO: Hybrid Integration Booth, Messaging Ped
  • 70. 72 3/19/2017 Notices and disclaimers Copyright © 2017 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied. In no event shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data, business interruption, loss of profit or loss of opportunity. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.” Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 71. 73 3/19/2017 Notices and disclaimers continued Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a particular, purpose. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services®, Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, 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.