SlideShare a Scribd company logo
© 2014 IBM Corporation
1896 - How to Develop Responsive
Applications with IBM MQ Light (beta)
Matthew Whitehead
WebSphere MQ Development
© Copyright IBM 2014
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.
© Copyright IBM 2014
• 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.
• 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
© 2014 IBM Corporation
Agenda
- Introduction & Background
- Use-case and features
- A new messaging API
- Deploying apps & IBM BlueMix
- Demo
© Copyright IBM 2014
IBM Messaging Focus Areas
Deliver Messaging Backbone for Enterprise
Focus on traditional MQ values, rock-solid enterprise-class
service, ease-of-operation, breadth of platform coverage,
availability, z/OS exploitation
Capture Big Data from Mobile and Internet of
Things
Focus on Internet-scale events, m2m device enablement,
zero-admin, security and privacy, feed into real-time
analytics, location-based notifications
Enable Developers to build more scalable,
responsive applications
Focus on new app dev use cases, breadth of languages, ease-of-
deployment, lightweight services, integration with developer
frameworks
© Copyright IBM 2014
What is “Application Messaging”?
Jon
IT mgmt
Must use
approved IT
services
Share,
re-use and
save!
Demand for
Infrastructure
services
Andy
Developer
Iain
Infrastructure
Guy
Beth
Business
Sponsor
Reduced pull
for servicesAndy
Developer
Iain
Infrastructure
Guy
What handy tools
can I grab?
6
Organisations
moving in this
direction
© Copyright IBM 2014
The journey that got us here…
7
Ruby
Node.js
Python
C
C++
Java
C#
Perl
Go
Clojure
Lua
Erlang Scala
PHP
© Copyright IBM 2014
What is 'Andy' the developer like?
Driven to produce applications that can be field tested
in the minimum time possible
Discovers technology that are prevalent in his
communities
Uses the best tool for the job
Intolerant of process / company mandates / imposed technology
that do not obviously and immediately benefit his application
8
© Copyright IBM 2014
Some more background
WebSphere MQ is a fully featured
messaging product that caters for even the
most advanced messaging topologies
It has support for a wide array of
languages, platforms, architectures,
qualities of service, topology types, high
availability configurations, workload
balancing etc...
However, while administrators tend to be
well skilled in MQ technologies, application
developers tend not to be.
Architects are being asked to do more with
less
These are just some of the graphics
from the Intro to MQ presentation
Application developers have less
time to learn the MQ product
thoroughly
© Copyright IBM 2014
What is MQ Light (beta)?
1. A new messaging API
1. A messaging runtime for on-premise development
and deployment
1. A PaaS messaging runtime for admin-free cloud
deployment (Elastic MQ service)
More on all of these throughout the slides...
© 2014 IBM Corporation
Agenda
- Introduction & Background
- Use-case and features
- A new messaging API
- Deploying apps & IBM BlueMix
- Demo
© Copyright IBM 2014
A Typical Developer's Use-Case
I want to execute code without taxing my Web app processes
Web Applications WorkersMessage
Queues
© Copyright IBM 2014
Application Messaging Features
Our new messaging offering will focus on
the developer...
•A simple API
•Developer-oriented download &
install process
•Web based tooling
•Open-source technologies
•Easy to deploy apps to a PaaS
environment
e.g. client.connect()
client.send()
client.subscribe()
client.unsubscribe()
© Copyright IBM 2014
Developer oriented download & install
We're addressing the inhibitors to developer approval

Removing the sign-in step from the download process

Removing the need to run an installer,
allowing the product to be unzipped to
any location

Ensuring we don't require intrusive OS changes, e.g.
altering the registry, setting up users

Developer-centric platform support (see next slide)

Providing a more developer-centric look & feel
to the download site and support pages
© Copyright IBM 2014
Appropriate Platform Support
Developer-centric rather than enterprise-centric platforms
– The beta currently has support for:
• Microsoft® Windows® 7
• RedHat Enterprise Linux 6 64-bit
– We recognise the importance of platforms and we'll be looking at
support for them during the beta, such as:
• Ubuntu
• Mac OS X
• Suse Linux
z/OS, IBM i, Solaris®, AIX or HP-UX® are not our target platforms
© 2014 IBM Corporation
Agenda
- Introduction & Background
- Use-case and features
- A new messaging API
- Deploying apps & IBM BlueMix
- Demo
© Copyright IBM 2014
Simple API
Better suited to rapid application development
Basic administration built into the API
• Creating endpoints, configuring connectivity to existing systems etc.
Based on AMQP 1.0
• Open protocol to encourage community development
• Intention is to open-source the clients (statement of direction)
• Language-specific libraries will be provided so the developer doesn't code directly to
the AMQP spec
• Node.js currently available in the MQ Light alpha available online
Designed to fit in with what developers are used to
• How quickly and easily can client libraries be added to your runtime of choice?
• Libraries available via appropriate repositories e.g. npm install mqlight
© Copyright IBM 2014
Current ideas for API features
●
Message content
●
Text and Binary message types
●
Message properties
●
Message delivery
●
TTL on messages
●
TTL on destinations
●
Delivery delay
●
Read-ahead buffer
●
Require-subscriber (fail publish if no subscribers)
●
Quality of service
●
At most once message delivery
●
At least once message delivery
●
Acknowledgement of messages in client or application
(Bold = available in beta today, otherwise ideas for future beta updates)
© Copyright IBM 2014
Node.js API design
● Uses callbacks on most API functions, e.g.
client.connect(function(err) {
If (err) {
console.log(“Connection failed!”);
}
});
● State-change callbacks
client.on('connected', function() {
console.log("Connection made”);
console.log("About to published our first message...”);
…
});
●
No plans to use Promises in the API
●
Better suited to callbacks which are only called once
© Copyright IBM 2014
Node.js API design
●
Whatever object is passed into the send is received by the subscriber
client.send(topic, “Hello World”); // Receiver gets a string
client.send(topic, new Buffer([12,32]); // Receiver gets a buffer
client.send(topic, {color:'red',size:'10'}); // Receiver gets JSON
● Many function parameters optional
// Simple publish
client.send(“sports/football”, “Arsenal 1, ManU 0”);
// Publish with some options
client.send(“sports/football”, “Arsenal 1, ManU 0”,
{deliveryDelay:1000, ttl:100});
// Publish with options and a callback
client.send(“sports/football”, “Arsenal 1, ManU 0”,
{deliveryDelay:1000, ttl:100},
function(err) { // Handle failed send });
© Copyright IBM 2014
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
© Copyright IBM 2014
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
© Copyright IBM 2014
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
© Copyright IBM 2014
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
© Copyright IBM 2014
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
© Copyright IBM 2014
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.
© 2014 IBM Corporation
Agenda
- Introduction & Background
- Use-case and features
- A new messaging API
- Deploying apps & IBM BlueMix
- Demo
© Copyright IBM 2014
Application Messaging Deployment Options
MQ Light Runtime
(beta)
On-premise application messaging
Deploys
IBM WebSphere MQ
Enterprise messaging
(statement of direction)
Deploys
Deploys
IBM MQ Light Development Kit
(beta)
Tooling for developer platforms
Write apps in node.js
Elastic MQ in
IBM BlueMix
(beta)
Public cloud messaging
© Copyright IBM 2014
Application Messaging Deployment Options
MQ Light Runtime
(beta)
On-premise application messaging
Deploys
IBM WebSphere MQ
Enterprise messaging
(Statement of direction)
Deploys
Deploys
IBM MQ Light Development Kit
(beta)
Tooling for developer platforms
Write apps in node.js
Elastic MQ in
IBM BlueMix
(beta)
Public cloud messaging
© Copyright IBM 2014
IBM MQ Light – for on-premise deployment
Some developers will like the new APIs but won't want to deploy to a PaaS
– Small line-of-business projects, e.g. queueing up builds
– No mission critical features
• No HA
• No horizontal scaling
MQ Light will probably be available to license as the production runtime for
messaging applications
– Specific licensing plan not yet finalised
– Looking at licensing models that work for development teams
Fully compatible with the IBM Elastic MQ service in BlueMix
– Easy to migrate applications to a PaaS at a later point
© Copyright IBM 2014
Application Messaging Deployment Options
IBM MQ Light Development Kit
(beta)
Tooling for developer platforms
Write apps in node.js
MQ Light Runtime
(beta)
On-premise application messaging
Deploys
IBM WebSphere MQ
Enterprise messaging
(statement of direction)
Deploys
Deploys
Elastic MQ in
IBM BlueMix
(beta)
Public cloud messaging
© Copyright IBM 2014
IBM Elastic MQ service - Messaging in a PaaS
MQ currently offers cloud deployment options in a couple of
flavours
– IBM Messaging Extension for Web Application Pattern (IBM PureApp, IBM WD)
– WebSphere MQ Hypervisor Edition for AIX/RHEL
We also have a beta version of Elastic MQ running in the IBM
BlueMix PaaS
– Admin-free experience
– MQ environment automatically provisioned for each user when they request an
instance of it
– Applications are linked or 'bound' to the provisioned environment automatically
when they are deployed to BlueMix
– The MQ Light team are working with BlueMix to offer a seamless development-to-
production experience.
– Not a full MQ experience in the cloud
© Copyright IBM 2014
How does MQ Light fit in PaaS development?
The intention is for MQ Light to provide a (probably free) development environment for
applications that will deploy against IBM Elastic MQ in BlueMix
Gives the developer 2 choices for development:
1. Develop directly in BlueMix. As you make changes to
your code you push the new version straight to BlueMix
and check your changes are OK
2. Develop on your laptop using MQ Light. Once you're
90% complete, start pushing your app to BlueMix to try
it out in the cloud and iron out any remaining bugs.
MQ Light offers an offline development environment
– Provides a development version of the messaging service that will be offered in the cloud
– Makes offline application development possible when connectivity to the cloud is not available
– Comparatively small download & install footprint to get you started quickly & easily
© Copyright IBM 2014
Download & Install Experience
www.ibmdw.net/messaging/mq-light/
© Copyright IBM 2014
Web Based Tooling
© Copyright IBM 2014
Try it all out for yourselves!
MQ Light beta is available to try out now at
https://www.ibmdw.net/messaging/mq-light/ or Google “IBM MQ Light”
Elastic MQ is available in IBM BlueMix beta today at
https://ace.ng.bluemix.net/ or Google “IBM BlueMix”
© Copyright IBM 2014
Try out MQ Light and join the
discussions on our forum
www.ibmdw.net/messaging/mq-light/
We want your feedback on what we're doing
Related Sessions
AMC1897 : Messaging in the Cloud with Elastic MQ, MQ Light & Bluemix
Today 3:45pm – 4:45pm Delfino 4005
AMC1924 : Roundtables; MQ Light in IBM MQ Infrastructures
Wednesday 2:15pm – 3:15pm Zeno 4701
Thusday 9:00am – 10:00am Zeno 4701
AMC1917 : Hands-on Lab: MQ Light & Elastic MQ
Wednesday 10:30am – 11:30am Murano 3305
Questions?
© Copyright IBM 2014
We Value Your Feedback
Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us – we use it to
continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to
quickly submit your survey
• Navigate to “Surveys” to see a view of surveys for sessions
you’ve attended
40
Thank You
© Copyright IBM 2014
Legal Disclaimer
• © IBM Corporation 2014. All Rights Reserved.
• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained
in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are
subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing
contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and
conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or
capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to
future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you
will result in any specific sales, revenue growth or other results.
• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:
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.
• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs
and performance characteristics may vary by customer.
• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM
Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server).
Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your
presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in
your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International
Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:
Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:
UNIX is a registered trademark of The Open Group in the United States and other countries.
• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of
others.
• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta
Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration
purposes only.

More Related Content

PDF
IBM How to Develop Responsive Applications
PPTX
MQ Light for WTU
PDF
MQLight for WebSphere Integration user group June 2014
PPTX
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
PPTX
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
PDF
MQ light open standards webcast
PPT
Advanced Pattern Authoring with WebSphere Message Broker
PPT
Effective Application Development with WebSphere Message Broker
IBM How to Develop Responsive Applications
MQ Light for WTU
MQLight for WebSphere Integration user group June 2014
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ light open standards webcast
Advanced Pattern Authoring with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker

What's hot (12)

PPT
Introduction to Patterns in WebSphere Message Broker
PPT
Mobile Patterns with WebSphere Message Broker
PPT
WebSphere sMash June Product Review
PDF
News to Development Environments and for RDz for z/VSE
 
PPS
Skills Navigation Guide 06 19 2009
PPT
Skills Navigation Guide 06 19 2009
PDF
Lotus® Symphony™ 3: One Million Reasons to Give it a try
PDF
Ibm i-modernization
PDF
3425 - Using publish/subscribe to integrate applications
PDF
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
PDF
02 ibm navigator 4 q14 arch and sys topology pit
PDF
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
Introduction to Patterns in WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
WebSphere sMash June Product Review
News to Development Environments and for RDz for z/VSE
 
Skills Navigation Guide 06 19 2009
Skills Navigation Guide 06 19 2009
Lotus® Symphony™ 3: One Million Reasons to Give it a try
Ibm i-modernization
3425 - Using publish/subscribe to integrate applications
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
02 ibm navigator 4 q14 arch and sys topology pit
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
Ad

Similar to How to develop responsive applications with ibm web sphere mq light (20)

PDF
News from hursley jens diedrichsen - may 2014
PDF
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
PDF
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
PPTX
Introducing MQ Light - IBM Interconnect 2015 session AME4181
PDF
IBM MQ Light Service for Bluemix
PDF
Mq light, mq, and bluemix web sphere user group july 2015
PPTX
MQ Light for Bluemix - IBM Interconnect 2015 session AME4183
PPTX
GWC : MQ Light - from monolith to Microservices for speed and scale
PDF
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
PDF
Realtime mobile&iot solutions using mqtt and message sight
PDF
Running and Supporting MQ Light Applications
PDF
Session 1897 messaging in the cloud with elastic mq mq light and bluemix-impa...
PPT
IBM Interconnect 2016 - Hybrid Cloud Messaging
PDF
Effectively Managing a Hybrid Messaging Environment
PDF
InterConnect 2016: IBM MQ self-service and as-a-service
PPTX
IBM MQ Advanced - IBM InterConnect 2016
PPTX
Understanding mq deployment choices and use cases
PPTX
Mq light For Guide Share Europe 2014
PPTX
CTU 2017 - I168 IBM MQ in the cloud
PPT
Business Agility through Self-Service Messaging - InterConnect 2016
News from hursley jens diedrichsen - may 2014
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
Introducing MQ Light - IBM Interconnect 2015 session AME4181
IBM MQ Light Service for Bluemix
Mq light, mq, and bluemix web sphere user group july 2015
MQ Light for Bluemix - IBM Interconnect 2015 session AME4183
GWC : MQ Light - from monolith to Microservices for speed and scale
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
Realtime mobile&iot solutions using mqtt and message sight
Running and Supporting MQ Light Applications
Session 1897 messaging in the cloud with elastic mq mq light and bluemix-impa...
IBM Interconnect 2016 - Hybrid Cloud Messaging
Effectively Managing a Hybrid Messaging Environment
InterConnect 2016: IBM MQ self-service and as-a-service
IBM MQ Advanced - IBM InterConnect 2016
Understanding mq deployment choices and use cases
Mq light For Guide Share Europe 2014
CTU 2017 - I168 IBM MQ in the cloud
Business Agility through Self-Service Messaging - InterConnect 2016
Ad

More from matthew1001 (10)

PPTX
Building an Active-Active IBM MQ System
PDF
Monitoring and problem determination of your mq distributed systems
PDF
HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
PDF
HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications
PDF
IBM Messaging in the Cloud
PDF
Hybrid Messaging with IBM Bluemix
PDF
An Introduction to and Comparison of the Different APIs Supported by MQ
PPT
An introduction to mq light and bluemix
PPT
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
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 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World
HHM 6894 Messaging APIs for Cloud, Enterprise and Digital Applications
IBM Messaging in the Cloud
Hybrid Messaging with IBM Bluemix
An Introduction to and Comparison of the Different APIs Supported by MQ
An introduction to mq light and bluemix
Hybrid Messaging with MQ Light, MQ's Beta Support for AMQP, and IBM Bluemix
WebSphere MQ Managed File Transfer V8 - Capitalware MQTC Conference

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Complete React Javascript Course Syllabus.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Transform Your Business with a Software ERP System
PPT
JAVA ppt tutorial basics to learn java programming
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
ai tools demonstartion for schools and inter college
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Essential Infomation Tech presentation.pptx
PDF
AI in Product Development-omnex systems
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
medical staffing services at VALiNTRY
Softaken Excel to vCard Converter Software.pdf
Complete React Javascript Course Syllabus.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Transform Your Business with a Software ERP System
JAVA ppt tutorial basics to learn java programming
PTS Company Brochure 2025 (1).pdf.......
ai tools demonstartion for schools and inter college
Odoo POS Development Services by CandidRoot Solutions
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
ISO 45001 Occupational Health and Safety Management System
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
ManageIQ - Sprint 268 Review - Slide Deck
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Essential Infomation Tech presentation.pptx
AI in Product Development-omnex systems
How Creative Agencies Leverage Project Management Software.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
2025 Textile ERP Trends: SAP, Odoo & Oracle

How to develop responsive applications with ibm web sphere mq light

  • 1. © 2014 IBM Corporation 1896 - How to Develop Responsive Applications with IBM MQ Light (beta) Matthew Whitehead WebSphere MQ Development
  • 2. © Copyright IBM 2014 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.
  • 3. © Copyright IBM 2014 • 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. • 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
  • 4. © 2014 IBM Corporation Agenda - Introduction & Background - Use-case and features - A new messaging API - Deploying apps & IBM BlueMix - Demo
  • 5. © Copyright IBM 2014 IBM Messaging Focus Areas Deliver Messaging Backbone for Enterprise Focus on traditional MQ values, rock-solid enterprise-class service, ease-of-operation, breadth of platform coverage, availability, z/OS exploitation Capture Big Data from Mobile and Internet of Things Focus on Internet-scale events, m2m device enablement, zero-admin, security and privacy, feed into real-time analytics, location-based notifications Enable Developers to build more scalable, responsive applications Focus on new app dev use cases, breadth of languages, ease-of- deployment, lightweight services, integration with developer frameworks
  • 6. © Copyright IBM 2014 What is “Application Messaging”? Jon IT mgmt Must use approved IT services Share, re-use and save! Demand for Infrastructure services Andy Developer Iain Infrastructure Guy Beth Business Sponsor Reduced pull for servicesAndy Developer Iain Infrastructure Guy What handy tools can I grab? 6 Organisations moving in this direction
  • 7. © Copyright IBM 2014 The journey that got us here… 7 Ruby Node.js Python C C++ Java C# Perl Go Clojure Lua Erlang Scala PHP
  • 8. © Copyright IBM 2014 What is 'Andy' the developer like? Driven to produce applications that can be field tested in the minimum time possible Discovers technology that are prevalent in his communities Uses the best tool for the job Intolerant of process / company mandates / imposed technology that do not obviously and immediately benefit his application 8
  • 9. © Copyright IBM 2014 Some more background WebSphere MQ is a fully featured messaging product that caters for even the most advanced messaging topologies It has support for a wide array of languages, platforms, architectures, qualities of service, topology types, high availability configurations, workload balancing etc... However, while administrators tend to be well skilled in MQ technologies, application developers tend not to be. Architects are being asked to do more with less These are just some of the graphics from the Intro to MQ presentation Application developers have less time to learn the MQ product thoroughly
  • 10. © Copyright IBM 2014 What is MQ Light (beta)? 1. A new messaging API 1. A messaging runtime for on-premise development and deployment 1. A PaaS messaging runtime for admin-free cloud deployment (Elastic MQ service) More on all of these throughout the slides...
  • 11. © 2014 IBM Corporation Agenda - Introduction & Background - Use-case and features - A new messaging API - Deploying apps & IBM BlueMix - Demo
  • 12. © Copyright IBM 2014 A Typical Developer's Use-Case I want to execute code without taxing my Web app processes Web Applications WorkersMessage Queues
  • 13. © Copyright IBM 2014 Application Messaging Features Our new messaging offering will focus on the developer... •A simple API •Developer-oriented download & install process •Web based tooling •Open-source technologies •Easy to deploy apps to a PaaS environment e.g. client.connect() client.send() client.subscribe() client.unsubscribe()
  • 14. © Copyright IBM 2014 Developer oriented download & install We're addressing the inhibitors to developer approval  Removing the sign-in step from the download process  Removing the need to run an installer, allowing the product to be unzipped to any location  Ensuring we don't require intrusive OS changes, e.g. altering the registry, setting up users  Developer-centric platform support (see next slide)  Providing a more developer-centric look & feel to the download site and support pages
  • 15. © Copyright IBM 2014 Appropriate Platform Support Developer-centric rather than enterprise-centric platforms – The beta currently has support for: • Microsoft® Windows® 7 • RedHat Enterprise Linux 6 64-bit – We recognise the importance of platforms and we'll be looking at support for them during the beta, such as: • Ubuntu • Mac OS X • Suse Linux z/OS, IBM i, Solaris®, AIX or HP-UX® are not our target platforms
  • 16. © 2014 IBM Corporation Agenda - Introduction & Background - Use-case and features - A new messaging API - Deploying apps & IBM BlueMix - Demo
  • 17. © Copyright IBM 2014 Simple API Better suited to rapid application development Basic administration built into the API • Creating endpoints, configuring connectivity to existing systems etc. Based on AMQP 1.0 • Open protocol to encourage community development • Intention is to open-source the clients (statement of direction) • Language-specific libraries will be provided so the developer doesn't code directly to the AMQP spec • Node.js currently available in the MQ Light alpha available online Designed to fit in with what developers are used to • How quickly and easily can client libraries be added to your runtime of choice? • Libraries available via appropriate repositories e.g. npm install mqlight
  • 18. © Copyright IBM 2014 Current ideas for API features ● Message content ● Text and Binary message types ● Message properties ● Message delivery ● TTL on messages ● TTL on destinations ● Delivery delay ● Read-ahead buffer ● Require-subscriber (fail publish if no subscribers) ● Quality of service ● At most once message delivery ● At least once message delivery ● Acknowledgement of messages in client or application (Bold = available in beta today, otherwise ideas for future beta updates)
  • 19. © Copyright IBM 2014 Node.js API design ● Uses callbacks on most API functions, e.g. client.connect(function(err) { If (err) { console.log(“Connection failed!”); } }); ● State-change callbacks client.on('connected', function() { console.log("Connection made”); console.log("About to published our first message...”); … }); ● No plans to use Promises in the API ● Better suited to callbacks which are only called once
  • 20. © Copyright IBM 2014 Node.js API design ● Whatever object is passed into the send is received by the subscriber client.send(topic, “Hello World”); // Receiver gets a string client.send(topic, new Buffer([12,32]); // Receiver gets a buffer client.send(topic, {color:'red',size:'10'}); // Receiver gets JSON ● Many function parameters optional // Simple publish client.send(“sports/football”, “Arsenal 1, ManU 0”); // Publish with some options client.send(“sports/football”, “Arsenal 1, ManU 0”, {deliveryDelay:1000, ttl:100}); // Publish with options and a callback client.send(“sports/football”, “Arsenal 1, ManU 0”, {deliveryDelay:1000, ttl:100}, function(err) { // Handle failed send });
  • 21. © Copyright IBM 2014 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
  • 22. © Copyright IBM 2014 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
  • 23. © Copyright IBM 2014 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
  • 24. © Copyright IBM 2014 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
  • 25. © Copyright IBM 2014 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
  • 26. © Copyright IBM 2014 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.
  • 27. © 2014 IBM Corporation Agenda - Introduction & Background - Use-case and features - A new messaging API - Deploying apps & IBM BlueMix - Demo
  • 28. © Copyright IBM 2014 Application Messaging Deployment Options MQ Light Runtime (beta) On-premise application messaging Deploys IBM WebSphere MQ Enterprise messaging (statement of direction) Deploys Deploys IBM MQ Light Development Kit (beta) Tooling for developer platforms Write apps in node.js Elastic MQ in IBM BlueMix (beta) Public cloud messaging
  • 29. © Copyright IBM 2014 Application Messaging Deployment Options MQ Light Runtime (beta) On-premise application messaging Deploys IBM WebSphere MQ Enterprise messaging (Statement of direction) Deploys Deploys IBM MQ Light Development Kit (beta) Tooling for developer platforms Write apps in node.js Elastic MQ in IBM BlueMix (beta) Public cloud messaging
  • 30. © Copyright IBM 2014 IBM MQ Light – for on-premise deployment Some developers will like the new APIs but won't want to deploy to a PaaS – Small line-of-business projects, e.g. queueing up builds – No mission critical features • No HA • No horizontal scaling MQ Light will probably be available to license as the production runtime for messaging applications – Specific licensing plan not yet finalised – Looking at licensing models that work for development teams Fully compatible with the IBM Elastic MQ service in BlueMix – Easy to migrate applications to a PaaS at a later point
  • 31. © Copyright IBM 2014 Application Messaging Deployment Options IBM MQ Light Development Kit (beta) Tooling for developer platforms Write apps in node.js MQ Light Runtime (beta) On-premise application messaging Deploys IBM WebSphere MQ Enterprise messaging (statement of direction) Deploys Deploys Elastic MQ in IBM BlueMix (beta) Public cloud messaging
  • 32. © Copyright IBM 2014 IBM Elastic MQ service - Messaging in a PaaS MQ currently offers cloud deployment options in a couple of flavours – IBM Messaging Extension for Web Application Pattern (IBM PureApp, IBM WD) – WebSphere MQ Hypervisor Edition for AIX/RHEL We also have a beta version of Elastic MQ running in the IBM BlueMix PaaS – Admin-free experience – MQ environment automatically provisioned for each user when they request an instance of it – Applications are linked or 'bound' to the provisioned environment automatically when they are deployed to BlueMix – The MQ Light team are working with BlueMix to offer a seamless development-to- production experience. – Not a full MQ experience in the cloud
  • 33. © Copyright IBM 2014 How does MQ Light fit in PaaS development? The intention is for MQ Light to provide a (probably free) development environment for applications that will deploy against IBM Elastic MQ in BlueMix Gives the developer 2 choices for development: 1. Develop directly in BlueMix. As you make changes to your code you push the new version straight to BlueMix and check your changes are OK 2. Develop on your laptop using MQ Light. Once you're 90% complete, start pushing your app to BlueMix to try it out in the cloud and iron out any remaining bugs. MQ Light offers an offline development environment – Provides a development version of the messaging service that will be offered in the cloud – Makes offline application development possible when connectivity to the cloud is not available – Comparatively small download & install footprint to get you started quickly & easily
  • 34. © Copyright IBM 2014 Download & Install Experience www.ibmdw.net/messaging/mq-light/
  • 35. © Copyright IBM 2014 Web Based Tooling
  • 36. © Copyright IBM 2014 Try it all out for yourselves! MQ Light beta is available to try out now at https://www.ibmdw.net/messaging/mq-light/ or Google “IBM MQ Light” Elastic MQ is available in IBM BlueMix beta today at https://ace.ng.bluemix.net/ or Google “IBM BlueMix”
  • 37. © Copyright IBM 2014 Try out MQ Light and join the discussions on our forum www.ibmdw.net/messaging/mq-light/ We want your feedback on what we're doing
  • 38. Related Sessions AMC1897 : Messaging in the Cloud with Elastic MQ, MQ Light & Bluemix Today 3:45pm – 4:45pm Delfino 4005 AMC1924 : Roundtables; MQ Light in IBM MQ Infrastructures Wednesday 2:15pm – 3:15pm Zeno 4701 Thusday 9:00am – 10:00am Zeno 4701 AMC1917 : Hands-on Lab: MQ Light & Elastic MQ Wednesday 10:30am – 11:30am Murano 3305
  • 40. © Copyright IBM 2014 We Value Your Feedback Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us – we use it to continually improve the conference. Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey • Navigate to “Surveys” to see a view of surveys for sessions you’ve attended 40
  • 42. © Copyright IBM 2014 Legal Disclaimer • © IBM Corporation 2014. All Rights Reserved. • The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. • References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. • If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: 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. • If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. • Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. • If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. • If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. • If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. • If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. • If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries. • If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. • If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.