Послушайте эту статью
Из Википедии, свободной энциклопедии
  (Перенаправлено из IBM WebSphere MQ )
Перейти к навигации Перейти к поиску

IBM MQ - это семейство ориентированных на сообщения продуктов промежуточного программного обеспечения, которое IBM выпустила в декабре 1993 года. Первоначально оно называлось MQSeries , а в 2002 году было переименовано в WebSphere MQ, чтобы присоединиться к набору продуктов WebSphere . В апреле 2014 года он был переименован в IBM MQ . В семейство MQ входят продукты IBM MQ, IBM MQ Advanced, IBM MQ Appliance, IBM MQ для z / OS и IBM MQ on IBM Cloud. IBM MQ также имеет варианты развертывания в контейнерах.

MQ позволяет независимым и потенциально несовместимым приложениям в распределенной системе безопасно взаимодействовать друг с другом с помощью сообщений. MQ доступен на большом количестве платформ (как IBM, так и других производителей), включая z / OS ( мэйнфреймы ), OS / 400 ( IBM System i или AS / 400 ), средство обработки транзакций , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux и Microsoft Windows .

Компоненты MQ [ править ]

Основные компоненты MQ:

  • Сообщение : Сообщения представляют собой наборы двоичных или символьных (например, ASCII или EBCDIC ) данных, которые имеют некоторое значение для участвующей программы. Как и в других протоколах связи , информация о хранении, маршрутизации и доставке добавляется к сообщению перед передачей и удаляется из сообщения перед доставкой в ​​принимающее приложение.
  • Очередь : очереди сообщений - это объекты, которые хранят сообщения в приложении.
  • Диспетчер очереди : системная служба, которая предоставляет логический контейнер для очереди сообщений. Он отвечает за передачу данных другим администраторам очередей по каналам сообщений. Хотя это не является строго обязательным условием для промежуточного программного обеспечения, ориентированного на сообщения, оно является предварительным условием IBM MQ. Диспетчеры очередей обрабатывают хранение, проблемы синхронизации, запуск и все другие функции, не связанные напрямую с фактическим перемещением данных.

Программы, интегрированные с IBM MQ, используют единый интерфейс прикладных программ (API) на всех платформах.

Типы сообщений [ править ]

MQ поддерживает обмен сообщениями « точка-точка» и « публикация- подписка».

API [ править ]

API, напрямую поддерживаемые IBM, включают:

  • Интерфейс очереди сообщений IBM (MQI) для C , COBOL , PL / I , Java , Rexx , [1] RPG и C ++
  • Служба сообщений Java (JMS)
  • XMS для C / C ++ и .NET [2]
  • .СЕТЬ
  • Изобразительное State Transfer
  • МЫЛО

Дополнительные API (официально не поддерживаемые) также доступны через третьих лиц, в том числе:

  • Интерфейс Perl (разработан и предоставлен Hildo Biersma), доступный на CPAN . [3]
  • Интерфейс Python (язык программирования) PyMQI (первоначально разработанный Лесом Смитсоном), доступный в PyPI [4]
  • Windows PowerShell [5]

Особенности [ править ]

Одноразовая доставка : MQ использует однократную доставку. Такое качество обслуживания обычно предотвращает потерю или дублирование сообщений.

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

Преобразование данных : например, от Big Endian до Little Endian или из EBCDIC в ASCII . Это достигается за счет использования выходов данных сообщения . Выходы - это скомпилированные приложения, которые выполняются на хосте администратора очередей и выполняются программным обеспечением IBM MQ в момент, когда требуется преобразование данных.

Структура архитектуры, управляемой сообщениями : IBM MQ позволяет получать сообщения для запуска других приложений.

Диапазон API : он реализует стандартный API службы сообщений Java (JMS), а также имеет собственный собственный API, известный как интерфейс очереди сообщений (MQI), который на несколько лет предшествовал JMS. Начиная с версии 8.0.0.4, MQ также поддерживает MQ Light API.

Кластеризация : несколько реализаций MQ совместно обрабатывают сообщения, обеспечивая балансировку нагрузки.

Связь [ править ]

Администраторы очередей общаются с внешним миром через:

  • Привязки : прямое программное подключение. Обычно быстрее, но ограничивается программами, работающими на том же физическом хосте, что и администратор очередей.
  • Сетевое или «клиентское» соединение : приложения, использующие клиентское соединение, могут подключаться к администратору очередей на любом другом узле в сети. Физическое расположение администратора очередей не имеет значения, если он доступен по сети.

Связь между администраторами очередей [ править ]

Это зависит от канала . Каждый администратор очередей использует один или несколько каналов для отправки и получения данных другим администраторам очередей. Канал однонаправленный; для возврата данных требуется второй канал. В сети на основе TCP / IP канал отправляет или принимает данные через определенный порт.

Типы каналов:

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

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

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

Передача данных в очередь на другом администраторе очередей [ править ]

Типы очередей:

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

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

Заказ [ править ]

Хотя очередь является FIFO, она упорядочивается на основе поступления в локальную очередь, а не фиксации сообщения от отправителя. Сообщения могут иметь приоритет, и по умолчанию очередь имеет приоритет в порядке поступления. Очереди будут добавляться только в последовательности добавления, если сообщение добавлено локально. Группировка сообщений может использоваться для обеспечения того, чтобы набор сообщений был в определенном порядке, кроме того, если последовательность критична, приложение несет ответственность за размещение данных последовательности в сообщении или реализацию механизма подтверждения связи через очередь возврата. В действительности порядок будет поддерживаться в простых конфигурациях.

Журнал [ править ]

Другой элемент администратора очередей - это журнал . Когда сообщение помещается в очередь или изменяется конфигурация, данные также регистрируются. В случае сбоя журнал используется для воссоздания поврежденных объектов и воссоздания сообщений. При сбое воссоздаются только постоянные сообщения - «непостоянные» сообщения теряются. Непостоянные сообщения могут быть отправлены по каналу, установленному в быстрый режим, в котором доставка не гарантируется в случае сбоя канала.

MQ поддерживает как круговой, так и линейный каротаж.

Получение сообщений из очередей [ править ]

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

Доступность [ править ]

IBM MQ предлагает множество решений для обеспечения доступности:

Диспетчер очереди реплицированных данных (RDQM / 'Easy HA' - MQ Advanced только для распределенных): синхронная репликация между тремя серверами, которые все используют плавающий IP-адрес.

Кластеры диспетчера очередей: группы из двух или более диспетчеров очередей на одном или нескольких компьютерах определяются для кластера, обеспечивая автоматическое соединение и позволяя разделять очереди между ними для балансировки нагрузки и избыточности.

Группы совместного использования очередей (только z / OS): в среде общей очереди приложение может подключаться к любому из администраторов очередей в группе совместного использования очередей. Поскольку все администраторы очередей в группе совместного использования очередей могут обращаться к одному и тому же набору общих очередей, приложение не зависит от доступности конкретного администратора очередей. Это обеспечивает большую доступность, если администратор очередей останавливается, потому что все другие администраторы очередей в группе совместного использования очереди могут продолжить обработку очереди.

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

История [ править ]

Даты выпуска версии [ править ]

Версия End Of Service [ править ]

Актуальную информацию о датах окончания поддержки можно найти на сайте IBM Software Support Lifecycle . Следующая таблица относится к программному обеспечению MQ. Даты жизненного цикла микропрограмм и оборудования MQ Appliance отличаются от тех, что указаны в таблице.

Справочная информация об архитектуре [ править ]

С появлением компьютеров IBM увидела возможность применить новую технологию к необходимости коммутации сообщений.

В начале 1960-х IBM продавала систему управления связью IBM 7740 и программируемую систему управления передачей IBM 7750, которые представляли собой программируемые системы коммутации сообщений.

IBM System / 360 была анонсирована в апреле 1964 года, и вместе с ней появились такие методы доступа к связи, как BTAM и QTAM (базовые методы и методы доступа к телекоммуникациям с очередями). В 1971 году TCAM, метод доступа к электросвязи , предложил своим пользователям более совершенную форму коммутации сообщений или маршрутизации сообщений. TCAM получил широкое распространение, особенно в финансовой и брокерской отраслях. Он поддерживал асинхронный обмен сообщениями, как и более поздний MQ. TCAM 3.0 добавлен в очереди сообщений многоразового диска для восстановления вскоре после этого, как и MQ. Программа PL / I высокого уровня может использоваться для доступа к ПЕРЕХОДНЫМ наборам данных (динамическим очередям сообщений). Чтение сообщения из временного набора данных привело к тому, что это сообщение было удалено из очереди, как и в случае READ без просмотра с помощью MQ.

В конце 1970-х годов появились системы управления транзакциями, каждая из которых пыталась занять лидирующее положение в отрасли. В рамках IBM CICS и IMS были выбраны в качестве стратегических продуктов для удовлетворения потребности в управлении транзакциями. Как в CICS, так и в IMS, у каждой была своя версия переключения сообщений, IMS была внешней системой с очередями, а CICS имела свое средство Transient Data в качестве возможной основы для переключения сообщений. [Цитата ??]

CICS зарекомендовала себя как популярная система управления транзакциями в период 1968–1971 годов. Те пользователи, которые приняли TCAM для своих возможностей обработки сообщений, теперь хотели комбинированного использования TCAM с CICS. В декабре 1971 года IBM объявила о поддержке CICS TCAM как части продукта CICS / OS-Standard, который должен быть доставлен в декабре 1972 года. Для заинтересованных клиентов это позволило им использовать TCAM для своих сильных сторон обработки сообщений, а также иметь терминалы, подключенные к TCAM. или компьютеры взаимодействуют с онлайн-приложениями CICS. [цитата ??]

В январе 1973 года TCAM продолжала поддерживаться версией 2.3 CICS / OS-Standard. Однако поддержка TCAM отсутствовала в первоначальном выпуске CICS / VS, объявленном в феврале 1973 г. и поставленном в июне 1974 г. Само собой разумеется, что многим клиентам CICS-TCAM не понравилось это направление продукта.

Под значительным давлением со стороны клиентов CICS-TCAM поддержка CICS TCAM была восстановлена ​​в продукте CICS / VS 1.1 с сентября 1974 года. В дополнение к предыдущей поддержке DCB, с этим восстановлением поддержки TCAM, CICS начал поддерживать доступ к TCAM. через VTAM, также известный как поддержка ACB. Поддержка CICS TCAM ACB была прекращена в продукте CICS / ESA версии 3 в 1990 году.

В 1992 году IBM анонсировала новый продукт под названием MQSeries. Позднее это название бренда было переименовано в «WebSphere MQ» (иногда сокращенно до WMQ) в 2002 году для поддержки названия семейства WebSphere и продукта. В 2014 году он был переименован в IBM MQ. MQ должен был быть расширением функциональности TCAM от систем только от IBM на все другие платформы. MQ имеет архитектуру, которая позволяет гетерогенным системам взаимодействовать друг с другом (например, IBM, HP, Sun, Tandem и т. Д.). MQ можно использовать с системами CICS для отправки и получения данных в / из любой другой системы, отвечающей требованиям MQ. MQ можно использовать для запуска работы в системе CICS, или транзакция CICS может инициировать работу в другой системе CICS или не-CICS.

IBM MQ теперь поддерживает 80 различных сред и стал ведущим в отрасли продуктом для коммутации / маршрутизации с гарантированной доставкой сообщений. [11]

MQ и веб-сервисы [ править ]

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

Связанный продукт в семействе продуктов IBM MQ, называемый IBM Integration Bus (ранее WebSphere Message Broker) , обеспечивает разнообразный и надежный набор расширений для архитектур на основе очередей. Используя IBM Integration Bus, пользователи могут реализовать интерфейс WebServices с поддержкой файлов WSDL, который может взаимодействовать с любым приложением на основе очередей.

См. Также [ править ]

  • Расширенный протокол очереди сообщений
  • IBM WebSphere Message Broker
  • Служба сообщений Java
  • Очередь сообщений
  • Очередь сообщений как услуга
  • MQTT

Ссылки [ править ]

  1. ^ «MA95: интерфейс REXX для WebSphere MQ» . Проверено 9 октября 2014 .
  2. ^ «Введение в XMS - API службы сообщений IBM» . Проверено 6 декабря 2007 .
  3. ^ MQSeries - Расширение Perl для поддержки MQSeries - search.cpan.org
  4. ^ «Документация PyMQI» . Архивировано из оригинала на 2013-01-17 . Проверено 3 сентября 2010 .
  5. ^ «MO74: WebSphere MQ - библиотека Windows Powershell» . Проверено 6 декабря 2007 .
  6. ^ "Объявление IBM о IBM MQ 9.2" . Международные бизнес-машины (IBM) . Проверено 22 октября 2020 года .
  7. ^ "Объявление IBM о IBM MQ 9.1" . Международные бизнес-машины (IBM) . Проверено 6 августа 2018 .
  8. ^ "Объявление IBM о IBM MQ на IBM Cloud" . Международные бизнес-машины (IBM) . Проверено 6 августа 2018 .
  9. ^ "Объявление IBM о IBM MQ 9.0" . Международные бизнес-машины (IBM) . Проверено 17 июня +2016 .
  10. ^ «MQSeries для MVS / ESA версии 1.2» . Международные бизнес-машины (IBM) . Дата обращения 10 декабря 2018 .
  11. ^ http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&supplier=897&letternum=ENUS211-395 IBM MQ - это лидирующий на рынке продукт промежуточного слоя, ориентированный на сообщения, который обеспечивает надежная, проверенная универсальная магистраль обмена сообщениями для почти 10 000 организаций различного размера, охватывающих многие отрасли по всему миру.

Внешние ссылки [ править ]

Послушайте эту статью ( 22 минуты )
Разговорный значок Википедии
Этот аудиофайл был создан на основе редакции этой статьи от 29 октября 2011 г. и не отражает последующих правок. ( 2011-10-29 )
  • Страница продукта
  • Лист данных MQ
  • Поддержка MQ
  • Документы MQ
  • Интеграция в Twitter
  • MQ в Developerworks