Вызов процесса, развернутого в IBM Business Process Manager V7.5, с помощью WebSphere MQ

В этой статье описаны действия, необходимые для интеграции WebSphere® MQ с IBM® Business Process Manager V7.5. Интеграция иллюстрируется на примере процесса, вызванного сообщением, отправленным через MQ. Этот вид интеграции может оказаться полезным в ситуациях, когда необходимо вызвать бизнес-процесс в ответ на событие в любой отдельной системе, которую нельзя подключить напрямую через согласующие структуры, и для обмена данными требуется некоторый промежуточный уровень.

Шарад Чандра, старший консультант по WebSphere, IBM

Шарад Чандра (Sharad Chandra) – фотографияШарад Чандра (Sharad Chandra) работает старшим консультантом по WebSphere в IBM Software Group. Имеет 8-летний опыт в области BPM- и SOA-технологий, а также в разработке сложных решений для заказчиков с использованием BPM-технологий и ПО промежуточного уровня.



Сатиш Балакришнан, ИТ-специалист, IBM

Фото Сатиша БалакришнанаСатиш Балакришнан (Sateesh Balakrishnan) работает ИТ-специалистом в группе IBM Software Services for WebSphere (ISSW). Имеет более чем 10-летний опыт работы и в настоящее время занимается BPM и BRMS, специализируясь на WebSphere Lombardi и WebSphere ILOG. До этого работал над инфраструктурой приложений с особым акцентом на WebSphere Application Server, перенос приложений J2EE и диагностику производительности, а также настройку WebSphere Application Server. Решал разные задачи в IBM, включая проектирование и разработку решений на базе J2EE. Интересуется системами BPM и BRMS.



21.03.2013

Введение

IBM Business Process Manager V7.5 — это всеобъемлющая BPM-платформа, которая позволяет видеть всю общекорпоративную программу и управлять ею. IBM Business Process Manager скрывает сложность за простой средой, ломая преграды между изолированными системами и лучше удовлетворяя потребности клиентов.

WebSphere MQ (MQ) позволяет приложениям использовать очереди сообщений для участия в обработке, управляемой сообщениями. Приложения на разных платформах могут взаимодействовать друг с другом, используя соответствующее программные продукты для управления очередью сообщений. Например, приложения на платформах HP-UX® и z/OS® могут взаимодействовать соответственно через WebSphere MQ для HP-UX и WebSphere MQ для z/OS. При этом внутренняя механика связи от приложений скрыта.

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

Загрузка для этой статьи содержит модуль Message-Driven Bean (MDB), который получает сообщение от MQ и передает его приложению, управляющему бизнес-процессом. Подробные сведения о реализации этого модуля приведены в статье A practical approach to integrating JMS and IBM Business Process Manager (Практический подход к интеграции JMS и IBM Business Process Manager).

Архитектура приложения

Приложение для управления бизнес-процессом, используемое для целей этой статьи, состоит из двух основных компонентов: собственно приложения для управления бизнес-процессом, разработанного в Process Designer, и J2EE™-приложения, содержащего MDB, который играет роль моста между MQ и бизнес-процессом, развернутым на платформе Business Process Manager. Условия активации MDB можно связать с очередью MQ или, при желании, с портом прослушивания WebSphere Application Server.

Как показано на рисунке 1, данные в формате CSV поступают из MQ в MDB, который преобразует их в формат сообщений, понятный Business Process Manager Undercover Agent (UCA), а тот в свою очередь вызывает процесс.

Рисунок 1. Архитектура приложения
Архитектура приложения

Преобразование сообщений в MDB

Метод MDB onMessage получает CSV-данные в форме byteMessage, которые затем маркируются и преобразуются в массив типа String. Впоследствии данные извлекаются из этого массива и преобразуются в структуру XML-сообщения, понятную UCA.

Рисунок 2. Преобразование сообщений
Преобразование сообщений

Интеграция приложения

Чтобы интегрировать приложение Business Process Manager с внешней службой передачи сообщений MQ, нужно создать клиентское соединение MQ на том сервере WebSphere Application Server, где установлен Business Prcess Manager, через канал Service Integration Bus (SIBus) или службу передачи сообщений MQ. Это важный шаг, потому что для внешней службы передачи сообщений MQ WebSphere Application Server действует и как клиент, и как сервер. Эта конфигурация создает мост между процессом, развернутом на Business Process Manager, и MQ.

Архитектура приложения для управления бизнес-процессом

Приложение для управления бизнес-процессом содержит ориентированную на человека задачу, содержащую "инструктор" (Coach), который отображает информацию, полученную от MQ. Эта задача взаимодействует с событием сообщения, которое в свою очередь связано с UCA. Служба UCA получает данные от MDB через свою очередь по умолчанию в стандартном формате и направляет их в задачу. На рисунке 3 приведены общие сведения о конфигурации приложения для управления бизнес-процессом.

Рисунок 3. Конфигурация приложения для управления бизнес-процессом
Конфигурация приложения для управления бизнес-процессом

Структура сообщения MQ

В этой статье мы будем использовать для MQ информационное наполнение в формате CSV. Данные CSV хранятся в текстовом файле, как показано на рисунке 4, который затем передается в MQ с помощью программы RFHUtil.

Рисунок 4. CSV-файл
CSV-файл

Шаг 1. Настройка MQ

Чтобы настроить MQ в WebSphere Application Server, потребуется следующая информация:

  • IP-адрес диспетчера очереди MQ;
  • порт канала передачи MQ, чаще всего 1414; эту информацию с можно найти в MQ Explorer, как показано на рисунке 5.
Рисунок 5. Порт прослушивания MQ в MQ Explorer
Порт прослушивания MQ в MQ Explorer

(Увеличенная версия рисунка 5.)

Получив требуемую информацию, создайте очередь в WebSphere MQ следующим образом.

  1. С помощью MQ Explorer настройте локальную очередь на получение сообщений от Business Process Manager. Для этого щелкните правой кнопкой на папке Queue диспетчера очередей, как показано на рисунке 6.
    Рисунок 6. Настройка очереди MQ
    Настройка очереди MQ

    (Увеличенная версия рисунка 6.)

  2. Создайте канал связи с сервером в диспетчере очередей для соединения MQ с WebSphere Application Server, как показано на рисунке 7.
    Рисунок 7. Создание канала связи с сервером
    Создание канала связи с сервером

    (Увеличенная версия рисунка 7.)

Когда настройка MQ закончена, можно приступать к настройке WebSphere Application Server для соединения с MQ.


Шаг 2. Настройка источника услуг передачи сообщений MQ WebSphere Application Server

В этой статье мы настроим WebSphere Application Server с помощью источника сообщений MQ. Источник сообщений MQ WebSphere Application Server позволяет приложениям для обмена сообщениями на базе Java Message Service (JMS) использовать систему MQ в качестве внешней службы обмена сообщениями JMS. Служба обмена сообщениями MQ поддерживает предметно-независимые интерфейсы JMS 1.1 (их иногда называют «универсальными» или «общими» интерфейсами). Это позволяет приложениям использовать одни и те же интерфейсы для обеих моделей обмена сообщениями "точка-точка" и "публикация/подписка", а также реализовать обе эти модели в рамках одной транзакции. Начиная с JMS 1.1, этот подход рекомендуется для новых приложений. Предметно-зависимые интерфейсы поддерживаются в целях обратной совместимости с приложениями, предназначенными для предметно ориентированных интерфейсов очередей, см. раздел 1.5 Спецификации JMS 1.1.

Чтобы настроить службу, выполните следующие действия.

  1. Настройте Queue Connection Factory, щелкнув на пункте Resources => JMS =>JMS providers и выбрав настраиваемую службу обмена сообщениями MQ для фабрики соединений очереди (Queue Connection Factory), как показано на рисунке 8.
    Рисунок 8. Выбор службы обмена сообщениями MQ
    Выбор службы обмена сообщениями MQ
  2. Измените значение Scope на тот уровень, на котором фабрика соединений видна приложениям.
  3. В окне содержания группы Additional Properties нажмите кнопку Queue connection factories, чтобы получить таблицу существующих фабрик соединений очереди с кратким описанием их свойств.
  4. Создайте новую фабрику соединений, как показано на рисунке 9, указав ее имя, имя JNDI, диспетчер очереди, имя хоста, порт и имя канала.
    Рисунок 9. Настройка фабрики соединений очереди
    Настройка фабрики соединений очереди
  5. Чтобы настроить очередь, выберите Resources => JMS =>JMS providers в навигационной панели и укажите службу обмена сообщениями MQ для настраиваемого пункта назначения очереди.
  6. Измените значение Scope на тот уровень, на котором пункт назначения JMS виден приложениям.
  7. В окне содержания группы Additional Properties нажмите кнопку Queues, чтобы получить таблицу существующих пунктов назначения очереди с кратким описанием их свойств. Создайте новую очередь, как показано на рисунке 10, указав имя, имя JNDI, имя очереди и имя диспетчера очереди.
    Рисунок 10. Настройка очереди
    Настройка очереди

На этом основная настройка MQ Business Process Manager окончена, и можно приступать к созданию и настройке модуля MDB.


Шаг 3. Настройка MDB

MQ обеспечивает два возможных варианта настройки MDB: условия активации и порты прослушивания. Мы будем использовать метод условий активации. Чтобы настроить условия активации, выберите Resources => JMS => Activation specifications, как показано на рисунке 11. Это нужно сделать до установки MDB EAR.

Рисунок 11. Настройка условий активации
Настройка условий активации

После настройки условий активации установите EAR и свяжите JNDI пункта назначения и JNDI условий активации с MDB, как показано на рисунке 12.

Рисунок 12. Настройка условий активации в EAR
Настройка условий активации в EAR

Шаг 4. Вызов MDB

На этом настройка завершена, и MDB можно протестировать. CSV-данные ставятся в очередь MQ с помощью утилиты MQ RFHUtil, как показано на рисунке 14. Однако в реальной среде эти данные могут поступать из других систем ПО.

Рисунок 13. Передача CSV-данных через RFHUtil
Передача CSV-данных через RFHUtil

Шаг 5. Проверка результатов на Process Portal

Когда сообщение записано в ExampleQueue, можно войти на Process Portal в качестве пользователя admin. В папке входящих сообщений должен лежать новый экземпляр процесса, созданный в результате поступления сообщения, как показано на рисунке 15. Если щелкнуть на значке с зеленой стрелкой, чтобы запустить экземпляр процесса, должны появиться данные, полученные от клиента, как показано на рисунке 14.

Рисунок 14. Вызванный процесс
Вызванный процесс

Заключение

В этой статье описано, как интегрировать WebSphere MQ с IBM Business Process Manager V7.5 с помощью Undercover Agent.


Загрузка

ОписаниеИмяРазмер
Файл данных проектаMQUCATest.zip7 КБ

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=WebSphere
ArticleID=862127
ArticleTitle=Вызов процесса, развернутого в IBM Business Process Manager V7.5, с помощью WebSphere MQ
publish-date=03212013