SlideShare a Scribd company logo
Capitalware's MQ Technical Conference v2.0.1.5
An Introduction to MQ Light & BluemixAn Introduction to MQ Light & Bluemix
Matthew WhiteheadMatthew Whitehead
WebSphere MQ DevelopmentWebSphere MQ Development
mwhitehead@uk.ibm.commwhitehead@uk.ibm.com
Capitalware's MQ Technical Conference v2.0.1.5
Agenda
•Intro to MQ Light
•MQ Light in Bluemix
•MQ support for MQ Light (beta)
Capitalware's MQ Technical Conference v2.0.1.5
IBM Messaging
Capitalware's MQ Technical Conference v2.0.1.5
What is MQ Light?
1. A new messaging API
2. A messaging runtime for on-premise development
and deployment
3. A PaaS messaging runtime for admin-free cloud
deployment (MQ Light Service in Bluemix)
More on all of these throughout the slides...
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light : Software and Cloud
 Messaging that application developers
will love to use, helping them make
responsive applications that scale easily
 3 ways to get it:
Bluemix service
MQ Light software download
Statement of Direction for support in MQ Version
8.
 Open APIs crafted to feel natural in a
growing range of popular languages
 Tooling that makes modular app
development easy
THIS PRESENTATION
Capitalware's MQ Technical Conference v2.0.1.5
The journey that got us here
Andy
Developer
Iain
Infrastructure
Guy
I want to execute code
without taxing my
Web app processes
My job is run a
communications service
for my customers’ apps
Some
Thing
My Apps Workers
Messaging
Backbone
My Customers’ Apps
Capitalware's MQ Technical Conference v2.0.1.5
Corporate-free look & feel

Capitalware's MQ Technical Conference v2.0.1.5
Deployment Options
MQ Light Service
for Bluemix
WebSphere MQ
[open Beta]
“MQ Light”
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light API - Language support
• Simple, programming Language neutral messaging model
• Idiomatic language & framework API Mappings
• Frictionless development
• Open wire protocol
(AMQP 1.0) &
• Open Source client libraries
• Facilitates community drivers for languages & frameworks
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model – Send Messages
Applications send messages to a topic.
A topic is an address in the topic space
either flat or arranged hierarchically.
1. Send (‘/test/a’, “Hello”);
2. Send (‘/test/a’, “World!”);
Topic Address Space
Sender application
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model – Simple Receive
• Applications receive messages by creating a destination with a pattern
which matches the topics they are interested in.
• Pattern matching scheme based on WMQ.
1. Send (‘/test/a’, “Hello”);
2. Send (‘/test/a’, “World!”);
1. Hello
2. World!
Topic Address Space
Sender application
DESTINATION
Pattern=/test/a
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model – Pub/Sub
• Multiple destinations can be created which match the same topic
• Pub/Sub style.
DESTINATION
1. Send (‘/test/a’, “Hello”);
2. Send (‘/test/a’, “World!”);
1. Hello
2. World!
1. Hello
2. World!
Topic Address Space
Sender application
DESTINATION
Pattern=/test/a
Pattern=/test/#
Client 1
Client 2
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model – Persistent destinations
• Destinations persist for a defined “time to live” after receiver detaches.
1. Send (‘/test/a’, “Hello”);
2. Send (‘/test/a’, “World!”);
Topic Address Space
Sender application
Hello
World!
DESTINATION
Pattern=/test/a
Disconnected client
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model – Sharing
• Clients attaching to the same topic pattern and share name attach to
the same shared destination.
DESTINATION1. Send (‘/test/a’, “Hello”);
2. Send (‘/test/a’, “World!”);
1. Hello
2. World!
1. Hello
2. World!
SHARING
Topic Address Space
Sender application
DESTINATION
Pattern=/test/#
Pattern=/test/#
Share=myshare
Client 1
Client 2
Client 3
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model – Client takeover
1. Send (‘/test/a’, “Hello”);
Hello
Topic Address Space
Sender application
DESTINATION
Pattern=/test/#
Client 1
World!
Client 1
2. Send (‘/test/a’, “World!”);
• Applications connect to MQ Light service specify (optional) client ID.
• Re-using the same client ID pre-empts the original connection.
• Ideal for worker takeover in the cloud.
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Messaging Model
DESTINATION1. Send (‘/test/a’, “Hello”);
2. Send (‘/test/a’, “World!”);
1. Hello
2. World!
1. Hello
2. World!
SHARING
Topic Address Space
Sender application
DESTINATION
Pattern=/test/#
Pattern=/test/#
Share=myshare
Client 1
Client 2
Client 3
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Node.JS API
 Installable from NPM
 Fully non blocking – Node.JS style
 Fluent programming style - wrappable into promises.
 Focussed on code simplicity.
 Client seamlessly retries across cloud endpoints
# 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);
});
});
# Send:
var mqlight = require('mqlight');
var sendClient = mqlight.createClient({service: 'amqp://localhost'});
sendClient.on('started', function() {
sendClient.send('news/technology', 'Hello World!');
});
# 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);
});
});
# Send:
var mqlight = require('mqlight');
var sendClient = mqlight.createClient({service: 'amqp://localhost'});
sendClient.on('started', function() {
sendClient.send('news/technology', 'Hello World!');
});
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Ruby API (Beta)
 Installable from rubygems.org
 Synchronous/blocking client.
 Bluemix connection support
 Backlog
 Auto reconnect.
 Asynchronous non blocking
 TLS
# Receive:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.subscribe('news/technology')
delivery = client.receive('news/technology')
puts delivery.data
# Send:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.send('news/technology', 'Hello World!')
# Receive:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.subscribe('news/technology')
delivery = client.receive('news/technology')
puts delivery.data
# Send:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.send('news/technology', 'Hello World!')
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Python API (Beta)
 Installable from pypi.python.org
 Non blocking
 Client seemlessly retries across cloud endpoints
 Backlog
 TLS
# Receive:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.subscribe('news/technology')
delivery = client.receive('news/technology')
puts delivery.data
# Send:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.send('news/technology', 'Hello World!')
# Receive:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.subscribe('news/technology')
delivery = client.receive('news/technology')
puts delivery.data
# Send:
require 'mqlight'
client = Mqlight::BlockingClient.new('amqp://localhost')
client.send('news/technology', 'Hello World!')
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Non Blocking Java API
 Installable using Maven
 Code is opensource on github.
 Non blocking
 Client seemlessly retries across cloud endpoints
void send() {
NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() {
public void onStarted(NonBlockingClient client, Void context) {
client.send("news/technology", "Hello World!", null);
}
}, null);
}
void receive() {
NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() {
public void onStarted(NonBlockingClient client, Void context) {
client.subscribe("news/technology", new DestinationAdapter<Void>() {
public void onMessage(NonBlockingClient client, Void context, Delivery delivery) {
if (delivery.getType() == Delivery.Type.STRING) System.out.println(((StringDelivery)delivery).getData());
}
}, null, null);
}
}, null);
}
void send() {
NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() {
public void onStarted(NonBlockingClient client, Void context) {
client.send("news/technology", "Hello World!", null);
}
}, null);
}
void receive() {
NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() {
public void onStarted(NonBlockingClient client, Void context) {
client.subscribe("news/technology", new DestinationAdapter<Void>() {
public void onMessage(NonBlockingClient client, Void context, Delivery delivery) {
if (delivery.getType() == Delivery.Type.STRING) System.out.println(((StringDelivery)delivery).getData());
}
}, null, null);
}
}, null);
}
Capitalware's MQ Technical Conference v2.0.1.5
Web Based Tooling
Capitalware's MQ Technical Conference v2.0.1.5
Demo
Capitalware's MQ Technical Conference v2.0.1.5
Agenda
•Intro to MQ Light
•MQ Light in Bluemix
•MQ support for MQ Light (beta)
Capitalware's MQ Technical Conference v2.0.1.5
IBM Bluemix
Bluemix is an open-standards, cloud-based platform for building,
running, and managing applications.
Build your apps, your way
Use the most prominent
compute technologies to
power your app: Cloud
Foundry, Docker,
OpenStack.
Extend apps with services
A catalog of IBM, third party,
and open source services
allow the developer to stitch
an application together
quickly.
Scale more than just
instances
Development, monitoring,
deployment, and logging
tools allow the developer to
run and manage the entire
application.
Layered Security
IBM secures the platform and
infrastructure and provides you
with the tools to secure your
apps.
Deploy and manage hybrid
apps seamlessly
Get a seamless dev and
management experience
across a number of hybrid
implementations options.
Flexible Pricing
Try compute options and
services for free and, when
you’re ready, pay only for what
you use. Pay as you go and
subscription models offer
choice and flexibility.
Capitalware's MQ Technical Conference v2.0.1.5
Single tenant hardware that’s completely dedicated to you –
allowing you to satisfy regulatory & legal compliance.
Dedicated
Public
Local
•The Bluemix platform and dedicated
runtimes and services sit on SoftLayer
hardware that is dedicated to you
•You still have the ability to connect to
all multi-tenant services in the “public”
catalog
•Integrated to your LDAP for developer
authentication
•Elastic capacity based on your
demands.
Has a “Dedicated to You” option
Capitalware's MQ Technical Conference v2.0.1.5
• Based on Pivotal ®
Cloud Foundry ®
• Uses standard cf commands, e.g.
• cf push <myapp>
• cf start <myapp>
• cf stop <myapp>
• cf apps
• cf create-service …
• cf bind-service …
IBM Bluemix
Capitalware's MQ Technical Conference v2.0.1.5
Introduction to MQ Light Service
Capitalware's MQ Technical Conference v2.0.1.5
Bluemix UI identical to standalone MQ Light UI...
Capitalware's MQ Technical Conference v2.0.1.5
Applications are bound to the services they require
IBM Bluemix – Deployment Options
This is the dashboard for one of
my applications. It’s bound to an
MQ Light service I previously
created
cf create-service mqlight standard “MQ Light-7u“
cf bind-service mql.uiworkout.node “MQ Light-7u“
Capitalware's MQ Technical Conference v2.0.1.5
Demo
Capitalware's MQ Technical Conference v2.0.1.5
Agenda
•Intro to MQ Light
•MQ Light in Bluemix
•MQ support for MQ Light (beta)
Capitalware's MQ Technical Conference v2.0.1.5
MQ Light Support in IBM MQ
•MQ V8 Announce
•Statement of Direction - MQ Light Support in IBM MQ
•MQ Light Standalone Beta
2Q14
1Q15
3Q14
•MQ Light Standalone GA
•MQ Light Bluemix Service GA4Q13
• MQ Light Standalone Alpha
•IBM MQ V8.0.0.2
•Release: MQ AMQP Tech Preview
Sept 2014
April 2014
Feb 2015
June 2015
•IBM MQ V8.0.0.3
•Update: MQ AMQP Tech Preview
Feb 2014
(Beta)
Capitalware's MQ Technical Conference v2.0.1.5
New AMQP channel type
• Adds a channel type of “AMQP”
• Support a subset of the AMQP 1.0 Oasis specification
• Interoperable with MQ FAP and MQTT applications (see later
slides for details)
(Beta)
Capitalware's MQ Technical Conference v2.0.1.5
Interoperability
• AMQP to/from MQ and MQTT
Published AMQP
messages MQPUT
to an MQ topic
Consumed AMQP
messages MQGET
from an MQSUB
MQ apps can publish to
AMQP clients by
MQPUT to the same
topic string
MQ apps can consume
AMQP messages by
subscribing to matching
topic pattern
warehouse/item/372837 warehouse/item/#
orders/electrical/# orders/electrical/wiring
(Beta)
Capitalware's MQ Technical Conference v2.0.1.4© Copyright IBM 2014
Try it all out for yourselves!
MQ Light is available now at
https://www.ibmdw.net/messaging/mq-light/ or Google “IBM MQ Light”
MQ Light Service is available in IBM BlueMix today at http://bluemix.net
or Google “IBM BlueMix MQ Light”
Capitalware's MQ Technical Conference v2.0.1.5
Thank You - Questions?
Related sessions:
•Hybrid messaging with MQ Light, MQ’s beta for AMQP & Bluemix
• Tuesday 8.30am
• Wednesday 9.50am
•Repeat of this session
• Tuesday 1.00pm
Capitalware's MQ Technical Conference v2.0.1.5
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user’s job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
Capitalware's MQ Technical Conference v2.0.1.5
• IBM and the IBM logo are trademarks of International Business Machines Corporation, registered
in many jurisdictions. Other marks may be trademarks or registered trademarks of their
respective owners.
• Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation
in the United States, other countries, or both.
• Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle
and/or its affiliates.
• Red Hat Enterprise Linux is a registered trademark of Red Hat, Inc. in the United States and other
countries.
• Ubuntu and Canonical are registered trademarks of Canonical Ltd.
• SUSE and SLES are registered trademarks of SUSE LLC in the United States and other countries
• Mac and OS X are trademarks of Apple Inc., registered in the U.S. and other countries
• Other company, product and service names may be trademarks, registered marks or service
marks of their respective owners.
• References in this publication to IBM products and services do not imply that IBM intends to make
them available in all countries in which IBM operates.
Trademark Statement

More Related Content

PPTX
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
PPTX
MQ Light for Bluemix - IBM Interconnect 2015 session AME4183
PDF
MQLight for WebSphere Integration user group June 2014
PPTX
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
PPTX
Introducing MQ Light - IBM Interconnect 2015 session AME4181
PPTX
MQ Light for WTU
PDF
Running and Supporting MQ Light Applications
PDF
3425 - Using publish/subscribe to integrate applications
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
MQ Light for Bluemix - IBM Interconnect 2015 session AME4183
MQLight for WebSphere Integration user group June 2014
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
Introducing MQ Light - IBM Interconnect 2015 session AME4181
MQ Light for WTU
Running and Supporting MQ Light Applications
3425 - Using publish/subscribe to integrate applications

What's hot (20)

PDF
IBM How to Develop Responsive Applications
PDF
How to develop responsive applications with ibm web sphere mq light
PDF
M14: MQ security deep dive ITC 2019
PPTX
Bluemix Technical Overview
PDF
Hybrid Messaging with IBM Bluemix
PDF
M10: How to implement mq in a containerized architecture ITC 2019
PPTX
A Node.js Developer's Guide to Bluemix
PPT
Bluemix and DevOps workshop lab
PPT
IBM Bluemix cloudfoundry platform
PDF
MQ Guide France - IBM MQ and Containers
PPTX
GWC : MQ Light - from monolith to Microservices for speed and scale
PDF
IBM Containers- Bluemix
PPT
Cognitive Computing on the Cloud - Watson services for bluemix
PDF
A Deep Dive into the Liberty Buildpack on IBM BlueMix
PPT
Developing for Hybrid Cloud with Bluemix
PPT
Bluemix the digital innovation platform
PDF
Qt - for stack overflow developer conference
PDF
3298 microservices and how they relate to esb api and messaging - inter con...
PDF
Technical Introduction to IBM Integration Bus
PPTX
Deploy apps on ibm bluemix docker day vietnam 2015
IBM How to Develop Responsive Applications
How to develop responsive applications with ibm web sphere mq light
M14: MQ security deep dive ITC 2019
Bluemix Technical Overview
Hybrid Messaging with IBM Bluemix
M10: How to implement mq in a containerized architecture ITC 2019
A Node.js Developer's Guide to Bluemix
Bluemix and DevOps workshop lab
IBM Bluemix cloudfoundry platform
MQ Guide France - IBM MQ and Containers
GWC : MQ Light - from monolith to Microservices for speed and scale
IBM Containers- Bluemix
Cognitive Computing on the Cloud - Watson services for bluemix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Developing for Hybrid Cloud with Bluemix
Bluemix the digital innovation platform
Qt - for stack overflow developer conference
3298 microservices and how they relate to esb api and messaging - inter con...
Technical Introduction to IBM Integration Bus
Deploy apps on ibm bluemix docker day vietnam 2015
Ad

Viewers also liked (20)

PDF
WebSphere Application Server JBoss TCO analysis
PDF
IBM MQ Light Service for Bluemix
PPT
Classloader leak detection in websphere application server
PPT
Ibm mq appliance slideshare
PDF
MQ What's New Beyond V8 - V8003 level
PDF
Liberty dynacache ffw_iea_ste
PDF
What's new in IBM MQ Messaging
PPTX
Jboss Tutorial Basics
PPT
websphere MQ training Online
PPTX
IBM WebSphere Application Server version to version comparison
PDF
IBM WebSphere application server
PPT
IBM MQ Online Tutorials
PPTX
Websphere Application Server V8.5
PDF
JBoss Application Server 7
PPT
IBM Websphere MQ Basic
PPTX
IBM WebSphere Application Server (Clustering) Concept
PDF
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
PDF
Websphere MQ admin guide
PPTX
WAS vs JBoss, WebLogic, Tomcat (year 2015)
PDF
IBM MQ V9 Overview
WebSphere Application Server JBoss TCO analysis
IBM MQ Light Service for Bluemix
Classloader leak detection in websphere application server
Ibm mq appliance slideshare
MQ What's New Beyond V8 - V8003 level
Liberty dynacache ffw_iea_ste
What's new in IBM MQ Messaging
Jboss Tutorial Basics
websphere MQ training Online
IBM WebSphere Application Server version to version comparison
IBM WebSphere application server
IBM MQ Online Tutorials
Websphere Application Server V8.5
JBoss Application Server 7
IBM Websphere MQ Basic
IBM WebSphere Application Server (Clustering) Concept
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
Websphere MQ admin guide
WAS vs JBoss, WebLogic, Tomcat (year 2015)
IBM MQ V9 Overview
Ad

Similar to An introduction to mq light and bluemix (20)

PPT
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
PDF
Micronaut Launchpad
PPTX
Native client
PDF
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
PDF
Effectively Managing a Hybrid Messaging Environment
PDF
Mq light, mq, and bluemix web sphere user group july 2015
PDF
IBM Messaging in the Cloud
PDF
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
PPTX
REST APIs and MQ
PPTX
Basics of Microservice Architecture
PDF
Red Hat and kubernetes: awesome stuff coming your way
PPTX
IBM MQ in containers MQTC 2017
PPTX
Planning for MQ in the cloud MQTC 2017
PDF
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
PDF
533-MigratingYourMQIApplicationsToJMS.pdf
PDF
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
PPTX
Secure your Config with Key Vault for .NET Core API
PPTX
2008 - TechDays PT: Building Software + Services with Volta
ODP
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
PPT
Mq presentation
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
Micronaut Launchpad
Native client
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
Effectively Managing a Hybrid Messaging Environment
Mq light, mq, and bluemix web sphere user group july 2015
IBM Messaging in the Cloud
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
REST APIs and MQ
Basics of Microservice Architecture
Red Hat and kubernetes: awesome stuff coming your way
IBM MQ in containers MQTC 2017
Planning for MQ in the cloud MQTC 2017
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
533-MigratingYourMQIApplicationsToJMS.pdf
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Secure your Config with Key Vault for .NET Core API
2008 - TechDays PT: Building Software + Services with Volta
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
Mq presentation

More from matthew1001 (6)

PPTX
Building an Active-Active IBM MQ System
PDF
Monitoring and problem determination of your mq distributed systems
PDF
HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications
PDF
An Introduction to and Comparison of the Different APIs Supported by MQ
PDF
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
PDF
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference
Building an Active-Active IBM MQ System
Monitoring and problem determination of your mq distributed systems
HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications
An Introduction to and Comparison of the Different APIs Supported by MQ
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference

Recently uploaded (20)

PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
top salesforce developer skills in 2025.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Transform Your Business with a Software ERP System
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Introduction to Artificial Intelligence
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Digital Strategies for Manufacturing Companies
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
medical staffing services at VALiNTRY
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
top salesforce developer skills in 2025.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Transform Your Business with a Software ERP System
How to Migrate SBCGlobal Email to Yahoo Easily
Introduction to Artificial Intelligence
Design an Analysis of Algorithms I-SECS-1021-03
Design an Analysis of Algorithms II-SECS-1021-03
Operating system designcfffgfgggggggvggggggggg
VVF-Customer-Presentation2025-Ver1.9.pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
CHAPTER 2 - PM Management and IT Context
Digital Strategies for Manufacturing Companies
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
How Creative Agencies Leverage Project Management Software.pdf
medical staffing services at VALiNTRY

An introduction to mq light and bluemix

  • 1. Capitalware's MQ Technical Conference v2.0.1.5 An Introduction to MQ Light & BluemixAn Introduction to MQ Light & Bluemix Matthew WhiteheadMatthew Whitehead WebSphere MQ DevelopmentWebSphere MQ Development mwhitehead@uk.ibm.commwhitehead@uk.ibm.com
  • 2. Capitalware's MQ Technical Conference v2.0.1.5 Agenda •Intro to MQ Light •MQ Light in Bluemix •MQ support for MQ Light (beta)
  • 3. Capitalware's MQ Technical Conference v2.0.1.5 IBM Messaging
  • 4. Capitalware's MQ Technical Conference v2.0.1.5 What is MQ Light? 1. A new messaging API 2. A messaging runtime for on-premise development and deployment 3. A PaaS messaging runtime for admin-free cloud deployment (MQ Light Service in Bluemix) More on all of these throughout the slides...
  • 5. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light : Software and Cloud  Messaging that application developers will love to use, helping them make responsive applications that scale easily  3 ways to get it: Bluemix service MQ Light software download Statement of Direction for support in MQ Version 8.  Open APIs crafted to feel natural in a growing range of popular languages  Tooling that makes modular app development easy THIS PRESENTATION
  • 6. Capitalware's MQ Technical Conference v2.0.1.5 The journey that got us here Andy Developer Iain Infrastructure Guy I want to execute code without taxing my Web app processes My job is run a communications service for my customers’ apps Some Thing My Apps Workers Messaging Backbone My Customers’ Apps
  • 7. Capitalware's MQ Technical Conference v2.0.1.5 Corporate-free look & feel 
  • 8. Capitalware's MQ Technical Conference v2.0.1.5 Deployment Options MQ Light Service for Bluemix WebSphere MQ [open Beta] “MQ Light”
  • 9. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light API - Language support • Simple, programming Language neutral messaging model • Idiomatic language & framework API Mappings • Frictionless development • Open wire protocol (AMQP 1.0) & • Open Source client libraries • Facilitates community drivers for languages & frameworks
  • 10. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model – Send Messages Applications send messages to a topic. A topic is an address in the topic space either flat or arranged hierarchically. 1. Send (‘/test/a’, “Hello”); 2. Send (‘/test/a’, “World!”); Topic Address Space Sender application
  • 11. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model – Simple Receive • Applications receive messages by creating a destination with a pattern which matches the topics they are interested in. • Pattern matching scheme based on WMQ. 1. Send (‘/test/a’, “Hello”); 2. Send (‘/test/a’, “World!”); 1. Hello 2. World! Topic Address Space Sender application DESTINATION Pattern=/test/a
  • 12. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model – Pub/Sub • Multiple destinations can be created which match the same topic • Pub/Sub style. DESTINATION 1. Send (‘/test/a’, “Hello”); 2. Send (‘/test/a’, “World!”); 1. Hello 2. World! 1. Hello 2. World! Topic Address Space Sender application DESTINATION Pattern=/test/a Pattern=/test/# Client 1 Client 2
  • 13. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model – Persistent destinations • Destinations persist for a defined “time to live” after receiver detaches. 1. Send (‘/test/a’, “Hello”); 2. Send (‘/test/a’, “World!”); Topic Address Space Sender application Hello World! DESTINATION Pattern=/test/a Disconnected client
  • 14. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model – Sharing • Clients attaching to the same topic pattern and share name attach to the same shared destination. DESTINATION1. Send (‘/test/a’, “Hello”); 2. Send (‘/test/a’, “World!”); 1. Hello 2. World! 1. Hello 2. World! SHARING Topic Address Space Sender application DESTINATION Pattern=/test/# Pattern=/test/# Share=myshare Client 1 Client 2 Client 3
  • 15. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model – Client takeover 1. Send (‘/test/a’, “Hello”); Hello Topic Address Space Sender application DESTINATION Pattern=/test/# Client 1 World! Client 1 2. Send (‘/test/a’, “World!”); • Applications connect to MQ Light service specify (optional) client ID. • Re-using the same client ID pre-empts the original connection. • Ideal for worker takeover in the cloud.
  • 16. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Messaging Model DESTINATION1. Send (‘/test/a’, “Hello”); 2. Send (‘/test/a’, “World!”); 1. Hello 2. World! 1. Hello 2. World! SHARING Topic Address Space Sender application DESTINATION Pattern=/test/# Pattern=/test/# Share=myshare Client 1 Client 2 Client 3
  • 17. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Node.JS API  Installable from NPM  Fully non blocking – Node.JS style  Fluent programming style - wrappable into promises.  Focussed on code simplicity.  Client seamlessly retries across cloud endpoints # 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); }); }); # Send: var mqlight = require('mqlight'); var sendClient = mqlight.createClient({service: 'amqp://localhost'}); sendClient.on('started', function() { sendClient.send('news/technology', 'Hello World!'); }); # 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); }); }); # Send: var mqlight = require('mqlight'); var sendClient = mqlight.createClient({service: 'amqp://localhost'}); sendClient.on('started', function() { sendClient.send('news/technology', 'Hello World!'); });
  • 18. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Ruby API (Beta)  Installable from rubygems.org  Synchronous/blocking client.  Bluemix connection support  Backlog  Auto reconnect.  Asynchronous non blocking  TLS # Receive: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.subscribe('news/technology') delivery = client.receive('news/technology') puts delivery.data # Send: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.send('news/technology', 'Hello World!') # Receive: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.subscribe('news/technology') delivery = client.receive('news/technology') puts delivery.data # Send: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.send('news/technology', 'Hello World!')
  • 19. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Python API (Beta)  Installable from pypi.python.org  Non blocking  Client seemlessly retries across cloud endpoints  Backlog  TLS # Receive: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.subscribe('news/technology') delivery = client.receive('news/technology') puts delivery.data # Send: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.send('news/technology', 'Hello World!') # Receive: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.subscribe('news/technology') delivery = client.receive('news/technology') puts delivery.data # Send: require 'mqlight' client = Mqlight::BlockingClient.new('amqp://localhost') client.send('news/technology', 'Hello World!')
  • 20. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Non Blocking Java API  Installable using Maven  Code is opensource on github.  Non blocking  Client seemlessly retries across cloud endpoints void send() { NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() { public void onStarted(NonBlockingClient client, Void context) { client.send("news/technology", "Hello World!", null); } }, null); } void receive() { NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() { public void onStarted(NonBlockingClient client, Void context) { client.subscribe("news/technology", new DestinationAdapter<Void>() { public void onMessage(NonBlockingClient client, Void context, Delivery delivery) { if (delivery.getType() == Delivery.Type.STRING) System.out.println(((StringDelivery)delivery).getData()); } }, null, null); } }, null); } void send() { NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() { public void onStarted(NonBlockingClient client, Void context) { client.send("news/technology", "Hello World!", null); } }, null); } void receive() { NonBlockingClient.create("amqp://localhost", new NonBlockingClientAdapter<Void>() { public void onStarted(NonBlockingClient client, Void context) { client.subscribe("news/technology", new DestinationAdapter<Void>() { public void onMessage(NonBlockingClient client, Void context, Delivery delivery) { if (delivery.getType() == Delivery.Type.STRING) System.out.println(((StringDelivery)delivery).getData()); } }, null, null); } }, null); }
  • 21. Capitalware's MQ Technical Conference v2.0.1.5 Web Based Tooling
  • 22. Capitalware's MQ Technical Conference v2.0.1.5 Demo
  • 23. Capitalware's MQ Technical Conference v2.0.1.5 Agenda •Intro to MQ Light •MQ Light in Bluemix •MQ support for MQ Light (beta)
  • 24. Capitalware's MQ Technical Conference v2.0.1.5 IBM Bluemix Bluemix is an open-standards, cloud-based platform for building, running, and managing applications. Build your apps, your way Use the most prominent compute technologies to power your app: Cloud Foundry, Docker, OpenStack. Extend apps with services A catalog of IBM, third party, and open source services allow the developer to stitch an application together quickly. Scale more than just instances Development, monitoring, deployment, and logging tools allow the developer to run and manage the entire application. Layered Security IBM secures the platform and infrastructure and provides you with the tools to secure your apps. Deploy and manage hybrid apps seamlessly Get a seamless dev and management experience across a number of hybrid implementations options. Flexible Pricing Try compute options and services for free and, when you’re ready, pay only for what you use. Pay as you go and subscription models offer choice and flexibility.
  • 25. Capitalware's MQ Technical Conference v2.0.1.5 Single tenant hardware that’s completely dedicated to you – allowing you to satisfy regulatory & legal compliance. Dedicated Public Local •The Bluemix platform and dedicated runtimes and services sit on SoftLayer hardware that is dedicated to you •You still have the ability to connect to all multi-tenant services in the “public” catalog •Integrated to your LDAP for developer authentication •Elastic capacity based on your demands. Has a “Dedicated to You” option
  • 26. Capitalware's MQ Technical Conference v2.0.1.5 • Based on Pivotal ® Cloud Foundry ® • Uses standard cf commands, e.g. • cf push <myapp> • cf start <myapp> • cf stop <myapp> • cf apps • cf create-service … • cf bind-service … IBM Bluemix
  • 27. Capitalware's MQ Technical Conference v2.0.1.5 Introduction to MQ Light Service
  • 28. Capitalware's MQ Technical Conference v2.0.1.5 Bluemix UI identical to standalone MQ Light UI...
  • 29. Capitalware's MQ Technical Conference v2.0.1.5 Applications are bound to the services they require IBM Bluemix – Deployment Options This is the dashboard for one of my applications. It’s bound to an MQ Light service I previously created cf create-service mqlight standard “MQ Light-7u“ cf bind-service mql.uiworkout.node “MQ Light-7u“
  • 30. Capitalware's MQ Technical Conference v2.0.1.5 Demo
  • 31. Capitalware's MQ Technical Conference v2.0.1.5 Agenda •Intro to MQ Light •MQ Light in Bluemix •MQ support for MQ Light (beta)
  • 32. Capitalware's MQ Technical Conference v2.0.1.5 MQ Light Support in IBM MQ •MQ V8 Announce •Statement of Direction - MQ Light Support in IBM MQ •MQ Light Standalone Beta 2Q14 1Q15 3Q14 •MQ Light Standalone GA •MQ Light Bluemix Service GA4Q13 • MQ Light Standalone Alpha •IBM MQ V8.0.0.2 •Release: MQ AMQP Tech Preview Sept 2014 April 2014 Feb 2015 June 2015 •IBM MQ V8.0.0.3 •Update: MQ AMQP Tech Preview Feb 2014 (Beta)
  • 33. Capitalware's MQ Technical Conference v2.0.1.5 New AMQP channel type • Adds a channel type of “AMQP” • Support a subset of the AMQP 1.0 Oasis specification • Interoperable with MQ FAP and MQTT applications (see later slides for details) (Beta)
  • 34. Capitalware's MQ Technical Conference v2.0.1.5 Interoperability • AMQP to/from MQ and MQTT Published AMQP messages MQPUT to an MQ topic Consumed AMQP messages MQGET from an MQSUB MQ apps can publish to AMQP clients by MQPUT to the same topic string MQ apps can consume AMQP messages by subscribing to matching topic pattern warehouse/item/372837 warehouse/item/# orders/electrical/# orders/electrical/wiring (Beta)
  • 35. Capitalware's MQ Technical Conference v2.0.1.4© Copyright IBM 2014 Try it all out for yourselves! MQ Light is available now at https://www.ibmdw.net/messaging/mq-light/ or Google “IBM MQ Light” MQ Light Service is available in IBM BlueMix today at http://bluemix.net or Google “IBM BlueMix MQ Light”
  • 36. Capitalware's MQ Technical Conference v2.0.1.5 Thank You - Questions? Related sessions: •Hybrid messaging with MQ Light, MQ’s beta for AMQP & Bluemix • Tuesday 8.30am • Wednesday 9.50am •Repeat of this session • Tuesday 1.00pm
  • 37. Capitalware's MQ Technical Conference v2.0.1.5 Please Note IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 38. Capitalware's MQ Technical Conference v2.0.1.5 • IBM and the IBM logo are trademarks of International Business Machines Corporation, registered in many jurisdictions. Other marks may be trademarks or registered trademarks of their respective owners. • Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. • Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. • Red Hat Enterprise Linux is a registered trademark of Red Hat, Inc. in the United States and other countries. • Ubuntu and Canonical are registered trademarks of Canonical Ltd. • SUSE and SLES are registered trademarks of SUSE LLC in the United States and other countries • Mac and OS X are trademarks of Apple Inc., registered in the U.S. and other countries • Other company, product and service names may be trademarks, registered marks or service marks of their respective owners. • References in this publication to IBM products and services do not imply that IBM intends to make them available in all countries in which IBM operates. Trademark Statement

Editor's Notes

  • #7: Want to compare the motivations and priorities of Andy &amp; Iain Andy : apps that can scale, apps that will remain responsive, ensuring heavy lifting doesn’t get in the way of the user experience Iain : ensuring systems remain running no matter what, ensure changes are planned to minimise unexpected impact on critical business systems, Ensuring things are connected in a managed way
  • #9: This presentation focusses on MQ Light and Bluemix. MQ’s beta support for AMQP/MQ Light will be covered briefly.
  • #10: Technology should apply to the app a developer wants to write, not
  • #12: Simple pub/sub model: - Publisher sends 2 messages, single instance of a receiver gets both messages
  • #13: Simple pub/sub model: - Publisher sends 2 messages, both receivers get a copy of each message
  • #14: If a receiving application is temporarily disconnected, messages are stored up on the destination (assuming they have specified a time-to-live for the destination and they reconnect within that time).
  • #15: To achieve point-to-point behaviour where each message is only processed once, MQ Light offers shared destinations. Every receiving client who specifies the same topic pattern and share name is a member of the same share. Messages are only received by 1 of the receivers. If a receiver doesn’t acknowledge a message and then disconnects, the message may be delivered to another receiver.
  • #16: To work well in cloud environments where administrator intervention is complicated, MQ Light uses client-takeover. If a client is connected with a client ID and another client connects with the same client ID, the new client wins. The old client is kicked off. This helps with situations where an application ‘goes rogue’ and remains connected but is hung and not processing messages. The easiest way to resolve it is connect a new instance of the application with the same client ID, and MQ Light ejects to rogue instance.
  • #17: Can combine both models to perform pub/sub and point-to-point message styles at the same time.