SlideShare a Scribd company logo
1 of 38
© 2015 IBM Corporation
AME-4181: Introducing
MQ Light
Rob Nicholson
Alan Chat
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.
1
Agenda
• High level overview & Positioning.
• MQ Light software
• First Five Minute Experience
• Developer Centric Tooling
• Programming Language Support
• Demo
2
IBM Messaging
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
Enable developers to
build more scalable,
responsive applications
Focus on app use cases,
breadth of languages,
ease-of-deployment, micro
services, integration with
developer frameworks
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:
• MQ Light software download
• Bluemix service
• 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
4
The journey that got us here
5
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
The journey that got us here…
6
Ruby
Node.js
Python
C
C++
Java
C#
Perl
Go
Clojure
Lua
Erlang Scala
PHP
Use cases
7
Connecting external
systems
Event driven
Worker offload
• Posting video to multiple social
sites after transcoding
• Respond to external events
• Updating external booking app
• Posting updates to twitter
• Image processing
• Text analytics
Trend in Cloud Application Architecture
Moving towards…
Delivering global scale applications with
unprecedented agility by de-composing
apps into a microservices architecture
Challenges developing microservices :
Agility come from “2 pizza” teams operating completely
independently, owning the whole technology stack,
deploying on their own schedules, writing services
that will scale when demand dictates
8
Large monolithic
Applications
Moving away from…
Large applications with single develop,
test, deploy cycles using single
technology stacks
Deployment Options
9
MQ Light Service
for Bluemix
WebSphere MQ
[open Beta]
“MQ Light”
Agenda
• High level overview & Positioning.
• MQ Light software
• First Five Minute Experience
• Developer Centric Tooling
• Programming Language Support
• Demo
10
First Five minute experience
• Download and get coding within 5 minutes
• Linux-x86-64, Windows7 64 bit, Mac OSX
• Unzip install
• Unlimited time developer license (unsupported).
• No administration; just code and go
• API client libraries installed using language package manager
• Tutorials and examples in their languages, relevant to actual use
11
MQ Light Image DockerHub Registry
12
13
Docker
• A Docker image for MQ Light is now available on Docker
Hub.
• https://registry.hub.docker.com/u/ibmimages/mqlight/
• MQ Light runs inside a container, isolated from the rest of
your system:
• Process isolation – all the processes associated
with MQ Light are run in their own process space,
and can’t see any other processes running on your
server
• Resource isolation – you can limit the amount of
memory and CPU you allocate to a container
• Dependency isolation - all software which MQ
Light depends on is included in the MQ Light image,
except the Linux kernel itself.
Source: If applicable, describe source origin
IBM Presentation Template Full Version
 Docker also helps with fast, reliable deployments in cloud environments
 One command to download and run MQ Light:
– docker run –e LICENSE=accept –P ibmimages/mqlight
Tooling to assist development
• Used to answer questions like :
• Where did this message come from?
• Where did that message go?
• What messages has my app consumed?
14
Programming Language Support.
A. Simple Messaging Model
B. Idiomatic clients in fully supported languages
• IBM Design Thinking applied here.
C.Compatibility with open source AMQP 1.0 clients for other
languages.
• Apache Qpid Proton
15
Programming Language Support.
A. Simple Messaging Model
B. Idiomatic clients in fully supported languages
• IBM Design Thinking applied here.
C.Compatibility with open source AMQP 1.0 clients for other
languages.
• Apache Qpid Proton
16
17
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
18
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
19
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
20
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
21
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
22
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.
MQ Light Messaging Model
• Messages
• Payload is either Text or Binary.
• Content-type is used by clients to transfer JSON
• Per message time to live.
• Message delivery model
• At most once delivery (QoS 0)
• At least once delivery (QoS 1)
• Acknowledge & Reject messages
• Control over the number of unacknowledged messages
delivered. (link credit)
23
Programming Language Support.
A. Simple Messaging Model
B. Idiomatic clients in fully supported languages
• IBM Design Thinking applied here.
C.Compatibility with open source AMQP 1.0 clients for other
languages.
• Apache Qpid Proton
24
Programming languages
Language Availability Notes
Node.js Supported IBM Client.
Ruby IBM Client in Beta
Java (Non Blocking) IBM Client in Beta
Python IBM Client in Beta
PHP Qpid Proton
Scala Can use Java non
Blocking client.
Forum users report this
working.
C/C++ Qpid Proton
Perl Qpid Proton
25
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
26
# 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!');
});
MQ Light Ruby API (Beta)
• Installable from rubygems.org
• Synchronous/blocking client.
• Bluemix connection support
• Backlog
• Auto reconnect.
• Asynchronous non blocking
• TLS
27
# 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!')
MQ Light Python API (Beta)
• Installable from rubygems.org
• Non blocking
• Client seemlessly retries across cloud endpoints
• Backlog
• TLS
28
# 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!')
MQ Light Non Blocking Java API (beta)
• Installable using Maven
• Code is opensource on github.
• Non blocking
• Client seemlessly retries across cloud endpoints
• Backlog
• TLS
29
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);
}
Programming Language Support.
A. Simple Messaging Model
B. Idiomatic clients in fully supported languages
• IBM Design Thinking applied here.
C.Compatibility with open source AMQP 1.0 clients for other
languages.
• Apache Qpid Proton
30
Agenda
• High level overview & Positioning.
• MQ Light software
• First Five Minute Experience
• Developer Centric Tooling
• Programming Language Support
• Demo
31
Summary
• MQ Light : https://developer.ibm.com/messaging/mq-light/
• MQ Light for Bluemix : www.bluemix.net
• Messaging designed for developers to create responsive and
scalable applications
• Simplified messaging API
• Easy to acquire and incorporate into applications
• Development focused tooling
• Range of application deployment options
• MQ Light
• IBM MQ [Statement of Direction]
• MQ Light cloud service in BlueMix
32
IBM MQ Sessions this week
10:30 - 12:00 13:15 - 14:15 14:30 - 15:30 16:00 - 17:00 17:15 - 18:15
Monday
9:00 - 10:00 10:30 - 11:30 11:45 - 12:45 14:00 - 15:00 15:15 - 16:15 16:45 - 17:45
TuesdayWednesdayThursday
For Additional Information
• IBM Training
• http://www.ibm.com/training
• IBM WebSphere
• http://www.ibm.com/software/websphere/
• http://www.ibm.com/software/products/ibm-mq
• IBM developerWorks
• http://www.ibm.com/developerworks/websphere
• https://www.ibm.com/developerworks/community/blogs/messaging
• WebSphere forums and community
• http://www.ibm.com/developerworks/websphere/community/
Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,
EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF
THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT
OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the
agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®,
urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

More Related Content

What's hot

What's hot (20)

IBM Message Hub: Cloud-Native Messaging
IBM Message Hub: Cloud-Native MessagingIBM Message Hub: Cloud-Native Messaging
IBM Message Hub: Cloud-Native Messaging
 
M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019
 
MQLight for WebSphere Integration user group June 2014
MQLight for WebSphere Integration user group June 2014MQLight for WebSphere Integration user group June 2014
MQLight for WebSphere Integration user group June 2014
 
Effectively Managing a Hybrid Messaging Environment
Effectively Managing a Hybrid Messaging EnvironmentEffectively Managing a Hybrid Messaging Environment
Effectively Managing a Hybrid Messaging Environment
 
Hybrid Messaging with IBM Bluemix
Hybrid Messaging with IBM BluemixHybrid Messaging with IBM Bluemix
Hybrid Messaging with IBM Bluemix
 
#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6
 
IBM MQ Advanced - IBM InterConnect 2016
IBM MQ Advanced - IBM InterConnect 2016IBM MQ Advanced - IBM InterConnect 2016
IBM MQ Advanced - IBM InterConnect 2016
 
Third Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico CityThird Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico City
 
CTU 2017 I173 - how to transform your messaging environment to a secure messa...
CTU 2017 I173 - how to transform your messaging environment to a secure messa...CTU 2017 I173 - how to transform your messaging environment to a secure messa...
CTU 2017 I173 - how to transform your messaging environment to a secure messa...
 
Deploying and managing IBM MQ in the Cloud
Deploying and managing IBM MQ in the CloudDeploying and managing IBM MQ in the Cloud
Deploying and managing IBM MQ in the Cloud
 
IBM MQ cloud architecture blueprint
IBM MQ cloud architecture blueprintIBM MQ cloud architecture blueprint
IBM MQ cloud architecture blueprint
 
M08 protecting your message data in IBM MQ with encryption
M08 protecting your message data in IBM MQ with encryptionM08 protecting your message data in IBM MQ with encryption
M08 protecting your message data in IBM MQ with encryption
 
DevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQDevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQ
 
Running IBM MQ in the Cloud
Running IBM MQ in the CloudRunning IBM MQ in the Cloud
Running IBM MQ in the Cloud
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
MQ Guide France - IBM MQ and Containers
MQ Guide France - IBM MQ and ContainersMQ Guide France - IBM MQ and Containers
MQ Guide France - IBM MQ and Containers
 
Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
 
IBM Think 2018: IBM MQ High Availability
IBM Think 2018: IBM MQ High AvailabilityIBM Think 2018: IBM MQ High Availability
IBM Think 2018: IBM MQ High Availability
 

Similar to Introducing MQ Light - IBM Interconnect 2015 session AME4181

Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
Design World
 
IBM How to Develop Responsive Applications
IBM How to Develop Responsive ApplicationsIBM How to Develop Responsive Applications
IBM How to Develop Responsive Applications
IBM Systems UKI
 
IBM MQ Light Service for Bluemix
IBM MQ Light Service for BluemixIBM MQ Light Service for Bluemix
IBM MQ Light Service for Bluemix
IBM Systems UKI
 

Similar to Introducing MQ Light - IBM Interconnect 2015 session AME4181 (20)

Messaging in the Cloud with IBM MQ Light and IBM Bluemix
Messaging in the Cloud with IBM MQ Light and IBM BluemixMessaging in the Cloud with IBM MQ Light and IBM Bluemix
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
 
MQ Light for WTU
 MQ Light for WTU MQ Light for WTU
MQ Light for WTU
 
Running and Supporting MQ Light Applications
Running and Supporting MQ Light ApplicationsRunning and Supporting MQ Light Applications
Running and Supporting MQ Light Applications
 
How to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq lightHow to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq light
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
MQ light open standards webcast
MQ light open standards webcastMQ light open standards webcast
MQ light open standards webcast
 
GWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scaleGWC : MQ Light - from monolith to Microservices for speed and scale
GWC : MQ Light - from monolith to Microservices for speed and scale
 
IBM How to Develop Responsive Applications
IBM How to Develop Responsive ApplicationsIBM How to Develop Responsive Applications
IBM How to Develop Responsive Applications
 
CTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloudCTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloud
 
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferenceIBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
 
Session 1897 messaging in the cloud with elastic mq mq light and bluemix-impa...
Session 1897 messaging in the cloud with elastic mq mq light and bluemix-impa...Session 1897 messaging in the cloud with elastic mq mq light and bluemix-impa...
Session 1897 messaging in the cloud with elastic mq mq light and bluemix-impa...
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Introducing IBM Message Hub: Cloud-scale messaging based on Apache KafkaIntroducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
 
IBM Interconnect 2016 - Hybrid Cloud Messaging
IBM Interconnect 2016 - Hybrid Cloud MessagingIBM Interconnect 2016 - Hybrid Cloud Messaging
IBM Interconnect 2016 - Hybrid Cloud Messaging
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Edge 2016 Session 1886  Building your own docker container cloud on ibm power...Edge 2016 Session 1886  Building your own docker container cloud on ibm power...
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
 
IBM MQ Light Service for Bluemix
IBM MQ Light Service for BluemixIBM MQ Light Service for Bluemix
IBM MQ Light Service for Bluemix
 
Deploy and Update Jakarta EE & MicroProfile applications with Paketo.pptx
Deploy and Update Jakarta EE & MicroProfile applications with Paketo.pptxDeploy and Update Jakarta EE & MicroProfile applications with Paketo.pptx
Deploy and Update Jakarta EE & MicroProfile applications with Paketo.pptx
 
Mule ESB Intro
Mule ESB IntroMule ESB Intro
Mule ESB Intro
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 

More from Robert Nicholson

Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014
Robert Nicholson
 

More from Robert Nicholson (10)

IBM Cloud Integration Platform Introduction - Integration Tech Conference
IBM Cloud Integration Platform Introduction - Integration Tech ConferenceIBM Cloud Integration Platform Introduction - Integration Tech Conference
IBM Cloud Integration Platform Introduction - Integration Tech Conference
 
IBM Cloud Integration Platform High Availability - Integration Tech Conference
IBM Cloud Integration Platform High Availability - Integration Tech ConferenceIBM Cloud Integration Platform High Availability - Integration Tech Conference
IBM Cloud Integration Platform High Availability - Integration Tech Conference
 
IBM Hybrid Integration Platform
IBM Hybrid Integration PlatformIBM Hybrid Integration Platform
IBM Hybrid Integration Platform
 
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South CoastPlatform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
 
Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014
 
IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces ...
IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces ...IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces ...
IBM IMPACT 2009 Session 3100 - Dynamic Scripting and Rich Web 2.0 Interfaces ...
 
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
 
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
 
Project Zero JavaOne 2008
Project Zero JavaOne 2008Project Zero JavaOne 2008
Project Zero JavaOne 2008
 
Project Zero Php Quebec
Project Zero Php QuebecProject Zero Php Quebec
Project Zero Php Quebec
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 

Introducing MQ Light - IBM Interconnect 2015 session AME4181

  • 1. © 2015 IBM Corporation AME-4181: Introducing MQ Light Rob Nicholson Alan Chat
  • 2. 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. 1
  • 3. Agenda • High level overview & Positioning. • MQ Light software • First Five Minute Experience • Developer Centric Tooling • Programming Language Support • Demo 2
  • 4. IBM Messaging 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 Enable developers to build more scalable, responsive applications Focus on app use cases, breadth of languages, ease-of-deployment, micro services, integration with developer frameworks
  • 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: • MQ Light software download • Bluemix service • 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 4
  • 6. The journey that got us here 5 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. The journey that got us here… 6 Ruby Node.js Python C C++ Java C# Perl Go Clojure Lua Erlang Scala PHP
  • 8. Use cases 7 Connecting external systems Event driven Worker offload • Posting video to multiple social sites after transcoding • Respond to external events • Updating external booking app • Posting updates to twitter • Image processing • Text analytics
  • 9. Trend in Cloud Application Architecture Moving towards… Delivering global scale applications with unprecedented agility by de-composing apps into a microservices architecture Challenges developing microservices : Agility come from “2 pizza” teams operating completely independently, owning the whole technology stack, deploying on their own schedules, writing services that will scale when demand dictates 8 Large monolithic Applications Moving away from… Large applications with single develop, test, deploy cycles using single technology stacks
  • 10. Deployment Options 9 MQ Light Service for Bluemix WebSphere MQ [open Beta] “MQ Light”
  • 11. Agenda • High level overview & Positioning. • MQ Light software • First Five Minute Experience • Developer Centric Tooling • Programming Language Support • Demo 10
  • 12. First Five minute experience • Download and get coding within 5 minutes • Linux-x86-64, Windows7 64 bit, Mac OSX • Unzip install • Unlimited time developer license (unsupported). • No administration; just code and go • API client libraries installed using language package manager • Tutorials and examples in their languages, relevant to actual use 11
  • 13. MQ Light Image DockerHub Registry 12
  • 14. 13 Docker • A Docker image for MQ Light is now available on Docker Hub. • https://registry.hub.docker.com/u/ibmimages/mqlight/ • MQ Light runs inside a container, isolated from the rest of your system: • Process isolation – all the processes associated with MQ Light are run in their own process space, and can’t see any other processes running on your server • Resource isolation – you can limit the amount of memory and CPU you allocate to a container • Dependency isolation - all software which MQ Light depends on is included in the MQ Light image, except the Linux kernel itself. Source: If applicable, describe source origin IBM Presentation Template Full Version  Docker also helps with fast, reliable deployments in cloud environments  One command to download and run MQ Light: – docker run –e LICENSE=accept –P ibmimages/mqlight
  • 15. Tooling to assist development • Used to answer questions like : • Where did this message come from? • Where did that message go? • What messages has my app consumed? 14
  • 16. Programming Language Support. A. Simple Messaging Model B. Idiomatic clients in fully supported languages • IBM Design Thinking applied here. C.Compatibility with open source AMQP 1.0 clients for other languages. • Apache Qpid Proton 15
  • 17. Programming Language Support. A. Simple Messaging Model B. Idiomatic clients in fully supported languages • IBM Design Thinking applied here. C.Compatibility with open source AMQP 1.0 clients for other languages. • Apache Qpid Proton 16
  • 18. 17 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
  • 19. 18 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
  • 20. 19 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
  • 21. 20 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
  • 22. 21 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
  • 23. 22 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.
  • 24. MQ Light Messaging Model • Messages • Payload is either Text or Binary. • Content-type is used by clients to transfer JSON • Per message time to live. • Message delivery model • At most once delivery (QoS 0) • At least once delivery (QoS 1) • Acknowledge & Reject messages • Control over the number of unacknowledged messages delivered. (link credit) 23
  • 25. Programming Language Support. A. Simple Messaging Model B. Idiomatic clients in fully supported languages • IBM Design Thinking applied here. C.Compatibility with open source AMQP 1.0 clients for other languages. • Apache Qpid Proton 24
  • 26. Programming languages Language Availability Notes Node.js Supported IBM Client. Ruby IBM Client in Beta Java (Non Blocking) IBM Client in Beta Python IBM Client in Beta PHP Qpid Proton Scala Can use Java non Blocking client. Forum users report this working. C/C++ Qpid Proton Perl Qpid Proton 25
  • 27. 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 26 # 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!'); });
  • 28. MQ Light Ruby API (Beta) • Installable from rubygems.org • Synchronous/blocking client. • Bluemix connection support • Backlog • Auto reconnect. • Asynchronous non blocking • TLS 27 # 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!')
  • 29. MQ Light Python API (Beta) • Installable from rubygems.org • Non blocking • Client seemlessly retries across cloud endpoints • Backlog • TLS 28 # 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!')
  • 30. MQ Light Non Blocking Java API (beta) • Installable using Maven • Code is opensource on github. • Non blocking • Client seemlessly retries across cloud endpoints • Backlog • TLS 29 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); }
  • 31. Programming Language Support. A. Simple Messaging Model B. Idiomatic clients in fully supported languages • IBM Design Thinking applied here. C.Compatibility with open source AMQP 1.0 clients for other languages. • Apache Qpid Proton 30
  • 32. Agenda • High level overview & Positioning. • MQ Light software • First Five Minute Experience • Developer Centric Tooling • Programming Language Support • Demo 31
  • 33. Summary • MQ Light : https://developer.ibm.com/messaging/mq-light/ • MQ Light for Bluemix : www.bluemix.net • Messaging designed for developers to create responsive and scalable applications • Simplified messaging API • Easy to acquire and incorporate into applications • Development focused tooling • Range of application deployment options • MQ Light • IBM MQ [Statement of Direction] • MQ Light cloud service in BlueMix 32
  • 34. IBM MQ Sessions this week 10:30 - 12:00 13:15 - 14:15 14:30 - 15:30 16:00 - 17:00 17:15 - 18:15 Monday 9:00 - 10:00 10:30 - 11:30 11:45 - 12:45 14:00 - 15:00 15:15 - 16:15 16:45 - 17:45 TuesdayWednesdayThursday
  • 35. For Additional Information • IBM Training • http://www.ibm.com/training • IBM WebSphere • http://www.ibm.com/software/websphere/ • http://www.ibm.com/software/products/ibm-mq • IBM developerWorks • http://www.ibm.com/developerworks/websphere • https://www.ibm.com/developerworks/community/blogs/messaging • WebSphere forums and community • http://www.ibm.com/developerworks/websphere/community/
  • 36. Thank You Your Feedback is Important! Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.
  • 37. Notices and Disclaimers Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 38. Notices and Disclaimers (con’t) Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. • IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

Editor's Notes

  1. Want to compare the motivations and priorities of Andy & 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
  2. How things have evolved technologically Used to be a handful of languages, Explosion of languages that people want to use (each has their specific benefits) Even larger explosion of frameworks within these languages.
  3. There is a danger here of massive oversimplification here. However, if we look at the architecture of typical data centre based application today we see that there is a frunt-end UI often these days HTML and client side Javascript which scales because it runs within the client. Then there is the backend process that supplies it with data and integrated with the enterprise followed by a data tier. These applications are typically well componentized using the capabilities provided by the language and its runtime. Often they are developed by large teams and deployed into production by separate operations teams. If we look now at the architecture of the major web properties, facebook, netflix, linkedin etc. we’ll see that these are often times composed of smaller services. Each owned by a small team of developers who are responsible for development AND ops. These services are developed, tested, deployed and tested independently by these empowered teams. They tend to use different technology both language and persistence. Why am I telling you this? Well because the links between these micro-services are typically REST or lightweight messaging.
  4. Foundational technologies should be easy to get going - first use - every day use Tackled a number of to make this happen - - Clients should be where a developer expects them (npm) - A developer should be able to understand MQ Light just by reading our examples.