Sie sind auf Seite 1von 132

IBM Software An IBM Proof of Technology

WebSphere

Discovering the value of IBM


WebSphere MQ v7.5
Presentation
An IBM Proof of Technology
PoT.WebSphere.13.4.106.00

© Copyright IBM Corporation, 2013


US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
An IBM Proof of Technology

WebSphere MQ

Introduction and Agenda

© 2013 IBM Corporation

IBM Software

Unit Agenda
 Why is Messaging Important to the Enterprise?
 What is WebSphere® MQ? Why use it?
 What are:
–Messages
–Queues
–Queue Managers
–Channels
 Lab 1 – Exploring WebSphere MQ

2 Introduction and Technical Overview © 2013 IBM Corporation

Page 3
IBM Software

What is WebSphere MQ - IBM

 A proven way of bridging between


the components of your Service
Oriented Architecture (SOA)
 Like a strong, broad bridge it
robustly links your applications and
your Web services
 It connects virtually any commercial
IT system
 Helping you to share and exchange
critical business information with
ease, confidence and security

3 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

Why is this a Challenge?


“Computers are really dumb. You have to tell them everything.”
 How do you…?
– Move data across different systems, platforms, and
devices when the HW, SW configurations and
programming models are different?
– Overcome network failures? You either:
– Deliver information when the target application is
not online or is busy?
– Ensure transmission integrity and recovery? 1. Program it all into
– Handle lost or/duplicate data? your applications
– Ensure a secure connection?
– Ensure multi-step transactions either happen
completely or not at all? 2. Build your own
– Apply qualities of service based on different
requirements? e.g., assured delivery, fast
middleware
delivery?
– Manage a session (request/response)? 3. Buy middleware to
– Efficiently distribute events? do it for you
– Scale to handle volumes?
– Deal with data in unlike formats?
– Determine which data to send where?
– Audit who sent what, where and when?

4 Introduction and Technical Overview © 2013 IBM Corporation

Page 4
IBM Software

The value of IBM’s WebSphere MQ Messaging capabilities

WebSphere MQ Messaging

MQ, Applications
ERP/EIS
ERP/EIS /CRM
/CRM
Files
Files Devices
Devices MQ, JMS,
JMS, MSMQ
MSMQ Mainframe
Payer Mainframe
CICS
CICS // IMS
IMS
Web Services
Services Microsoft
Microsoft Databases
Web 2.0 Web Databases

 Provides a universal messaging fabric for access to any type of data wherever it is
 Asynchronous reliable messaging
 Synchronous alerts, events, notifications

 Reliable secure delivery of data between range of endpoints


 Applications, services, mobile, sensors

 Dynamic real-time delivery of relevant information based on topic space


 Publish / Subscribe, Multicast

 Support for a range of transports each optimized for specific use cases
 MQ for enterprise messaging; MQTT for mobile, sensors, Internet of Things; MFT for Managed File Transfers over
MQ;
 HTTP / WebSockets for Internet messaging; Advanced Message Security (AMS) for end-to-end payload encryption
5 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

IBM’s Universal Messaging Backbone


Proven, Flexible, Robust business data delivery from anywhere to everywhere

IBM U
IBM UNIVERSAL MESSAGING
NIVERSAL M ESSAGING

Business
Sense and Respond
Transactions
MQ
MQ MQTelemetry
MQ Telemetry

Leveraging System z Web applications


MQfor
MQ forz/OS
z/OS MQHTTP
MQ HTTPBridge
Bridge

Managed File Transfer Real-time Awareness

MQFile
MQ FileTransfer
TransferEdition
Edition MQLow
MQ LowLatency
LatencyMessaging
Messaging

Extra Data Protection Cloud Platform-as-a-Service


MQAdvanced
MQ AdvancedMessage
MessageSecurity
Security MQHypervisor
MQ HypervisorEdition
Edition

6 Introduction and Technical Overview © 2013 IBM Corporation

Page 5
IBM Software

MQ Facts & Figures

 20+ years of maturity

 9600 Certified Professionals

 10000 Customers

 90% Fortune 50

 Government agency : 675m msg/day


 Financial Institutions : 213m msg/day
(with one machine)

7 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

History

8 Introduction and Technical Overview © 2013 IBM Corporation

Page 6
IBM Software

History
● IBM MQSeries® Introduced in 1992, initial release in 1994
 C, COBOL, PL/I language initially supported by MQI
 Limited initial set of API verbs (MQCONN, MQOPEN, MQPUT, MQGET, etc)
● MQ Publish/Subscribe support introduced in 1998
● JMS Specification published around the same time
 Java™ Message Service (JMS) provided a higher level OO abstraction for messaging and
simplified Pub/Sub
 MQSeries implementation of JMS introduced shortly after specification published (1999)
● Additional languages, platforms and protocols supported over time
 VB, .NET, C++, C#
 Tandem (now HP NonStop Server), DEC (now HP OpenVMS), etc
 Message Service API (XMS) introduced to provide non-Java developers the benefits of JMS
 Java Connector Architecture (JCA) and HTTP support extends reach
● Product renamed WebSphere MQ in 2002
● V7 introduced new MQ API (MQI) functions closely mapped to JMS specification
● WebSphere MQ File Transfer Edition released in 2010 – V7.0.1
► Managed file transfer over MQ
● WebSphere MQ Advanced Message Security
► Protects messages on queues using PKI

9 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

What does WebSphere MQ do?

●Provides messaging services to applications and Web services that need


to exchange data and events with:
Proven reliability
Transactional integrity
Consistency Application A Application Z

Time independence
Ease and Speed
Flexibility WebSphere MQ

High-performance
Security WebSphere MQ is like email for SOA applications
Scalability …but email you can bet your business on

Auditability

10 Introduction and Technical Overview © 2013 IBM Corporation

Page 7
IBM Software

How do you use WebSphere MQ?

Developers attach Application and


applications and Web technology adapters
services to WebSphere MQ accelerate this activity…
using a choice of cross-
platform languages and
interfaces – such as JMS

JMS Interface MQ Interface XMS Interface


WebSphere MQ

Integration specialists
use cross-platform
graphical tooling to
configure their
messaging networks
– these tools are based
on open source Eclipse

11 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

How does WebSphere MQ work?

 Messaging services are based on Queues


Message
that store and forward data based on
simple programming commands Queue

 Uses the proven database technique of


two-phase commit transactions to ensure
messages are not lost or duplicated
 Uses publish/subscribe to route
messages dynamically based on keywords Application A Application Z

or “topics”
 Uses multi-processor threading and
clustering to accelerate throughput of
messages MQ Client MQ Server

12 Introduction and Technical Overview © 2013 IBM Corporation

Page 8
IBM Software

The Value of Loose Coupling


Everything
Logical
Constantly
Connection
B Available
Everything
Conditionally
Available
A
B Busy

Not
B Available

A Message/Queuing
Environment B
A B Not
Available
Not A
Available

Not A
Available

13 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

Synchronous vs. Asynchronous Communications

Synchronous communications = Telephone conversation


YOU can’t simultaneously have separate
conversations without:
Connected!
 Experiencing overlapping conversations
Busy! and losing track of what is going on
Busy!
or
Busy!
 Waiting for the other person to finish
Busy! Busy! before responding.

NEITHER CAN YOUR APPLICATIONS!

Asynchronous communications = Voicemail / Email


Please leave a Asynchronous communications
message and I will enable better resource utilization thus
listen to it when I am
available. improving performance; carry on
processing until system is available.
14 Introduction and Technical Overview © 2013 IBM Corporation

Page 9
IBM Software

Elements of Messaging and Queuing

 Programs communicate by
putting messages in message
queues

“A building block for


distributed processing”
15 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

Elements of Messaging and Queuing

 Communication can
be one way or two
way

16 Introduction and Technical Overview © 2013 IBM Corporation

Page 10
IBM Software

Elements of Messaging and Queuing

 Either program can


be busy or
unavailable

17 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

Elements of Messaging and Queuing

There can be a one to many


relationship between
applications
Or a many to one
relationship between
applications

18 Introduction and Technical Overview © 2013 IBM Corporation

Page 11
IBM Software

What is a Message?

 A message is considered to be the unit of data to be moved


from one application to another
 A message is built by an application
 A message is consumed by a different application
 Message can contain any kind of data:
– Binary data
• A video clip, a song, a photograph, a sensor reading, etc…
– Text data
Raw text
XML
– Structured data (C Structures, COBOL Copybook, Serialized Java objects)
– The source data is the choice of the application

19 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

The structure of an MQ Message


Message Headers Message Properties Message Data

Message Headers Message Properties Message Data


A Set of Message Attributes ●Arbitrary values associated Any sequence of bytes
understood and augmented with the message but not part –Defined by the sending program
by the Queue Manager of the body –Understood by the receiving
–Unique Message Id ●Properties can be integers, program
–Correlation Id strings, boolean, etc. –NOT meaningful to the Queue
–Routing Information ●Receiving apps do not see Manager
–Reply Routing them unless they want Can contain any data
Information ●Permits explicit statement of –Structured
–Message Priority relationships between • XML, Tagged, Tagged
–Message Persistence messages Delimited, C or Cobol
•Persistent e.g. Message X is a defined, etc.
•Non-persistent REPLY to Message Y –Unstructured
–Message Codepage • Binary
–Message Format A video, a picture, etc.
–Etc… • Any content

20 Introduction and Technical Overview © 2013 IBM Corporation

Page 12
IBM Software

What is a Queue?

 Messages are delivered asynchronously to a Queue


 A Place to hold messages
 Queue creation
– Pre-defined
– Dynamic definition
 Message Access
– FIFO (first in first out)
– Priority (FIFO within Priority)
– Direct
– Destructive & non-destructive access
 Parallel access by applications
– Managed by the queue manager

21 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

What is a Queue Manager?


Applications
Utilities
Command Server
Listener
Channel Initiator
Trigger monitor
Windows Explorer
PUT GET
LOG

Operating System
• Timers
• Semaphores
Operating • ECBs
Messaging System • Memory
& Queuing & Storage •…

Communications

22 Introduction and Technical Overview © 2013 IBM Corporation

Page 13
IBM Software

How are Messages Persisted?


Queue Files Logs
Application Queue
Program Manager
Queue
Persistent
message
MQPUT
CC/RC ● Messages may be written to queue files
● Persistent messages are logged
• Persistent Messages are always
Queue
recoverable
Non-Persistent
message • Logging has implication on
MQPUT performance
CC/RC
● Non-persistent Messages have 2 classes
of service:
• Messages are retained for the life of
the Qmgr
• Messages can survive a normal
shutdown and restart of the Queue
Manager

23 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

What are Channels?

 Queue Manager to Queue Manager


– Uni-directional
– Usually defined in pairs for example:
• One Sender
• One Receiver
– Asynchronous
 Client to Queue Manager
– Bi-directional
– Defined as a single channel
– Synchronous

 A building block for a reliable Enterprise Service Bus


(ESB)
** Note: Client to Client communication must go via a Queue Manager

24 Introduction and Technical Overview © 2013 IBM Corporation

Page 14
IBM Software

Reliable, asynchronous communication with WebSphere MQ

Accept Message
• Receive message from application
Program A Program B • Manage “unit of work”

Put Q1 Get Q1

Apply Security (optional)


• Access Control
(permission to get/put by queue or
topic)

Q12 Q5 Q1 Deliver Message(s)


• Deliver message to application
Messaging and Queuing
• Ensure Exactly Once Delivery (even
after a failure)
• Manage “unit of work”

25 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

Queues can be Local or Remote


System 1 System 2

Program A Program B Program C

Put Q1 Get Q1 Get Q2


Put Q2 Get Q2

MQI MQI

Messaging
Messaging and
and Queuing
Q1
Queuing Q2

XmitQ Sender Receiver


Channel Channel

TCP/IP is primary protocol

26 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

Page 15
IBM Software

Developing WebSphere MQ Applications

 WebSphere MQ supports a wide range of platforms


– Windows®, UNIX , Linux, z/OS®, IBM i®, HP NonStop, etc…
 With a whole range of programming languages
– Java, C/C++, C#, .NET, COBOL, RPG, TAL, PL1, etc…
 And a wide range of Interfaces
– MQI, JMS, .NET, etc…
 A large number of sample programs are provided to show how to develop
MQ applications for various languages and environments, for example:
– Put sample amqsput
– Get sample amqsget
– Browse sample amqsgbr
– Publish sample amqspub
– Subscriber sample amqssuba
– …and many others

27 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

The solution to Universal Connectivity  IBM WebSphere MQ


Features:
WebSphere MQ can dramatically WebSphere MQ supports the broadest range of APIs,
reduce application infrastructure programming languages and OS platforms
costs by providing a single Provides the only JMS engine that can be implemented
on “any” standards-compliant JEE server
manageable distributed infrastructure Provides rich web services interfaces for customers
for all application messaging traffic. needing reliable SOAP message delivery
Offers a broad range of qualities of service and
messaging methods including publish/subscribe
Supports major transaction monitors and database
managers
Offers the most scalable, most manageable messaging
system available
Assures transactional message delivery end-to-end.

Multiple APIs
COBOL, C, C++, RPG, Java / JEE C, C++, .NET C# Microsoft® Web Services HTTP, FTP, …
…others.
MQ Interface JMS XMS .NET (C#) SOAP Other Interfaces

WebSphere MQ

HP-UX Windows zLinux Solaris AIX zOS i5OS Linux NSS OVMS

80+ platform configurations


28 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

Page 16
IBM Software

WebSphere MQ Enterprise Class Messaging


 Proven Scalability
– Grow your network incrementally one server at a time
 Performance
– Many clients are moving millions of messages per day
 Administer massive networks
– Cross-platform, remote configuration tooling
– Tivoli® CAM for enterprise-wide systems administration
 Support for virtually any commercial IT platform
 MQ for z/OS
– Built from the ground up to exploit zSeries platform
– Consistent with MQ on distributed platforms
 Clustering on distributed, shared queues on z/OS
– For High-Availability and workload balancing
– Easier to set up than you may think!
 Multi-threading  90% of the Fortune 100
– Exploits multi-processors for high-speed throughput  300 of the Fortune 500
 Multi-instance queue managers  66% of NA and European banks
– Software high-availability option  Banking clients move transactions
 Security worth $35 Trillion over MQ
– Industry-standard SSL support  Government clients move 675+
– Certified for Common Criteria million messages per day over MQ
– Policy-based security with MQ Advanced Message Security
 IBM’s worldwide 24x7 support

29 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

Let’s Explore WebSphere MQ!

30 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

Page 17
IBM Software

Lab 1 – Exploring WebSphere MQ


Administration Using the WebSphere MQ Explorer
 In the First Lab you will:
– Create a Queue Manager
– Work with Queues
(create, test, browse,
delete)
– Connect queue managers
using channels, and
explore distributed
queuing
– Create a Queue Manager
Group (or Set)
– Administer a Group of
Queue Managers
Collectively
– Use Filters

31 5/28/2013 Introduction and Technical Overview © 2013 IBM Corporation

IBM Software

It’s Time For Lab 1!

Introduction To WebSphere MQ Explorer

32 Introduction and Technical Overview © 2013 IBM Corporation

Page 18
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Overview of the WebSphere MQ JMS Provider

© 2013 IBM Corporation

IBM Software

Unit Agenda

 Basic Concepts of the Java™ Message Service (JMS)


– What is it? Why use it?
– What are:
• Administered objects
Connection Factories
Destinations
• Connections
• Sessions
• Message Producers and Consumers

 How does WebSphere® MQ Implement JMS?


 Benefits of using WebSphere MQ as your JMS Provider
 Lab 2 - WebSphere MQ JMS Provider

2 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 19
IBM Software

What is the Java Message Service (JMS)?

 JMS is a fixed API defined by the JMS 1.1


Specification, managed by the Java
Community Process.

 The JMS API is provided as a set of


interfaces. Product providers of JMS
implement these interfaces.

 JMS allows Java programmers to access


messaging systems in a common manner.

 The Java Message Service specification 1.1


states:
JMS is a set of interfaces and associated
semantics that define how a JMS client
accesses the facilities of an enterprise
messaging product.

3 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

The objectives of JMS

 The objectives of JMS as stated in the specification are to:


– Define a common set of messaging concepts and facilities

– Minimize the concepts a programmer must learn to use enterprise


messaging

– Maximize the portability of messaging applications

– Minimize the work needed to implement a provider

– Provide API interfaces for messaging domains:


• Point-to-point

• Publish/Subscribe

• Generic (domain-independent)

4 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 20
IBM Software

JMS Architecture

5 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

Building Blocks of JMS


 Connection Factory: An
administered object that creates a
connection to the provider's
underlying messaging system.

 Connection: An active connection


to a provider.

 Session: A single-threaded context


for sending and receiving
messages.

 Message Producer: Used for


sending messages.

 Message Consumer: Used for


receiving messages.

 Destination: An administered object


that encapsulates the identity of a
message destination, such as where
messages are sent to or received
from.

6 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 21
IBM Software

Developing a JMS program


 A typical JMS program goes through the following steps to begin producing and
consuming messages:

7 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

JMS Messages

8 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 22
IBM Software

WebSphere MQ as a JMS Provider

9 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

WebSphere MQ as a JMS Provider

 IBM provides an implementation of JMS over WebSphere


MQ
– Referred to as the WebSphere MQ classes for Java Message
Service (also referred to as WebSphere MQ JMS)
– IBM also has other JMS implementations for other messaging
environments
– Other messaging vendors also provide JMS implementations
 The WebSphere MQ JMS implementation has evolved
over time
– Through improvements in the JMS layer
– Also through new underlying WebSphere MQ features
– JMS API exposes these enhancements, typically as performance or
usability improvements
But JMS programs can be insulated from the specifics by using
ConnectionFactory and Destination administered objects

10 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 23
IBM Software

JMS Architecture mapped to MQ objects


WebSphere MQ
Classes for
JMS

WebSphere MQ
API (MQI)
WebSphere
MQ Queue
Manager

QMgr/Connection
details

WebSphere
MQ Queues /
Topics

11 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

JMS Constructs Mapped to WebSphere MQ Features


 The WebSphere MQ Classes for JMS exploit a number of performance and interoperability features
available to applications using the Native MQ API, including:

– Multiplexed Connections JMS Client WebSphere MQ Queue Manager

C Socket hC

S S S hC hC hC

– Asynchronous Consumers Consumer

– Selectors Consumer x
x

Consumer
– Publish/subscribe, as well as point-to-point messaging Producer
Consumer
Consumer

– Non-blocking Producers Producer

J2EE App Server


– Read-Ahead MDB
MDB
MDB

– Interoperability between JMS and other WebSphere MQ applications


JMS App WebSphere MQ App

12 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 24
IBM Software

JMS Administration using the MQ Explorer

13 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

Benefits of the MQ JMS Provider for Developers

 Extensive samples
– Specific, documented samples for point-to-point and publish/subscribe
producers and consumers

 Integration with MQ Explorer


– Administrative view of WebSphere MQ as a JMS provider

 Easy to use ‘out of the box’


– Default configuration optimized for use as a JMS provider

 Extensive problem determination and serviceability aids


– e.g. JMS trace facilities provide detail diagnostics

14 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 25
IBM Software

Benefits of the MQ JMS Provider for System Administrators

 Integration with MQ Explorer


– Administrative view of WebSphere MQ as a JMS provider
 Integrated publish/subscribe engine
– Started, configured and monitored as part of the queue manager
– No need for complex control, publication and subscription queues
 Queue and Topic administration and security
– Access to both can be configured and managed
 Simple, straightforward configuration and tuning
– Default configuration optimized for use as a JMS Provider
– Simple configuration management
• “One-step” MQ and JMS/JNDI** configuration for queues and topics
 Powerful problem determination and serviceability aids
** Java Naming and Directory Interface

15 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

Benefits of the MQ JMS Provider for Operations Managers

 High throughput for JMS clients and across the messaging system
– Latest version provides improvements in non-blocking producers, client read-ahead,
asynchronous consumers, selector support, message driven beans (MDBs), topic subscribers
 Network socket usage minimized
– Multiple Connections and/or Sessions can share the same socket
 Reduced network bandwidth
– Most processing performed server-side, reducing network I/O
– Optimized control message flows, e.g. for topic subscription
 Minimal memory usage
– Lightweight client-side implementation minimizes memory usage
 Minimal CPU usage
– No need for client-side queue polling, most processing performed server-side
 Simple client deployment and configuration
– Default configuration optimized for JMS
 Simplified Pub/Sub management
– Common administrative model for JMS and native MQ Publish/Subscribe

16 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 26
IBM Software

Lab 2 – WebSphere MQ JMS Provider


JMS Administration Using the WebSphere MQ Explorer
 In the Second Lab you
will explore JMS
administration using the
MQ Explorer:
– Create a JNDI context
– Create administered
objects
– See how MQ and JMS
resource creation can be
done jointly
– Exercise the resources
you create

17 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

IBM Software

It’s Time For Lab 2!

JMS Administration Using the WebSphere MQ Explorer

18 Overview of the WebSphere MQ JMS Provider © 2013 IBM Corporation

Page 27
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Overview of Publish / Subscribe

© 2013 IBM Corporation

IBM Software

Unit Agenda

 Publish/Subscribe and WebSphere MQ


– Advantages of Pub/Sub compared to point-to-point
– Terminology - what are:
• Topic objects, topic strings, topic space
• Subscriptions, durable and non-durable
• Destinations, managed and unmanaged
• Publications, retained and otherwise
– Topologies for pub/sub networks
– Administration overview

 Lab 3 - Pub/Sub Administration using the WebSphere MQ


Explorer

2 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 28
IBM Software

Point to Point Examples

●Post Card
Goes to just the person I send it to

●eMail
Might go to lots of people but I get to
choose exactly who gets it

●Message Queuing
If I put a single message it will go to a
single consumer

3 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Publish / Subscribe Examples


 Magazine Publishing
– In the US, over 10,000 titles published

 Airline Departure Boards


– Boards might display (subscribe to)
• All departures
• Departures from this terminal
• Departures by this airline

● RSS News Feeds

4 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 29
IBM Software

Loose coupling with Pub/Sub

Publisher Provider
Publisher Publisher Publisher
Topic
Publisher Publisher

Topic

Topic

Topic
Subscriber
Subscriber Subscriber Subscriber
Subscriber Subscriber
Subscriber

1:1 1:many many:1 many:many

5 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

WebSphere MQ Implementation of Publish/Subscribe

 Central concept is the TOPIC STRING

 Messages are “published” to a Topic string


– Each act of publishing is to a single Topic string

 Subscribers are delivered messages that were published to the Topic


string(s) they registered an interest in (subscribed to)
– Subscribers may register interest in multiple topics
– Wildcards can be used to filter topic names
– Selectors can be used to filter message properties

 Topic strings can be created and secured administratively, or dynamically


by simply being referenced by publishers and subscribers

6 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 30
IBM Software

Publish/Subscribe applications

Subscribing
QM Application

Publishing
Application QM Publish/Subscribe
Publish/SubscribeNetwork
Network Subscribing
QM Application

Subscribing
QM Application

 Applications connect to local queue managers


 They can be different queue managers connected by a network.
 Can use JMS as well as any MQ API
 They are “connected” through a topic string

7 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Concepts – Topic String

 A Topic string is an unlimited length string


 A topic string “connects” publishers and subscribers
 Has a “structure” and a semantics in it
– The structure is supplied by the “/” slash character
– Similar to directory structure on UNIX® or Windows®
• e.g. ”/news/sports/football/teams/minnesota”
 The semantics are implied by the use of wildcards in subscriptions
– “#” and ‘+’ are used as wildcard characters in subscriptions
• e.g. ”/news/+/football/#”

8 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 31
IBM Software

Concepts – Topic Tree

“” (root)
 A topic tree is an internal
representation of the topic
hierarchy
finance football
 It has a root node at the very top

… football/teams  It is implied from the complete set


of topic strings in use - defined,
published to, subscribed to.
… football/teams/minnesota

 There is not necessarily a one-


to-one mapping between topic
objects and nodes in the tree

9 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Concepts – Topic Object

 A Topic Object is a WebSphere MQ object that can be administered

 A Topic Object has a name following the same rules as other WebSphere
MQ objects (Queues etc)

 The Topic String is one of the properties of a Topic Object


– Topic Objects can have other properties set

 Security can be applied to Topic Objects

 Application programs using the MQI can use the topic object as a full or
partial alternative to topic string when publishing or subscribing
– JMS programs would use the Destination object, which maps to a
Topic or Queue object in WebSphere MQ

10 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 32
IBM Software

Concepts – Topic Tree

“” (root)  Nodes which have topic objects


SYSTEM.BASE.TOPIC defined for them can be thought
of as administered nodes

finance
football  They are permanent parts of the
hierarchy
FOOTBALL
 They can have properties
… football/teams
specified for them

 They have topic object names,


… football/teams/minnesota which need not reflect the topic
MINN_TEAM strings

DEFINE TOPIC(FOOTBALL) TOPICSTR(‘football’)

11 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Concepts – Topic Tree


Admin node

Non-admin node
“” (root)
SYSTEM.BASE.TOPIC
 The Topic Tree can be
dynamically extended by a
finance football
publisher and/or subscriber
FOOTBALL – Any missing parts of the tree
hierarchy will be “filled in” when
… football/teams administered nodes are defined

 Dynamically added nodes in the


… football/teams/minnesota Topic Tree inherit all properties
MINN_TEAM from their parent, i.e. from an
administered node above them
Node “football/teams”
automatically added.

12 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 33
IBM Software

Concepts – Topic Tree


Admin node

Non-admin node
“” (root)
SYSTEM.BASE.TOPIC
 Publishing or subscribing to a
topic string that is not yet in the
football
tree causes the tree to be
finance
FOOTBALL
extended
 They are temporary parts of the
hierarchy and will be removed
… football/teams
when no remaining publishers or
subscribers exist
… football/teams/derby
 These nodes inherit all
properties from their parent, and
football/teams/greenbay MINN_TEAM so from an administered node
above them

football/teams/greenbay/transfers
MQSUB(‘/football/teams/greenbay/transfers’)

13 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Concept - Subscriptions

 A subscription is to a topic string


– Wildcards can be used to set them up, but in essence they are to a topic string
– Corresponds to a node in the topic tree
 Subscriptions can be durable, or not
– Non-durable subscriptions mean messages are delivered to you only while you are
connected
– Messages for durable subscriptions are delivered even when disconnected, and can be
retrieved when you next connect
 Subscription destinations can be managed, or not
– With a managed destination a subscription queue is automatically created when you
create a subscription, and is tidied up automatically in accordance with the durability of
the subscription
– With an unmanaged destination, you specify your own queue at the time the subscription
is opened
 Subscriptions can be registered programmatically or
administratively
14 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 34
IBM Software

Concept - Retained Publications

 Most recent message published on a given topic


– Each node on the topic tree can have at most one Retained Publication

 Whether a publication is “retained” is determined at publish time by


the application program
 A subscriber can request, at anytime, the current retained
publication for a given topic
 Example StockPrice.CurrentPrice is a retained publication
– I can be notified whenever it changes – ticker tape
– Or I can request it at any time

15 Overview of Publish / Subscribe


15
© 2013 IBM Corporation

IBM Software

Administered Subscription

 Has a name conforming to usual MQ rules


– Sample attributes
• TOPICSTR – Topic string, basically
unlimited length
TOPICSTR( ‘/football/teams/#’)
• DEST – Name of object to which
messages for this subscription will
be forwarded
DEST(MY.QUEUE)
• DESTQMGR – Remote queue
manager to which messages are
forwarded
DESTQMGR(REMOTE.QMGR)

16 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 35
IBM Software

Distributed Pub/Sub Topologies

 Two types of distributed Pub/Sub topologies are supported


– Publish/Subscribe Clusters
• Queue managers are connected using a “network” or “mesh” connectivity model
• MQ Clustering technology is used to provide connectivity between participating
queue managers
• Publications from any queue manager in the cluster may be subscribed to by any
other
• Enables multiple paths for publications, can eliminate single points of failure
– Publish/Subscribe Hierarchies
• Queue managers are arranged in a Parent/Child Hierarchy
• Each Queue manager may have only one Parent
• Queue managers may exchange Pub/Sub information directly between only their
parent or children
• This approach may require multiple hops and/or create single points of failure
 A Publish/Subscribe network can be created that combines both of these
topologies

17 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Example of a Publish/Subscribe Cluster

QM Sub

Pub QM QM Sub

QM Sub

•Consistent definitions in cluster


•Multiple routes across cluster

18 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 36
IBM Software

Example of a Publish/Subscribe Hierarchy

QM

QM QM

Pub QM QM QM QM Sub

19 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Publish/Subscribe in the WebSphere MQ Explorer

20 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 37
IBM Software

Topic Objects
•Topic Attributes are
associated with a Topic
Object
•The Topic Object is a
Topic Object
WebSphere MQ object Name
that can be administered
•The Topic String is one
of the properties of a
Topic Object
•The topic string Topic String
“connects” publishers and
subscribers
•A Topic string is an
unlimited length string
•Topic Objects can
have other properties
set

21 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Topic Status – current usage of topics

 DISPLAY TPSTATUS( topic-string )


– Topic attributes (TYPE(TOPIC))
• Number of publishers and subscribers
• Whether a retained publication exists
– Subscriber info (TYPE(SUB)):
• Last resume date of subscription and last message delivery time
• Number of messages sent to this subscriber
– Publisher info (TYPE(PUB)):
• Last publish time
• Number of messages published

22 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 38
IBM Software

Administered Subscriptions
•Subscriptions that are Subscription
administratively created Object Name
require a name
Topic Object
•A Topic Object can Name (optional)
optionally be referenced
•The Topic String is
required
•Wildcards may be used
•By definition, an
administered subscriptions
is durable
•Administered
subscriptions can use
either managed or Topic String
unmanaged destinations

23 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Testing Publish and Subscribe

24 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 39
IBM Software

Benefits of Publish/Subscribe with WebSphere MQ

 Applications are more loosely coupled than with point-to-point


– No need to agree on queue names, number of receivers, etc
 Applications decide their message exchange patterns
– One-to-one
– One-to-many
– Many-to-one
– Many-to-many
 Messages are “published” to a Topic string
– Which can be created dynamically
– …or administratively for more control over security, etc
 Subscribers receive messages they registered an interest in
– Subscribers may register interest in multiple topics
– Wildcards can be used to filter topic names
– Selectors can be used to filter message properties

25 Overview of Publish / Subscribe © 2013 IBM Corporation

IBM Software

Lab 3 – WebSphere MQ Publish/Subscribe


Pub/Sub Administration Using the WebSphere MQ Explorer
● In the third lab you will explore Publish/Subscribe
administration using the MQ Explorer

26 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 40
IBM Software

It’s Time For Lab 3!

Pub/Sub Administration Using the WebSphere MQ Explorer

27 Overview of Publish / Subscribe © 2013 IBM Corporation

Page 41
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Implementing Security

© 2013 IBM Corporation

IBM Software

Unit Agenda

 Basic Concepts of WebSphere MQ Security


– Data Protection
– Authorization
– Authentication

 WebSphere MQ Security Components


 Security Administration Overview
– Queue Security
– Pub/Sub Security

 Lab 4 - Security Administration using the MQ Explorer

2 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 42
IBM Software

WebSphere MQ Security Options

 Data Protection
– WebSphere MQ Secure Channels

 Authorization
– Object Authority Manager (OAM) component

 Authentication
– Not performed by WebSphere MQ (relies on OS authentication)

3 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

WebSphere MQ Security Enforcement Points


Application
API Exit
Points
MQCONN

MQOPEN

MQGET
MQPUT

Secure
Channels Channel
and/or
MQ API message exit
points

Topics Message
Channel
OK? Queue Agent
Secure Channels
Manager (MCA)

Queues
Y/N OAM access
OAM * Channel/Message
control on
Exits
queues, topics,
* Or a SAF-compliant ESM on z/OS etc

4 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 43
IBM Software

WebSphere MQ Transport Security

5 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Transport Security Issues

 Eavesdropping
How do I stop someone from seeing the information I send?

 Tampering
How can I detect if someone has intercepted my information and
changed it?

 Impersonation
How can I be sure who the information is from?
How can I be sure who I am exchanging information with?

6 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 44
IBM Software

Solution – Secure Socket Layer (SSL)

SSL is a protocol to allow transmission of secure data over


an insecure network
It combines the following techniques
Symmetric / Secret Key encryption
Asymmetric / Public Key encryption
Digital Signature
Digital Certificates

…to combat security problems


Eavesdropping
Encryption techniques
Tampering
Digital Signature
Impersonation
Digital Certificates

7 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Benefits of using SSL for MQ Transport Security


 SSL as a protocol addresses the function needed
 Encryption
 Message Integrity Checking
 Authentication

 Supports a range of cryptographic algorithms

 Uses Public/Private Keys


 No key distribution problem

 Widely accepted in the Internet community

 Subjected to significant testing by the hacker community

8 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 45
IBM Software

Transport Security Issues Solutions using WebSphere MQ


Eavesdropping
Symmetric Key Cryptography

SSLCIPH(RC4_MD5_US)

Tampering Hash
h
Hash Function Function
Plaintext

My Digital MQSSLKEYR(QM1KEYRING)
Impersonation Certificate
SSLPEER('O=IBM')
Digital Certificates CA
Sig SSLCAUTH(REQUIRED)
Asymmetric Keys A A
Private Public

CRL checking C.R.L.

SSLCRLNL(LDAPNL)

9 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Authorization with WebSphere MQ

10 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 46
IBM Software

How is Authorization Managed by WebSphere MQ?

 Authorization is controlled by a component called the Object Authority


Manager (OAM)
 Protects WebSphere MQ objects from unauthorized access
– Queue manager, queue, topic, channel, …

 Queue manager associated process


 Access Control Lists (ACLs) represent QM objects
 IDs placed in groups
 In general WebSphere MQ uses ACLs that are based solely on the group
to provide access control
 OAM administration interfaces include:
– Command line (setmqaut, dspmqaut, dmpmqaut)
– Programmable Command Format (PCF)
– GUI (MQ Explorer)

11 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

WebSphere MQ Access Control Lists (ACLs)

 OAM uses ACLs for Authorization to MQ objects (QMs, Queues,


Topics…)
 List contains one or multiple entries
 Entries contain:
– Account (Principal) or Group ID
– The specific Permission (or revocation)
 Entries can be created and managed using MQ Explorer, PCF
(Programmable Command Format) commands, or setmqaut utility:
– $ setmqaut -m “WMQ75" -t qmgr -n “WMQ75” -g "traders" +connect
– $ setmqaut -m "WMQ75" -t queue -n “APP.QUEUE” -g "traders" +put
– $ setmqaut -m "WMQ75" -t topic -n “SPORT.FOOTBALL.NEWS” -g “fans" -pub +sub

12 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 47
IBM Software

Queue Security with the OAM

 For point-to-point applications indicating they want to put to


a queue, a check is performed at the MQOPEN of the queue
they are attempting to access
– If not authorized for the expressed intent, a security error is returned
 When applications indicate they want to get from a queue, a
similar check is performed at the MQOPEN of the queue
they are attempting to access
– If not authorized for the expressed intent, a security error is returned

13 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Controlling Queue Security using MQ Explorer (1 of 5)

 Select QUEUES and open Manage Authority Records

14 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 48
IBM Software

Controlling Queue Security using MQ Explorer (2 of 5)

 Now you can see which groups have access to the queue
 We have only the mqm group; which is the default

15 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Controlling Queue Security using MQ Explorer (3 of 5)

 Grant Authority to the FINANCE group for the FINANCE.Q.DEST queue

16 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 49
IBM Software

Controlling Queue Security using MQ Explorer (4 of 5)

 Now fill in the group name in


the Entity name field
 Select the appropriate
authority(s)

17 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Controlling Queue Security using MQ Explorer (5 of 5)

 Now we just check that the authorizations are correct and what we expected

18 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 50
IBM Software

WebSphere MQ Publish/Subscribe Security


Legend
 Publish/Subscribe security is Def. No auth
””
based on defined topic objects Def. Auth
– This means you have to define Not defined
topic objects where you want sport

to control security
– Topic security needs to be
football hockey
looked at from a different baseball

perspective than queue-based


security
– Security is checked from the teams

bottom up, and MQ tries to find


a “positive” authorization
minnesota

”” is defined as SYSTEM.BASE.TOPIC

19 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Topic Security with the OAM

 For publishers indicating they want to publish to a topic, a check is


performed at the MQOPEN of the topic they are attempting to access
– The publisher must have authority to publish to the topic; if not, a security error is
returned
– In the case of pub/sub, no check is performed at publish time for the actual put to a
subscriber’s destination – authorization is performed when the subscription is
registered
 When applications indicate they want to register a subscription, a similar
check is performed when the MQSUB call is issued
– The subscriber must have authority to access the topic(s); if not, a security error is
returned
– They must also have authority to put to the destination for the subscription – actual
‘publish’ check:
• For managed destinations, access required to the system generated dynamic
queue
• For unmanaged destinations, the subscriber supplies the queue

20 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 51
IBM Software

Concepts – Topic Tree


Root  Topic tree nodes which have a
“” topic object associated with them
Admin node
are known as Admin Nodes.
Non-admin node
 Topic tree nodes which were
… sport
automatically generated inherit the
properties of the first Admin Node
above them in the tree structure
… sport/football/teams

… sport/football/teams/minnesota

Inherits
sport/football/teams/minnesota

sport/football/teams/minnesota/transfers

21 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Concepts – Topic Tree  Admin Nodes are also used to determine


whether a user has authority to a node in the
topic tree.
Root
“”
Admin node

Non-admin node
… sport

… sport/football/teams

… sport/football/teams/minnesota

sport/football/teams/minnesota/transfers
STOP!
MQSUB
APP A
sport/football/teams/minnesota/transfers/2008

22 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 52
IBM Software

Concepts – Topic Tree


 Admin Nodes are also used to
determine whether a user has
Root authority to a node in the topic tree.
“”
Admin node  Example:
 App A wants to subscribe to
Non-admin node
… sport
topic
sport/football/teams/minnesota/trans
fers/2008
 Admin Node
… sport/football/teams sport/football/teams/minnesota
does not allow App A to
subscribe, but the admin node
/sport does, so access is
… sport/football/teams/minnesota granted
 Once permitted at an ADMIN
It is important from both an
node you cannot be denied
Administration and security point of
sport/football/teams/minnesota/transfers
further down the tree
view to ensure that your trees are
structured to align with how your
subscriptions are made.
MQSUB
sport/football/teams/minnesota/transfers/2008 APP A

23 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Controlling Topic Security using MQ Explorer (1 of 5)

 Select TOPICS and open Manage Authority Records

24 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 53
IBM Software

Controlling Topic Security using MQ Explorer (2 of 5)

 Now you can see which groups have access to the topic
 We have only the mqm group; which is the default

25 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Controlling Topic Security using MQ Explorer (3 of 5)

 Grant Authority to the FINANCE group for the MONEY topic

26 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 54
IBM Software

Controlling Topic Security using MQ Explorer (4 of 5)

 Now fill in the group name in


the Entity name field
 Select the appropriate
authority(s)

27 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Controlling Topic Security using MQ Explorer (5 of 5)

 Now we just check that the authorizations are correct and what we expected

28 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 55
IBM Software

Benefits of WebSphere MQ Built-in Security

 Data is secured while in transit


– Time when data is most vulnerable
– Using SSL, data is protected against:
• Eavesdropping – With data encryption techniques
• Tampering – With Digital Signatures
• Impersonation – With Digital Certificates

 MQ Resources can be secured against unauthorized access


– Queue managers, queues, topics, channels, etc
– Security based on ACLs and profiles
– Granular authorization possible
• e.g. Can configure users to put but not get, to subscribe but not publish, etc

 Flexible security administration


– Command-line (supports scripting)
– Programmatic (PCF)
– GUI Tooling (MQExplorer)

29 Implementing WebSphere MQ Security © 2013 IBM Corporation

IBM Software

Lab 4 – WebSphere MQ Publish/Subscribe


Security Administration Using the WebSphere MQ Explorer
● In the fourth lab you will explore Security administration using the MQ Explorer

30 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 56
IBM Software

It’s Time For Lab 4!

Security Administration Using the WebSphere MQ Explorer

31 Implementing WebSphere MQ Security © 2013 IBM Corporation

Page 57
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Application Development Considerations

© 2013 IBM Corporation

IBM Software

Unit Agenda

 Basic WebSphere MQ API Constructs

 Java Message Service (JMS) Programming Considerations

 Additional Languages / APIs

2 Application Development Considerations © 2013 IBM Corporation

Page 58
IBM Software

Using the Native WebSphere MQ API

3 Application Development Considerations © 2013 IBM Corporation

IBM Software

Programming - Common MQ API Calls

 MQCONN
– Connect to Queue Manager
 MQOPEN
– Open Queue or Topic
 MQSUB
– Register Subscription
 MQGET
– Get message from Queue
 MQPUT
– Put message to Queue/Topic
 MQCLOSE
– Close Queue/Topic/Subscription
 MQDISC
– Disconnect from Queue Manager

4 Application Development Considerations © 2013 IBM Corporation

Page 59
IBM Software

Programming - More Advanced MQ API Calls


 MQINQ
– Inquire attributes of QMgr or Queue
 MQSET
– Set attributes of QMgr or Queue
 MQGETMP
– Get a Message Property
 MQSETMP
– Set a Message Property
 MQCB
– Register a Callback
 MQCTL
– Start/Suspend/End a Callback
 MQBEGIN
– Start transaction
 MQCMIT
– Commit transaction
 MQBACK
– Backout transaction

5 Application Development Considerations © 2013 IBM Corporation

IBM Software

Programming – Message Producer


● Connect to the server
● Open the queues
MQCONN
● Put messages
MQOPEN In/out of syncpoint
● Commit the updates
MQOPEN If inside syncpoint
● Close the queues
MQPUT
● Disconnect from the server
MQ
MQ Queue
Queue
MQPUT
Application
Application Manager
Manager
MQCMIT

MQCLOSE

MQCLOSE

MQDISC

6 Application Development Considerations © 2013 IBM Corporation

Page 60
IBM Software

Programming – Message Consumer


● Connect to the server
● Open the queue
MQCONN ● Get messages
If queue empty, can wait
for messages to arrive
MQOPEN
● Close the queue
MQGET ● Disconnect from the server

MQGET MQ
MQ Queue
Queue
Application
Application Manager
Manager
MQGET

MQCLOSE

MQDISC

7 Application Development Considerations © 2013 IBM Corporation

IBM Software

Programming - Asynchronous Consumption of Messages


● Connect to the server
MQCONN ● Open the queue(s)
● Register callback(s)
MQOPEN Using MQCB
MQCB ● Start the async consumer
Using MQCTL
MQOPEN ● Callback driven when
MQCB messages arrive on either
queue
MQCTL Client/Server
Client/Server ● Callback can be
transactional
 Benefits of Async message
consumption
– Simplifies programming
Callback function
– Allocates message buffers
MQPUT – Wait on multiple queues
MQCMIT – Easy to cancel
– Can register an Event handler

8 Application Development Considerations © 2013 IBM Corporation

Page 61
IBM Software

Programming – Message Consumer - Subscriber


● Connect to the server
● Subscribe to topic(s)
Wildcards can be used
MQCONN
No need to manage
destination
MQSUB
● Get messages
If queue empty, can wait
MQGET for messages to arrive
● Deregister the subscription
MQGET MQ
MQ Queue
Queue
Manager Using MQClose
Application
Application Manager
MQGET ● Disconnect from the server

MQCLOSE

MQDISC

9 Application Development Considerations © 2013 IBM Corporation

IBM Software

Programming – Message Request / Reply


● Synchronous Requests can
be implemented over MQ
● Request and reply queues
MQCONN can be the same, or
different (as shown here)
MQOPEN ● Reply queue can be
dynamic
MQOPEN Simplifies administration
Automatically deleted
MQPUT when closed
MQ
MQ Queue
Queue
MQGET Application
Application Manager
Manager

MQCLOSE

MQCLOSE

MQDISC

10 Application Development Considerations © 2013 IBM Corporation

Page 62
IBM Software

Programming – Additional Considerations


 Selectors
– A message selector is a variable-length string, containing an
SQL92 query
– Used by applications to select only those messages whose
message properties satisfy that query
– For example, a message selector like
• “sport = football”
could be used to only select messages from a queue where
the message property “sport” was equal to the value “football”

 Message Browsing
– Queues can be browsed and select messages marked or
removed
– Alternative to selectors when selection criteria is too complex,
or may change dynamically
– Provides a mechanism to implement multiple instances of co-
operating programs
• For example, Message Driven Beans in Java
• Dispatcher application browses the queue, selects
messages
• Then dispatcher initializes a consumer and passes the
message token to selected message processing

11 Application Development Considerations © 2013 IBM Corporation

IBM Software

Applications can be transactional

 WebSphere MQ can participate in an XA Transaction


– Messages can be put or got under a logical unit of work
– Messages can be committed or rolled back as an atomic unit
– A queue and a database operation can be performed under a single logical unit-of-work
using commit / rollback logic
• For example. get a message from a queue and insert into a database with a single
commit

 A queue manager can participate in an XA transaction:


• As a resource manager, under the control of an external transaction manager like IBM
CICS® or a J2EE application server
• As the transaction manager, coordinating updates to MQ and other resource
managers such as relational database managers

12 Application Development Considerations © 2013 IBM Corporation

Page 63
IBM Software

Using the JMS API with WebSphere MQ

13 Application Development Considerations © 2013 IBM Corporation

IBM Software

Overview of JMS Programming Model

JMS
JMS JMS
JMS
Connection.createSession(…)
Client
Client Producer.send(Message) Server
Server
(your
(yourapp)
app) (MQ
(MQProvider)
Provider)
Message Consumer.receive()

JNDI* Namespace Connections are used to


communicate with the JMS
Connection factories Connection Factory server.
and destinations are
retrieved from JNDI. Destination Sessions are used in
conjunction with destinations to
Connection factories create messages and message
are used to create consumers/ producers
connections!

* Java Naming and Directory Interface

14 Application Development Considerations © 2013 IBM Corporation

Page 64
IBM Software

Comparing JMS and MQ Native API Functions

JMS Application MQ Application

Retrieve Objects from JNDI*


Create Connection
Create Session MQCONN
Create Message Producer MQOPEN (Queue or Topic)
Create Message Consumer MQOPEN (Queue) or MQSUB
Set Message Listener MQCB / MQCTL
Get Message MQGET
Send Message MQPUT
Close Producer or Consumer MQCLOSE
Close Session MQDISC
Close Connection

* Java Naming and Directory Interface

15 Application Development Considerations © 2013 IBM Corporation

IBM Software

Sample JMS program - Sending Messages

try {
InitialContext ctx = new InitialContext();
Connection Factory cf = (ConnectionFactory) PortableRemoteObject.narrow
Setup (ctx.lookup(“CFName”), ConnectionFactory.class);
Destination dest = (Destination) PortableRemoteObject.narrow
(ctx.lookup(“DestName”), Destination.class);
Connection conn = cf.createConnection();
Access
Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Server
MessageProducer msgProd = sess.createProducer(dest);

Send TextMessage txtMsg = sess.createTextMessage(“My Message Text”);


Message msgProd.send(txtMsg);
sess.close();
Cleanup
conn.close();
} catch (JMSException e) {}
catch (NamingException e) {}

16 Application Development Considerations © 2013 IBM Corporation

Page 65
IBM Software

Access to full MQ message contents

 Customers using the WebSphere MQ JMS provider have the option to access native MQ
messages (MQMD and payload) through the JMS API
– e.g. they may require interoperation with non-JMS applications
– Considered advanced usage of MQ/JMS - useful to MQ/JMS customers who are willing
to extend the JMS spec
 Enables developers to read/write MQMD fields when using the JMS API
– Adds 27 new properties for a JMS Message
– e.g. JMS_IBM_MQMD_Priority, JMS_IBM_MQMD_Persistence,
JMS_IBM_MQMD_CorrelId, i.e. MQMD
 Can now receive a message that is a BytesMessage – i.e. the JMS message body is the
unaltered message data returned by the underlying MQGET API call
 Can now send to a queue or a topic with the message body containing the application
payload as-is; without any auto-generated WebSphere MQ headers (e.g. MQRFH2) added
to the body
– Useful for things like adding explicit MQ headers such as PCF headers

17 Application Development Considerations © 2013 IBM Corporation

IBM Software

Additional WebSphere MQ
Application Programming Interfaces

18 Application Development Considerations © 2013 IBM Corporation

Page 66
IBM Software

WebSphere MQ Provides Universal Connectivity


Application Interoperability:
Enterprises with a diverse collection – WebSphere MQ supports the broadest range of APIs,
of platforms and languages can use a programming languages and OS platforms
single product (WebSphere MQ) to – Provides the only JMS engine that can be implemented
enable applications to interoperate in on “any” standards-compliant JEE server
a reliable manner. – Provides rich web services interfaces for customers
needing reliable SOAP message delivery
– Offers a broad range of qualities of service and
messaging methods including publish/subscribe
– Supports major transaction monitors and database
managers
– Offers the most scalable, most manageable messaging
system available
– Assures transactional message delivery end-to-end.
Multiple APIs
COBOL, C, C++, RPG, Java / JEE C, C++, .NET C# Microsoft© Web Services HTTP, FTP, …
…others.
MQ Interface JMS XMS* .NET (C#) SOAP Other Interfaces

WebSphere MQ

HP-UX Windows® zLinux Solaris™ AIX® z/OS® i5/OS® Linux NSS® OVMS®

* IBM Message Service API

19 Application Development Considerations © 2013 IBM Corporation

IBM Software

IBM Message Service Clients


 In the MQ world there are essentially two programming models
– MQI (available in a number of languages: C, C++, C#, Java, COBOL, PL/I, RPG, TAL,
etc)
– JMS (Java only)
 The simplified JMS messaging model, and JMS messaging constructs such as
administered objects, are both very useful, but only available in the Java
environment
 The IBM Message Service Clients are implementations of the JMS API in the
C/C++/C# languages
– These bring the benefits of JMS -- a standard, abstracted messaging API for pub/sub
and point-to-point messaging, as well as externally administered objects -- to the non-
Java world
 Applications created in this way can be used to exchange messages between
other Message Service Client applications, JMS applications or native MQI
applications
 These applications can also be easily ported between the WebSphere MQ,
WebSphere Message Broker and WebSphere Application Server messaging
providers with little or no rework
20 Application Development Considerations © 2013 IBM Corporation

Page 67
IBM Software

WebSphere MQ API Choices Available in the .NET Environment

 We have already discussed:


–WebSphere MQ Base Classes
• Allow access to full range of MQ capabilities
• Enable reuse of existing MQ skills

–…and IBM Message Service Clients (XMS):


• Enable reuse of JMS skills in other languages (C/C++/C#)
• Simplify interoperation between Java and non-Java systems
• To abstract application configuration to administered objects
• To enable applications to be portable between IBM providers

 Additional programming options for .NET include:


– .NET Monitor
– Microsoft Windows Communication Foundation (WCF) Custom Channel for MQ

21 Application Development Considerations © 2013 IBM Corporation

IBM Software

.NET Monitor for MQ

●Provides a triggering mechanism for .NET applications that


conform to the current .NET interface requirements
Can run standalone or can itself be triggered
Support for either MQ or .NET transactions
Support for backout threshold processing

●In order to be run from the .NET Monitor, user written applications
must implement the IMQObjectTrigger interface
Information passed across this interface includes
 The queue manager connection object being used
 The queue being used
 The message removed from the queue
 User parameter specified on the command line

●Applications that use this interface do not need to access MQ


directly
They can use the MQMessage object
22 Application Development Considerations © 2013 IBM Corporation

Page 68
IBM Software

WCF Custom Channel for MQ

 Windows Communication Foundation underpins .NET Web services and Messaging


– Built-in Transports e.g. MSMQ, HTTP(S), Named Pipes, TCP/IP, etc.
– Transports can be extended with ‘custom channels’
– Allows alternative transports (like MQ) to be slotted into WCF seamlessly
 WebSphere MQ Custom Channel for WCF
– Contained within the Java and .NET Messaging and Web Services component installed by default
– Send and receive messages between WCF clients and services in the same way as the built-in
transports provided by Microsoft
 Features:
– Can call a service using One-Way (Fire and forget), Request-Reply, and Callback MEPS
– Uses SOAP/JMS message formats for interoperability with WebSphere Application Server, CICS®
SOAP/JMS services
 Dependencies
– XMS .NET and WMQ .NET clients
– .NET Framework v3 runtime & SDK
 WCF Samples
– Calling Request-Response, and One-way WCF services
– Calling a sample Axis service hosted by WebSphere MQ
– Calling a sample .NET service hosted by WebSphere MQ

23 Application Development Considerations © 2013 IBM Corporation

IBM Software

Summary of WebSphere MQ Application Development

 Application Development with WebSphere MQ is straightforward


– Relatively small number of API verbs in the native API
– Only a handful will be used in a typical application
 JMS Developers can use the latest revision of the JMS Specification
– Consolidated domain model
– Domain-specific verbs are still supported
 Non-java Developers can realize the benefits of JMS outside the Java domain
– XMS (“JMS for the non-Java programmer”)
– Enables leveraging of JMS skills in other languages (C/C++/C#)
– Can share administered objects with JMS programs
– Makes it possible for enable applications to be portable between IBM providers
 Additional API options available
– .NET Interfaces
• XMS, .NET Monitor, WCF custom channel
– C++ OO API available
– Other APIs available for more esoteric platforms
• HP NonStop (previously Tandem)
 All APIs interoperable!

24 Application Development Considerations © 2013 IBM Corporation

Page 69
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Web 2.0 Using the WebSphere MQ HTTP Bridge

© 2013 IBM Corporation

IBM Software

Unit Agenda

 What is Web 2.0?


 Why an HTTP Bridge for WebSphere® MQ
 Architecture
 HTTP-MQ Verb / Resource Mapping
 Sample flows
 Lab 5 – Using the MQ-HTTP Bridge

2 MQ HTTP Bridge © 2013 IBM Corporation

Page 70
IBM Software

Web 2.0
 Web 2.0 is a term which describes the trend in the use of World Wide Web
technology and web design that aims to enhance creativity, information
sharing, and, most notably, collaboration among users. These concepts
have led to the development and evolution of web-based communities and
hosted services, such as social-networking sites, wikis, blogs, and
folksonomies.
 Although the term suggests a new version of the World Wide Web, it does
not refer to an update to any technical specifications, but to changes in the
ways software developers and end-users use the Web.
 Web 2.0 technology encourages lightweight business models enabled by
syndication of content and of service and by ease of picking-up by early
adopters.

3 MQ HTTP Bridge © 2013 IBM Corporation

IBM Software

Why an HTTP-MQ Bridge?

 To Simplify access to MQ Apps from Rich Internet Applications


– Gives AJAX* and Web 2.0 sources access to the Enterprise
• e.g. submit data directly to queues & topics from a browser
• Low Latency Web Pub/Sub
Stock price update, Sports scoreboard, Airline Departures / Arrivals notification, etc
 Enable MQ Application Connectivity from any Platform or Language with HTTP
capabilities
– Significantly increase range of supported platforms
• e.g. – Linux distributions, POS terminal running Windows ® Services for UNIX® environment,
RFID reader, Mobile devices
• Enables clients with a “zero footprint” to access services available via WebSphere MQ - no
client library installation required!

 Lightweight (low qualities of service) messaging

* asynchronous JavaScript and XML

4 MQ HTTP Bridge © 2013 IBM Corporation

Page 71
IBM Software

WebSphere MQ HTTP Bridge - Architecture

Clients use HTTP


HTTP Clients
protocol
(POST,GET,DELETE)

J2EE 1.4
Application Server Bridge can use either
local binding or client
MQ–HTTP Bridge connection

IBM WebSphere MQ

Purchase Stock Exchange


Market Data Approvals

5 MQ HTTP Bridge © 2013 IBM Corporation

IBM Software

Implementations available

 WebSphere MQ V7
– HTTP Bridge shipped with product, fully supported
Includes listener running in J2EE environment
– Non J2EE ‘native’ HTTP listener version
SupportPac MA94 (Cat2 – Unsupported)

 WebSphere MQ V6
– HTTP Bridge available as a SupportPac
SupportPac MA0Y (Cat2 – Unsupported)
Includes listener running in J2EE environment
• Non J2EE ‘native’ HTTP listener version
SupportPac MA94 (Cat2 – Unsupported)

6 MQ HTTP Bridge © 2013 IBM Corporation

Page 72
IBM Software

Background: HTTP-MQ is Loosely Modeled on REST


 REpresentational State Transfer
o Everything is modeled as a Resource
o Every resource is identified by an address (URI)
o Resources have state (representation)
o HTTP is used to transfer state to networked application
o HTTP verbs operate on the resource

 GET  retrieves a resource’s


state representation Server

 POST  Updates resource Resource State Representation HTTP GET

(or other processing) State Representation HTTP POST

 DELETE  deletes resource State


State Representation HTTP PUT
 PUT  Creates / updates
HTTP DELETE
resource state

7 MQ HTTP Bridge © 2013 IBM Corporation

IBM Software

HTTP-MQ API: Verb / Resource Mapping


 Defines a URI to identify the address of the queue or topic
 API is a simple mapping of HTTP verbs to the MQI…
HTTP verb mapping
Resource Sample URIs GET POST PUT DELETE
http://host/msg/queue/qname/ MQGET w.
Messages MQPUT - MQGET
browse

 Message header fields (MQMD) are conveyed in HTTP headers


– All HTTP headers prefixed with “x-msg-”
 Message Body is passed in HTTP entity body
 Message type is conveyed in HTTP Content-Type
– HTTP media-types are used :
– “text/plain” or “text/html” equate to MQ string messages (MQFMT_STRING)
– All other media types map to MQ Binary messages (MQFMT_NONE)
 No plan to supply Client libraries – apps code direct to HTTP

8 MQ HTTP Bridge © 2013 IBM Corporation

Page 73
IBM Software

API Overview - Headers

 Some standard HTTP headers


– Server (used in responses)
– Content-Location (used in responses)
– etc

 Custom HTTP headers


– x-msg-msgid (Set/Get the message ID of the message)
– x-msg-wait (Specify time to wait for a message to arrive)
– x-msg-priority (Sets the priority of the message put to the destination)
– etc

 For full details of the API, see Web Services section of the WebSphere
MQ Infocenter
– http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.csqzau.doc/ts11400_.htm

9 MQ HTTP Bridge © 2013 IBM Corporation

IBM Software

Sample HTTP Flow - POST (maps to MQPUT)


Put to destination
Request: Type and length of
POST /msg/queue/requestQ/ HTTP/1.1 message (60 char string)
Host: www.mqhttpsample.com
Content-Type: text/plain reply Queue
Content-Length: 60 Headers to
x-msg-replyTo: /msg/queue/replyQ/ include on reply
x-msg-requiresHeaders: msgID, priority, timestamp
Message body which will appear on the queue as an MQSTR
Message Data

Response:
Response code
HTTP/1.1 200 OK
x-msg-msgID: 1234567890
x-msg-timestamp: Thu, 22 Mar 2007 08:49:37 GMT
x-msg-priority: 4
Required
10 MQ HTTP Bridge © 2013 IBM Corporation
Headers
Page 74
IBM Software

Sample HTTP Flow - DELETE (maps to MQGET)


Get from destination
Request:
DELETE /msg/queue/replyQ/ HTTP/1.1
Host: www.mqhttpsample.com Get wait time (ms)
x-msg-wait: 10 Get using this correlID
x-msg-correlID: 1234567890
x-msg-require-headers: correlID Headers to
include on reply

Response code

Response:
Message length
HTTP/1.1 200 OK
Content-Length: 60 Message data type
Content-Type: text/plain Retrieved Message
x-msg-correlID: 1234567890 Correlation ID
Message body which will appear on the queue as an MQSTR

Retrieved Message
Data

11 MQ HTTP Bridge © 2013 IBM Corporation

IBM Software

Benefits of using the WebSphere MQ HTTP Bridge

 Simplifies access to MQ applications from Rich Internet Applications


 Gives AJAX and Web 2.0 sources access to the Enterprise
 Enables clients with a “zero footprint” to access WebSphere MQ
– MQ Application Connectivity from any Platform or Language with
HTTP capabilities
– No client library installation required!
– Enables access from a vast audience of supported platforms
• Linux distributions, POS terminal running Windows Services for
Unix environment, RFID reader, Mobile devices, etc, etc

12 MQ HTTP Bridge © 2013 IBM Corporation

Page 75
IBM Software

Lab 5 – WebSphere MQ HTTP Bridge


Using the WebSphere MQ HTTP Bridge

● In the fifth lab you will explore the WebSphere MQ HTTP Bridge

● The lab will demonstrate some


of the features of the MQ
HTTP Bridge
● It uses the non-J2EE ‘native’
HTTP listener (SupportPac
MA94)

MQ HTTP Bridge © 2013 IBM Corporation


13

IBM Software

It’s Time For Lab 5!

Using the WebSphere MQ HTTP Bridge

MQ HTTP Bridge © 2013 IBM Corporation


14

Page 76
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Using WebSphere MQ Clients

© 2013 IBM Corporation

IBM Software

Unit Agenda

 The MQ client and how it works


 How to connect a client to a server
 What facilities are available to clients
– Channel Definition Table
– Conversation sharing
– Read-Ahead
– Asynchronous Put
– etc…

2 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 77
IBM Software

What is a WebSphere MQ client?

 Allows access to messaging API on a different


machine than the queue manager
– Simpler administration MQ
MQ
– Same programming capabilities (almost) Queue
Queue
Manager
Manager
– Cheaper
• Free in most cases
However.....

No
No network
network –– No
No messaging
messaging
MQ
MQClient
Client
Application
Application

3 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

What is a WebSphere MQ client?


Applications
● An MQ Client is effectively the API layer,
separated from
Remember thisthe server hosting the
picture?
Put Get queue manager, communicating
application requests over a network

MQ API

Kernel
Local
Messages In Queuing
Message
Moving

4 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 78
IBM Software

How does a client work?

MQCONN MQCONNX MQDISC


Application
MQOPEN MQCLOSE MQSUB
MQPUT MQPUT1 MQGET MQCB
MQINQ MQSET
MQCTL
MQCMIT MQBACK

MQ Client
MQ API Calls MQ Server
Library

Client (MQI) Channel

5 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

Channel Definition Tables

 Channel Definition Tables are used in all but the simplest of cases

 A channel definition table (CCDT) is:


 A binary file (not editable by a user)

 Created by an administrator when client channels are defined

 Allows connect options to be specified administratively


 Alternative is to use MQSERVER variable and MQCONNX options

 Somewhat analogous to Connection Factories with JMS or XMS


 In fact, a JMS Connection Factory can reference a CCDT

6 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 79
IBM Software

Using Channel Definition Tables: Example 1

How is the QMNAME client channel attribute used?


def chl(chl1) chltype(clntconn) trptype(tcp) conname(host1) qmname(mars)
def chl(chl2) chltype(clntconn) trptype(tcp) conname(host2) qmname(venus)

MQCONN ("venus",hConn,cc,rc ); venus

chl2
AMQCLCHL.TAB MQ Client
mars

connected via channel chl2 to “venus"

7 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

Using Channel Definition Tables: Example 2


Multiple routes to the same Queue Manager
def chl(chl1) ….trptype(tcp) conname(host1) qmname(mars)
def chl(chl2) ….trptype(tcp) conname(tokenring) qmname(venus)
def chl(chl3) ….trptype(tcp) conname(ethernet) qmname(venus)
def chl(chl4) ….trptype(tcp) conname(dialup) qmname(venus)

chl3
MQCONN ("venus",hConn,cc,rc ); venus

chl2
AMQCLCHL.TAB MQ Client
mars

connected via channel chl3 to “venus"

8 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 80
IBM Software

Using Channel Definition Tables: Example 3


How do we have back-up Queue Managers ?
def chl(chl1) ….trptype(tcp) conname(ip.mars) qmname(planet)
def chl(chl2) ….trptype(tcp) conname(ip.venus) qmname(planet)
…..
def chl(chl5) ….trptype(tcp) conname(ip.pluto) qmname(planet)

MQCONN (“*planet",hConn,cc,rc ); mars

venus

AMQCLCHL.TAB MQ Client

pluto
Notice the ‘*’ preceding the Queue Manager name
9 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

Using Channel Definition Tables: Example 4

40%
mars

40%
venus

20%

MQCONN(*planet) pluto

Name CHLTYPE TRPTYPE CONNAME QMNAME CLNTWGHT AFFINITY

chl1 CLNTCONN TCP ip.mars planet 4 PREFERRED

chl2 CLNTCONN TCP ip.venus planet 4 PREFERRED

chl3 CLNTCONN TCP ip.pluto planet 2 PREFERRED

10 5/28/2013 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 81
IBM Software

Client Security - SSL

DEF CHANNEL('SYSTEM.DEF.CLNTCONN') DEF CHANNEL ('SYSTEM.DEF.SVRCONN')


CHLTYPE(CLNTCONN) CHLTYPE(SVRCONN)
SSLCIPH('RC4_MD5_US') SSLCAUTH(REQUIRED)
SSLPEER('CN=“user", O="IBM",C="US"') SSLCIPH('RC4_MD5_US')
SSLPEER('CN="*", O="IBM", C="US"')

Authentication,
Encryption, Integrity
SSL facility SSL facility
ƒ key repository ƒ key repository

ƒ MQSSLKEYR

environment variable

Client Server

11 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

Client conversation (connection) sharing


 Client channels have three modes of operation:
Starting MQSC for queue manager TEST1.
– No multiplexing, no conversation sharing
DEFINE CHANNEL(SALES.CONNECT) CHLTYPE(SVRCONN)
• Separate socket for each MQ client conversation SHARECNV(10)

• No multiplexing benefits
DIS CHS(SALES.CONNECT)
– Multiplexing, no conversation sharing AMQ8417: Display Channel Status details.
CHANNEL(SALES.CONNECT) CHLTYPE(SVRCONN)
• Still a separate socket for each MQ client CONNAME(127.0.0.1)
MCAUSER(hughson)
CURRENT
STATUS(RUNNING)
conversation, but benefits of multiplexed channels SUBSTATE(RECEIVE) CURSHCNV(3)
MAXSHCNV(10)
available
– Multiplexing AND conversation sharing
• MQ client conversations share a socket connection,
and can utilize benefits of multiplexed channels
Queue Manager

12 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 82
IBM Software

Performance option - Client Read-Ahead


MQ Client/Server flows without Read-ahead of messages
● Each API request flows over the network
● The client blocks waiting for a reply
● For MQGet, each message is returned
over the network and passed to the
application
● Messages are never queued on the
client end

MQCONN

MQOPEN

MQGET
Client
Client Server
Server
MQGET

MQGET

13 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

Performance option - Client Read-Ahead


MQ Client/Server flows with Read-ahead of messages

● Some API requests flow over the


network synchronously
● For MQGet, a batch of messages are
requested
● Messages are buffered on the client end
● Messages are passed to the application
individually from the client-side buffer
● Can result in significant
MQCONN
throughput improvement for
certain types of applications MQOPEN

In particular, applications that Request


for ‘n’
stream messages to clients MQGET
Client Server
Server messages
Client
MQGET

MQGET

14 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 83
IBM Software

Performance option - Client Asynchronous Put


MQ Client/Server flows without Asynchronous Put
● Each API request flows over the network
● The client blocks waiting for a reply
● For MQPut, each message is sent over
network to the queue manager
There it must be written to the queue
May also need to be logged
Then control returns to the application

MQCONN

MQOPEN

MQOPEN

MQPUT

MQPUT Client
Client Server
Server
MQPUT

MQPUT

MQCMIT

15 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

Performance option - Client Asynchronous Put


MQ Client/Server flows with Asynchronous Put

● Some API requests flow over the network synchronously


● For MQPut, control is returned immediately to the application
Messages are buffered on the client end and forwarded to the
queue manager asynchronous to the client application
Status of each MQPut is
maintained on client end
● At commit, put requests are
MQCONN
reconciled with responses; if any
failed, unit-of-work is rolled back MQOPEN

Client app can optionally request MQOPEN

status of put messages MQPUT

Client
Client Server
Server
● Async Put can result in significant MQPUT

throughput improvement for MQPUT

certain types of applications MQPUT

In particular, applications that MQCMIT


stream messages from clients

16 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 84
IBM Software

Benefits of using WebSphere MQ Clients

 Clients are a simple, low administration and inexpensive way of providing


queuing throughout your network
 Consider which client to use based on
– Programming Language required (C,Java,C#, C++)
– Programming model required (MQI vs JMS/XMS)
– Performance
 Client applications can do the same as local applications
– However, no network - no queuing

17 Using WebSphere MQ Clients © 2013 IBM Corporation

IBM Software

It’s Time For Lab 6!

Exploring Features of WebSphere MQ Clients

18 Using WebSphere MQ Clients © 2013 IBM Corporation

Page 85
An IBM Proof of Technology

WebSphere MQ

WebSphere MQ 7.5
Family

© 2013 IBM Corporation

IBM Software

Unit Agenda

WebSphere MQ Packaging
WebSphere MQ Advanced Message Security
WebSphere MQ Managed File Transfer
WebSphere MQ Telemetry

2 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 86
IBM Software

WebSphere MQ V7.5
Packaging

3 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

WebSphere Message MQ 7.5 package

MQ Managed File Transfer


 End-to-end audit trail across file
File-to-File
transfers
 Reliable and efficient transfer of file
Message-to-File data regardless of size
 Centralized monitoring of transfer
events and management of
File-to-Message transfers

MQ Advanced Message Security


Message Level  Signs and encrypts data sent over MQ
Security to provide privacy and integrity

WebSphere MQ
Universal  Scalable, reliable, and efficient transport
messaging
backbone
for data

4 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 87
IBM Software

MQ 7.5 and Advanced - Optimize your MQ Opportunity


 Mobile / Sensor & devices integration
MQ 7.5
 The Code becomes easily available for
 End-to-end Security all WMQ users purchasing or moving
 File Transfer - Messaging layer integrated into MQ 7.5 (just need to activate
with managed file transfer solution additional services) – Purchase
additional services: AMS & MFT
The convenience of a or
single, integrated offering  Simplified how to acquired MQ with a
SINGLE Part Number called MQ
Advanced
 SINGLE Install

 SINGLE PRICE

 EASY Trade up from MQ to MQ


Advanced

 Coexistance with previous versions


(7.01 / 7.1)
WebSphere MQ V7.5
All functions available and WebSphere MQ
separately chargeable Advanced V7.5
All functions available
5 WebSphere MQ V7.5 Family for one single price © 2013 IBM Corporation

IBM Software

WebSphere MQ Advanced
Message Security

6 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 88
IBM Software

Messaging foundation
The WebSphere MQ family – WebSphere MQ Advanced Message Security

 End-to-end security
– Protects data when at rest on queues, as well as when flowing over a network
 No changes to applications
– Easily applied on top of an existing WebSphere MQ infrastructure
 Centrally managed

7 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

How does WebSphere MQ help your compliance efforts?

 Business and economic factors have driven recent compliance legislation


– CEOs, CFOs and CIOs are all impacted by the need to ensure businesses meet their
responsibilities
 CIOs must ensure
– IT design and implementation matches business processes
• Can pass audit through tracking and verification of processes
– WebSphere MQ can help by allowing applications to assure the delivery of information exchange,
with security and traceable manageability…
• Using WebSphere MQ means that tracking and auditability do not need to rely on applications to
track and monitor operations and results, thus decreasing complexity

Linked Business Applications requiring audited compliance


WebSphere MQ
WebSphere MQ

HP-UX Windows® zLinux Solaris™ AIX® z/OS® OS/400® Linux NSS® OVMS®

8 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 89
IBM Software

Why WebSphere MQ Advanced Message Security?

WebSphere MQ Advanced Message Security provides:


– Authentication
• Public Key Identification approach to uniquely identify users
• Users are stored in a LDAP repository and map onto certificates
• Enterprise wide userids via Distinguished Names
– Authorization
• Users can be granted or denied access to put and get to queues on local
and remote queue managers
• Users can be granted access to client connect to the queue manager
• Policies centrally managed
– Auditing
• User access to queues and messages can be audited
• Unauthorized access attempts are logged

9 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

MQ AMS - Key Features

 Easily secure sensitive or high-value MQ messages


 Detects and removes rogue or unauthorized messages
 Ensures privacy & integrity in transit and from queue to queue
 Existing MQ applications are transparently secured using interceptors. No
development required.
 Even WebSphere MQ administrators can’t access the message contents without
authorization.

10
10 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 90
IBM Software

WebSphere MQ Advanced Message Security


Receivin
Sending &@Ja &@Ja g
App ^! ^! App

 Provides additional security to that provided by base MQ MQ MQ


Msg Msg

 End-to-end security, message level protection


– A security policy defines what protection should be applied to
messages
– AMS intercepts messages at “endpoints” and applies the
policy
 Asymmetric cryptography used to protect each message
– Integrity Policies prove message origin, content not changed
– Privacy policies as per integrity plus each message encrypted
with unique key
 Non-invasive
– No code changes or re-linking of applications
 Administrative interfaces for policy management
– Command line
– MQ Explorer

11 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

WebSphere MQ Advanced Message Security Benefits

 Message protection
– Users are based on certificates making them unique across enterprises
– Digital Signature
• Tells us who the message came from
• Ensures that the message hasn’t been tampered with
– Can encrypt the message payload for end-to-end security
• Messages protected on the queues
 Addresses audit and other requirements of Sarbanes-Oxley
 Central Administration
– WebSphere MQ security policies, users, groups and audit levels are centrally
managed
– GUI or command line interfaces

 No change to the applications

12 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 91
IBM Software

WebSphere MQ
Managed File Transfer

13 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

Introducing WebSphere MQ/MFT (Managed File Transfer)


 Flexible backbone for transfers – not a
single-hop solution like FTP
 Multi-purpose – use for messages and files
 Auditable with logging subsystem that
tracks transfer at source and at destination
for audit purposes
configure track audit
 Massive files – larger than MQ messages
 Reliability leveraging the MQ transport A B C X Y Z
 Integration with MQ-enabled apps and
ESBs ……
 No need to program – no need to use APIs
File Transfer Edition
 Simple graphical tooling enabling remote WebSphere MQ
configuration
 Automatic file conversion and compression
 Security - of file payload using SSL The consolidation platform for file and message traffic
 Visual transfer status reporting
 Support for many supported MQ
environments

14 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 92
IBM Software

Reliable File Transfer


 Basic FTP protocol lacks capability need to ensure data is delivered
– No integrity checking on the receiver side
– No way of verifying whether files received are complete or not
 Traditional managed file transfer suites are based on FTP
– Need to augment FTP protocol with functions to address these inherent issues
– Ability to integrate enterprise applications and databases is dependant on extensions from the
vendor
 WMQ Managed File Transfer starts with industry’s leading connectivity backbone:
WebSphere MQ
– Reliability – Patented technology & well-grounded two-phase commit techniques
– Trusted – 10,000 client sites worldwide moving $trillions worth of data every day
– Proven – Leader in messaging connectivity for over 15 years
– Integrated – with IBM's SOA portfolio including ESB and BPM software and can connect to other
commercial IT systems

Reliable Backbone Specialized for Files


Provides general purpose Managing, auditing and
transport for transfer reliability monitoring file transfers

Managed File Transfer


WebSphere MQ

15 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

WebSphere MQ Managed File Transfer

 Leverage WebSphere MQ infrastructure and skills


 Reliable file transfer
 Traceable file transfer
 Auditable
 Automated and integrated  Reliable
 Secure
 Automated
 Centralized

 Any file size

 Integrated

 Cost Effective

16 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 93
IBM Software

Time-Independent File Transfer


Transfer files regardless of when solution components are free or available
Seems like this… …Even when this might be happening!
● Sender application does not need receiver to be available in order to
Applications
send files
transferring files
can assume that ● Sender application can continue doing useful work while files are
being transferred
the sender,
receiver & network ● Backbone handles network interruptions & recovers transfer once
will always be network resumes
constantly available ● Senders & receivers can continue useful work without waiting for
transfers to finish

1 2 3 4

A A A A
unavailable A
unavailable

WebSphere MQ Managed File Transfer

Z Z Z
unavailable Z Z
unavailable

busy
17 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

Key Themes – WebSphere MQ Managed File Transfer


Auditable
•Audit logs of transfers at source and target
•Audit data persisted to MQ queues and/or relational database.
•Captures time-stamped log at source and target

Ease-of-Use
•Remote console for transfer initiation, unattended operation, scripting, scheduling, restart policies, status display
•Integrated with MQ Explorer configuration tooling

Simplicity
•Small footprint, fast install
•No need to write code or use API to configure transfers – Enabled via GUI
•Leverages WebSphere MQ – no other technology pre-reqs

Security
•Access to individual files subject to file system permissions
•Link level security (inheriting MQ SSL security)

Breadth
•Support WebSphere MQ V6 and V7 for transfers
•Core Platform support (z/OS, Linux (32 Bit), Solaris, AIX, HP, Windows)
•Good file type support (ASCII/EBCDIC, CR/LF, Flat files, z/OS)

Automated Transfers
•Transfers can be scheduled to repeat at predetermined intervals
•Transfers can be triggered by range of file system events e.g. new files, updated file, etc.

18 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 94
IBM Software

WebSphere MQ Managed File Transfer

 MQ MFT solves problems of auditing, monitoring, scheduling, security …


– Automated bulk data transfer between distributed heterogeneous systems.
– Capabilities for integrating, managing, and controlling data movement.
 Built on WebSphere MQ
– For assured delivery of data
– Routed through MQ backbone MQMFT Eclipse Tooling
Servers
 Simplicity and ease-of-use
MQMFT MQMFT MQMFT
– GUI Driven Coordination MQ MQ MQ
– WebSphere MQ Explorer Queue Manager
Integration
– Scheduled, or Triggered transfers
MQMFT MQMFT MQMFT MQMFT
– Scriptable
 Complements WebSphere MQMFT Eclipse Tooling
Message Broker File Nodes Clients

 Product page:
– http://www.ibm.com/software/integration/wmq/filetransfer/v7/
19 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

Why use Managed File Transfer in WebSphere MQ Advanced


Cut costs by 2-4 times compared to regular FTP or roll-your-own
More than 65% of
companies still use
Organizations
 Care reports, patient data, test results FTP, and it’s not free only using FTP
Healthcare with a carrying cost of and home-
100
$300K-$1M grown
solutions
 POS uploads for restocking planning
Retail/CPG Integration
projects
 Automotive – CAD design & using FTP
& home-
document exchange
grown
Automotive 50 software

Integration
 Secure sharing of sensitive files projects not
between firms or agencies using FTP
Legal/Government and home-
grown
development
0
 Regulatory files, batch files Largest Next 1000 Next
Banking/Finance 500 250,000
Derived from: Enterprise Integration Challenge, Software Strategies
20 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 95
IBM Software

WebSphere MQ
Telemetry / MQTT

21 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

WebSphere MQ and Telemetry / Mobile


 Messaging optimized for smart sensors and devices
 Enables intelligent decision-making based on remote real-world events
 Huge set of opportunities to expand business boundaries
 Push into mobile
 Enabling Smarter Planet

 WebSphere MQ is the only connectivity solution providing reliable secure


connectivity between the mainframe and the mobile enterprise
 Available today
 Lightweight protocol (MQTT) designed for low bandwidth, low battery usage
 Proven in business critical solutions

 What type of Mobile solutions?


 Push-enabled apps
 More reliable than HTTP transport

 Remote resource management of static or moving assets, people, locations

IBM MQ Messaging

Anytime, anywhere business transactions
Connecting the enterprise back‐end services in a secure and 
scalable manner with Visibility, Security & Management of 
Mobile platform
22 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 96
IBM Software

MQ Telemetry (MQTT) in short


Minimize the “on-the-wire” footprint

Expect frequent network disruptions

Deal with slow, poor quality networks

Expect client applications to have limited processing resources


available

Simple
– Asynchronous (“push”) delivery
– Simple set of verbs -- connect, publish, subscribe and disconnect

Assured Delivery

Provide an “open published protocol”


– Easing adoption by device vendors and third-party client software.

23 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

Making it easier for mobile developers to build apps that


access enterprise data

Apple iOS
Messaging for
native iOS apps

Android
Messaging for
Service APP
native Android APP
APP
DB DB APP Service DB

Java Internet
Scripters
Messaging

Worklight Cordova
Javascript
developers MQTT MQ teams
messaging
Developer • Access to enterprise • Can show relevance of their MQ
via Phonegap
experience • Reliable delivery infrastructure to mobile projects
plugin
augmented with • Conserve device power • Can provide access to enterprise apps
mobile • Reduce network traffic and data already connected by MQ
messaging • Use pub/sub model to enable dynamic
distribution of notifications

24 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 97
IBM Software

Why Facebook standardized on MQTT for 350M mobiles

“.. performance improvements designed to make your messaging experience even better.
To do this without killing battery life, we used a protocol called MQTT … designed to use
bandwidth and batteries sparingly… phone-to-phone in hundreds of milliseconds, rather
than multiple seconds.”

- Lucy Zhang, Facebook Engineer 10/19/11 www.facebook.com/lucyz


(MQTT used by their 350M mobile users, 475 mobile operators)

25 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

Summary

© 2013 IBM Corporation


26 WebSphere MQ Additional Topics
Page 98
IBM Software

Summary - WebSphere MQ
Provides Enterprise Class Messaging
 Proven Scalability
– Grow your network incrementally one server at a time
 Performance
– Many clients are moving millions of messages per day
 Administer massive networks
– Cross-platform, remote configuration tooling
 Support for virtually any commercial IT platform
 MQ for z/OS
– Built to exploit the zSeries® platforms’ unique capabilities
– Consistent with MQ on distributed platforms
 Clustering on distributed, shared queues on z/OS
– For High-Availability and workload balancing
– Easier to set up than you may think!
 Multi-threading  90% of the Fortune 100
– Exploits multi-processors for high-speed throughput  300 of the Fortune 500
 66% of NA and European banks
 Security
– Industry-standard SSL support
 Banking clients move transactions
– Certified for Common Criteria worth $35 Trillion over MQ
– Policy-based security with MQ Extended Security Edition  Government clients move 675+
million messages per day over MQ
 IBM’s worldwide 24x7 support

27 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

Where to find Additional Information


WebSphere MQ Explorer – Welcome Page

28 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 99
IBM Software

IBM developerWorks®

http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmq.html

29 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

IBM Redbooks®

www.redbooks.ibm.com

30 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 100
IBM Software

IBM WebSphere MQ Support

www.ibm.com/software/integration/wmq/support
31 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

A Few Other Useful Web Sites

 WebSphere MQ:
– http://www-306.ibm.com/software/integration/wmq/
 WebSphere Software:
– http://www-306.ibm.com/software/info1/websphere/index.jsp?tab=products/businessint
 WebSphere MQ SupportPacs:
– http://www-1.ibm.com/support/docview.wss?rs=977&uid=swg27007205
– Highly recommended is IH03 (RFHutil) as well as the performance reports available for
various platforms.

32 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 101
IBM Software

Learn More!
More Useful Proof of Technologies

 Discovering the Value of WebSphere MQ Advanced Message Security

 Discovering the Value of WebSphere MQ Managed File Transfer

 Discovering the Value of WebSphere MQ Telemetry

33 WebSphere MQ V7.5 Family © 2013 IBM Corporation

IBM Software

We appreciate your feedback.


Please fill out the survey form in order
to improve this educational event.

34 WebSphere MQ V7.5 Family © 2013 IBM Corporation

Page 102
An IBM Proof of Technology

WebSphere MQ

WebSphere V7.5
Additional Topics

© 2013 IBM Corporation

IBM Software

Unit Agenda

 MQ and SOA - Web Services


 WebSphere MQ Hypervisor - Pure Systems Patterns
 Multi-Instance Queue Managers
 Current Release Enhancements
– Co-existence of multiple versions
– Clustering
– Cloud support
– Management on distributed platforms
– Scalability and performance on distributed platforms

2 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 103
IBM Software

WebSphere MQ and SOA


Web Services

3 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

You can use WebSphere MQ to…

 …bridge between the


components of your Service
Oriented Architecture (SOA)
 …robustly link your applications
and your Web services
 …connect to virtually any
commercial IT system
 …share and exchange critical
business information with ease,
confidence and security

4 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 104
IBM Software

WebSphere MQ
Backbone of a Universal Enterprise Service Bus
Web MQI XMS
Services JMS application applications
application CICS
WBI Application
adapter IMS
Application

WebSphere MQ Backbone

Enterprise Service Bus

WebSphere Application Server Mediation Mediation WebSphere Application Server

Service Integration Bus Service Integration Bus

JCA JCA
adapter adapter
Web Web Web Web
JMS JMS
Service Service Service Service
application application
provider requestor provider requestor

5 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

How does WebSphere MQ support Web services?


 Web services can connect reliably across the WebSphere MQ messaging layer by
exchanging industry-standard XML-based SOAP messages

WebSphere MQ provides a layer of


messaging services to help make SOAP
exchanges: Service Requestor Service Provider
 More reliable than those sent over HTTP
 Transactional – allowing service resources to
be updated atomically so they retain integrity SOAP layer
and failures to be recovered and retried
SOAP
 Buffered so that SOAP requests can be
throttled for batch-style Web services WebSphere MQ
 Clustered so that SOAP requests can be
processed in parallel by multiple service
providers WebSphere MQ delivers on the promise
 Easily integrated with applications not yet of reliable Web services today, as well as
enabled for SOA
delivering non-web services
 More auditable

6 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 105
IBM Software

MQ Web Services Themes


1. Easy Access from Web Clients 3. Managing WMQ Apps as Services
 WebSphere MQ Bridge for HTTP
• Web Client side access to WMQ  WMQ Service Definitions
 “SAM” PHP API • .wsdl for WMQ Applications
• Web Server side access to WMQ

Web 2.0
REST, AJAX, JSON

Enterprise Messaging Backbone


WebSphere MQ

2. Robust Async SOAP Transport


 SOAP over JMS Standard
 WMQ Channel for Windows
Communication Foundation

7 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

WebSphere MQ Service Descriptions

MQ is ideal for service connectivity


 But a requirement exists for a standard to describe MQ apps as SOA assets
– Would allow new and existing stand-alone WebSphere MQ applications to be described as services:
• To be inventoried, and cataloged in Service Registry
• To be reused as services in composite SOA applications
• To be managed and traced with SOA tools

 IBM has specified the MQ Service Definition and SOAP binding


– Standard prefix for MQ Queues and Topics (“wmq:”)
– Web Services Description Language (WSDL) bindings
– Defines applications properties, and where and how to send messages
• e.g. the Message Exchange Pattern; Request queue; Response queue; Correlation style; Message
format; Message persistence, priority etc.

 This is a published specification


– MQ SupportPac MA93 - http://www-1.ibm.com/support/docview.wss?uid=swg24017518
– It defines the standard to be implemented by IBM and other vendor tools

8 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 106
IBM Software

Example – Native WebSphere MQ Request-Response MEP* (WSDL)


<definitions ... xmlns:wmqservice="http://www.ibm.com/2007/02/service/bindings/WMQ/">
<!–- Message and portType definitions are all standard WSDL -->

<!– Binding - specifies persistence, message formats, and correlation style --> Bindings Section
<binding name="mq_insurance_bindings" type=“tns:portType1"> identifies MQ as the
transport
<wmqservice:binding/>
<wmqservice:persistence>MQPER_NON_PERSISTENT</wmqservice:persistence>
<wmqservice:format>MQSTR</wmqservice:format>
<wmqservice:reportOptions>MQRO_PASS_MSG_ID</wmqservice:reportOptions>
<operation name=“getQuote">
<input> 3
2 <wmqservice:body/>
</input>
<output>
<wmqservice:body/> MQ transport details
</output>
(QOS, app details, format,
etc)
</operation>
</binding>
<service name=“InsuranceServices">
<port name=“mq_ports" binding=“tns:mq_insurance_bindings">
<wmqservice:address location=" wmq:/msg/queue/INS.QUOTE.REQUEST"/>

1 <wmqservice:replyTo>msg/queue/INS.QUOTE.REPLY</wmqservice:replyTo>
</port>
</service>
</definitions> Service Definition
identifies MQ
queues to be used

*Message Exchange Pattern

9 WebSphere MQ Additional Topics 9 © 2013 IBM Corporation


WebSphere MQ Additional Topics

IBM Software

WebSphere MQ SOAP Transport Feature


MQ is an ideal transport for WS-* Web services
 WebSphere MQ SOAP Transport Feature enables using WebSphere
MQ for WS requests

 Allows deployment of Java and .NET classes as SOAP Web services


– Uses WebSphere MQ as transport
– Uses typical WS deployment model - Client Proxy generation etc.

 Offers enhanced Qualities of Service when compared with Web


services over HTTP, e.g.:
– Queuing offers more reliable scaling characteristics
– Better manageability – more tangible messages
• Use MQ infrastructure, track messages, find bottlenecks etc.
– Asynchronous invocation – decoupled in time, multi-hop, reroute responses

10 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 107
IBM Software

SOAP Transport for WebSphere MQ


SOAP Transport Feature enables WebSphere MQ as an alternate transport

client HTTP HTTP target


SOAP HTTP SOAP
app server object Key to
provider
Typical Deployment of Web Service using HTTP Service
Web user
(Java /.NET)
Services
Client SOAP
(Java / .NET) SOAP WMQ SOAP
MQ MQ
client Layer MQ Layer target
SOAP
app (Axis / sender (Axis / object
listener .NET)
.NET)

Deployment of Web Service using WMQ


 WMQ SOAP listener can host Java or .NET services in WebSphere MQ
 Uses Java Message Service (JMS) message formats
 Deployed services have a target uri of form ‘jms:queueName…’
 Options to control other WMQ details such as queue manager, persistence etc

 Interoperable with WebSphere Application Server and CICS® - both can use WebSphere MQ as a
SOAP/JMS transport
11 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Summary – MQ, the Web, and Web Services

 MQ can be used as a Web 2.0 enabler


– MQ-HTTP Bridge, based on REST* principles
– Server, Client, and Device applications can communicate over HTTP
– No need to deploy client libraries
– Extends the reach of Enterprise applications to the Web

 MQ can be used as a Web services transport


– Using SOAP over JMS standard, or by sending SOAP messages in raw MQ
messages
– As a integrated custom channel in the Windows Communication Foundation

 WebSphere MQ based applications can be described and re-used in Service


Oriented Architectures
– Describe WebSphere MQ applications in a standard way like other Web service
assets using WSDL and IRIs (specification can be found at: http://www-
1.ibm.com/support/docview.wss?uid=swg24017518)
– Store in Service Registry, and use tools to access

*REpresentational State Transfer

12 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 108
IBM Software

WebSphere MQ Hypervisor
Pure Application Patterns

13 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

WMQ Hypervisor Edition Updates

 Two MQ Hypervisor products (HVEs) were delivered in 2011


– WebSphere MQ Hypervisor Edition for Red Hat Enterprise Linux
• RHEL 5.5, WMQ 7.0.1.5
– WebSphere MQ Hypervisor for AIX
• AIX 6.1 TL5, WMQ 7.0.1.6
 Can be deployed as Virtual System
Patterns from IBM Workload
Deployer and IBM PureApplication
System
– MQ HVE for RHEL can also be deployed direct to VMware ESX

14 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 109
IBM Software

Messaging Extension For Web Application Pattern

15 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Web Application Patterns - MQ Plugin Enhancements


 In 2011 MQ delivered messaging plugins for the IWD web application pattern
– Enabling a web application to connect to an external queue manager
– Queue, Topic and “Existing Messaging Service” plugins
– Statement of Direction to have the plugins available in IBM PureApplication System
– Enhanced to support Message Driven Beans
 Also SoD for New Messaging pattern type for IWD and PureApplication System
– Extending Web Application Pattern
 Simplifies Web application deployment by:
– Provisioning a new Virtual machine containing a queue manager when required
– Creating queues and topics in queue manager
– Linking new resources to JNDI objects used by application

16 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 110
IBM Software

Messaging Extension For Web Application Pattern


Making it easier for mobile developers to build apps that access enterprise data

17 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

WebSphere MQ Multi-Instance
Queue Managers

18 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 111
IBM Software

Multi-instance Queue Managers

1. Normal MQ MQ
Execution Client Client

network

192.168.0.1 192.168.0.2

Machine A Machine B
QM1 QM1
Active can fail-over Standby
instance instance

QM1

networked storage
Owns the queue manager data

19 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Multi-instance Queue Managers

2. Disaster MQ MQ
Strikes Client Client

network
Connections
broken from
clients

192.168.0.1 192.168.0.2

Machine A Machine B
QM1 QM1
Active locks freed Standby
instance instance

QM1

networked storage

20 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 112
IBM Software

Multi-instance Queue Managers

3. Standby MQ MQ
Comes to Life Client Client
Connections
still broken

network

192.168.0.2

Machine B
QM1
Active
instance

QM1

networked storage
Owns the queue manager data

21 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Multi-instance Queue Managers

4. Recovery MQ MQ
Complete Client Client Clients reconnected.
Processing
continues.
network

192.168.0.2

Machine B
QM1
Active
instance

QM1

networked storage
Owns the queue manager data

22 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 113
IBM Software

Multi-instance queue managers: Details

 MQ is NOT becoming an HA coordinator


– Generally, if other resources also required, use an HA coordinator such as HACMP
– Service objects can restart applications with qmgr but limited control
– Message Broker V7 integrates with and exploits this MQ function
 The IP address is not taken over
– Channel config needs all possible addresses unless you use external IPAT or intelligent
router
– CONNAME(‘host1(port1),host2(port2)’) syntax extension on all platforms including z/OS
 Support for networked storage over modern network file system protocols
– For example, NFS v4 (not v3)
– Tool shipped to validate configuration

 New options for crtmqm/strmqm/endmqm to control operations


– Cannot guarantee which instance becomes the primary
 Removes need for MC91, which has been withdrawn
– crtmqm now does equivalent of MC91’s hacrtmqm

23 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Automatic Client Reconnection

 Client library provides necessary reconnection logic on detection of a failure


 Hide queue manager failures by restoring current state automatically

 Uses the list of addresses in CONNAME to find queue manager


– MQSERVER environment variable also understands list
– MQSERVER=SYSTEM.DEF.SVRCONN/TCP/host1(1414),host2(1414)

 Re-opens queues and other qmgr objects, re-establishes subscriptions

Application
Application

MQ QM1
QM1
MQClient
Client

QM2
QM2

24 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 114
IBM Software

Automatic Client Reconnection: Details

 Enabled in application code or ini file


– Event Handler callback shows reconnection is happening if app cares

 Tries to keep dynamic queues with same name


– So replies may not be missed
 Not all MQI is seamless, but majority repaired transparently
– eg a browse cursor would revert to the top of the queue, non-persistent messages will
have been lost during restart, non-durable subscriptions may miss some messages, in-
flight transactions backed out, hObj values maintained
 Some MQI options will fail if you have reconnection enabled
– Using MQGMO_LOGICAL_ORDER, MQGET gives
MQRC_RECONNECT_INCOMPATIBLE

 Initially just in MQI and JMS – not the other OO classes


– Requires both client and server to be V7.0.1 level with SHARECNV>0
– Server can be z/OS

25 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

WebSphere MQ Enhancements
in Current Releases

26 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 115
IBM Software

WebSphere MQ V7.1 in a glance (released in 4Q11)


New Feature Benefits Details

Multi-Version Install Unix and Windows support for multiple versions of MQ V7.x (AND
Makes it easier to deploy and upgrade
one copy of MQ V7.0.1) down to fixpack levels.
capability on Distributed systems and stage version to version
Relocatable installation support.
platforms migration
Applications can connect to any Qmgr

IP address Authorisation capability


Simplified Configuration
Additional crypto algorithms
Enhanced Security
More granular authorisation for non-local queues
Enhanced Authorisation and Auditing
Application Activity Reports

Cloud Support Simplifies and support Cloud deployments Additional HVE images

Authorisation on Cluster Q rather than XMIT Q on Dist. Platforms


Enhanced Clustering Improves ease-of-use
Bind-on-Group Support

MQ Pub/Sub Topic space can now map to multicast Group


New messaging QoS provides low latency
Multicast capability with high fan-out capability
Addresses
Provides direct interoperability with MQ LLM

Further exploitation of z196 Code contention reduced to improve multi-processor linear scaling
Improved scalability and Use of MQ Datasets rather than DB2 significantly improves “large”
availability on z/OS Customer control over CF storage use message capability
CF Connectivity Loss improvements Structure rebuild capability for CF Connectivity Loss scenarios

Improved Performance on
Improved multiprocessor exploitation Various code improvements
Dist platforms

For more information: http://www-01.ibm.com/software/integration/wmq/


27 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

WebSphere MQ V7.5 in a glance


 For Windows, Unix and Linux
WebSphere MQ V7.5
Announced: 24 April 2012
Availability: 20 June 2012

New Feature Benefits Details

Makes it easier to deploy systems Combines several products into a single package
Integrated Installation
Simpler licensing Common experience

Improves ease-of-use
Enhanced Clustering Split Cluster Transmission Queue
Improves application isolation

Java Application Makes it easier to distinguish


Applications no longer to all have the same name
Identification applications

Provides a level of message


AMS channel Interception in the SVRCONN still protects
protection even when application
interception environment cannot run AMS
messages before hitting queues

Can write FTE audit records to flat No longer a requirement for an enterprise database
FTE Logger Options file Easier to read data immediately

28 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 116
IBM Software

WebSphere MQ V7.5 WebSphere MQ


MQ Server (Queue manager)
+ MQ TT Gateway
+ Advanced Message Security
 Integrated Messaging Offering + Managed File Transfer Service
+ MQ Explorer with built-in
AMS & managed file transfer
– Single install, packaging & tooling for all Messaging options
MQ Client
– Reduce time to value, simplify usage + AMS Enablement
+ MQ TT Clients
Managed File Transfer Agent
 What’s being delivered? + AMS
Enablement
Multi-Language Documentation
– Integration of MQ with MQ FTE, MQ AMS and MQ Telemetry + Security (AMS) sections
+ Managed File Transfer sections
– Single install, common integrated tooling and management,
simplified licensing and entitlements
– Updated MQ Explorer tooling for all platforms WebSphere MQ
– More complete, easy to use messaging infrastructure, MQ Server (Queue manager)
enabling you to gain full range of messaging, swiftly & easily MQ Client
– The perfect fit for every project! MQ Documentation

 All messaging functions & capabilities available to Advanced Message Security


all customers, new and existing with rich choice of Advanced Msg Security
qualities of service AMS Documentation
– Removal of charge for MQ XA client
– Reduced pricing metric for standard MQ Telemetry client File Transfer Edition

• Lower cost for larger numbers of clients FTE Server


FTE Client
FTE Docs + tools

29 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Multi-Version Installation

MQ on Unix and Windows can Simplifies migration


install multiple levels on a system • Can move applications as
• Relocatable to user-chosen needed, not all at once
directories • No need for parallel hardware
• Can have multiple copies even at the
same fixpack level

Easier for ISVs to imbed MQ in Permits a single copy of V7.0.1 to


solutions remain on system
• Can install in “private” locations • So existing systems can be
without worrying about other migrated
copies • (V7.0.1.6 or later)
• Reduces support concerns

30 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 117
IBM Software

Application Migration: (1) Identify Applications to Migrate

MQ
V7.0.1

Queue Queue
Manager 1 Manager 2

Application 1 Application 2

31 31 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Application Migration: (2) Install V7.1 alongside V7.0.1

MQ MQ
V7.0.1 V7.1

Queue Queue
Manager 1 Manager 2

Application 1 Application 2

32 32 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 118
IBM Software

Application Migration: (3) Associate V7.1 code with a QMgr

MQ MQ
V7.0.1 V7.1

Queue Queue
Manager 1 Manager 2

Application 1 Application 2

33 33 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Application Migration: (4) Modify App to Exploit New Features

MQ MQ
V7.0.1 V7.1

Queue Queue
Manager 1 Manager 2

Application 1 Application 2+

34 34 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 119
IBM Software

MQ Cloud Support: Pre-Connect Exit

 Supports movement by some to “Utility Compute”, Private Cloud configs, etc.


– Rapid provision of applications allied with need to further decouple Client/Server
connectivity
– Server applications might move location – new addresses or queue managers

 MQ Client connects to a “service” rather than specific Queue Manager

 Can transparently change location of MQ server-side applications


– No client code changes needed
– No configuration files need to be updated at the client machine
– JMS/XMS applications already do this via JNDI lookup

 Exit run during MQCONN queries a repository to discover real location


– MQ V7.1 incorporates the LDAP implementation from SupportPac MA98

35 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Clustering
 “Bind on group”
– All messages within a logical group are routed to the same queue manager
– Workload balancing is done for each group
– Simpler for applications that use message groups
– Previously would have had to close and reopen the queue

 New option in the MQI and DEFBIND attribute for queues

 Once a group has started its path to a selected queue manager, messages in that group will
not be reallocated in the event of a failure

 New sample amqsclm to monitor queues and redistribute delivered messages


– If a queue has no getters, block further deliveries and redistribute existing messages
– Includes source code, so easy to modify

36 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 120
IBM Software

Clustering – Split Transmit Queue Requirements

 Separation of Message Traffic


– With a single transmission queue there is potential for pending messages for cluster
channel 'A' to interfere with messages pending for cluster channel 'B'

 Management of messages
– Use of queue concepts such as MAXDEPTH not useful when using a single
transmission queue for more than one channel

 Monitoring
– Tracking the number of messages processed by a cluster channel currently difficult
– Some information available via Channel Status

37 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Clustering – Split Transmit Queue

 With V7.5 a queue manager can automatically define a PERMANENT-DYNAMIC queue for
each CLUSSDR channel.
– Dynamic queues based upon new model queue
“SYSTEM.CLUSTER.TRANSMIT.MODEL”
– Well known queue names: “SYSTEM.CLUSTER.TRANSMIT.<CHANNEL-NAME>”
 Controlled via attribute affecting all cluster-sdr channels on the queue manager

ALTER QMGR DEFCLXQ( SCTQ | CHANNEL )


 Also have manual definitions
– Multiple queues can be defined to cover all, or a subset of the cluster channels.
DEFINE QLOCAL(APPQMGR.CLUSTER1.XMITQ)
CHLNAME(CLUSTER1.TO.APPQMGR) USAGE(XMITQ)

 Automatic and Manual are not mutually exclusive


– They could be used together V7.5

38 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 121
IBM Software

Single SYSTEM.CLUSTER.TRANSMIT.QUEUE

CLUSTER1
QM_B

Q1

QM_A
S.
C.
T.
Q
QM_C

Q2

39 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Separate XMITQ per cluster-sender channel

CLUSTER1
QM_B

Q1

Q M_B
R1.
ST E
CLU

..B

QM_A
..C
CLU
S
QM_C
T ER
1 .Q
M_
C

Q1

40 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 122
IBM Software

Management of Distributed platforms


 New integrated command (dmpmqcfg) to extract configuration
– Fulfills the role that MS03 (saveqmgr) has done over many years
• Backup your configuration, change control, rebuild systems etc
– MAKEDEF already available on z/OS
– Different syntax than MS03, but similar function

 MQSC commands equivalent to setmqaut/dspmqaut


– So you don’t need to drop out of the command interface to modify security
– Can simplify scripting of configuration changes
– No current plans to remove *mqaut commands

 Multi-instance Queue Managers on Windows


– The need for domain controllers (“domainlets”) has been removed
– New option when creating queue managers to define ownership

41 WebSphere MQ Additional Topics © 2013 IBM Corporation

IBM Software

Scalability & Performance – Distributed platforms


 Performance measured and improved for a range of scenarios
– Hardware capabilities have evolved over years to have more CPUs, more
memory etc
– MQ topologies have evolved to have more clients and larger/fewer queue
managers

 “Fastest MQ ever”: better performance than V6 and V7


– Improved scaling in multi-core environments
– Improved throughput for typical message sizes (25% for 2KB messages)
– Improved logging rates for typical message sizes (50% for 2KB messages)

 Multicast faster than traditional non-persistent


– Over 5x for one-many publications

 Performance reports now available from SupportPac site


42 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 123
IBM Software

Java Application Identification

 Java client applications now fill in APPLTAG field

 No longer appear as “WebSphere MQ Client for Java”

 Application-provided property V7.5


 Or the Main class

V7
Explorer
V7.5 Explorer

43 WebSphere MQ Additional Topics © 2013 IBM Corporation

Page 124
IBM Software

Appendix A. Notices
This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document in other countries.
Consult your local IBM representative for information on the products and services currently available in
your area. Any reference to an IBM product, program, or service is not intended to state or imply that
only that IBM product, program, or service may be used. Any functionally equivalent product, program, or
service that does not infringe any IBM intellectual property right may be used instead. However, it is the
user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this
document. The furnishing of this document does not grant you any license to these patents. You can
send license inquiries, in writing, to:

IBM Director of Licensing


IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property
Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation


Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106-0032, Japan

The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES
CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some
states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this
statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in
any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part
of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.

Any performance data contained herein was determined in a controlled environment. Therefore, the
results obtained in other operating environments may vary significantly. Some measurements may have

Appendix Page 125


IBM Software

been made on development-level systems and there is no guarantee that these measurements will be
the same on generally available systems. Furthermore, some measurements may have been estimated
through extrapolation. Actual results may vary. Users of this document should verify the applicable data
for their specific environment.

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

All statements regarding IBM's future direction and intent are subject to change or withdrawal without
notice, and represent goals and objectives only.

This information contains examples of data and reports used in daily business operations. To illustrate
them as completely as possible, the examples include the names of individuals, companies, brands, and
products. All of these names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental. All references to fictitious companies or individuals are
used for illustration purposes only.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs
in any form without payment to IBM, for the purposes of developing, using, marketing or distributing
application programs conforming to the application programming interface for the operating platform for
which the sample programs are written. These examples have not been thoroughly tested under all
conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these
programs.

Page 126 Discovering the Value of WebSphere MA V7.5


IBM Software

Appendix B. Trademarks and copyrights


The following terms are trademarks of International Business Machines Corporation in the United States,
other countries, or both:

IBM AIX CICS ClearCase ClearQuest Cloudscape

Cube Views DB2 developerWorks DRDA IMS IMS/ESA

Informix Lotus Lotus Workflow MQSeries OmniFind

Rational Redbooks Red Brick RequisitePro System i

System z Tivoli WebSphere Workplace System p

Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States, and/or other countries.

IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications


Agency which is now part of the Office of Government Commerce.

Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel
SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.

Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.

ITIL is a registered trademark, and a registered community trademark of The Minister for the Cabinet
Office, and is registered in the U.S. Patent and Trademark Office.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.

Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other
countries, or both and is used under license therefrom.

Linear Tape-Open, LTO, the LTO Logo, Ultrium, and the Ultrium logo are trademarks of HP, IBM Corp.
and Quantum in the U.S. and other countries.

Appendi Page 127


NOTES
NOTES
NOTES
NOTES
© Copyright IBM Corporation 2013.

The information contained in these materials is provided for


informational purposes only, and is provided AS IS without warranty
of any kind, express or implied. IBM shall not be responsible for any
damages arising out of the use of, or otherwise related to, these
materials. Nothing contained in these materials is intended to, nor
shall have the effect of, creating any warranties or representations
from IBM or its suppliers or licensors, or altering the terms and
conditions of the applicable license agreement governing the use of
IBM software. References in these materials to IBM products,
programs, or services do not imply that they will be available in all
countries in which IBM operates. This information is based on
current IBM product plans and strategy, which are subject to change
by IBM without notice. Product release dates and/or capabilities
referenced in these materials may change at any time at IBM’s sole
discretion based on market opportunities or other factors, and are not
intended to be a commitment to future product or feature availability
in any way.

IBM, the IBM logo, ibm.com and WebSphere are trademarks of


International Business Machines Corp., 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.

Das könnte Ihnen auch gefallen