IBM WebSphere MQ is a family of network communication software products launched by IBM in March 1992. A computer network is a group of interconnected Computers. Networks may be classified according to a wide variety of characteristics International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology Year 1992 ( MCMXCII) was a Leap year starting on Wednesday (link will display full 1992 Gregorian calendar) It was previously known as MQSeries, a trademark that IBM rebranded in 2002 to join the suite of WebSphere products. A trademark or trade mark, represented by the symbols ™ and ®, or mark is a distinctive sign or indicator used by an individual Headline text == WebSphere refers to a Brand of IBM software products that are mostly proprietary, although the term WebSphere MQ is IBM's Message Oriented Middleware offering. Message-oriented middleware (MOM is a client/server infrastructure that increases the interoperability portability and flexibility of an application by allowing the application It allows independent and potentially non-concurrent applications on a distributed system to communicate with each other. Distributed computing deals with Hardware and Software Systems containing more than one processing element or Storage element concurrent MQ is available on a large number of platforms (both IBM and non-IBM), including z/OS (mainframe), OS/400 (IBM System i or AS/400), UNIX (AIX, HP-UX, Solaris), HP NonStop, OpenVMS, Linux, and Microsoft Windows. z/OS is a 64-bit Operating system for Mainframe computers, created by IBM. Mainframes (often colloquially referred to as Big Iron) are Computers used mainly by large organizations for critical applications typically bulk data IBM i is an Operating system used on IBM Power Systems, a unified server platform from the former IBM System i and IBM System p servers The IBM System i is IBM's previous generation of systems designed for IBM i users and was subsequently replaced by the IBM Power Systems in April 2008 Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer HP-UX (Hewlett Packard UniX is Hewlett-Packard 's proprietary implementation of the Unix Operating system, based on System V (initially Solaris is a Unix -based Operating system introduced by Sun Microsystems in 1992 as the successor to SunOS. NonStop servers are a line of Fault-tolerant computer systems, optimized for transaction processing and providing an extreme level of availability and data integrity Open Virtual Memory System ( OpenVMS) initially known just as Virtual Memory System ( VMS) is the name of a High-end Computer server Linux (commonly pronounced ˈlɪnəks Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft.
Contents |
A member of the WebSphere family from IBM, WebSphere MQ (formerly MQSeries) is the most popular[1] system for messaging across multiple platforms, including Windows, Linux, IBM mainframe and midrange, and Unix. Message-oriented middleware (MOM is a client/server infrastructure that increases the interoperability portability and flexibility of an application by allowing the application Headline text == WebSphere refers to a Brand of IBM software products that are mostly proprietary, although the term International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology WebSphere MQ is often referred to as "MQ" or "MQSeries".
There are two parts to message queueing:
A queue Manager, although not strictly required for message-oriented middleware, is a Websphere MQ prerequisite and system service that provides a logical container for the message queue and is responsible for transferring data to other queue managers via message channels.
There are several advantages to this technology:
There are many ways to access WebSphere MQ's facilities. Some of the APIs supported by IBM are:
There are many other APIs (unsupported by IBM) of which the most notable is the Perl interface (developed and contributed by Morgan Stanley), available from CPAN. NOTES FOR EDITORS "Perl" is not an acronym (read the "Name" section below Morgan Stanley ( is a global Financial services provider headquartered in New York City New York United States CPAN is an Acronym standing for Comprehensive Perl Archive Network, an archive of over 12200 modules of software written in Perl, as well as documentation [4]
In 2004 WebSphere MQ won the Royal Academy of Engineering's MacRobert Award for technological and engineering innovation. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " History Founded in 1976, the Academy was initially known as the Fellowship of Engineering. The MacRobert Award has been presented every year since 1969 by the Royal Academy of Engineering. [5]
WebSphere MQ provides assured one-time delivery of messages across a wide variety of platforms. The product emphasizes reliability and robustness of message traffic, and ensures that a message should never be lost if MQ is appropriately configured.
It needs to be remembered that a message in the context of MQ has no implication other than a gathering of data. MQ is very generalized and can be used as a robust substitute for many forms of intercommunication. For example, it can be used to implement reliable delivery of large files as a substitute for FTP.
MQ provides application designers a mechanism to achieve non-time-dependent architecture. Messages can be sent from one application to another, regardless of whether the applications are running at the same time. If a message receiver application is not running when a sender sends it a message, the queue manager will hold the message until the receiver asks for it. Ordering of all messages is preserved, by default this is in FIFO order of receipt at the local queue within priority of the message. FIFO is an Acronym for First In First Out, an abstraction in ways of organizing and manipulation of data relative to time and prioritization
It provides a means for transforming data between different architectures and protocols, such as Big Endian to Little Endian, or EBCDIC to ASCII. Extended Binary Coded Decimal Interchange Code ( EBCDIC) is an 8- Bit Character encoding ( Code page) used on IBM mainframe Operating American Standard Code for Information Interchange ( ASCII) This is accomplished through the use of message data "exits". Exits are compiled applications which run on the queue manager host, and are executed by the WebSphere MQ software at the time data transformation is needed.
WebSphere MQ allows receipt of messages to "trigger" other applications to run, and thus provides the framework for a message driven architecture.
It implements the JMS standard API, and also has its own proprietary API, known as the Message Queuing Interface. The Java Message Service ( JMS) API is a Java Message Oriented Middleware (MOM API for sending messages between two or more clients
Unlike email, MQ itself is responsible for determining the destination of messages by the definition of queues, so processing of sent messages can be moved to a different application at a different destination. MQ provides a robust routing architecture, allowing messages to be routed via alternative paths around a network of MQ managers. MQ can be implemented as a cluster, where multiple MQ implementations share the processing of messages to allow higher performance and load balancing.
The primary component of a WebSphere MQ installation is the Queue Manager. The queue manager handles storage, timing issues, triggering, and all other functions not directly related to actual movement of data.
Queue managers communicate with the outside world either via a direct software connection, referred to by IBM as a "bindings" connection, or via a network or "client" connection. The bindings connection is limited to programs running on the same physical host as the queue manager, whereas applications using a client connection can connect to a queue manager on any other host in the network.
Bindings connections are generally faster, but client connections allow for a more robust, easily-changeable application design. For instance, with a client connection, the physical location of the queue manager is irrelevant, as long as it is reachable over the network.
Communication between queue managers relies on a channel. Each queue manager uses one or more channels to send and receive data to other queue managers. A channel is uni-directional, a second channel is required to return data. In a TCP/IP based network, a channel will send or receive data on a specific port. A sending channel has a defined destination and is associated with a specific transmission queue, the mechanism by which messages are queued awaiting transmission on the channel; a receiving channel will receive data from any other queue manager with a sending channel of the same name. When a receiving channel receives a message, it is examined to see which queue manager and queue it is destined for. In the event of a communications failure, MQ can automatically re-establish a connection when the problem is resolved.
The "listener" has the function of detecting connections from incoming channels and manage the connection of the sending to the receiving channels. It is the application's network interface to the queue manager. In a TCP/IP network, the listener will "listen" for connections on a specific port.
Local queues represent the location in which data is stored awaiting processing.
Remote queues represent a queue on another queue manager. They define the destination queue, which is one element of the routing mechanism for messages.
To transmit data to a queue on another queue manager, a message is placed on a remote queue. A remote queue is sent via the temporary storage transmission queue associated with a channel. On placing a message on a remote queue, the message will be transmitted across the remote channel. If the transmission is successful the message is removed from the transmit queue. On receiving a message, the receiving queue manager will examine the message to determine whether the message is for itself or is required to forwarded on to another queue manager. If it is the destination, the required queue will be checked, and if it exists, the message will be placed on this queue, if not, placed on the dead letter queue. MQ has features to manage efficient transmission of data across a variety of communication mediums, so for example messages can be batched together until a queue reaches a particular depth.
Although the queue is FIFO, it is ordered based on the receipt in the local queue, not the committing of the message from the sender. Messages can be prioritized, and by default the queue is held in priority, arrival sequence. Queues will only be in sequence of addition if the message is added locally. Message grouping can be used to ensure a set of messages are in a specific order, aside from that, if sequence is critical, it is the application's responsibility to place sequence data in the message or implement a handshaking mechanism via a return queue. In reality, ordering will be maintained in straightforward configurations.
The other element of a queue manager is the log, the mechanism used to create the robustness. As a message is placed on a queue or a configuration change is made, the data is also logged. In the event of a failure, the log is used to recreate damaged objects and recreate messages. In the event of a failure (as opposed to clean shutdown) only "persistent" messages will be recreated. "Non-persistent" messages are lost in the event of a failure or forced shutdown. Non-persistent messages can be sent across a channel set to a fast mode, in which delivery is not assured in the event of a channel failure.
MQ is designed to support a wide variety of approaches to application development. Information can be retrieved from queues either by polling the queue to check for available data at suitable intervals, or alternatively MQ can trigger an event, allowing a client application to respond to the delivery of a message.
TCAM (Telecommunications Access Method) came along in 1971 with the birth of TSO. It supported asynchronous messaging, just like MQ. TCAM 3. 0 added in reusable disk message queues for recovery pretty soon thereafter, just like MQ. You could write a high level PL/I program accessing TRANSIENT datasets (dynamic message queues). Read a message from a transient dataset and that message is removed from the queue, just like a non-browse READ with MQ. With the advent of computers, IBM saw an opportunity to apply new technology to the need for message switching. In the early 1960s, IBM marketed computer-like devices such as the 7740 and 7750 message switching systems.
The IBM System/360 was announced in April 1964 and with it came communication access methods such as BTAM and QTAM (Basic and Queued Telecommunications Access Methods). In the late 1960s, still another communication access method became available and it was known as TCAM, the Telecommunications Access Method. TCAM offered its users a more advanced form of message switching or message routing. TCAM was widely accepted, especially in the financial and brokerage industries.
In the late 1960s, transaction management systems came into being, each trying to achieve a leadership position in the industry. Within IBM, CICS and IMS were chosen as strategic products to address the need for transaction management. CICS ( Customer Information Control System) is a Transaction server that runs primarily on IBM mainframe systems under Z/OS and Z/VSE Within both CICS and IMS, each had its version of message switching, IMS being a front-end queued system and CICS having its Transient Data facility as the possible basis for message switching.
CICS established itself as a popular transaction management system in the 1968-1971 timeframe, those users who had adopted TCAM for its message handling capabilities, now wanted a combined use of TCAM with CICS. CICS ( Customer Information Control System) is a Transaction server that runs primarily on IBM mainframe systems under Z/OS and Z/VSE In December 1971, IBM announced CICS support of TCAM as part of the CICS/OS-Standard product, to be delivered in December 1972. For interested customers, this enabled them to use TCAM for its message handling strengths and also have TCAM-connected terminals or computers interface with CICS online applications.
In January 1973, TCAM continued to be supported by CICS/OS-Standard Version 2. 3. However, TCAM support was omitted from the initial release of CICS/VS, announced in February 1973 and delivered in June 1974. Needless to say, many CICS-TCAM customers were not happy with that product direction.
With considerable pressure from CICS-TCAM customers, the CICS support of TCAM was reinstated in the CICS/VS 1. 1 product, as of September 1974. In addition to the previous DCB support, with this reinstatement of TCAM support, CICS began to support TCAM access via VTAM, also known as the ACB support. CICS TCAM ACB support was discontinued as of the CICS/ESA Version 3 product in 1990.
In 1992, IBM announced a new product family called WebSphere MQ. WebSphere MQ was to be the extension of TCAM functionality from IBM-only systems to all other platforms. WebSphere MQ had an architecture which enabled heterogeneous systems to communicate with each other (e. g. IBM, HP, Sun, Tandem, etc). WebSphere MQ can be used with CICS systems to send and receive data to/from any other MQ-eligible system. WebSphere MQ can be used to initiate work in a CICS system or a CICS transaction can initiate work in another CICS or non-CICS system.
WebSphere MQ now supports 80 different environments and has become the leading message switching/routing product in the industry.
WebSphere MQ can be used as a foundation for creating Service Oriented Architectures. Service-oriented architecture ( SOA) is a method for Systems development and integration where functionality is grouped around Business processes Several additional product options exist to help convert legacy programs into functioning Web services through the use of MQ. A Web service (also Web Service) is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction Larger, heterogeneous enterprises often appear as a federation of somewhat autonomous domains based on lines of business, functional or governance areas. In such environments, some services may be shared or reused only within a single domain, while others may be shared or reused throughout the enterprise. WebSphere MQ provides the means by which communication exists between lines-of-business or otherwise separate business domains.
A related product in the WebSphere MQ product family called WebSphere MQ Message Broker enables a diverse and robust set of extensions to queue-based architectures. WebSphere Message Broker (WMB is IBM 's information broker from the WebSphere product family that allows business information to flow between disparate Using MQ Message Broker, one can implement a WebServices front-end, complete with WSDL file support which can interact with any queue-based application. WebSphere Message Broker (WMB is IBM 's information broker from the WebSphere product family that allows business information to flow between disparate