MQ Light for WTU

Post on 22-Jun-2015

333 views 0 download

Tags:

description

session A35: from WebSphere Technical University

Transcript of MQ Light for WTU

A35: IBM MQ LightRobert Nicholson, STSM for Application Messaging

@nicholsr #mqlight

© 2014 IBM Corporation

Please NoteIBM’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.

2

© 2014 IBM Corporation

IBM Messaging portfolio

3

Deliver Messaging Backbone for EnterpriseFocus 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 ThingsFocus on Internet-scale events, m2m device enablement, security and privacy, feed into real-time analytics, location-based notifications

Enable developers to build more scalable, responsive applicationsFocus on application developer use cases, breadth of language support, no administration, ease-of-deployment, lightweight & powerful API, as software or a cloud service

© 2014 IBM Corporation

MQ Light : Software and Cloud

Messaging that application developers will love to use, helping them make responsive applications that scale easily

Available as software download or full cloud service in Bluemix.

– Statement of Direction for support in MQ Version 8.

Trivial to get started : just download, unzip and start coding

Open APIs crafted to feel natural in a growing range of popular languages

Tooling that makes modular app development easy

4

© 2014 IBM Corporation

The journey that got us here…

Previous developer / IT relationship– Driven by centrally controlled common standards– Carefully planned projects delivering core business systems– Focused on re-using existing skills and investments

5

Share, re-use and save!

I need to access some messaging services. I own the apps.

© 2014 IBM Corporation

The journey that got us here…

Evolving developer / IT relationship– Driven by business sponsor demands– Developers download and use the tools to get the job done– Focused on trying new apps and concepts in the market

6

© 2014 IBM Corporation

The journey that got us here…

7

Ruby

Node.js

Python

C

C++

Java

C#

Perl

Go

Clojure

Lua

Erlang Scala

PHP

© 2014 IBM Corporation

Use Cases

8

Intensive work offloaded and distributed amongst worker processes to be performed asynchronously

- Processing images or videos- Performing text analytics

Event Driven

Take one or more actions when something interesting happens

- Email logs and update dashboards when build finishes- Upload videos once finished transcoding

Worker Offload

© 2014 IBM Corporation

Use Cases

9

Schedule a task to happen at a specific point in time

- Run in detailed reports when app use is low- Generate end of day summary

Ensure applications remain responsive even when 3rd party system are not available or responding fast enough

- Updating existing CRM system- Booking appointment

Delayed Processing

3rd Party Integration

© 2014 IBM Corporation

Making applications more responsive and easier to scale

10

Use

r W

aits

© 2014 IBM Corporation

Making applications more responsive and easier to scale

11

Use

r W

aits

© 2014 IBM Corporation

Easy to get going

Download and get coding within 5 minutes

No administration; just code and go

Node API client libraries installed using npm package manager

Tutorials and examples in their languages, relevant to actual use

12

© 2014 IBM Corporation

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?

13

© 2014 IBM Corporation

Does not restrict language choice

Polyglot language

API crafted to feel native within the language

New clients can be created by developers– Clients based on Open source Apache Qpid Proton

Using open protocol (AMQP 1.0) to build community around messaging clients

14

Node.js

Python

PHP

Java*

Ruby

Openprotocol

*JMS 1.1 in Bluemix today

© 2014 IBM Corporation15

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

© 2014 IBM Corporation16

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. Hello2. World!

Topic Address Space

Sender application

DESTINATIONPattern=/test/a

© 2014 IBM Corporation17

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. Hello2. World!

1. Hello2. World!

Topic Address Space

Sender application

DESTINATIONPattern=/test/a

Pattern=/test/#

Client 1

Client 2

© 2014 IBM Corporation18

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

HelloWorld!

DESTINATIONPattern=/test/a

Disconnected client

© 2014 IBM Corporation19

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. Hello2. World!

1. Hello

2. World!

SHARING

Topic Address Space

Sender application

DESTINATIONPattern=/test/#

Pattern=/test/#Share=myshare

Client 1

Client 2

Client 3

© 2014 IBM Corporation20

MQ Light Messaging Model – Client takeover

1. Send (‘/test/a’, “Hello”);

Hello

Topic Address Space

Sender application

DESTINATIONPattern=/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

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)

21

© 2014 IBM Corporation

MQ Light Node.JS API. Installable from NPM

Promotes a fluent programming style

Easily wrappable into promises.

Focussed on code simplicity.

Client - connect state machine– Assists cloud applications.

22

 client.connect()        .on('connected', function() {            console.log('Have some random cat names.  Have them!');            subscribe('/kittens');        })        .on('disconnected', function() {            console.log('That's enough for now!');        })        .on('message', function(data) {            console.log('Why not call your cat: '+data);        });

© 2014 IBM Corporation

Deployment options : Statement of Direction

23

Developer coding in Python, Ruby, JavaScript, Java, C#,

PHP

MQ Light for Bluemix

WebSphere MQ[Statement of Direction]

“MQ Light”

Deploy seamlessly to “MQ Light”, MQ or MQ Light Service

Builds application and uses MQ Light messaging and tests in local

developer sandbox

© 2014 IBM Corporation

WALKTHROUGH

24

© 2014 IBM Corporation25

© 2014 IBM Corporation26

© 2014 IBM Corporation27

© 2014 IBM Corporation

© 2014 IBM Corporation29

© 2014 IBM Corporation30

© 2014 IBM Corporation31

© 2014 IBM Corporation32

© 2014 IBM Corporation33

© 2014 IBM Corporation34

© 2014 IBM Corporation35

© 2014 IBM Corporation36

© 2014 IBM Corporation37

© 2014 IBM Corporation38

© 2014 IBM Corporation39

© 2014 IBM Corporation

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

40

© 2014 IBM Corporation

IBM MQ Sessions this week10:30 - 12:00 13:15 - 14:15 14:30 - 15:30 16:00 - 17:00 17:15 - 18:15

Tuesday

Opening General Session- IBM Digital Experience and WebSphere Technical University

Session A31: IBM MQ CHLAUTH rules – with MQ V8 updates

Speaker: Morag HughsonRoom 02

Session A4: WebSphere MQ for z/OS: Performance and Accounting

Speaker: Alexander RossRoom 8

Session I26: DataPower-MQ Connectivity Deep Dive (Theory)

Speaker: Robin WileyRoom 27

Session Z1: WebSphere MQ for z/OS V8: Latest Features Deep Dive

Speaker: Damon CrossRoom 6

9:00 - 10:00 10:30 - 11:30 11:45 - 12:45 14:00 - 15:00 15:15 - 16:15 16:45 - 17:45

Wednesday

Session Z5: WebSphere MQ for z/OS: Security

Speaker: Damon CrossRoom 02

Session A21: What's New in IBM Messaging

Speaker: Morag HughsonRoom 8

Session C7: Messaging in the Cloud with IBM MQ Light and IBM Bluemix

Speaker: Rob NicholsonRoom 27

Session A17: Managing work-loads, scaling and availability with IBM MQ clusters

Speaker: David WareRoom 6

Lab IL5: DataPower-MQ Connectivity Deep Dive (Hands-On)

Speaker: Robin WileyRoom 7b

Session A9: WebSphere MQ for z/OS: The Inside Story

Speaker: Damon CrossRoom 6

Thursday

Session A35: How to Develop Responsive Applications with IBM MQ Light

Speaker: Rob NicholsonRoom 27

Session A22: New IBM MQ V8 Security Features

Speaker: Morag HughsonRoom 01

Session A3: WebSphere MQ for z/OS: Shared Queues

Speaker: Alex RossRoom 6

Session A18: Using Publish /Subscribe with IBM MQ

Speaker: David WareRoom 27

Friday

Lab AL6: Developing a First Application with IBM WebSphere MQ Light

Speakers: Robert Nicholson, Alex RossRoom 7b

Session A16: Using IBM MQ Pub/Sub in an MQ network

Speaker: David WareRoom 6

© 2014 IBM Corporation

Questions?

42

© 2014 IBM Corporation

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

Rob NicholsonSenior Technical Staff MemberSoftware Group

rob_nicholson@uk.ibm.com+44 1962 817517Twitter: nicholsrLinkedin: uk.linkedin.com/in/robertbnicholson/

Your feedback is valuable - please complete your session evaluation

Either on paper or online at ibmeventconnect.eu/euxdx Select Sessions, then Session Finder, and complete the survey

Session A35: IBM MQ Light