hhm-3481: ibm mq for z/os: enhancing application and messaging connectivity in a hybrid world

49
HHM-3481: IBM MQ for z/OS: Enhancing application and messaging connectivity in a hybrid world Matt Leming [email protected] IBM Hursley - UK

Upload: matt-leming

Post on 10-Feb-2017

242 views

Category:

Software


3 download

TRANSCRIPT

Page 1: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

HHM-3481: IBM MQ for z/OS: Enhancing application and messaging connectivity in a hybrid worldMatt Leming – [email protected]

IBM Hursley - UK

Page 2: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Please Note:

1

• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s solediscretion.

• 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.

Page 3: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Agenda

• What have we already got?

• Why do we need more?

• JMS

• z/OS Connect

• AMQP Channel

2

Page 4: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What have we already got?And why do we need more?

Page 5: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What have we already got?

z/OS

MSTR

IIBCICS

IMS

DB2Batch

WAS

Clients

MQ

CHIN

4

Page 6: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Why do we need more?

• Skills change

– Java very common

– COBOL much less so

• Economics change

– Java can be offloaded onto zIIP

• Environments change

– Java environments in CICS and IMS have become very important

• New opportunities and paradigms

– Mobile applications need to interact with SOR

• Many of these use MQ as an interface

– Hybrid cloud5

Page 7: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

JMS

6

Page 8: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What is JMS and why do I want it?

• Java Message Service

• Standard API for interacting with messaging middleware such as MQ

• Simple support for interacting with both queues and topics

• Widely adopted and used throughout the industry

• Most recent version is JMS 2

– Released in 2013

– Mainly focused on ease of use (new JMSContext API)

– Backwards compatible

– Some minor functionality added

• Delivery delay being the most notable7

Page 9: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What Java support was there for MQ on z until recently?

• JMS supported since MQ v5

• JMS 2.0 support added in v8

• Supported on z/OS in

– z/WAS

– Batch

• In CICS

– MQ base classes for Java supported in OSGi JVM Server

– MQ specific Java API

• In IMS

– No Java support with MQ at all

8

Page 10: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What has been added?

• Support for MQ JMS in CICS 5.3 and 5.2 OSGi environments

– Works with MQ 8 and 7.1

– Depending on environment some APARs needed

– Since 1Q 2015

• Support for MQ JMS in IMS 13

– Works with MQ 8

– Requires MQ APARs

– Since 4Q 2015

9

Page 11: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

A few more details…

• MQ JMS builds on top of existing native code

in both CICS and IMS

• Bindings mode connections only

• Security provided using existing mechanisms

– Userid and password not supported

10

MSTR

CICS/IMS

JVM

JMS JNI Adapter

Page 12: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

A few more details…

• Needs to maintain expected behaviour for processing environment, so

some restrictions on API

• For example:

– Can only be coordinated using CICS/IMS unit of work

– In CICS can only connect to the queue manager/QSG defined on MQCONN

resource definition

– In IMS can only connect to queue managers defined in CSQQDEFV

– In IMS every time you issue a GU or CHKP the native code disconnects

• If you need to use MQ again you need to reconnect

– Can’t use function which results in threads being spawned

• Message listeners, exception listeners, etc

11

Page 13: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Where can I find out more?

• CICS

– MQ 8 KC: https://ibm.biz/MQJMSinCICSOSGiKC8

– MQ 7.1 KC: https://ibm.biz/MQJMSinCICSOSGiKC71

– Blog articles:

• http://ibm.biz/MQJMSinCICSOSGiBlog

• http://ibm.biz/MQJMSinCICSOSGiJNDI

• IMS

– MQ 8 KC: https://ibm.biz/MQJMSinIMSKC

– Blog article: https://ibm.biz/MQJMSinIMSBlog

12

Page 14: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What is still to come?

• Statement of direction: IBM intends to deliver additional Java EE 7

components and technologies for the CICS TS hosted WebSphere

Liberty profile through continuous delivery of new features in the

coming months. These additional components and technologies are

intended to include support for Java EE 7 Web Profile features,

support for JMS 2.0 with IBM MQ for z/OS, and the ability to LINK

from a CICS TS COBOL program to a CICS TS hosted Liberty

application

• https://ibm.biz/MQCICSWLPSOD

13

Page 15: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

z/OS Connect

14

Page 16: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

What is z/OS Connect?

It’s about getting REST and JSON into your mainframe environment

in a way that enables you to best take advantage of the assets that

exist there:

Mobile /

Cloud

Ecosystem

CICS

IMS

Batch

DB2REST – Representational State Transfer …

the use of HTTP URLs that map to a

‘service’, such as ‘query account’ or

‘update data’

JSON – JavaScript Object Notation … a

standard of representing data as a set of

name/value pairs. This is passed back

and forth along with REST

request/responses

Where z/OS

Connect fits

• Liberty Profile Server

• Function IBM wrote to

run in Liberty Profile

• No charge function

provided with license

entitlement to WAS

z/OS, CICS or IMS

z/OS Connect

15

Other

Page 17: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

z/OS Connect in one picture

16

Liberty Profile for z/OS

z/OS Connect Servlet

CICS

IMS

DB2

Data Transform

RESTful

JSON

3

z/OS Connect is software function

that runs in Liberty Profile for z/OS.

z/OS Connect is described and

configured in the Liberty server.xml file

z/OS Connect is designed to

accept RESTful URIs with JSON

data payloads

A ‘Service Provider’ is software

that provides the connectivity to

the backend system

server.xml

One part of z/OS Connect

is a servlet that runs in

Liberty Profile z/OS.

z/OS Connect provides the

ability to transform JSON to the

layout required by backend

‘Interceptors’ are callout

points where software can be

invoked to do things such as

SAF authorization and SMF

activity recording

Backend systems supported

are CICS, IMS, Batch, and

DB2

1

2

3

4

5

6

7

8

Batch

8

2Interceptors

Service Providers

4

1

6

5

7

Page 18: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Statement of general direction

• IBM intends that a future release of IBM MQ for z/OS will provide

support for both z/OS Connect and z/OS Connect EE

• https://ibm.biz/MQzOSConnectSOD

17

Page 19: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

The MQ Service Provider

• A z/OS Connect service provider which allows existing services that

are fronted by MQ to be accessed via a RESTful front end

• Clients need have no knowledge of MQ

18

Page 20: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

A bit more detail…

• Each URL in z/OS Connect maps to a service

• With the MQ Service Provider we intend to have two different types of

service

– Two way services

– One way services

19

Page 21: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Two way services

• Intention is that two way service provides request/reply messaging:

1. Client issues HTTP POST with some payload (JSON)

2. MQ Service Provider in z/OS Connect sends payload (optional

transformation) to an MQ queue

3. Back end application processes payload and puts response on reply

queue

4. MQ Service Provider gets response (optional transformation) and sends it

to client as the body of the HTTP POST response

20

MQ BackendClient MQ SP

1 2

3

44

Page 22: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

One way services

• Intention is that one way service exposes standard MQ verbs against a

single destination

– HTTP POST == MQPUT (queue and topic)

– HTTP DELETE == MQGET (queue)

– HTTP GET == MQGET (browse) (queue)

• Allows more advanced interactions with MQ

2121

MQClient MQ SP

Page 23: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Example two-way service

• Insurance quote service which takes a request from an MQ queue and

sends a response to another queue

• COBOL request

• COBOL response

• So COBOL -> JSON conversion needed using built in tooling

22

Page 24: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Example two-way service – request

23

Page 25: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Example two-way service – request on queue

24

Page 26: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Example two-way service – response on queue

25

Page 27: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Example two-way service – response

26

Page 28: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Want more information?

• Join the MQ beta program

– Speak to your account team or to me

27

Page 29: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

AMQP Channel

28

Page 30: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

The MQ Light API

• A new messaging API

• Simple for developers to use

• Pub/sub based

• Idiomatic clients in fully supported languages across an

open wire protocol (OASIS AMQP 1)

• Fully supported on Node.JS, Java, Ruby and Python (beta)

• More information in slides from session 3540

29

Page 31: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Digital IT Enterprise ITCloud

On-Prem

Message Hub(Based on Apache Kakfa)

MQ Light API

MQ Light API

H

Message-

Connect

30

Enterprise Messaging & Integration

Hybrid messaging

MQ ExplorerMQ ClientMQ Light API

Kafka API REST API IBM MQ Appliance IBM MQ

Page 32: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Digital IT Enterprise ITCloud

On-Prem

Message Hub(Based on Apache Kakfa)

MQ Light API

MQ Light API

H

Message-

Connect

31

Enterprise Messaging & Integration

The AMQP channel

MQ ExplorerMQ ClientMQ Light API

Kafka API REST API IBM MQ Appliance IBM MQ

The AMQP

channel

Page 33: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Statement of direction

IBM intends to deliver features into IBM MQ to allow applications that

have been developed to the MQ Light API to be run on IBM MQ. This

option might be considered when an application requires the qualities of

service provided by an enterprise messaging platform. IBM intends to

make this capability available in a future update to IBM MQ. MQ Light is

currently in open alpha and consequently content, features, and name

are subject to change.

http://ibm.biz/MQAMQPSOD

32

Page 34: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

POC for AMQP channel on z/OS

• AMQP channel fully supported in 8.0.0.4 on all platforms apart from i

and z

– In beta form in earlier fix packs (8.0.0.2)

• AMQP channel code written in Java

• POC in progress to try and bring up AMQP channel in MQ on z/OS

running in the chinit

• Following slides show how the POC currently looks

33

Page 35: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

JVM configuration

34

Environment, JVM, CLASSPATH etc

The JCL above is standard PROC

used to start MQ queue manager on

z/OS

Page 36: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Starting CHINIT attaches JVM

35

Page 37: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

DEFINE and DISPLAY channel

36

MQSC commands can be

entered through console

commands, with response

returning to the console.

Here we see new channel

attributes and type for AMQP

Page 38: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

About TPROOT channel attribute

37

MQLight:

connect to port 1548

pub/sub on topics

App provides relative

path, eg “request”

Message published at

/apps/loyalty/request

/

/apps

/loyalty /order

/data

/personnel

DEFINE

CHANNEL(AMQP.LOYALTY)

TPROOT(LOYALTY)

PORT(1548)

DEFINE TOPIC(LOYALTY)

TOPICSTR(/apps/loyalty)

Request Reply

TPROOT allows MQLight applications to be isolated from each other and existing MQ apps

in the MQ topic space.

Page 39: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

JavaScript code running in Node.js

39

Connection details, user@host:port

Pass clientId

Page 40: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Driving a CICS transaction

40

/

/apps

/loyalty /order

/data

/personnelRq

Rp

PS.REQUEST

PS.REPLY

Admin

subscriptionQALIAS

to TOPIC

Page 41: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Summary

Page 42: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Summary

• There are already many ways of connecting in to MQ on z/OS

• We have added more to meet customer and industry needs

• We intend to continue to add connectivity options in the future in order

to keep MQ for z/OS as the vital heart of a hybrid messaging world

42

Page 43: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Where can I get more information?

IBM Messaging developerWorks

developer.ibm.com/messaging

IBM Messaging Youtube

https://www.youtube.com/IBMmessagingMedia

LinkedIn

Ibm.biz/ibmmessaging

Twitter

@IBMMessaging

IBM MQ Facebook

Facebook.com/IBM-MQ-8304628654/43

Page 44: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Monday

10:30-11:30 3592 New MQ features

3452 Managing applications

12:00-13:00 2835 MQ on z/OS and Distributed

15:00-16:00 3470 Latest MQ z/OS features

2833 Where is my message?

3544 MQ Light in an MQ infrastructure

16:30-17:30 3573 Hybrid cloud messaging

2941 MQ Advanced

Tuesday

08:30-09:30 3540 The MQ Light API

12:00-13:00 3456 The IBM MQ Appliance

13:15-14:15 3499 Introducing Message Hub

3458 MQ Appliance administration

14:30-15:30 6432 MQ updates and futures (InnerCircle)

2849 Messaging feedback roundtable

16:00-17:00 3544 MQ Light in an MQ infrastructure

3513 MQ hands on lab

Wednesday

08:30-09:30 3602 Managing your MQ environment

12:00-13:00 3613 Designing MQ self service

6408 Hybrid messaging roadmap (InnerCircle)

13:15-14:00 3416 HA and DR with MQ

3433 Why secure your messaging?

15:45-16:30 3429 Securing MQ

2847 Meet the messaging experts

16:00-17:00 3508 MQ Light hands on lab

16:45-17:30 2275 Migrating to the IBM MQ Appliance

Thursday

08:30-09:15 3420 MQ Clustering

2931 Business agility with self service MQ

09:30-10:15 3479 MQ z/OS clusters and shared queue

3450 Optimising MQ applications

2849 Messaging feedback roundtable

10:30-11:15 3465 MQ Appliance high availability

3481 MQ z/OS messaging connectivity

11:30-12:15 3474 Active-active messaging

3537 Monitoring and managing MQ

3425 MQ publish/subscribe

Find us at the EXPO:

Hybrid Integration peds 65-68

Check out the Hybrid Messaging sub topic under the

Hybrid Integration topic for further customer and business

partner sessions

Hybrid Messaging from the IBM experts at InterConnect 2016 Sunday

14:30-15:30 6408 Hybrid messaging roadmap (InnerCircle)

Page 45: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

MQ as a service Redpaper now available

• IBM MQ as a Service: A Practical Approach

• Provides information about how to build, deploy, and use IBM MQ as a

service. The information in this paper includes the key factors that must

be considered while planning the use of IBM MQ as a service

• http://ibm.biz/mqaas_red

Page 46: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Questions?

Page 47: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Notices and Disclaimers

47

Copyright © 2016 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

Page 48: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Notices and Disclaimers Con’t.

48

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 h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual

property right.

IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,

FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,

Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,

PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,

StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business

Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM

trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

Page 49: HHM-3481: IBM MQ for z/OS: Enhancing Application and Messaging Connectivity in a Hybrid World

Thank YouYour Feedback is Important!

Access the InterConnect 2016 Conference Attendee

Portal to complete your session surveys from your

smartphone,

laptop or conference kiosk.