Россия |
Системы очередей сообщений
Развитие IBM MQSeries - WebSphere MQ
История MQSeries как единого семейства программных продуктов начинается с 1992 года, когда IBM опубликовала спецификации для программного интерфейса Message Queue Interface (MQI). В том же 1992 году было заключено соглашение между IBM и фирмой System Strategies Inc.(SSI), которая тогда разрабатывала собственные продукты для передачи сообщений ezBRIDGE и Transact, которые были адаптированы для использования MQI.
Местом разработки MQSeries является лаборатория IBM, находящаяся в местечке Херсли (Hursley) на юго-западе Англии. Европейское происхождение технологии возможно определило техническую проработанность продукта с одной стороны, и некоторый недостаток активной рекламы для него на рынке с другой.
Первая версия MQSeries представляла собой сборный пакет из версий производства самой IBM для мейнфреймов, и продуктов System Strategies Inc.(SSI) для персональных компьютеров и UNIX платформ.
Настоящей версией MQSeries можно считать только вторую, имевшую кодовое имя Mayflower. В качестве наиболее полного и четкого документа, описывающего назначение и архитектуру классической системы очередей сообщений можно порекомендовать документ IBM MQSeries Message Queue Interface Technical Reference, который еще можно найти через Интернет на сайтах компании IBM. В этом документе определяются типы сообщений и их контрольная структура, основные объекты менеджера очередей – очереди и каналы, принципы адресации и доставки сообщений на удаленные системы, вызовы и параметры программного интерфейса MQI, механизм триггеринга, транзакционные свойства, административные интерфейсы.
С тех пор появилось много новых версий, существенно расширился круг платформ и функциональные возможности WebSphere MQ. Говоря о появлении новых версий, надо заметить, что менеджеры очередей MQSeries - WebSphere MQ даже разных версий взаимодействуют между собой и обеспечивают функционирование единой транспортной системы WebSphere MQ. При этом менеджер очередей устаревшей версии не сможет выполнить все новые функции обработки для сообщения, созданного на сервере последней версии, однако принять или переправить такое сообщение дальше, не потеряв его, менеджер старой версии безусловно может.
Менеджер очередей для целого ряда платформ поддерживается на уровне функциональности второй версии – MQSeries V2.2 для DEC OVMS VAX V2.2, DEC OVMS AXP V2.2, Tandem NSK V2.2, SINIX and DC/OSx V2.2, AT&T NCR, V2.2.
В 1997 появляется 5 версия MQSeries на новой кодовой базе Armada. В ней было ряд нововведений, в том числе:
- поддержка координации транзакций между очередями сообщений и внешними реляционными базами данных,
- увеличение предельного размера сообщений с 4 MB до 100 MB,
- рассылка сообщений по списку.
В 1999 выходит следующая версия 5.1 [ 5 ] , которая сопровождалась переделкой базового транспортного слоя, появлением многопоточных канальных агентов. Предельный размер очереди был увеличен до 2 GB. Для поддержки модели публикация-подписка IBM предложила специальный бесплатный брокер, который устанавливался поверх системы очередей сообщений. Существенным нововведением явился встроенный механизм интеллектуального администрирования и распределения нагрузки в системе из нескольких менеджеров сообщений – программные кластеры.
В 2000 году появилась версия системы очередей сообщений для мобильных устройств MQSeries Everyplace. Разработанная на языке Java и существенно облегченная по потребляемым ресурсам MQSeries Everyplace была предназначена для покрытия новой быстроразвивающейся области применения информационных технологий.
В 2000 году добавилось несколько новых программных интерфейсов. В MQSeries появилась поддержка JMS (Java Message Service), нового открытого стандартизированного интерфейса для передачи сообщений для программ на языке Java. Стандарт JMS разрабатывался фирмой Sun и был призван дать единый интерфейс для различных производителей систем очередей сообщений. В стандарте JMS сильно отразилось влияние MQSeries, особенно в модели взаимодействия приложений типа точка-точка. Кроме того, обобщая опыт интеграционных проектов, IBM предложило разработчикам новый программный интерфейс высокого уровня MQSeries AMI (Application Message Interface), призванный упростить разработку по сравнению со стандартным MQI. AMI позволяет использовать параметры низкого уровня MQI в сущностях сервисов и политик, удобные для разработки, настройки и администрирования.
Следующая версия 5.2 была выпущена в 2001 году. Версия имела новую кодовую базу Flotilla, была направлена на улучшения производительности, в этой версии появилась поддержка операционной системы Linux.
Главным видимым дополнением в версии 5.3 (проект Convoy) в 2002 году была встроенная поддержкой системы защиты каналов на базе технологии SSL. В этой версии появилась поддержка так называемых API exits – открытого интерфейса, позволяющего писать собственные модули дополнительной обработки, вызываемые при выполнении базовых программных вызовов. API exits являются очень мощным средством и, к счастью, избыточным для большинства стандартных задач. Кроме значительных для ряда задач в несколько раз улучшений производительности, эта версия система очередей сообщений расширила предельные ограничения на количество сообщений в одной очереди с 640 тысяч до миллиарда сообщений. В версии 5.3 произошло изменения привычного названия MQSeries на WebSphere MQ в целях маркетинга и рекламы семейства продуктов WebSphere как стратегической программной платформы для электронного бизнеса.
В настоящее время менеджеры очередей WebSphere MQ, работают на следующих основных платформах: zOs, OS/390, MVS, VSE/ESA, OS/400, OS/2, Tandem NSK, Digital OpenVMS VAX, Digital Unix, AIX, HP-UX, SunOS, Sun Solaris, Linux, SCO UNIX, UnixWare, AT&T GIS UNIX, DC/OSx, Windows XP/2000/NT, Windows 98/95. Существуют также WebSphere MQ клиенты для многочисленных платформ.