Компания IBM
Опубликован: 14.12.2004 | Доступ: свободный | Студентов: 1529 / 139 | Оценка: 4.36 / 3.98 | Длительность: 16:32:00
ISBN: 978-5-9556-0031-4
Специальности: Системный архитектор
Лекция 13:

Брокер сообщений WebSphere BI Message Broker

< Лекция 12 || Лекция 13: 1234 || Лекция 14 >

Принципы построения WebSphere Message Broker

Брокер сообщений соединяет в себе средства разработки, масштабируемую среду исполнения и средства моделирования.

Основные компоненты WebSphere Message Broker - это система исполнительных брокеров, сервер конфигурации ( Configuration Manager ), универсальная графическая среда разработки и администрирования Message Broker Toolkit.

Взаимодействие между компонентами WebSphere Message Broker базируется на очередях WebSphere MQ. Все команды и запросы, идущие от Message Broker Toolkit на сервер конфигурации реализуются в виде сообщений. Сам сервер конфигурации и брокеры связаны при помощи очередей сообщений WebSphere MQ, через которые передаются внутренние управляющие и отчетные сообщения WebSphere Message Broker в формате XML. Для постоянного хранения конфигурационной информации, данных о форматах, потоках обработки сервер конфигурации и брокеры используют реляционные базы данных. Стандартно в WebSphere Message Broker входит СУБД DB2, однако для работы брокера можно использовать другие СУБД: Oracle, MS SQL Server, Sybase. Сервер конфигурации является центральным компонентом, управляющем ведением репозитория форматов и бизнес-правил, работой брокеров.

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

Поток обработки сообщения и его визуальное конструирование. Обработка сообщения, попавшего в брокер, определяется так называемым потоком или схемой обработки сообщения (message flow). Поток обработки состоит из последовательности операций над сообщением и конструируется при помощи набора существующих обработчиков (рис.12.4). Обработчики WebSphere Message Broker - это по сути процедуры, настраиваемые по параметрам. Они реализуют отдельный шаг или специализированную функцию процесса обработки. В свойствах обработчиков-процедур определяются параметры, необходимые для исполнения данного потока. Например, если обработчик читает сообщения из очереди WebSphere MQ, то в качестве параметра указывается имя очереди. Если другой обработчик предназначен для обращения к внешней базе данных, то среди его параметров будут названия базы, таблиц и полей. Поток обработки визуально набирается из необходимых обработчиков, которые обладают точками входа и выхода - терминалами, входные и выходные терминалы обработчиков связываются соединениями, образуя направленный граф, реализующий пошаговую последовательность обработки сообщения.

Компоненты потока обработки сообщений

Рис. 12.4. Компоненты потока обработки сообщений

Как правило, каждый поток обработки начинается с обработчика Input и заканчивается одним или несколькими обработчиками Output, используется транспорт WebSphere MQ и входная очередь для приема информации извне. Для других случаев можно заменить стандартный входной обработчик на собственный обработчик. Основное назначение обработчика Input, кроме того, чтобы прочитать пришедшее сообщение из очереди WebSphere MQ, правильно интерпретировать его тип и формат, а также разбить его на отдельные поля. При этом в зависимости от типа сообщения обработчик может подключать различные парсеры (программы разбора формата сообщения). Последний обработчик в потоке Output завершает процесс обработки сообщения в данном потоке и отправляет его по назначению в очередь или список очередей. Среди параметров обработчика Output, кроме адресной информации содержатся важнейшие определения уровня транзакционности данного потока обработки, постоянства создаваемого сообщения, передачи контекста и идентификационной информации из исходного сообщения во вновь создаваемое сообщение.

Существует группа обработчиков, которая предназначена для реализации проверок и управляющих конструкций внутри потока обработки, например, обработчик Filter разделяет поток обработки на ветви в зависимости от условия фильтрации. Условные переходы с динамическими и статическими назначениями внутри потока обеспечиваются обработчиками RouteToLabel и Label. Для реакции на возникающие ошибки и обработку исключительных состояний существуют обработчики TryCatch и Throw. Трассировка и проверка корректности потока и структуры проходящих сообщений осуществляются соответственно обработчиками Trace и Check. FlowOrder определяет порядок прохождения отдельных ветвей потока обработки.

Для взаимодействия с базами данных имеются специализированные обработчики Database, DatabaseInsert, DatabaseUpdate, DatabaseDelete позволяющие визуально назначать связи и преобразования между полями базы данных и полями сообщения (рис.12.5). Наиболее часто используемым и универсальным по возможностям является обработчик Compute, который позволяет писать разнообразные программы-скрипты на языке ESQL.

Пример потока обработки сообщений

Рис. 12.5. Пример потока обработки сообщений

Домены сообщений. При обработке любого сообщения, попавшего в WebSphere Message Broker, прежде всего, выполняется процедура отнесения сообщения к правильному домену и разбиение сообщения на отдельные поля. Сообщения, которые способен обрабатывать WebSphere Message Broker, могут относиться к одному из нескольких основных доменов, а именно XML, JMS, MRM, NEON, BLOB. Некоторые типы сообщений WebSphere Message Broker может распознавать и обрабатывать динамически, то есть без предварительного занесения метаданных в репозиторий, например, так происходит обработка корректно определенных XML документов. Для других типов XML документов требуется занесение в репозиторий. Сообщения, относящиеся к домену MRM (Message Repository) являются сообщениями из внутреннего репозитория WebSphere Message Broker. Сообщения, созданные приложениями при помощи интерфейса JMS могут относиться к нескольким доменам: текст, потоки, карты и объекты Java. WebSphere Message Broker поддерживает их разбор и интерпретацию. Кроме этого, WebSphere Message Broker включает развитую технологию разбора и обработки сообщений, лицензированную IBM у фирмы NEON и обрабатывает сообщения из соответствующего домена. Наконец, сообщения неструктурированные или с неизвестной структурой относятся к домену BLOB. Для каждого из доменов используются собственные разборщики-парсеры.

Важным является вопрос о том, как WebSphere Message Broker определяет, к какому домену относится сообщение. Информация о домене сообщения и сопутствующих параметрах (идентификаторе набора, типе формата и т.д.) может быть определена двумя методами - либо содержаться в самом сообщении, либо быть определенной в Message Broker, в настройке входного обработчика INPUT конкретного потока обработки (рис.12.6). В первом случае для определения собственного содержимого сообщением используется специальное поле FORMAT стандартного заголовка сообщений WebSphere MQ. Кроме этого, приложение может вставить в сообщение специальный подзаголовок MQRFH2, имеющий поля для определения набора, типа и формата сообщения. Для случая настройки потока, у входного обработчика потока обработки Input есть соответствующие параметры, позволяющие задавать значения доменов, форматов и типов для сообщений, которые будут попадать во входную очередь.

Внутреннее представление сообщений WebSphere Message Broker

Рис. 12.6. Внутреннее представление сообщений WebSphere Message Broker
< Лекция 12 || Лекция 13: 1234 || Лекция 14 >