[ Маршрутизация сообщений ] [ Фильтрация сообщений ] [ Преобразование сообщений ] [ Обогащение контента ] [ Переключение протоколов ] [ Цепочки сервисов ] [ Сохранение и перенаправление сообщений ] [ Балансировка нагрузки ] [ Входные точки сообщений ] [ Блоки обработки сообщений ] [ Конечная точка сообщения (эндпойнт) ] [ Хранилища и процессоры сообщений ] [ Шаблоны ] [ Коннекторы ] [ Транспорт ] [ Конструкторы и форматировщики сообщений ] [ Обеспечение безопасности артефактов ] [ Логирование сообщений ] [ Отслеживание сообщений ] [ Отладка медиаторов ] [ Паттерны корпоративной интеграции ] [ Инструменты ESB ]
Ниже приведены ключевые возможности и основные функции INPOLUS ESB.
Маршрутизация сообщений
Когда в INPOLUS ESB поступает входящее сообщение, система может определить конечного получателя и направить это сообщение ему. Маршрутизация также может быть выполнена на основе какого-либо компонента самого сообщения. Это получило название «маршрутизация на базе контента»; такая маршрутизация выполняется с использованием медиатора Switch.
Фильтрация сообщений
INPOLUS ESB может отфильтровывать сообщения на основе их содержания, используя медиатор Filter. Данная функция позволяет реализовывать сложную логику, давая возможность фильтровать сообщения и отправлять их в различные потоки медиации.
Преобразование сообщений
Если форматы данных в сообщениях отправителя и получателя не совпадает, с помощью INPOLUS ESB можно выполнять «перевод» таких сообщений для отправителя и получателя. Для реализации можно использовать медиатор PayloadFactory и медиатор Data Mapper. Вы можете манипулировать сообщениями, добавляя и удаляя из них содержимое, преобразуя в совершенно иной формат и даже проверяя их с помощью доступных механизмов валидации формата сообщений.
Обогащение контента
Вы можете использовать медиатор Enrich Mediator для обработки сообщения исходя из заданной конфигурации источника, а затем выполнить над сообщением определенное действие, используя целевую конфигурацию. Медиатор получает OMElement, используя конфигурацию, указанную в источнике, а затем изменяет сообщение, помещая OMElement в текущее сообщение в соответствии с целевой конфигурацией.
Переключение протоколов
INPOLUS ESB может принимать сообщения, которые приходят по одному протоколу, а затем отправлять их по совершенно другому протоколу (например, HTTP – в JMS). Технология бриджинга протоколов в INPOLUS ESB «достает» бизнес-контент из сообщения, которое приходит по одному протоколу и отправляет этот контент в другом формате и по другому протоколу.
Цепочки сервисов
Выстраивание цепочек сервисов (оркестрация) – распространенный вариант использования в INPOLUS ESB. В этом случае несколько сервисов выступают как единый (агрегированный) сервис. INPOLUS ESB используется для интеграции и последовательного вызова этих сервисов таким образом, чтобы предоставить клиенту ожидаемый ответ.
Сохранение и перенаправление сообщений
Шаблон сохранения и перенаправления сообщений используется при асинхронном обмене сообщениями. Его можно использовать при интеграции с системами, которые принимают поток сообщений с заданной скоростью и реализуют сценарии отказоустойчивости. В данном шаблоне сообщения отправляются в Хранилище Сообщений, где они временно сохраняются, прежде чем будут доставлены по назначению Процессором Сообщений. INPOLUS ESB поставляется с несколькими реализациями хранилища сообщений; он также позволяет создавать кастомные реализации хранилищ сообщений.
Балансировка нагрузки
Балансировщик нагрузки автоматически распределяет входящий трафик по нескольким экземплярам INPOLUS ESB. Это позволяет достичь более высокого уровня отказоустойчивости в кластере и обеспечивает требуемую балансировку нагрузки, необходимую для распределения трафика.
Ниже приведены основные понятия, касающиеся ключевых конструкций/артефактов INPOLUS ESB.
Входные точки сообщений
Прокси-сервисы
Прокси-сервисы – это виртуальные сервисы, которые получают сообщения и, при необходимости, обрабатывают их перед пересылкой в сервис на заданную конечную точку (эндпойнт). Такой подход позволяет выполнять необходимые преобразования и расширять функциональность, не меняя существующий сервис. Для получения и отправки сообщений от прокси-сервисов можно использовать любой доступный транспорт. Прокси-сервис виден снаружи, и к нему можно получить доступ по URL-адресу, похожему на обычный адрес веб-сервиса.
Дополнительная информация: Работа с прокси-сервисами.
REST API
REST API в INPOLUS ESB аналогичен веб-приложению, развернутому в среде выполнения Enterprise Integrator. Каждый API закрепляется за URL-контекстом, заданным пользователем, аналогично тому, как веб-приложение, развернутое в контейнере сервлетов, закрепляется за фиксированным URL-контекстом. API будет обрабатывать только те запросы, которые соответствуют его URL-контексту. REST API определяет один или несколько ресурсов – логических компонентов API, к которым можно получить доступ, выполнив определенный тип HTTP-запроса.
Ресурс REST API используется механизмом медиаторов INPOLUS ESB для обработки входящих запросов, их перенаправления в заданную конечную точку, обработки ответов от этой конечной точки и отправки ответов обратно клиенту, отправившему изначальный запрос. Мы можем создать API-ресурс для обработки определенных HTTP-методов отправляемых на сервер запросов. Последовательность IN обрабатывает входящие запросы и отправляет их на сервер, а последовательность OUT обрабатывает ответы от сервера и возвращает их клиенту, отправившему запрос.
REST API позволяет отправлять сообщения непосредственно в INPOLUS ESB с помощью REST.
Дополнительную информацию см. в разделе Работа с API.
Входные конечные точки
Входная конечная точка (эндпойнт) – это источник сообщений, который можно настраивать динамически. В INPOLUS ESB, когда речь идет о существующих транспортах на основе Axis2, в режиме multi-tenant работает только транспорт HTTP. В свою очередь, входные конечные точки поддерживают работу в multi-tenant режиме для всех транспортов.
Дополнительную информацию см. в разделе Работа с входными конечными точками.
Задачи
Задача (Task) позволяет запускать фрагмент кода по таймеру. INPOLUS ESB предоставляет реализацию задач по умолчанию, которую вы можете использовать для отправки сообщения в INPOLUS ESB в соответствии с заданным расписанием. Вы также можете написать свои собственные задачи, реализовав соответствующий интерфейс Java.
Дополнительную информацию см. в разделе Планирование задач ESB.
Блоки обработки сообщений
Медиаторы
Медиаторы – это отдельные обрабатывающие блоки, которые выполняют определенную функцию, например отправку, преобразование или фильтрацию сообщений. INPOLUS ESB включает в себя библиотеку медиаторов, которая обеспечивает функциональность для реализации широко используемого /wiki/spaces/EI6xx/pages/49610860 (ссылка не работает – прим. перев). Вы также можете написать собственный медиатор для предоставления новой функциональности – с использованием различных технологий, таких как Java, скриптовые языки и Spring.
Последовательности
Последовательность – это набор медиаторов, организованных в логический поток, позволяющий реализовывать паттерны каналов (pipes) и фильтров. Вы можете добавлять последовательности в прокси-сервисы и REST API.
Выходные точки сообщений (выходные эндпойнты)
Выходная точка сообщения (выходной эндпойнт) задает внешний пункт назначения сообщения. Эндпойнт может подключаться к любой внешней службе после настройки его с соответствующими атрибутами или семантикой, необходимыми для взаимодействия с данной службой. Например, эндпойнт может представлять URL, почтовый ящик, очередь JMS или сокет TCP – наряду с настройками, необходимыми для подключения.
Вы можете указать конечную точку как адресный эндпойнт, эндпойнт WSDL, эндпойнт балансировки нагрузки и т. д. Конечная точка определяется независимо от транспортов, что позволяет использовать одну и ту же конечную точку с различными транспортами. Когда вы настраиваете последовательность медиаторов сообщений или прокси-службу для обработки входящего сообщения, вы указываете, какой транспорт использовать и ту конечную точку, куда будет отправлено сообщение.
Дополнительную информацию см. в разделе Точки вызова Endpoints.
Хранилища и процессоры сообщений
Хранилища сообщений и процессоры сообщений используются для хранения и пересылки сообщений, гарантируя их надежную доставку.
Шаблоны
Шаблоны помогают вам управлять вашими конфигурациями без их «размазывания» или дублирования, путем создания прототипов, которые можно использовать и, при необходимости, переиспользовать. Шаблоны улучшают потенциальные возможности повторного использования кода, а также читаемость ваших конфигураций ESB (XML-файлов). В профиле ESB доступны два типа шаблонов: Шаблоны последовательностей и Шаблоны эндпойнтов. Для получения дополнительной информации о шаблонах см. раздел Работа с шаблонами.
Коннекторы
Коннектор – это набор шаблонов, определяющих операции, которые можно вызывать из INPOLUS ESB при подключении INPOLUS ESB к внешним сторонним API.
Транспорт
Транспорт отвечает за передачу сообщений в определенном формате. INPOLUS ESB поддерживает все широко используемые транспорты, включая HTTP/s, JMS, VFS и доменно-специфические транспорты, такие как FIX. Вы легко можете добавить новый транспорт с помощью инфраструктуры транспортов Axis2, а затем подключить его к INPOLUS ESB. Каждый транспорт предоставляет получателя, которого INPOLUS ESB использует для приема сообщений, и отправителя, которого INPOLUS ESB использует при отсылке сообщений. Получатели и отправители транспорта не зависимы от ядра INPOLUS ESB.
Конструкторы и форматировщики сообщений
Когда сообщение поступает в INPOLUS ESB, принимающий транспорт выбирает на основе типа содержимого сообщения соответствующий конструктор сообщений (message builder). Он использует этот конструктор для процессинга «сырых» данных, содержащихся в сообщении и преобразования их в обычный XML, который затем может прочитать и понять механизм медиаторов INPOLUS ESB. INPOLUS ESB включает конструкторы сообщений для текстового и двоичного содержимого.
И наоборот, перед тем как транспорт отправит сообщение из INPOLUS ESB, для перевода исходящего потока данных из сообщения обратно в их исходный формат будет задействован форматировщик сообщений. Как и в случае с конструкторами сообщений, форматировщик сообщений выбирается исходя из типа содержания сообщения.
Вы можете реализовать новые конструкторы и форматировщики сообщений с помощью фреймворка Axis2.
Обеспечение безопасности артефактов
Вы можете применить средства обеспечения безопасности к артефактам профиля ESB, используя INPOLUS Integration Studio. Меры безопасности реализует компонент "Качество обслуживания" (QoS). Для получения дополнительной информации см. раздел Обеспечение безопасности прокси-сервисов.
Логирование сообщений
Для логирования сообщений вы можете использовать медиатор Log.
Отслеживание сообщений
Отслеживание сообщений помогает обнаруживать сбои, находить их основные причины и устранять проблемы в интеграционном процессе после его завершения. Отслеживание сообщений используется для трекинга, мониторинга и визуализации содержимого сообщения на каждом из этапов его прохождения в системе. Это полезно, в том числе, при аудите и отладке.
Отладка медиаторов
Режим медиатора сообщений является одним из режимов работы INPOLUS ESB, при котором INPOLUS ESB выступает в роли промежуточного маршрутизатора сообщений. Единицей медиаторного потока является медиатор. Последовательность – это серия медиаторов, в которой каждый медиатор представляет собой единичную сущность, которая может принимать сообщение, выполнять предварительно определенную задачу по обработке сообщения и передавать его дальше. Отладка заключается в том, чтобы выяснить, работают ли единичные медиаторы, функционирующие как отдельные сущности, именно так, как задумано, а также проверить правильность их работы в комбинации друг с другом.
Паттерны корпоративной интеграции
Интеграция корпоративных приложений (EAI) позволяет подключать бизнес-приложения к другим разнородным системам. Руководство по паттернам EIP показывает, как паттерны, созданные за многие годы архитекторами интеграционных решений, могут быть смоделированы с использованием различных конструкций в профиле ESB.
Инструменты ESB
Вы можете использовать INPOLUS Integration Studio для создания различных интеграционных объектов, которые вы можете реализовать и внедрить в ESB-профиль INPOLUS ESB для обработки запросов.