+ All Categories
Home > Software > New Tools and Interfaces for Managing IBM MQ

New Tools and Interfaces for Managing IBM MQ

Date post: 11-Apr-2017
Category:
Upload: matt-leming
View: 65 times
Download: 0 times
Share this document with a friend
41
1 InterConnec t 2017 HHM-6890: New Tools and Interfaces for Managing IBM MQ Matt Leming – [email protected] m IBM Hursley - UK 06/12/2022
Transcript
Page 1: New Tools and Interfaces for Managing IBM MQ

1 05/03/2023

InterConnect2017

HHM-6890: New Tools and Interfaces for Managing IBM MQ

Matt Leming – [email protected]

IBM Hursley - UK

Page 2: New Tools and Interfaces for Managing IBM MQ

2

Agenda

• Existing capabilities• What’s new?

– The mqweb server– The MQ REST API– The MQ Console

2

Page 3: New Tools and Interfaces for Managing IBM MQ

33 05/03/2023

InterConnect2017

Existing capabilities

Page 4: New Tools and Interfaces for Managing IBM MQ

44

Administering software MQ

Queue Manager

MQ installation

“Machine”

Queue managers• mqsc• OS panels z/OS&i• MQ commands• MQ Explorer• PCF• ini files and

environment variables

MQ Installation• MQ commands

“Machine”• OS commands and tools

Monitoring• MQ commands• Event messages• Statistics messages• SMF data• Trace messages• Log files

Vendor tooling

MQ Appliance adds:• MQCLI• MQ Console• Appliance Console

From a tooling perspective PCF is key

Page 5: New Tools and Interfaces for Managing IBM MQ

5

Why we need more• While PCF is very powerful, it is not that

easy to use– Requires an MQ client, and a supported

programming language– Binary format– Multiple messages generated per request– There are tools to make this easier

• There is a growing need for the ability to administer MQ from – Any environment– Any programming language– By users who are not expert in MQ

• Lots of customers are writing self-service web-portals for managing their infrastructure,including MQ5

**** Message ****

length - 724 of 724 bytes

00000000: 080A 4103 0000 0000 5744 5220 0200 0000 '..A.....WDR ....‘ 00000010: 8800 0000 6700 0000 514D 4752 315F 3230 'ˆ...g...QMGR1_20‘ 00000020: 3135 2D31 302D 3239 5F30 392E 3431 2E31 '15-10-29_09.41.1‘ 00000030: 3620 2020 2020 2020 2020 2020 2020 2020 '6 ‘ 00000040: 2020 2020 2020 2020 514D 4752 3120 2020 ' QMGR1 ‘ 00000050: 2020 2020 2020 2020 2020 2020 2020 2020 ' ‘ 00000060: 2020 2020 2020 2020 2020 2020 2020 2020 ' ‘ 00000070: 2020 2020 2020 2020 0000 0000 0000 0000 ' ........ ‘ 00000080: 58CA 0000 0000 0000 0000 0000 0000 0000 'X...............‘ 00000090: 644E 4656 2116 4656 3230 3135 2D31 302D 'dNFV!.FV2015-10-‘ 000000A0: 3239 2020 0000 0000 3039 2E34 312E 3233 '29 ....09.41.23 ‘ 000000B0: 0100 0000 4D51 4D4D 0000 0000 3038 3030 '....MQMM....0800‘ 000000C0: 3030 3034 0000 0000 434C 5553 5445 5231 '0004....CLUSTER1‘ 000000D0: 2E51 4D47 5231 2020 2020 2020 0B00 0000 '.QMGR1 .... 000000E0: 0800 0000 0200 0000 2020 2020 2020 2020 '........ 000000F0: 2020 2020 2020 2020 2020 2020 2020 2020 '

Page 6: New Tools and Interfaces for Managing IBM MQ

66 05/03/2023

InterConnect2017

What’s new?

Page 7: New Tools and Interfaces for Managing IBM MQ

7

• MQ 9.0.1 CD added support for a number of HTTP-based administration capabilities– Focus on low barrier of entry and ease of use– MQ Console – a web-browser based graphical administration tool– MQ REST API – a programmatic administration API

• Enhanced further in 9.0.2

• As 9.0.1 is a CD release these capabilities are supported on a subset of platforms– Windows, Linux and z/OS

• Need a web-serving environment to run in– The mqweb server

Overview

7

Page 8: New Tools and Interfaces for Managing IBM MQ

88 05/03/2023

InterConnect2017

The mqweb serverV9.0.1

Page 9: New Tools and Interfaces for Managing IBM MQ

9

Web component

• A new optional install component• Contains the MQ Console, MQ administrative REST API plus prereqs

• WebSphere Liberty Profile which runs the mqweb server

• New USS FMID on z/OS• JMS9016

V9.0.1

Page 10: New Tools and Interfaces for Managing IBM MQ

10

MQ installation

Server component

Perhaps a picture would help?

Queue manager

Web component

PCF

Control commands

NEW

V9.0.1

Liberty

mqwebserver

MQ Console

REST API

HTTP

HTTP

Page 11: New Tools and Interfaces for Managing IBM MQ

11

The mqweb server

• The MQ Console and REST API are applications that run in a WebSphere Liberty Profile (WLP) server called mqweb• WLP is provided as part of MQ install• mqweb server definition provided out of the

box when installing the web component

• Once installed:• MQ Console is enabled• REST API is enabled

(at 9.0.2, disabled at 9.0.1)• HTTPS on localhost only• Locked down

V9.0.1

CWWKE0001I: The server mqweb has been launched.CWWKG0028A: Processing included configuration resource: C:\Program Files\IBM\Latest902\web\mq\etc\mqweb.xmlA CWWKG0028A: Processing included configuration resource: C:\Program Files (x86)\IBM\WebSphere MQ\web\installations\Latest902\servers\mqweb\mqwebuser.xmlCWWKE0002I: The kernel started after 2.493 secondsCWWKF0007I: Feature update started.CWWKO0219I: TCP Channel defaultHttpEndpoint-ssl has been started and is now listening for requests on host 127.0.0.1 (IPv4: 127.0.0.1) port 9443.CWWKZ0018I: Starting application com.ibm.mq.rest.CWWKZ0018I: Starting application com.ibm.mq.console.SRVE0169I: Loading Web Module: com.ibm.mq.rest.v1.SRVE0250I: Web Module com.ibm.mq.rest.v1 has been bound to default_host.CWWKT0016I: Web application available (default_host): https://localhost:9443/ibmmq/rest/v1/CWWKZ0001I: Application com.ibm.mq.rest started in 0.518 seconds.SRVE0169I: Loading Web Module: mqconsole.SRVE0250I: Web Module mqconsole has been bound to default_host.CWWKT0016I: Web application available (default_host): https://localhost:9443/ibmmq/console/SRVE0169I: Loading Web Module: com.ibm.mq.consoleinternal.SRVE0250I: Web Module com.ibm.mq.consoleinternal has been bound to default_host.CWWKT0016I: Web application available (default_host): https://localhost:9443/ibmmq/console/internal/CWWKZ0001I: Application com.ibm.mq.console started in 0.525 seconds.CWWKF0012I: The server installed the following features: [concurrent-1.0, jsp-2.2, servlet-3.1, ssl-1.0, jndi-1.0, basicAuthenticationMQ-1.0, websocket-1.0, json-1.0, localConnector-1.0, jaxrs-1.1].CWWKF0008I: Feature update completed in 2.095 seconds.CWWKF0011I: The server mqweb is ready to run a smarter planet.REST023: MQ REST API level: p902-dfct-L170216.1

Page 12: New Tools and Interfaces for Managing IBM MQ

12

Configuring mqweb server

• Currently done by editing xml (standard WLP approach)• File called mqwebuser.xml provided in MQ data directory

• This is the only part of the WLP xml configuration that we support customers editing:

V9.0.1

Security enabled by default

No users defined

Page 13: New Tools and Interfaces for Managing IBM MQ

13

Managing mqweb server• Distributed: three new control commands

– strmqweb, endmqweb, dspmqweb

• z/OS: Sample JCL – CSQ4WEBS – provided– Sets all necessary variables up and then starts up mqweb server

V9.0.1

Page 14: New Tools and Interfaces for Managing IBM MQ

1414 05/03/2023

InterConnect2017

The MQ REST APIV9.0.1

Page 15: New Tools and Interfaces for Managing IBM MQ

15

MQ REST API• An administrative API for managing MQ via REST• Is much more intuitive to use than PCF and makes it easier to create MQ

tooling, e.g. a self-service web-browser based MQ portal using JavaScript– No need for an MQ client!– Callable from any language which can invoke an HTTPS endpoint– Many languages now have built in, or easily added, support for REST

• Payload format is JSON (JavaScript Object Notation)• Human readable, not a binary format

Curly bracket denotes JSON object

Square bracket denotes JSON array

Name, value pair. Where value is of type string

V9.0.1

A nested unnamed object, in an array

Page 16: New Tools and Interfaces for Managing IBM MQ

16

MQ REST API

• Based off underlying MQ capabilities such as PCF and control commands, but adjusted to adhere to RESTful practices

• URL represent target object for command

GET

POST

DELETE

PATCH

DEFINE

DISPLAY

ALTER

DELETE

HTTP MQSC

V9.0.1

+sendJSON

+

C

R

U

D

Queue Managersend

JSON

+receiveJSON

Page 17: New Tools and Interfaces for Managing IBM MQ

17

Evolution of the MQ REST API

• Iteratively developed in CD releases– 9.0.1:

• REST API introduced• Contains ability to list queue managers (dspmq) and their installation (dspmqver)• Not integrated into mqweb server/MQ security so disabled by default

– 9.0.2:• Integrated into mqweb server and MQ security, enabled by default• Contains CRUD for queues and the ability to display queue status• Supported on MQ Appliance

• Same function on Distributed and z/OS• Some minor differences

• Restricted to the installation associated with the MQ install• On z/OS queue managers must be at the same CD level

V9.0.1

Page 18: New Tools and Interfaces for Managing IBM MQ

18

GET /ibmmq/rest/v1/qmgr (dspmq)

• Ability to list queue managers associated with installation• Example below uses curl to list all queue managers

• -k flag tells it to ignore the fact that a self-signed certificate is being used on the mqweb server, you don’t want to be doing this in production!

V9.0.1

Page 19: New Tools and Interfaces for Managing IBM MQ

19

GET /ibmmq/rest/v1/qmgr (dspmq)• Can get information on just a specific queue manager

– GET /ibmmq/rest/v1/qmgr/{qmgrName}

• Can request additional attributes too, or just a sub-set– GET /ibmmq/rest/v1/qmgr?attributes=*

19

V9.0.1

Page 20: New Tools and Interfaces for Managing IBM MQ

20

GET /ibmmq/rest/v1/installation (dspmqver)

• Basic display

• All attributes

V9.0.1

Page 21: New Tools and Interfaces for Managing IBM MQ

21

Queues…• DEFINE Q*

– POST to /ibmmq/rest/v1/qmgr/{qmgrName}/queue

curl -k -X POST -H "Content-Type: application/json" -d "{\"name\":\"Q1\"}" https://localhost:9443/ibmmq/rest/v1/qmgr/bob2/queue

• DISPLAY Q*– GET to /ibmmq/rest/v1/qmgr/{qmgrName}/queue/{queueName}

21

V9.0.2

Queue definition, very simple in this case

Sending JSON payload

Queue manager name

Page 22: New Tools and Interfaces for Managing IBM MQ

22

Queues…• ALTER Q*

– PATCH to /ibmmq/rest/v1/qmgr/{qmgrName}/queue/{queueName}– E.g: the following will PUT inhibit Q.LOCAL1

curl -k -X PATCH -H "Content-Type: application/json" -d "{\"general\":{\"inhibitPut\": true}}" https://localhost:9443/ibmmq/rest/v1/qmgr/bob2/queue/Q.LOCAL1

• DELETE Q*– DELETE to /ibmmq/rest/v1/qmgr/{qmgrName}/queue/{queueName}

22

V9.0.2

Page 23: New Tools and Interfaces for Managing IBM MQ

23

Queues…• Also possible to issue DISPLAY QSTATUS

– GET to /ibmmq/rest/v1/qmgr/{qmgrName}/queue/{queueName}?status=*&applicationHandle=*– So you can get both the queue definition and its status at the same time!

23

V9.0.2

Page 24: New Tools and Interfaces for Managing IBM MQ

24

API discovery• Want to find out what is available in the MQ REST API, and don’t want to read

the KC?• Then try out API discovery!• Function in WLP that describes the MQ REST API using Swagger• Makes it easier to see what is there, and try it out

24

V9.0.1

Page 25: New Tools and Interfaces for Managing IBM MQ

25

API discovery

25

V9.0.1

Page 26: New Tools and Interfaces for Managing IBM MQ

26

REST API security• Role based access control. Need

to be a member of one of at leastone role– MQWebAdmin– MQWebAdminRO– MQWebUser

• User and groups defined in a registry– Basic– LDAP– SAF (on z/OS)

• REST is locked down by default, need to do some configuring– Samples provided to make

this simpler

26

V9.0.2

Page 27: New Tools and Interfaces for Managing IBM MQ

27

REST API authentication• Token based

– User logs in once with user id and password and then gets a cookie which is used for subsequent requests

curl -k -X POST -H "Content-Type: application/json" -d "{\"username\":\"mqadmin\",\"password\":\"mqadmin\"}" https://localhost:9443/ibmmq/rest/v1/login -c c:\temp\cookiejar.txt

– DELETE to the login URL logs out

• Or HTTP basic authentication– User id and password provided as an encoded header, must be set for each request

• CORS support enabled for web-browser based environments– Provides a whitelist of origins (URLs) which can invoke the REST API

27

V9.0.2

User id and passwordprovided as JSON payload

Cookie stored for use on next request

Page 28: New Tools and Interfaces for Managing IBM MQ

2828 05/03/2023

InterConnect2017

The MQ ConsoleV9.0.1

Page 29: New Tools and Interfaces for Managing IBM MQ

29

MQ Console• Browser based interface for administering and managing MQ

• No client side install needed• Originally available in MQ Appliance only

• As of 9.0.1 a common capability across appliance and software MQ• Re-engineered on AngularJS so different implementation than on 8.0.0.* appliance• Functional parity with MQ Console in 8.0.0.* appliance

• Some capabilities not available on z/OS• Can’t create/delete/start/stop queue managers, etc

• Can only interact with queue managers running in the same installation• On z/OS all queue managers at the same CD level

V9.0.1

Page 30: New Tools and Interfaces for Managing IBM MQ

30

MQ Console – log in• Point your web-browser at the MQ Console and log in

– With a user id and password– With a client certificate

• Log in credentials validatedvia user registry configuredin the mqweb server– Like the REST API

• Access determined by role– Same role names as REST API – But in a different name space so

REST users don’t need to have same access as MQ Consoleusers

V9.0.1

Page 31: New Tools and Interfaces for Managing IBM MQ

31

MQ Console – add widgets• Console dashboard consists of a number of widgets, each widget shows

information for a particular set of MQ objects: queue managers, queues, etc

V9.0.1V9.0.1

Page 32: New Tools and Interfaces for Managing IBM MQ

32

MQ Console – add widgets• Console dashboard consists of a number of widgets, each widget shows

information for a particular set of MQ objects: queue managers, queues, etc

V9.0.1

Page 33: New Tools and Interfaces for Managing IBM MQ

33

MQ Console – add widgets• Console dashboard consists of a number of widgets, each widget shows

information for a particular set of MQ objects: queue managers, queues, etc

V9.0.1

Page 34: New Tools and Interfaces for Managing IBM MQ

34

MQ Console – layout• Can use multiple tabs to help manage content• Each user can layout their dashboard according to their needs• Can export dashboard to share layout with others

V9.0.1

Page 35: New Tools and Interfaces for Managing IBM MQ

35

MQ Console - manage• Monitor your MQ queue managers using

charts generated from statistics informationpublished to system topics– added in 9.0.0 on distributed platforms

• Display and alter objects using the properties editor

• Browse and send messages• Provides a sub-set of MQ Explorer function

V9.0.1

Page 36: New Tools and Interfaces for Managing IBM MQ

36

Summary

• Existing capabilities• What’s new?

– The mqweb server– The MQ REST API– The MQ Console

36

Page 37: New Tools and Interfaces for Managing IBM MQ

3737 05/03/2023

InterConnect2017

Questions?

Page 38: New Tools and Interfaces for Managing IBM MQ

38

InterConnect2017

Thank you

IBM Messaging Developer Centredeveloper.ibm.com/messaging

IBM Messaging Youtubewww.youtube.com/IBMmessagingMedia

LinkedIn ibm.biz/ibmmessaging Twitter@IBMmessagingIBM MQ Facebookfacebook.com/IBMMQ

Page 39: New Tools and Interfaces for Managing IBM MQ

3939

InterConnect2017

IBM MQ Sessions at a GlanceMonday

1:00-1:45pm 6880 IBM MQ Appliance: Messaging in a Box6894 Messaging APIs

2:00-2:45pm 6879 IBM MQ Advanced

3:15-4:00pm 6882 What’s New in the World of IBM MQ

4:15-5:00pm 3559 Banrisul Bank’s Migration to the MQ Appliance6904 Help Shape the Future of IBM MQ

6:00-6:20pm 7441 IBM MQ in the Cloud

Tuesday11:30-12:15pm 1487 IBM MQ Versus Open Source Messaging

1:30-2:15pm 1183 IBM MQ Appliance: Best Practices from the Field

2:30-3:15pm 6881 Unlock the data flowing through the infrastructure

3:45-4:30pm 4555 Allstate’s Experience with the MQ Appliance

4:15-4:35pm 7440 Managed Event Streams

4:45-5:30pm 5214 Managing Loyalty Programs with IBM MQ6895 IBM MQ for z/OS: The Latest and Greatest

Wednesday8:00-8:45am 2699 IBM MQ for z/OS: Performance Tuning

6885 Deploying IBM MQ into the Cloud6906 IBM MQ Appliance: Hands-on Lab (8:00-9-45)

10:15-12:00pm 6907 IBM MQ Hybrid Cloud: Hands-on Lab11:15-12:00pm 6884 Designing MQ for the Cloud Generation

6904 Help Shape the Future of IBM MQ

1:00-1:45pm 6903 Share your Experiences with the IBM MQ Experts

2:00-2:45pm 3695 How Banco Bradesco Manages IBM MQ for z/OS

3:15-4:00pm 6892 Availability and Scalability with MQ Clusters

4:15-5:00pm 6891 Making MQ Resilient across DCs and the Cloud6893 Keep Out the Bad Guys by Securing MQ

Thursday8:30-9:15am 6886 Simple, Resilient Messaging with MQ Appliance

9:30-10:15am 6878 You Need MQ Messaging!6887 Managing MQ Messaging in the Hybrid Cloud6890 New Tools and Interfaces to Manage IBM MQ

10:30-11:15am 6889 Help! Has Anyone seen my MQ Message?

Find us in the EXPO: Hybrid Integration Booth, Messaging Ped

Page 40: New Tools and Interfaces for Managing IBM MQ

4040 05/03/2023

Notices and disclaimers

Copyright © 2017 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.

IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.”

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 41: New Tools and Interfaces for Managing IBM MQ

4141 05/03/2023

Notices and disclaimers continued

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


Recommended