oldi

Технологии IBM

Часть 3. MQSeries

Наталия Елманова

Что такое MOM

IBM MQSeries

IBM MQSeries Integrator

IBM MQSeries Workflow

IBM MQSeries Adapter

IBM MQSeries EveryPlace

Заключение

 

Мы продолжаем рассказывать о продуктах одного из лидеров рынка программного обеспечения — корпорации IBM. Третья часть нашей статьи посвящена MQSeries — семейству продуктов, предназначенных для интеграции приложений.

Что такое MOM

Состояние, в котором пребывают многие отечественные предприятия, можно назвать переходом от «островковой» автоматизации к созданию единых информационных систем, охватывающих несколько различных сфер деятельности, а нередко и взаимодействующих с информационными системами других предприятий (партнеров по бизнесу, поставщиков тех или иных ресурсов и т.д.). Процесс этот вряд ли пройдет безболезненно — нередко он будет сопровождаться дополнительными организационными процессами, связанными с внедрением новых технологий, такими как появление или исчезновение рабочих мест, изменение должностных обязанностей сотрудников, необходимость их обучения и т.п. Не стоит игнорировать и такой важный факт, как быстрое развитие и изменение технологий, равно как и изменение бизнеса самих предприятий. Это часто приводит к тому, что предприятие вынуждено постоянно модернизировать ту или иную часть эксплуатируемой информационной системы.

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

Существует множество различных способов создания распределенных приложений, выполняющихся на разных платформах, например на основе технологий COM или CORBA, создания Web-приложений, создания и применения Web-сервисов для получения результатов выполнения приложений. Продвижение современных технологий предполагает в большинстве случаев замену существующих систем на новые. В то же время подход, основанный на интеграции приложений на основе средств организации передачи и обмена сообщениями (Messaging Oriented Middleware, MOM), означает сохранение и интеграцию существующих систем и, следовательно, значительную экономию и сохранение сделанных инвестиций. Многие аналитики компьютерной индустрии отмечают быстрый рост числа решений, использующих MOM, благодаря гибкости этой архитектуры. Именно такой способ интеграции реализован в семействе продуктов IBM MQSeries.

Средства организации очередей сообщений предназначены для сохранения сообщений, посылаемых приложениями, и для последующей их доставки другому приложению с помощью специального серверного приложения — менеджера очередей. Менеджер очередей записывает сообщение в локальную очередь, а затем передает его по сети другому менеджеру очередей, содержащему так называемую целевую очередь для приложения-адресата. Приложение-адресат обращается к целевой очереди и получает доступ к сообщению. Таким образом, система очередей сообщений предоставляет асинхронный метод взаимодействия программ, не требующий установки между ними прямой связи. При этом гарантируется, что передаваемое сообщение не будет ни потеряно, ни получено дважды.

Задачи обмена данными между различными приложениями возникают довольно часто, и лет десять-двадцать назад для их решения разработчики создавали собственные модули экспорта и импорта данных. Именно эти модули по существу и явились предшественниками MOM. С развитием же прикладных информационных систем возникла потребность в создании универсальной инфраструктуры, обеспечивающей подобный обмен. Эта потребность и послужила причиной создания MOM.

В 1992 году компанией IBM была опубликована спецификация программного интерфейса Message Queue Interface (MQI), и с того же года существует семейство продуктов под названием MQSeries. За время существования этих продуктов появились версии менеджеров очередей для всех популярных серверных платформ, включая OS/390, MVS, VSE/ESA, OS/400, OS/2, OpenVMS, Digital Unix, AIX, HP-UX, SunOS, Sun Solaris, SCO UNIX, UnixWare, AT&T GIS UNIX, DC/OSx, Windows 2000, Windows NT, Windows 95/98, а также версии клиентов MQSeries для еще большего числа платформ. В последнее время появились средства интеграции MQSeries с реляционными СУБД, объединения менеджеров очередей в кластеры, различные программные интерфейсы, упрощающие разработку приложений с применением MQSeries.

В настоящий момент семейство продуктов IBM MQSeries (рис. 1) содержит:

  • MQSeries — средство организации очередей сообщений и их обработки;
  • MQSeries Integrator — средство интеграции приложений;
  • MQSeries Workflow — средство управления бизнес-процессами;
  • MQSeries Adapter — средство создания адаптеров, то есть переходного программного обеспечения между прикладными системами и MQSeries;
  • MQSeries.EveryPlace — сервис очередей сообщений для мобильных устройств и мобильных пользователей.

Ниже мы рассмотрим назначение и основные возможности каждого из этих продуктов.

В начало В начало

IBM MQSeries

IBM MQSeries, один из ведущих продуктов компании IBM, представляет собой средство организации очередей сообщений и их обработки в гетерогенной распределенной среде, не зависящее ни от аппаратной платформы, ни от операционной системы. Простейшая схема работы IBM MQSeries показана на рис. 2.

Когда пользователь направляет просьбу о передаче сообщения приложению 1, MQSeries записывает сообщение в локальную очередь на передачу удаленным системам, а затем передает его по сети в удаленную целевую очередь. Программа-адресат (приложение 2) читает целевую очередь и получает доступ к сообщению. Таким образом, пользовательские приложения не обязательно должны иметь дело с внутренней структурой очередей и со средствами коммуникаций между менеджерами очередей.

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

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

Приложения, использующие MQSeries, не обращаются к ним непосредственно — доступ к очередям сообщений можно получить только через несколько альтернативных прикладных программных интерфейсов: MQI (Message Queue Interface), AMI (Application Message Interface), JMS (Java Message Service), CMI (Common Message Interfaсe). Этот интерфейсы можно применять с языками Cи, С++, Java, Smalltalk, Cobol, PL/1, Lotus LSX, Basic, а также с наиболее популярными средствами разработки VisualAge, Delphi, PowerBuilder, Visual Basic.

Менеджеры очередей посылают сообщения с помощью каналов и специального протокола MCP (Message Channel Protocol), работающего поверх транспортных протоколов более низкого уровня. Использование этого протокола полностью обеспечивает передачу сообщения, в том числе в случае системного или сетевого сбоя, так как сообщение удаляется из очереди только после подтверждения его приема адресатом.

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

В состав MQSeries входят: утилита для администрирования и конфигурации очередей, каналов сообщений, безопасности — MQSeries Explorer, компонент для тестирования прикладных программных интерфейсов — MQSeries API Exerciser, а также интерфейсы, предназначенныe для встраивания в другие приложения с целью добавления возможностей администрирования MQSeries. На рынке имеются также утилиты для администрирования MQSeries от независимых производителей.

Кроме того, MQSeries можно дополнить средствами шифрования сообщений, а также иными внешними модулями, например: MQSeries Link for SAP R/3 — для интеграции R/3 c другими приложениями или удаленными системами R/3; MQ Enterprise Integrator, MQSeries LSX, MQSeries Link, MQSeries Extra Link — для обмена сообщениями между Lotus Notes и другими системами с помощью MQSeries; MQSeries Internet Gateway — для преобразования HTTP-запросов в сообщения MQSeries и обратно.

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

В начало В начало

IBM MQSeries Integrator

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

MQSeries Integrator использует правила, позволяющие внедрять интеллектуальное управление бизнесом в масштабе предприятия и применять его к событиям бизнеса, и может выполнять динамическую обработку и маршрутизацию сообщений, например добавлять к передаваемой информации данные из корпоративных баз данных, сохранять информацию в корпоративных базах данных, преобразовывать данные, содержащиеся в сообщениях, из одного формата в другой. Данные могут передаваться в режиме «Публикация/Подписка», а также преобразовываться в формат XML и обратно. Форматы данных могут храниться в словарях, в том числе и в поставляемых независимыми производителями.

Продукт MQSeries Integrator состоит из графической среды разработки форматов и процедур обработки потоков сообщений ControlCenter c репозитарием форматов сообщений MessageRepository, из сервера управления Configuration Manager и из раcпределенной системы серверов обработки сообщений Message Broker, которая выполняет роль обработчика и маршрутизатора сообщений MQSeries. Получив сообщение, Message Broker обрабатывает его тем или иным способом (в зависимости от содержания сообщения) в соответствии с правилами, определенными в конфигурации Message Broker.

MQSeries Integrator содержит средства преобразования сообщений из одного формата в другой, описания форматов, сохранения описаний в соответствующих базах данных, распознавания частей сообщения согласно имеющимся форматам. Преобразование форматов может включать добавление или удаление данных, изменение заголовков сообщений, производство вычислений и выполнение функций, определенных пользователями. Существуют готовые словари стандартных форматов для MQSeries Integrator, например для SAP R/3 и S.W.I.F.T.

Помимо средств преобразования форматов, MQSeries Integrator содержит средства для создания и применения правил распределения сообщений на основании значений полей, содержащихся в сообщении. Типичный пример такого правила — отправка копии сообщения еще одному получателю, если значение какого-либо поля сообщения оказалось в заранее заданном диапазоне (например, если сумма сделки превысила какую-либо величину). Отметим, что последняя версия MQSeries Integrator позволяет применять продукты независимых производителей в качестве средств реализации тех или иных правил распределения сообщений.

Доступ к описанным выше средствам возможен с помощью соответствующего прикладного программного интерфейса или с помощью графических административных утилит (рис. 3).

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

В начало В начало

IBM MQSeries Workflow

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

Продукт MQSeries Workflow состоит из серверных и клиентских компонентов.

К серверным компонентам относятся следующие серверы:

  • сервер выполнения — отвечает за своевременное перемещение нужной позиции задания конкретному сотруднику. Для достижения этой цели сервер может запускать или останавливать процессы, регистрировать события, сохранять сведения о них в базе данных. Можно использовать несколько копий сервера выполнения;
  • сервер администрирования — управляет другими серверными компонентами MQSeries Workflow, отвечает за их доступность, функционирование и восстановление после сбоев. Доступ к серверу администрирования осуществляется с помощью компонента MQSeries Workflow Administration Utility;
  • сервер планирования — управляет извещениями для операций, которые должны быть выполнены в течение определенного периода времени;
  • сервер возврата ресурсов системе — отвечает за физическое удаление копий процессов, которые были завершены;
  • сервер выполнения приложений — вызывает для выполнения серверные приложения, например транзакции CICS и IMS. В настоящее время он доступен на платформе OS/390.
  • К клиентским компонентам MQSeries Workflow относятся:
  • BuildTime — с его помощью можно создавать модели потоков операций, для этой цели в него включен графический редактор для создания моделей процессов. Кроме того, этот компонент может определять, какой персонал задействован в процессе, какие программы и данные используются в потоке операций. Созданную модель можно сохранить или экспортировать в формат, удобный для документирования, а затем преобразовать в шаблон и передать серверным компонентам MQSeries Workflow (рис. 4);
  • MQSeries Workflow Client — используется для запуска процессов на выполнение редактирования списков работ, управления копиями процессов, изменения назначений задания, отслеживания выполнения процессов. Вместо готового клиентского приложения, поставляемого с MQSeries Workflow, можно использовать и созданные собственными силами — для этого имеется соответствующий API. Чтобы запустить внешние приложения, используемые для выполнения операций, применяется Program Execution Agent;
  • MQSeries Workflow Client для Lotus Notes — предназначен для применения Lotus Notes в качестве внешней рабочей среды для MQSeries Workflow без всякой адаптации. Этот компонент позволяет предоставить пользователям Notes доступ ко всем функциям MQSeries Workflow, а разработчикам — интерфейс для встраивания функциональных возможностей Lotus Notes (форм, документов) в решение для потока операций;
  • Administration Utility — представляет собой утилиту администрирования серверных компонентов MQSeries Workflow.
В начало В начало

IBM MQSeries Adapter

IBM MQSeries Adapter — это средство создания адаптеров, то есть переходного программного обеспечения между приложениями и MQSeries. Продукт состоит из двух компонентов — MQSeries Adapter Builder и MQSeries Adapter Kernel, а также из двух компонентов для поддержки — MQSeries Adapter Sets и MQSeries Integrator Library.

MQSeries Adapter Builder дает возможность импортировать интерфейс приложения в репозитарий путем обработки прототипов функций описаний структур, позволяя связать данные, содержащиеся в сообщении, с данными, которые должно получить приложение. Это может быть сделано как путем переформатирования данных, так и с помощью более сложных преобразований, например вычисления функций. Результатом работы инструмента является код на языке C, который можно скомпилировать на тех платформах, где будет функционировать приложение.

MQSeries Adapter Kernel представляет собой runtime-библиотеки, к которым обращаются адаптеры, созданные с помощью Adapter Builder.

MQSeries Adapter Sets — набор стандартных адаптеров для SAP R/3, Baan Ivb и JD Edwards OneWorld. Эти адаптеры при необходимости могут быть модифицированы.

Библиотеки MQSeries Integrator Libraries позволяют пользователям MQSeries Integrator применять его совместно с адаптерами.

В начало В начало

IBM MQSeries EveryPlace

IBM MQSeries EveryPlace — сервис очередей сообщений для мобильных устройств, функционирующих под управлением Windows CE, Palm OS, мобильных телефонов, а также для мобильных пользователей с компьютерами под управлением Windows, поддерживающий гарантированную доставку информации между портативными устройствами и взаимодействие со стандартной инфраструктурой менеджеров очередей MQSeries. Этот продукт специально адаптирован для использования на системах с минимальными аппаратными ресурсами и может быть использован на всех платформах, поддерживающих Java (рис. 5).

В начало В начало

Заключение

В настоящей статье мы рассмотрели особенности семейства продуктов IBM MQSeries. Мы рассказали об особенностях MQSeries как средства организации очередей сообщений и их обработки, а также о ряде продуктов, созданных на его основе, а именно: о MQSeries Integrator — средстве интеграции приложений, MQSeries Workflow — средстве управления бизнес-процессами, MQSeries Adapter — средстве создания переходного программного обеспечения между приложениями и MQSeries и о MQSeries EveryPlace — сервисе очередей сообщений для мобильных устройств и мобильных пользователей. Мы убедились в том, что эти продукты могут послужить основой создания информационной инфраструктуры предприятия или решений, являющихся частью такой инфраструктуры.

В следующей статье мы рассмотрим еще один middleware-продукт IBM — сервер приложений WebSphere, являющийся одним из самых распространенных в мире продуктов данного класса.

Подробную информацию о продуктах IBM и Lotus можно получить на Web-сайте по адресам: http://www.ibm.ru/, http://www.lotus.ru/.

 

Материалы и программное обеспечение для написания данной статьи предоставлены компанией «НЕТКОМ» (IBM Distributor). 117036 Москва, ул. Дм. Ульянова, д. 26, корп. 2, офис 57.

Контактное лицо — Вячеслав Глушков. E-mail: vglushkov@interprocom.ru, тел.: (095) 129-8988, 129-6736, факс: (095) 129-8188.

КомпьютерПресс 11'2001