IBM WebSphere MQ


IBM WebSphere MQ
Websphere logo.png

IBM WebSphere MQ — семейство сетевого ПО открытое IBM в марте 1992. Ранее известно как MQSeries: IBM переименовало его в 2002 для ассоциации с линейкой продуктов WebSphere. WebSphere MQ — промежуточное ПО для сообщения (Message Oriented Middleware). Оно позволяет независимым и, возможно, работающим не одновременно, приложениям в распределённой системе обмениваться данными друг с другом. MQ работает на всех основных платформах: z/OS (мейнфрейм), OS/400 (IBM System i or AS/400), Transaction Processing Facility, UNIX (AIX, HP-UX, Solaris), HP NonStop, OpenVMS, Linux и Microsoft Windows.

Содержание

Промежуточное ПО для сообщения

WebSphere MQ — самое распространённое решение в этой области[1] для сообщения разных платформ, включая Windows, Linux, системы IBM высокого и среднего уровней, и другие системы Unix. WebSphere MQ также называют просто MQ или MQSeries.

Доставка сообщений через очереди имеет две стороны:

  • Сообщения — наборы двоичных или текстовых файлов, несущих определённый смысл для компонентов системы. Как и в случае с другими протоколами, служебная информация о хранении, маршрутизации и доставке добавляется к сообщениям при их создании, и удаляется из них перед передачей их непосредственно приложению-получателю.
  • Очереди сообщений — объекты, хранящие сообщения в приложении.

Диспетчер очереди, хотя и не обязателен в таком ПО, всегда используется в Websphere MQ и является системной службой, обеспечивающей логический контейнер для очереди сообщений. Он отвечает за передачу данных другим диспетчерам через специальные каналы сообщений.

У такой технологии есть несколько преимуществ:

  • Доставка сообщений не «завязана» на протоколы пакетной передачи данных, такие как TCP/IP. Это позволяет обеспечивать асинхронность доставки и не требует тесной связи приложений.
  • Сообщения доставляются гарантированно и только единожды, независимо от возможных ошибок в сети.

Программные интерфейсы

К средствам WebSphere MQ можно обращаться различными способами. В число поддерживаемых программных интерфейсов входят:

Также реализованы многие другие интерфейсы, однако они не поддерживаются IBM[источник не указан 1156 дней].

Особенности

WebSphere MQ обеспечивает гарантированную доставку сообщений между системами на разных платформах. Акцент делается на надёжность передачи, сообщения никогда не должны быть потеряны при правильной конфигурации MQ.

Понятие сообщения в MQ обобщено, например с помощью MQ можно реализовать надёжную доставку больших файлов (то есть заменить FTP).

MQ позволяет иметь архитектуру не зависящую от времени (то есть без необходимости явной синхронизации). Сообщения могут посылаться одним приложением другому, независимо от того, работает последнее или нет в данный момент. Если оно не работает, сообщение попадёт в очередь и будет доставлено по назначению когда приложение-получатель станет доступно. Порядок сообщений сохраняется (причём можно настроить систему таким образом, чтобы сообщения доставлялись в обратном порядке, то есть сначала те сообщения, которые были посланы последними), также имеется система приоритетов сообщений.

Возможно преобразование данных для других архитектур и протоколов (например, порядок разрядов в байте, или кодировка символов). Такая возможность реализуется посредством специальных «выходов» (exits). Это специальные программы, которые работают на компьютере диспетчера очереди и выполняются WebSphere MQ при необходимости.

В WebSphere MQ можно с помощью специальных сообщений запускать на выполнение приложения, что позволяет реализовать архитектуру системы управляемой сообщениями (message-driven architecture).

В отличие от электронной почты, MQ сама отвечает за определение назначения сообщений, поэтому обработку отправленных сообщений можно перенести в отдельное приложение на другом компьютере. MQ имеет продуманную архитектуру маршрутизации, которая в частности позволяет доставлять сообщения по альтернативному пути через сеть диспетчеров MQ. MQ может быть реализован в виде кластера, в котором обработка сообщений выполняется несколькими экземплярами для увеличения производительности.

Взаимодействие

Основной компонент WebSphere MQ — диспетчер очереди (Queue Manager). Он отвечает за хранение файлов, временную привязку, запуск приложений (triggering) и другие действия, не связанные непосредственно с перемещением данных.

Диспетчеры открыты для взаимодействия либо через прямое программное соединение (называемое bindings connection), либо через сетевое, или клиентское соединение (client connection). Очевидно, прямое соединение возможно только для программ, выполняющихся на том же компьютере, что и диспетчер очереди.

Прямое соединение быстрее, но использование сетевого позволяет сделать систему более гибкой (даже если программа выполняется на том же компьютере, при сетевом соединении её легко можно перенести на другой, разгрузив таким образом компьютер на котором выполняется диспетчер).

Для взаимодействия диспетчеров между собой организуются специальные каналы. Так как каналы однонаправленные, для обратных данных нужен второй канал. В сети TCP/IP каждому каналу назначается отдельный порт. В случае ошибок MQ автоматически восстанавливает соединение после решения проблемы.

Локальная очередь — это просто путь в файловой системе к данным, ожидающим обработки.

Удалённая очередь для данного компьютера — это очередь другого диспетчера. В качестве пункта назначения выступают именно удалённые очереди.

Для передачи данных на другой диспетчер, сообщение помещается сначала во временную очередь на передачу данных связанную с каналом, и затем передается в удалённую очередь. Если сообщение было передано без ошибок, оно удаляется из очереди на передачу. При получении сообщения из канала определяется какому диспетчеру оно направлено и в какую очередь и, если это не диспетчер принявший сообщение, оно направляется далее. Если данный диспетчер является конечным, сообщение будет размещено в указанной очереди (если она существует, иначе — в очередь невостребованных сообщений). Для повышения эффективности сообщения могут намеренно оставляться в очереди до тех пор пока её размер не станет оптимальным для передачи в данных условиях.

MQ и Web-службы

WebSphere MQ может быть основой для построения системы с сервисно-ориентированной архитектурой. Для адаптации старых программ в Web-сервисах MQ есть несколько вспомогательных утилит. Большие разнородные корпорации часто являются простым объединением слабо связанных компонентов. В таких средах одни службы должны быть доступны только в рамках одного компонента, в то время как другие могут использоваться всей сетью. WebSphere MQ позволяет обеспечить это.

С WebSphere MQ тесно связан WebSphere Message Broker (полное название WebSphere Business Integration Message Broker, ранее - MQSeries Integrator), позволяющий расширять архитектуру основанную на очередях. Так, с его помощью можно реализовать интерфейс Web-служб с поддержкой файлов описания служб WSDL.

Ссылки

  1. В среднем сообщают о ~40 % доле рынка http://www.capitalware.biz/forecast_AI_market.html
  2. MQSeries — Perl extension for MQSeries support — search.cpan.org
  3. MO74: WebSphere MQ - Windows Powershell Library. Архивировано из первоисточника 28 июня 2012. Проверено 6 декабря 2007.
  4. Introducing XMS -- The IBM Message Service API. Архивировано из первоисточника 28 июня 2012. Проверено 6 декабря 2007.

Внешние ссылки


Wikimedia Foundation. 2010.

Смотреть что такое "IBM WebSphere MQ" в других словарях:

  • IBM WebSphere MQ — is a family of network software products launched by IBM in March 1992. It was previously known as MQSeries, a trademark that IBM rebranded in 2002 to join the suite of WebSphere products. WebSphere MQ, which is often referred to simply as MQ by… …   Wikipedia

  • IBM WebSphere — WebSphere ist eine Produktlinie der Firma IBM, die unterschiedliche Software für Anwendungsintegration, Infrastruktur (z. B. Transaktionen und Warteschlangen) und eine integrierte Entwicklungsumgebung umfasst. Bekannte WebSphere Produkte sind… …   Deutsch Wikipedia

  • IBM Websphere — WebSphere ist eine Produktlinie der Firma IBM, die unterschiedliche Software für Anwendungsintegration, Infrastruktur (z. B. Transaktionen und Warteschlangen) und eine integrierte Entwicklungsumgebung umfasst. Bekannte WebSphere Produkte sind… …   Deutsch Wikipedia

  • IBM WebSphere — Headline text WebSphere refers to a brand of IBM software products that are mostly proprietary [e.g. WebSphere Application Server Community Edition is not proprietary] , although the term also popularly refers to one specific product: WebSphere… …   Wikipedia

  • IBM WebSphere MQ — WebSphere MQ WebSphere MQ, anciennement MQ Series est une famille de logiciels, développé par IBM depuis 1992. Websphere MQ est un service de messagerie inter applicative (ou MOM pour Message Oriented Middleware), c est à dire qu il permet la… …   Wikipédia en Français

  • IBM WebSphere Application Server — (WAS), a software application server, is the flagship product within IBM s WebSphere brand. WAS is built using open standards such as Java EE, XML, and Web Services. It works with a number of Web servers including Apache HTTP Server, Netscape… …   Wikipedia

  • IBM WebSphere Application Server — Тип JEE Container Разработчик IBM …   Википедия

  • IBM WebSphere Edge Server — WebSphere Edge Server (now renamed WebSphere Edge Components ) is a set of web server/application server components that are intended to improve the performance of web based systems. It is part of the IBM WebSphere product suite. It is… …   Wikipedia

  • IBM WebSphere DataPower SOA Appliances — is a family of purpose built, easy to deploy network devices (XML appliances) that simplify, help secure, and accelerate XML and Web Services deployments while extending SOA infrastructure. Originally these devices were created by DataPower… …   Wikipedia

  • IBM WebSphere ESB — provides an Enterprise Service Bus for IT environments built on open standards, SOA, messaging and Web services technologies of WebSphere Application Server. WebSphere ESB is aimed at businesses looking for Web services based connectivity and… …   Wikipedia

Книги

Другие книги по запросу «IBM WebSphere MQ» >>