Universal Messaging with IBM WebSphere MQ
IBM Redbooks Solution Guide
Note: This is publication is now archived. For reference only.
Published 07 December 2012
Other Language Versions
Note: Other language versions may not be as current as the English edition.
Rate and comment
Authors: Marcela Adan
By implementing messaging technologies, businesses can use a consistent approach to connectivity, decoupling the business application from the complexity of handling failures, error recovery, transaction integrity, security, and scalability. IBM® WebSphere® MQ delivers universal messaging. As explained in this IBM Redbooks® Solution Guide, WebSphere MQ provides simple, rapid, reliable, and secure transport of messages and data offering flexible connectivity for applications, web services, and other programming environments. WebSphere MQ is the market-leading, message-oriented middleware product. It delivers a reliable, proven universal messaging backbone for almost 10,000 organizations of different sizes, spanning many industries around the world.
By implementing messaging technologies, businesses can use a consistent approach to connectivity, decoupling the business application from the complexity of handling failures, error recovery, transaction integrity, security, and scalability. IBM® WebSphere® MQ provides the universal messaging backbone for service-oriented architecture (SOA) connectivity (Figure 1). It connects virtually any commercial IT system, with support for more than 80 platforms.
Figure 1. Overview of the WebSphere MQ solution
WebSphere MQ includes a choice of APIs and supports the Java™ Message Service (JMS) API. WebSphere MQ is the market-leading messaging integration middleware product. Originally introduced in 1993 (under the IBM MQSeries® name), WebSphere MQ provides an available, reliable, scalable, secure, and high-performance transport mechanism to address businesses connectivity requirements.
Did you know?
IBM WebSphere MQ has the following credentials and industry recognition:
- It is the most widely deployed messaging backbone, with over 10,000 customers using the IBM Messaging Backbone:
- Over 90 percent of Fortune 50 companies and of Fortune 10 companies use the IBM Messaging Backbone.
- Over 80 percent of Global 25 companies and 70 percent of Global 10 companies use the IBM Messaging Backbone.
- It is entrusted with tens of billions of messages each day:
- A government client sends 675 million messages per day.
- A banking client handles over 213 million messages per day on IBM z/OS® alone.
- It is relied upon as the mission-critical backbone:
- A financial markets client handles US$1 trillion worth of traffic per day on one WebSphere MQ network.
- A banking client sends US$7 - US$35 trillion worth of traffic per day on just one WebSphere MQ-based SWIFT gateway.
Business environments are constantly changing. Applications that were written 20 years ago need to exchange data with applications that were written last week. With WebSphere MQ, businesses can respond quickly to the constantly changing environment by reducing the need to change existing applications to connect them to new ones. Businesses can use and extend the life of existing applications by enabling wider sharing of business data. They can also manage complexity through end-to-end visibility of data movement across all systems and applications.
By using WebSphere MQ, companies can create a robust IT infrastructure that supports SOAs, providing businesses with the reliability and flexibility that they require. Application developers can concentrate on solving business problems and adding value to the business, while relying on the messaging backbone that is provided by WebSphere MQ to handle the technical aspects of application connectivity and integration.
Most businesses today require services, such as managing payments or querying account information, to be made available through a range of channels. The core data can be held in a database on a mainframe, but a user of a browser requires a front-end web application server to interact with that database. As new delivery channels are created, such as smartphone applications, easy ways are needed for that new mechanism to interact. The smartphone application must communicate with the same applications and database without changes. WebSphere MQ Telemetry extends WebSphere MQ through clients by using MQ Telemetry Transport (MQTT), which is a standard lightweight connectivity protocol. It enables connected physical devices and mobile devices, which might be restricted by bandwidth and power consumption, to exchange information with WebSphere MQ.
WebSphere MQ has always been in the business of connecting systems and applications together, regardless of platform or environment. Now the range of environments in which WebSphere MQ can or must live has changed. Newer platforms, environments, requirements for qualities of service, and newer messaging patterns are available. Security has become more important as systems are made accessible to more users across an enterprise and beyond it. Performance and scalability requirements have increased. Regulators and auditors have imposed more controls on what can or must be done. Systems, which need access to enterprise data, have become both more powerful (faster and more processors) and much less powerful (sensors, tablets, and mobile phones). Therefore, WebSphere MQ has evolved.
WebSphere MQ includes the following features (illustrated in Figure 1) that enable business to connect all their assets in all possible ways:
- With WebSphere MQ Advanced Message Security (AMS), customers can protect the security of their messages from application to application, without needing to change the application code itself.
- IBM WebSphere MQ Telemetry is a feature of IBM WebSphere MQ that extends the universal messaging backbone with the MQTT protocol to a wide range of remote sensors, actuators, and telemetry devices. MQTT is a messaging protocol that is lightweight enough to be supported by the smallest devices, yet robust enough to ensure that important messages get to their destinations every time. With the MQTT protocol, such devices as smart energy meters, cars, trains, satellite receivers, and personal healthcare devices, can communicate with each other and with other systems or applications.
- WebSphere MQ Managed File Transfer (MQMFT) provides the ability for customers to move their business data stored in files over the WebSphere MQ infrastructure, improving the reliability, security, and management of their file transfers.
- Enterprise messaging is still the core function of WebSphere MQ. At the same time as adding new interfaces, protocols, and environments, a large amount of WebSphere MQ workload continues to run in mainframe-based data centers. Efficient use of, and integration with, the capabilities of the IBM System z® hardware and operating systems is critical. WebSphere MQ V7.1 for z/OS significantly improves the performance, capacity, and availability that can be achieved when running in a sysplex.
WebSphere MQ V7.1 has many new features. The benefits are real and customers have made this version the most accepted and fastest version-to-version migration in the product history. Many new features introduced in the new releases are the result of customer requirements. The following features have received much positive customer feedback:
- Multiple installation support
A key new feature of WebSphere MQ V7.1 is the ability to install WebSphere MQ in different locations on your system. This feature enables multiple versions to be installed at the same time, which can aid in migration, either between releases or when installing fix packs. This feature also enables support for applications that require different releases of WebSphere MQ.
- IBM z/OS shared message data sets
A new design for how large messages on shared queues are stored has improved performance, reduced processor costs, and increased the capacity of these queues. This feature is known as shared message data set. Reducing millions of instructions per second (MIPS) is a key advantage of this feature. This enhancement uses Virtual Storage Access Method (VSAM) instead of IBM DB2® binary large objects (BLOBs).
Figure 2. Basic WebSphere MQ components to connect applications
A message is a container that consists of three parts:
- MQ Message Descriptor (MQMD) identifies the message and contains additional control information. Examples of additional information are the type of message and the priority that is assigned to the message by the sending application.
- Message properties are an optional set of user-definable elements that describe the message without being part of the payload. Applications that receive messages can choose whether to inspect these properties.
- Message data contains the application data. The structure of the data is defined by the application programs that use it, and WebSphere MQ is largely unconcerned with its format or content.
Currently 12 types of objects can be configured in WebSphere MQ, in addition to many other resources (for example security access controls, or subscriptions) that are managed by WebSphere MQ. The most important objects from this set are the queue manager itself, queues, channels, and topics.
The nodes within a WebSphere MQ message queuing infrastructure are called queue managers. The queue manager is responsible for accepting and delivering messages. Multiple queue managers can run on a single physical server or on a wide network of servers across many various hardware and operating system platforms. Each queue manager provides facilities for reliable messaging.
The queue manager maintains queues of all messages that are waiting to be processed or routed. Queue managers are tolerant of failures and maintain the integrity of business-critical data that flows through the message queuing infrastructure. If a failure occurs (such as with the queue manager, machines, or power loss), the messages can be recovered.
The queue managers, within the infrastructure, are connected by logical channels over a communications network. Messages automatically flow across these channels from the initial producer of a message to the eventual use of that message, based on the configuration of the queue managers in the infrastructure. Changes can be made to the configuration of queues and channels transparently for the applications. For example, a receiving application can be moved to a new machine, and a route to that machine can be defined without needing any changes to sending applications.
The architecture for a solution that is based on WebSphere MQ depends on the business requirements and applications that it supports. One flexible approach is to join many queue managers in a dynamic logical network called a queue manager cluster. A cluster allows multiple instances of the same service to be hosted through multiple queue managers. Applications that request a particular service can connect to any queue manager within the queue manager cluster. When applications make requests for the service, the queue manager to which they are connected uses a workload balancing algorithm to spread these requests across all available queue managers that host an instance of that service.
Figure 3 illustrates workload balancing in a WebSphere MQ cluster. The message sent from Application A can be processed by any instance of Application Z. The cluster chooses one of the routes based on various criteria, including knowledge of which route it previously chose and which routes are available.
Figure 3. Workload balancing in a WebSphere MQ cluster
The following scenarios show three ways in which IBM WebSphere MQ was used to solve real-world problems:
- Retail kiosk
A retailer wanted to respond rapidly to online customer needs and have a consistent view of data shown at more than 25,000 self-service kiosks. Data changes rapidly and must be distributed rapidly to these kiosks.
The network of kiosks was connected by a messaging service to the central databases, and changes are now pushed out rapidly. More than 14,000 transactions are processed each second.
- Faster bank payments
Government regulations that limit payment clearing times require faster payment processes through near-instant money transfers between banks.
A high-performance payment solution was developed by using a messaging backbone to route message traffic between systems. Many existing components of the older payment system were adapted to work with the new messaging layer, preserving investment in these programs. The government requirement can clear payments in under two hours. However, this solution is technically capable of completing its processing in seconds. It handles millions of transactions every day.
- Airport Information
At an airport, rapid changes in government regulations are coupled with increasing passenger volumes. This airport needed a flexible IT infrastructure that is populated with seamlessly integrated systems. The airport was supporting daily business operations with an inflexible heterogeneous infrastructure.
A messaging-based solution was implemented that establishes a shared integration layer and enables the seamless flow of multiple data types between the client’s heterogeneous systems. For example, airport staff can now easily access important information, such as flight schedule changes from multiple systems. The airport can also flexibly integrate new systems to accommodate evolving government regulations.
IBM WebSphere MQ is at the core of the SOA Message Backbone, and any-to-any connectivity is its core value. WebSphere MQ does not require the use of any other products. However, two products are frequently used alongside WebSphere MQ:
- WebSphere Message Broker
- WebSphere Application Server
Integration with WebSphere Message Broker
Enterprise systems consist of many logical endpoints, such as off-the-shelf applications, services, packaged applications, web applications, devices, appliances, and custom built software. These endpoints use a set of inputs and outputs:
- Connection protocols such as MQ, TCP/IP, database, HTTP, files, FTP, SMTP, and POP3
- Data formats such as C or COBOL structures, XML, industry-specific (SWIFT, EDI, HL7), and user-defined formats
An enterprise service bus (ESB) can be imagined as something that runs at the center of this wide range of connections, applications, and protocols. It performs such tasks as routing and data transformation, so that any endpoint can communicate with any other endpoint. Traffic passes through an ESB, without requiring a complex and unmaintainable mesh of individual point-to-point connections.
WebSphere Message Broker is an ESB product that connects these endpoints in meaningful ways, to simplify application and device integration. This connection requires WebSphere MQ to also be installed on systems where it runs. This requirement is partly because applications that are enabled for WebSphere MQ are an important class of connectivity that it must support. The requirement is also because it uses queue manager-provided services such as transaction coordination, publish/subscribe, and the reliable storage of messages.
As an example of how WebSphere Message Broker makes integration simple, consider a typical retail enterprise. Such an enterprise has many different end points, both inside and outside the organization, with data in multiple formats and protocols, such as TLOG, files, JSON/HTTP. As new capabilities need to blend in (such as support for mobile applications and analytics), the flexibility of WebSphere Message Broker makes it simple to add these functions without disrupting existing services.
Integration with WebSphere Application Server
The WebSphere Application Server product hosts and runs applications. At its core, it is a Java Platform, Enterprise Edition (Java EE) environment, which implements and supports a range of open standards. One such standard that Java EE applications often use is the Java Message Service (JMS).
WebSphere Application Server includes the runtime Java client code and the administration panels that make it easy to connect to a WebSphere MQ queue manager. This way, web applications can reliably send messages to, and get responses from, any other MQ-enabled application that might be running in the enterprise.
WebSphere MQ helps to integrate virtually anything, with support for more than 80 platform configurations. For information about the supported platforms, see the System Requirements for WebSphere MQ at:
Table 1 shows the ordering information.
Table 1. Part numbers and feature codes
|Program name||PID number||Charge unit description|
|WebSphere MQ for Multiplatform||5724-H72||Per Processor Value Unit (PVU) for Linux on System z|
For more information, see the following documents:
- IBM WebSphere MQ V7.1 and V7.5 Features and Enhancements, SG24-8087
- IBM WebSphere MQ Primer, REDP0021
- WebSphere MQ product page
- IBM announcement letters and sales manuals
On this page, enter IBM WebSphere MQ for z/OS V7.1 or WebSphere MQ for Multiplatform, and click Search. On the next page, narrow your search results by information type, geography, language, or all three options.
Others who read this publication also read
This material has not been submitted to any formal IBM test and is published AS IS. It has not been the subject of rigorous review. IBM assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a client responsibility and depends upon the client's ability to evaluate and integrate them into the client's operational environment.
Follow IBM Redbooks
Follow IBM Redbooks