Clever Geek Handbook
📜 ⬆️ ⬇️

IBM WebSphere MQ

Websphere logo.png

IBM MQ is a family of network software that IBM opened in March 1992. Formerly known as MQSeries : IBM renamed it WebSphere MQ 2002 to associate with the WebSphere product line. In April 2014 it was renamed to IBM MQ . IBM MQs are also simply called MQs or MQseries.

IBM MQ is Message Oriented Middleware. It allows independent and possibly non-simultaneous applications in a distributed system to exchange data with each other. MQ works on all major platforms: z / OS ( mainframe ), IBM i ( IBM System i, formerly AS / 400 ), Transaction Processing Facility , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux and Microsoft Windows

Message middleware

IBM MQ is the most common solution in this area [1] for communicating across various platforms, including Windows, Linux, IBM high and mid-tier systems, and other Unix systems.

Message delivery through queues has two sides:

  • Messages are sets of binary or text files that carry a certain meaning for system components. As with other protocols, service information about storage, routing, and delivery is added to messages when they are created, and deleted from them before being sent directly to the recipient application.
  • Message queues are objects that store messages in the application.

The queue manager, although not required in such software, is always used by IBM MQ and is a system service that provides a logical container for the message queue. He is responsible for transmitting data to other dispatchers through special message channels.

This technology has several advantages:

  • Message delivery is not tied to packet data protocols such as TCP / IP . This allows for asynchronous delivery and does not require close communication between applications.
  • Messages are delivered guaranteed and only once, regardless of possible network errors.

Software Interfaces

IBM MQ tools can be accessed in a variety of ways. Supported software interfaces include:

  • IBM Message Queue interface for C , COBOL , PL / I and Java , RPG ;
  • JMS for Java
  • Perl interface (developed by MQ Engineering Group ) (available on CPAN [2] );
  • Windows PowerShell [3] ;
  • XMS for C / C ++ and .NET [4] ;
  • .NET
  • SOAP

Many other interfaces are also implemented, but they are not supported by IBM. .

Features

IBM MQ provides guaranteed message delivery between systems on different platforms. The emphasis is on reliable transmission, messages should never be lost with the correct MQ configuration.

The concept of messages in MQ is generalized, for example, using MQ, you can implement reliable delivery of large files (that is, replace FTP ).

MQ allows you to have a time-independent architecture (that is, without the need for explicit synchronization). Messages can be sent from one application to another, regardless of whether the latter is running or not at the moment. If it does not work, the message will be queued and will be delivered to its destination when the recipient application becomes available. The message order is saved (and you can configure the system so that the messages are delivered in the reverse order, that is, first the messages that were sent last), there is also a message priority system.

Data conversion for other architectures and protocols is possible (for example, the order of bits in bytes, or character encoding). Such an opportunity is realized through special “exits”. These are special programs that run on the queue manager computer and are executed by IBM MQ if necessary.

In IBM MQ, you can use special messages to run an application, which allows you to implement a message-driven architecture.

Unlike email, MQ itself is responsible for determining the purpose of the messages, so the processing of sent messages can be transferred to a separate application on another computer. MQ has a well-thought-out routing architecture, which in particular allows messages to be delivered along an alternative path through a network of MQ dispatchers. MQ can be implemented as a cluster in which message processing is performed by several instances to increase productivity.

Interaction

The main component of IBM MQ is the Queue Manager. He is responsible for storing files, timing, launching applications (triggering) and other actions not directly related to moving data.

Dispatchers are open for interaction either through a direct software connection (called bindings connection), or through a network or client connection. Obviously, a direct connection is only possible for programs running on the same computer as the queue manager.

A direct connection is faster, but using a network connection allows you to make the system more flexible (even if the program runs on the same computer, it can easily be transferred to another network connection, thus unloading the computer on which the dispatcher is running).

For the interaction of dispatchers, special channels are organized. Since the channels are unidirectional, a second channel is needed for reverse data. In a TCP / IP network, a separate port is assigned to each channel. In case of errors, MQ automatically reconnects after solving the problem.

A local queue is simply a path in the file system to data pending processing.

The remote queue for this computer is the queue of another dispatcher. It is the remote queues that act as the destination.

To transfer data to another dispatcher, the message is placed first in a temporary queue for data transmission associated with the channel, and then transmitted to the remote queue. If the message was transmitted without errors, it is removed from the transmission queue. When a message is received from a channel, it is determined to which dispatcher it is sent and to which queue and, if it is not the dispatcher who received the message, it is sent further. If this dispatcher is the final one, the message will be placed in the specified queue (if it exists, otherwise - in the queue of unclaimed messages). To increase efficiency, messages can be deliberately left in the queue until its size becomes optimal for transmission in these conditions.

MQ and Web Services

IBM MQ can be the basis for building a system with a service-oriented architecture . There are several helper utilities for adapting older programs in MQ Web services . Large heterogeneous corporations are often a simple combination of loosely coupled components. In such environments, some services should only be available within a single component, while others may be used throughout the network. IBM MQ enables this.

WebSphere Message Broker (the full name of WebSphere Business Integration Message Broker, formerly MQSeries Integrator) is closely associated with IBM MQ, allowing you to extend your queue-based architecture. So, it can be used to implement the Web services interface with support for WSDL service description files.

Links

  1. ↑ On average, ~ 40% market share is reported http://www.capitalware.biz/forecast_AI_market.html
  2. ↑ MQSeries - Perl extension for MQSeries support - metacpan.org
  3. ↑ MO74: WebSphere MQ - Windows Powershell Library (unspecified) . Date of treatment December 6, 2007. Archived on June 28, 2012.
  4. ↑ Introducing XMS - The IBM Message Service API (unspecified) . Date of treatment December 6, 2007. Archived on June 28, 2012.

External links

  • IBM's Product Overview
  • Product page
  • Introductory whitepaper
  • Trial code
  • IBM Redbook: WebSphere MQ V6 Fundamentals
  • "WebSphere MQ V6. Fundamentals. ” Per. from English Sayda Davis, Peter Broadhurst (2006)
  • WebSphere MQ newsgroups (inaccessible link)
  • MQSeries Installation, Configuring inetd, xinet, Using JMSAdmin (In French)
  • MQConnect for Unisys MCP (link not available)
  • Mq commands
  • IBM Developerworks starting point
Source - https://ru.wikipedia.org/w/index.php?title=IBM_WebSphere_MQ&oldid=92603893


More articles:

  • Shiloklyuvye thimelia
  • Stenhammar, Wilhelm
  • Marco, Nicola de
  • Turf Moore
  • Panitzza, Ettore
  • Indian Sesame
  • Mitsume ga Tooru (game)
  • Portrait of the Marquise Santa Cruz
  • Soil Dilution
  • Sid Meier's Colonization

All articles

Clever Geek | 2019