Принципи побудови 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. Компоненти потоку обробки повідомлень
Існує група оброблювачів. яка призначена для реалізації перевірок і керуючих конструкцій всередині потоку обробки, наприклад, обробник 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 є відповідні параметри, що дозволяють задавати значення доменів. форматів і типів для повідомлень, які будуть потрапляти до вхідної черги.
Мал. 12.6. Внутрішнє подання повідомлень WebSphere Message Broker