Beruflich Dokumente
Kultur Dokumente
WebSphere
WebSphere MQ
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
Page 3
IBM Software
IBM Software
Page 4
IBM Software
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
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 U
IBM UNIVERSAL MESSAGING
NIVERSAL M ESSAGING
Business
Sense and Respond
Transactions
MQ
MQ MQTelemetry
MQ Telemetry
MQFile
MQ FileTransfer
TransferEdition
Edition MQLow
MQ LowLatency
LatencyMessaging
Messaging
Page 5
IBM Software
10000 Customers
90% Fortune 50
IBM Software
History
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
IBM Software
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
Page 7
IBM Software
Integration specialists
use cross-platform
graphical tooling to
configure their
messaging networks
– these tools are based
on open source Eclipse
IBM Software
or “topics”
Uses multi-processor threading and
clustering to accelerate throughput of
messages MQ Client MQ Server
Page 8
IBM Software
Not
B Available
A Message/Queuing
Environment B
A B Not
Available
Not A
Available
Not A
Available
IBM Software
Page 9
IBM Software
Programs communicate by
putting messages in message
queues
IBM Software
Communication can
be one way or two
way
Page 10
IBM Software
IBM Software
Page 11
IBM Software
What is a Message?
IBM Software
Page 12
IBM Software
What is a Queue?
IBM Software
Operating System
• Timers
• Semaphores
Operating • ECBs
Messaging System • Memory
& Queuing & Storage •…
Communications
Page 13
IBM Software
IBM Software
Page 14
IBM Software
Accept Message
• Receive message from application
Program A Program B • Manage “unit of work”
Put Q1 Get Q1
IBM Software
MQI MQI
Messaging
Messaging and
and Queuing
Q1
Queuing Q2
Page 15
IBM Software
IBM Software
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
Page 16
IBM Software
IBM Software
Page 17
IBM Software
IBM Software
Page 18
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Overview of the WebSphere MQ JMS Provider
IBM Software
Unit Agenda
Page 19
IBM Software
IBM Software
• Publish/Subscribe
• Generic (domain-independent)
Page 20
IBM Software
JMS Architecture
IBM Software
Page 21
IBM Software
IBM Software
JMS Messages
Page 22
IBM Software
IBM Software
Page 23
IBM Software
WebSphere MQ
API (MQI)
WebSphere
MQ Queue
Manager
QMgr/Connection
details
WebSphere
MQ Queues /
Topics
IBM Software
C Socket hC
S S S hC hC hC
– Selectors Consumer x
x
Consumer
– Publish/subscribe, as well as point-to-point messaging Producer
Consumer
Consumer
Page 24
IBM Software
IBM Software
Extensive samples
– Specific, documented samples for point-to-point and publish/subscribe
producers and consumers
Page 25
IBM Software
IBM Software
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
Page 26
IBM Software
IBM Software
Page 27
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Overview of Publish / Subscribe
IBM Software
Unit Agenda
Page 28
IBM Software
●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
IBM Software
Page 29
IBM Software
Publisher Provider
Publisher Publisher Publisher
Topic
Publisher Publisher
Topic
Topic
Topic
Subscriber
Subscriber Subscriber Subscriber
Subscriber Subscriber
Subscriber
IBM Software
Page 30
IBM Software
Publish/Subscribe applications
Subscribing
QM Application
Publishing
Application QM Publish/Subscribe
Publish/SubscribeNetwork
Network Subscribing
QM Application
Subscribing
QM Application
IBM Software
Page 31
IBM Software
“” (root)
A topic tree is an internal
representation of the topic
hierarchy
finance football
It has a root node at the very top
IBM Software
A Topic Object has a name following the same rules as other WebSphere
MQ objects (Queues etc)
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
Page 32
IBM Software
finance
football They are permanent parts of the
hierarchy
FOOTBALL
They can have properties
… football/teams
specified for them
IBM Software
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
Page 33
IBM Software
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’)
IBM Software
Concept - Subscriptions
Page 34
IBM Software
IBM Software
Administered Subscription
Page 35
IBM Software
IBM Software
QM Sub
Pub QM QM Sub
QM Sub
Page 36
IBM Software
QM
QM QM
Pub QM QM QM QM Sub
IBM Software
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
IBM Software
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
IBM Software
Page 39
IBM Software
IBM Software
Page 40
IBM Software
Page 41
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Implementing Security
IBM Software
Unit Agenda
Page 42
IBM Software
Data Protection
– WebSphere MQ Secure Channels
Authorization
– Object Authority Manager (OAM) component
Authentication
– Not performed by WebSphere MQ (relies on OS authentication)
IBM Software
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
Page 43
IBM Software
IBM Software
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?
Page 44
IBM Software
IBM Software
Page 45
IBM Software
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
SSLCRLNL(LDAPNL)
IBM Software
Page 46
IBM Software
IBM Software
Page 47
IBM Software
IBM Software
Page 48
IBM Software
Now you can see which groups have access to the queue
We have only the mqm group; which is the default
IBM Software
Page 49
IBM Software
IBM Software
Now we just check that the authorizations are correct and what we expected
Page 50
IBM Software
to control security
– Topic security needs to be
football hockey
looked at from a different baseball
”” is defined as SYSTEM.BASE.TOPIC
IBM Software
Page 51
IBM Software
… sport/football/teams/minnesota
Inherits
sport/football/teams/minnesota
sport/football/teams/minnesota/transfers
IBM Software
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
Page 52
IBM Software
IBM Software
Page 53
IBM Software
Now you can see which groups have access to the topic
We have only the mqm group; which is the default
IBM Software
Page 54
IBM Software
IBM Software
Now we just check that the authorizations are correct and what we expected
Page 55
IBM Software
IBM Software
Page 56
IBM Software
Page 57
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Application Development Considerations
IBM Software
Unit Agenda
Page 58
IBM Software
IBM Software
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
Page 59
IBM Software
IBM Software
MQCLOSE
MQCLOSE
MQDISC
Page 60
IBM Software
MQGET MQ
MQ Queue
Queue
Application
Application Manager
Manager
MQGET
MQCLOSE
MQDISC
IBM Software
Page 61
IBM Software
MQCLOSE
MQDISC
IBM Software
MQCLOSE
MQCLOSE
MQDISC
Page 62
IBM Software
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
IBM Software
Page 63
IBM Software
IBM Software
JMS
JMS JMS
JMS
Connection.createSession(…)
Client
Client Producer.send(Message) Server
Server
(your
(yourapp)
app) (MQ
(MQProvider)
Provider)
Message Consumer.receive()
Page 64
IBM Software
IBM Software
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);
Page 65
IBM Software
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
IBM Software
Additional WebSphere MQ
Application Programming Interfaces
Page 66
IBM Software
WebSphere MQ
HP-UX Windows® zLinux Solaris™ AIX® z/OS® i5/OS® Linux NSS® OVMS®
IBM Software
Page 67
IBM Software
IBM Software
●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
Page 68
IBM Software
IBM Software
Page 69
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Web 2.0 Using the WebSphere MQ HTTP Bridge
IBM Software
Unit Agenda
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.
IBM Software
Page 71
IBM Software
J2EE 1.4
Application Server Bridge can use either
local binding or client
MQ–HTTP Bridge connection
IBM WebSphere MQ
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)
Page 72
IBM Software
IBM Software
Page 73
IBM Software
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
IBM Software
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
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
IBM Software
Page 75
IBM Software
● In the fifth lab you will explore the WebSphere MQ HTTP Bridge
IBM Software
Page 76
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Using WebSphere MQ Clients
IBM Software
Unit Agenda
Page 77
IBM Software
No
No network
network –– No
No messaging
messaging
MQ
MQClient
Client
Application
Application
IBM Software
MQ API
Kernel
Local
Messages In Queuing
Message
Moving
Page 78
IBM Software
MQ Client
MQ API Calls MQ Server
Library
IBM Software
Channel Definition Tables are used in all but the simplest of cases
Page 79
IBM Software
chl2
AMQCLCHL.TAB MQ Client
mars
IBM Software
chl3
MQCONN ("venus",hConn,cc,rc ); venus
chl2
AMQCLCHL.TAB MQ Client
mars
Page 80
IBM Software
venus
AMQCLCHL.TAB MQ Client
pluto
Notice the ‘*’ preceding the Queue Manager name
9 Using WebSphere MQ Clients © 2013 IBM Corporation
IBM Software
40%
mars
40%
venus
20%
MQCONN(*planet) pluto
Page 81
IBM Software
Authentication,
Encryption, Integrity
SSL facility SSL facility
ƒ key repository ƒ key repository
ƒ MQSSLKEYR
environment variable
Client Server
IBM Software
• 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
Page 82
IBM Software
MQCONN
MQOPEN
MQGET
Client
Client Server
Server
MQGET
MQGET
IBM Software
MQGET
Page 83
IBM Software
MQCONN
MQOPEN
MQOPEN
MQPUT
MQPUT Client
Client Server
Server
MQPUT
MQPUT
MQCMIT
IBM Software
Client
Client Server
Server
● Async Put can result in significant MQPUT
Page 84
IBM Software
IBM Software
Page 85
An IBM Proof of Technology
WebSphere MQ
WebSphere MQ 7.5
Family
IBM Software
Unit Agenda
WebSphere MQ Packaging
WebSphere MQ Advanced Message Security
WebSphere MQ Managed File Transfer
WebSphere MQ Telemetry
Page 86
IBM Software
WebSphere MQ V7.5
Packaging
IBM Software
WebSphere MQ
Universal Scalable, reliable, and efficient transport
messaging
backbone
for data
Page 87
IBM Software
SINGLE PRICE
IBM Software
WebSphere MQ Advanced
Message Security
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
IBM Software
HP-UX Windows® zLinux Solaris™ AIX® z/OS® OS/400® Linux NSS® OVMS®
Page 89
IBM Software
IBM Software
10
10 WebSphere MQ V7.5 Family © 2013 IBM Corporation
Page 90
IBM Software
IBM Software
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
Page 91
IBM Software
WebSphere MQ
Managed File Transfer
IBM Software
Page 92
IBM Software
IBM Software
Integrated
Cost Effective
Page 93
IBM Software
1 2 3 4
A A A A
unavailable A
unavailable
Z Z Z
unavailable Z Z
unavailable
busy
17 WebSphere MQ V7.5 Family © 2013 IBM Corporation
IBM Software
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.
Page 94
IBM Software
Product page:
– http://www.ibm.com/software/integration/wmq/filetransfer/v7/
19 WebSphere MQ V7.5 Family © 2013 IBM Corporation
IBM 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
IBM Software
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
Simple
– Asynchronous (“push”) delivery
– Simple set of verbs -- connect, publish, subscribe and disconnect
Assured Delivery
IBM Software
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
Page 97
IBM Software
“.. 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.”
IBM Software
Summary
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
IBM Software
Page 99
IBM Software
IBM developerWorks®
http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmq.html
IBM Software
IBM Redbooks®
www.redbooks.ibm.com
Page 100
IBM Software
www.ibm.com/software/integration/wmq/support
31 WebSphere MQ V7.5 Family © 2013 IBM Corporation
IBM Software
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.
Page 101
IBM Software
Learn More!
More Useful Proof of Technologies
IBM Software
Page 102
An IBM Proof of Technology
WebSphere MQ
WebSphere V7.5
Additional Topics
IBM Software
Unit Agenda
Page 103
IBM Software
IBM Software
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
JCA JCA
adapter adapter
Web Web Web Web
JMS JMS
Service Service Service Service
application application
provider requestor provider requestor
IBM Software
Page 105
IBM Software
Web 2.0
REST, AJAX, JSON
IBM Software
Page 106
IBM Software
<!– 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
IBM Software
Page 107
IBM Software
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
Page 108
IBM Software
WebSphere MQ Hypervisor
Pure Application Patterns
IBM Software
Page 109
IBM Software
IBM Software
Page 110
IBM Software
IBM Software
WebSphere MQ Multi-Instance
Queue Managers
Page 111
IBM Software
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
IBM Software
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
Page 112
IBM Software
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
IBM Software
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
Page 113
IBM Software
IBM Software
Application
Application
MQ QM1
QM1
MQClient
Client
QM2
QM2
Page 114
IBM Software
IBM Software
WebSphere MQ Enhancements
in Current Releases
Page 115
IBM Software
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
Cloud Support Simplifies and support Cloud deployments Additional HVE images
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
IBM Software
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
Can write FTE audit records to flat No longer a requirement for an enterprise database
FTE Logger Options file Easier to read data immediately
Page 116
IBM Software
IBM Software
Multi-Version Installation
Page 117
IBM Software
MQ
V7.0.1
Queue Queue
Manager 1 Manager 2
Application 1 Application 2
IBM Software
MQ MQ
V7.0.1 V7.1
Queue Queue
Manager 1 Manager 2
Application 1 Application 2
Page 118
IBM Software
MQ MQ
V7.0.1 V7.1
Queue Queue
Manager 1 Manager 2
Application 1 Application 2
IBM Software
MQ MQ
V7.0.1 V7.1
Queue Queue
Manager 1 Manager 2
Application 1 Application 2+
Page 119
IBM Software
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
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
Page 120
IBM Software
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
IBM Software
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
Page 121
IBM Software
Single SYSTEM.CLUSTER.TRANSMIT.QUEUE
CLUSTER1
QM_B
Q1
QM_A
S.
C.
T.
Q
QM_C
Q2
IBM Software
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
Page 122
IBM Software
IBM Software
Page 123
IBM Software
V7
Explorer
V7.5 Explorer
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:
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property
Department in your country or send inquiries, in writing, to:
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
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.
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.
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.