« Интеграционная шина

Сравнение интеграционной шины Mediator ESB и существующих на рынке решений.

Любая корпоративная инфраструктура рано или поздно сталкивается с задачами организации сквозных бизнес-процессов и обеспечения взаимодействия различных информационных систем.

Решение "в лоб" – обеспечивать взаимодействие напрямую между системами имеет множество недостатков:

  • Нет доступа к исходному коду систем либо их модификация нежелательна;
  • Связи между системами нарастают по принципу "спагетти" - через некоторое время будет сложно установить, какие подсистемы связаны с друг другом и каким образом;
  • Слабый и нецентрализованный аудит интеграционных процессов;
  • Часто недостаточный уровень информационной безопасности;
  • Значительное количество времени на разработку и поддержку, так как требуется знать внутреннюю специфику каждой подсистемы.

Для устранения этих проблем компании прибегают к использованию программного обеспечения класса Middleware – ESB (Enterprise Service Bus), связующее программное обеспечение, обеспечивающее централизованный и унифицированный событийно-ориентированный обмен сообщениями между различными информационными системами на принципах сервис-ориентированной архитектуры.

На рынке широко распространены реализации ESB от следующих компаний: IBM, Microsoft, Oracle, SAP, SUN Microsystems.

Основные технологические особенности интеграционных шин с длительным сроком развития (IBM, Oracle, SUN):

  • Устаревший пользовательский интерфейс, разработанный в начале 2000х годов;
  • Тяжеловесные и ресурсоемкие системы – гигантская кодовая база, необходимость хранить большое количество legacy-кода;
  • За свой период развития каждая из систем обросла огромным количеством стабильных версий для разных целей (не всегда последняя версия - лучшая), что требует пристального анализа системы перед внедрением;
  • Некоторые компании по историческим причинам имеют несколько решений интеграционных шин, реализованных с использованием различных технологий, но призванных решать сходные задачи, что вносит еще больше путаницы. Например, Oracle имеет две интеграционные шины: ESB была разработана Oracle, а OSB, изначально известная как Aqualogic Service Bus, досталась в наследство Oracle при покупке BEA;
  • По сути представляют из себя гигантские комбайны-конструкторы, в которых для настройки простейших операций требуется выполнить большое количество не интуитивно понятных действий;
  • Обширные возможности по интеграции (часто излишние), связанные с поддержкой большого числа стандартов, сервисов, спецификаций, адаптеров, протоколов обмена данными и их версий;
  • Предоставляют не отдельное узкоспециализированное решение, а цельную инфраструктуру из большого набора программных продуктов, по сути навязывая свои решения клиенту (может быть, как плюсом, так и минусом в конкретных случаях).

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

Представленный ниже анализ показывает сравнение самых распространенных на рынке интеграционных шин от IBM и Oracle с шиной Mediator ESB компании «ДаСистемс» для демонстрации ее сильных и слабых сторон.

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

Mediator ESB Oracle Service Bus IBM WebSphere ESB
Простота установки и первоначального конфигурирования

Поставляется как конечное решение в виде сконфигурированного WAR/EAR, который можно запустить при помощи любого сервера приложений (установка и развертывание ~10 минут).

Алгоритм процесса установки описан на официальном сайте:

  1. Установить подходящий сервер приложений, который поддерживает следующие технологии: JSP 2.3, JPA 2.1, Servlet 3.1 (например, Tomcat, Glassfish, Jetty, IBM WebSphere…);
  2. Установить JRE или JDK;
  3. Скачать и установить Mediator ESB (реализация данного пункта зависит от выбранного сервера приложений).

Сложная многоступенчатая установка, возможно с привлечением специалистов. Требует установки и настройки дополнительного проприетарного программного обеспечения.

Алгоритм процесса установки описан на официальном сайте:

  1. Произвести пред установочную настройку:
    1. Проверить минимальные требования;
    2. Дать разрешение на установку пользователя системы;
    3. Установить JDK;
    4. Установить и сконфигурировать базу данных Oracle для корректной работы WebLogic domain (OSB требует подключение к базе данных только при использовании Oracle WebService Manager'а (OWSM) - пруф);
  2. Проверить возможность установки (должно быть установлено Oracle Fusion Middleware Infrastructure);
  3. Произвести установку ESB в папку с установленным Fusion MI (через запуск jar-файла) и создать Oracle Home directory;
  4. Создать и настроить WebLogic domain – создать схемы БД, настроить WebLogicDomain при помощи configuration wizard;
  5. Произвести пост установочную настройку.

Видео инструкция по установке доступна на официальном сайте.

Сложная многоступенчатая установка, возможно с привлечением специалистов. Требует установки и настройки дополнительного проприетарного программного обеспечения.

Алгоритм процесса установки описан на официальном сайте:

  1. Планирование:
    1. Оценка требований;
    2. Выбор автономной среды или среды сетевого развертывания;
    3. Планирование среды сетевого развертывания;
    4. Планирование конфигурации базы данных;
    5. Планирование предупреждения ошибок и восстановления после них.
  2. Установка (интерактивный режим и через командную строку). При установке автоматически устанавливаются необходимые компоненты: WebSphere Application Server Network Deployment, Feature Pack for XML и Feature Pack for SCA. DB2 Express – для установки и использования встроенной базы данных DB2 Express (необязательно).
  3. Настройка:
    1. Настройка баз данных;
    2. Настройка WebSphere Enterprise Service Bus.
Простота использования

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

Сложные интеграционные правила, обилие настроек и параметров. Положение частично спасает полная документация и обилие руководств.

Обширная официальная документация с разделом simple get started, раздел с примерами простейших проектов и обучающих видео.

Возможность декларативной разработки, написания правил интеграции при помощи xml, дополнительные системные приложения для визуальной/декларативной разработки (например, для xquery).

Обширная официальная документация, IBM knowledgecenter, в котором по шагам описаны все возможные действия по настройке интеграционных процессов.

Все настройки осуществляются декларативно при помощи веб интерфейса на основе WebSphere и в сопутствующем программном обеспечении (IBM Integration designer, IBM® Integration Designer's business object map editor, Feature Pack for XML и Feature Pack for SCA и т.д.).

Конфигурирование и мониторинг

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

Возможность тестирования интеграционных процессов в режиме реального времени.

Механизм уведомлений автора интеграционного процесса по электронной почте об успешном выполнении или возникших ошибках.

Возможность управления большим количеством интеграционных процессов.

Ведение архива интеграционных процессов.

Встроенная система мониторинга дает возможность управлять большим количеством сервисов, следить за поддержанием требуемого уровня обслуживания и отчетами деятельности потоков сообщений. OSB содержит мощные средства мониторинга, встроенные в sbconsole. Помимо этого, есть механизм Message Report'ов, который можно расширять, добавляя свои средства обработки отчетов. По умолчанию отчеты выводятся на соответствующей странице sbconsole. OSB позволяет декларативно назначать правила уведомления администраторов при нарушении SLA. Сам SLA может быть основан на времени ответа сервиса, отношении количества удачных и неудачных вызовов, числе обработанных сообщений за единицу времени и т.д.:

  • возможность включения трассировки сообщений для сервисов (Operational Settings ->Message Tracing),
  • возможность включения мониторинга для сервисов (Operational Settings ->Monitoring),
  • возможность использовать компонент Report.

Сервис Oracle Business Activity Monitoring (BAM). Oracle Service Bus не поддерживает сохранение состояния процесса (stateless engine).

Встроенная система мониторинга и аналитики, Контроль работоспособности и обнаружение проблем, Мониторинг сервисов при помощи BusinessSpace.

Виджеты Service monitoring, System Health в BusinessSpace.

Сообщество

Введена в эксплуатацию у ограниченного количества заказчиков, открытого сообщества фактически нет. Есть официальный форум проекта.

Широкая поддержка сообщества (руководства, форумы, официальное сообщество пользователей).

Широкая поддержка сообщества со стороны IBM: форумы, блоги, подкасты, вики (источник).

Корпоративная поддержка

Широкая круглосуточная техподдержка для корпоративных заказчиков, поддержка SLA (Service-level agreement - Соглашение об уровне услуг).

Используется трекер ошибок и система управления задачами YouTrack от компании JetBrains.

Тренинги от официальных представителей компании.

Специалисты компании проводят консультации.

Oracle Premier Support - круглосуточная техническая помощь благодаря гибкой системе онлайн и оффлайн-ресурсов и обновлений.

My Oracle Support - портал Oracle, посвященный вопросам технической поддержки.

Oracle Advanced Customer Support Services - разрешения критических проблем в сложных информационных инфраструктурах.

Портал IBM Support Portal с полной информационной и технической поддержкой для корпоративных зарегистрированных клиентов.

Функциональность

Предоставляют стандартные возможности интеграции программных продуктов, при необходимости возможно добавление нового функционала. Нет необходимости платить за функциональность, которая не будет востребована.

Поддержка большинства баз данных, для которых существует jdbc драйвер (Oracle, DB2, Microsoft SQL Server, MySQL, Firebird, PostgreSQL…).

Поддержка популярных форматов файлов (xml, json, xls, xlsx, doc, docx, cvs, txt, dbf…).

Поддержка большого количества типов соединений между сервисами (файловая система, ftp, веб-сервисы REST/SOAP, поддержка proxy).

Встроенный доступ к кешу результатов выполнения сервисов для снижения задержек в работе сервисов.

Автоматическая синхронизация с продуктами для управления сервисной инфраструктурой SOA Governance.

Богатый набор JCA адаптеров.

Полный и оптимизированный доступ к ERP и WebSphere MQ приложениям.

Поддержка информационно-ориентированных сервисов и REST.

Динамическая трансформация сообщений.

Встроенная система мониторинга, управления и оценки качества обслуживания.

Декларативная разработка интеграционных сервисов.

Оптимизированный, расширяемый и основанный на политиках транспорт и безопасность (источник).

Связывание Web-сервисов и управление сообщениями (сервисы RESTful, асинхронные сервисы (например, сервисы, использующие MQ), сервисы на основе CORBA, сервисы на основе DCOM и Java RMI).

Протоколы сообщений (MQ, AMQ) (источник).

Решаемые IT задачи

Быстро переместить большой объем данных между двумя и более информационными системами.

Быстро загрузить большой объем данных из одного или нескольких файлов с возможностью преобразования данных.

Быстро настроить RESTful веб-сервис для одной или нескольких информационных систем предприятия (источник).

Повторное использование сервисов, развернутых в инфраструктуре предприятия и эффективное управление жизненным циклом сервисов

Динамическое конфигурирование сложной интеграционной логики и маршрутизации сообщений

Возможность настройки сервисной инфраструктуры во время исполнения

Согласованное и оптимальное использование сервисов предприятия

Поддержка безопасности использования сервисов и проверка соответствия политикам безопасности предприятия

Мониторинг и аудит использования сервисов (источник).

Позволяет использовать существующие приложения и данные в качестве бизнес-сервисов без последствий для текущей ИТ-среды

Использует существующую инфраструктуру ESB в качестве универсальной базы для предоставления сервисов и легко расширяется в соответствии с моделью объединенной инфраструктуры ESB и объединенных служб

Легко интегрируется с существующей платформой SOA и BPM и оптимизировано для работы с WebSphere Application Server, а также с продуктами из портфеля IBM SOA Foundation

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

Гибкость

По запросу заказчика новый функционал может быть добавлен в течение короткого периода времени из-за отсутствия инертности программного обеспечения. Сроки и стоимость обговариваются напрямую с заказчиком.

Добавление новой функциональности занимает значительное время и требует больших денежных вложений из-за громоздкости систем, монструозного корпоративного механизма и громкого имени создателя.

Большое количество встроенных модулей (unit of work), но добавление новой специфической функциональности занимает значительное время и требует больших денежных вложений из-за громоздкости систем, монструозного корпоративного механизма и громкого имени создателя.

Безопасность

Безопасность аутентификаций и работы пользователей в сети обеспечивает технология Spring Security. Целостность и консистентность данных обеспечивается архитектурой системы. Безопасность доступа обеспечивается за счет разграничения пользователей по ролям с необходимыми правами.

Все ошибки любого рода логгируются в системе и доступны для анализа.

Поддерживается несколько уровней безопасности: транспортный (Transport-level), Веб (WS-Security), безопасность доступа (Access Control Policy), поддержка SAML (Security Assertion Markup Language). Ограниченная поддержка мониторинга ошибок безопасности (только WS-Secutity ошибки логгируются).

Обеспечивается безопасность следующих уровней:

  • Аутентификация;
  • Авторизация;
  • Невозможность отказа от авторства;
  • Конфиденциальность;
  • Стандарты обеспечения безопасности (Kerberos и WS-Security).
Универсальность

Поддерживает интеграцию сервисов различного вида и различного набора данных.

Поддерживает интеграцию сервисов различного вида и различного набора данных.

Поддерживает интеграцию сервисов различного вида и различного набора данных.

Поддерживаемые платформы

Запуск и работа системы возможны на любой системе, поддерживающей работу Java (Linux x86, Linux x64, Mac OS X x64, Solaris x86, Solaris x64, Windows x86, Windows x64).

Проверить возможность установки системы на целевую платформу можно перейдя по ссылке.

Проверить возможность установки системы на целевую платформу можно перейдя по ссылке.

Простота обновления

Нет сложностей с обновлением/расширением (см. пункт «Простота установки»). Компания «ДаСистемс» осуществляет пост-интеграционную поддержку собственных и иных сопутствующих информационных систем.

Обновление версий ПО заложено в изначальную цену, но ответственность за процессы лежит на администраторе системы, либо проводится наемными специалистами за деньги.

Обновление версий ПО заложено в изначальную цену, но ответственность за процессы лежит на администраторе системы, либо проводится наемными специалистами за деньги.

Стоимость и различные версии

Есть бесплатная ограниченная версия и полная корпоративная, различия:

  • Коммерческий продукт не имеет ограничений по количеству настраиваемых скриптов интеграции ETL и REST веб-сервисов;
  • Версия собирается для выбранных заказчиком СУБД и сервера приложений, поддерживаются любые базы данных к которым можно подключиться через драйвер jdbc, а также все сервера приложений реализующие спецификации Java EE. Например: IBM Websphere, Oracle Weblogic и т.д.;
  • Коммерческая версия подразумевает полноценную техническую поддержку;
  • При необходимости, версия дорабатывается согласно требованиям. Например, добавляется новый инструмент работы с ЭЦП или рассылки электронных писем или отправки коротких сообщений на мобильные телефоны.

Стоимость оригинальной сборки зависит от конкретных дополнительных требований, поэтому для уточнения деталей необходимо обратиться к представителям компании.

Цены зависят от количества пользователей системы/используемых процессорных ядер.

Цена установки Oracle Service Bus на 1 год на 25 пользователей: $2300 + $2530(цена поддержки и обновлений) = $4830 (данные актуальны на момент написания статьи – 11 ноября 2014 г.)

Корпоративные лицензии стоят слишком дорого для представителей малого/среднего бизнеса.

Корпоративные лицензии стоят слишком дорого для представителей малого/среднего бизнеса.

Есть бесплатная демо-версия и developer версия. Корпоративная версия недоступна для покупки онлайн в России, цены доступны только при прямом общении. Цены в США

Реализация оркестровки

Предлагает простые и интуитивно понятные средства для описания регламента взаимодействия сервисов при помощи декларативного описания (XML).

Поддержка стандартного языка BPEL с сопутствующими средствами разработки (визуальный редактор).

Интеграционные процессы можно реализовать средствами Message Flow Oracle Service Bus, не прибегая к использованию BPEL-процессов.

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

Поддержка стандартного языка BPEL с сопутствующими средствами разработки (визуальный редактор Integration Designer), XSLT, сервисов сообщения MQ.

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

Наличие и полнота функций маршрутизации (routing) и преобразования данных (Поддержка тех или иных отраслевых стандартов и спецификаций, адаптеров (необходимо для взаимодействия с внешними источниками данных), протоколов обмена данными и их версий)

Обширное количество параметров входящих/исходящих сообщений, типов данных и вариантов обмена сообщениями.

Поддержка JDBC адаптеров.

Преобразование данных: XSLT. Типы данных: xml, xls, xlsx, docx, cvs, txt, dbf…

Типы соединений: файловая система, ftp, REST/SOAP, поддержка proxy.

Сжатие/декомпрессия, пакетирование/архивирование.

Шифрование/дешифрование, ЭЦП.

Адаптеры - поддерживает JCA - платформу адаптеров на основе открытых стандартов, функционирующую в оперативной памяти и поддерживающую транзакционность (адаптеры к AQ (Oracle Advanced Queuing), RDBMS, Oracle Applications, адаптеры для приложений вендоров, мейнфреймов и т.д). Поддержка SCA (Service Component Architecture):

Преобразование данных - XQuery и XSLT.

Поддержка адаптеров WebSphere (resource adapters) для работы с Email, FTP, Flat Files, IBM I, JDBC, Enterprise Content Management, JD Edwards EnterpriseOne, Oracle E-Business Suite, PeopleSoft Enterprise, SAP Software, Siebel Business Applications.

Система обмена сообщениями (SCA, JMS, MQ JMS, WMQ).

Доступ к EJB сервисам.

Поддержка REST.

Создание веб-сервиса при помощи IBM Case Manager.

Преобразование данных – поддерживается XML настройка преобразований (XSLT) и на уровне бизнес-объектов (business object map) в приложении IBM® Integration Designer's business object map editor.

Наличие инфраструктуры (Cпособность вендора предложить линейку продуктов, которые будут оптимально сочетаться между собой и позволят успешно решить все поставленные в рамках бизнеса задачи)

Интеграционная шина разработана таким образом, чтобы не иметь зависимости от конкретных платформ и программных решений. Тем не менее, компания «ДаСистемс» предоставляет набор продуктов, базирующихся на Lorica Secunda - Автоматизированная информационная система уровня предприятия. Это такие системы как Система электронного документооборота и электронный архив «Сегмент», Система управления взаимоотношениями с клиентами «Арена», Предметно-ориентированная информационная база данных «Хранилище», Личный кабинет и небольшие сервисы (рассылка коротких сообщений на мобильные телефоны и т.д.).

Система моделирования бизнес-процессов и структур MagicDraw UML от партнера, компании NoMagic Inc. Используется для визиуального моделирования интеграционых процессов и структур данных на языке UML.

Пакет Oracle Enterprise Manager; Сервер приложений Oracle WebLogic; Среда разработки JDeveloper; Веб-консоль была дополнена в версии 3.0 средой разработки на основе IDE Eclipse.

WebSphere ESB базируется на платформе сервера приложений IBM WebSphere, которая обеспечивает качество предоставляемых услуг, балансировку нагрузки, кластеризацию, высокую степени готовности и масштабируемости. Также может интегрироваться со средствами обеспечения безопасности IBM Tivoli Access Manager, управления каталогами IBM Tivoli Directory, а также средствами управления композитными приложениям IBM Tivoli Composite Application Manager for SOA. В сервере приложений, сервере процессов и корпоративной шине используется одна и та же консоль администратора, что обеспечивает единый интерфейс управления для целого семейства продуктов. Кроме этого WebSphere ESB может интегрироваться с системой управления очередями сообщений WebSphere MQ, а благодаря взаимодействию с брокером сообщений WebSphere Message Broker можно создавать корпоративные шины сложной топологии, в которых поддерживается широкое многообразие форматов сообщений. По мере возрастания требований к системе можно перейти с WebSphere ESB на WebSphere Process Server, в котором обеспечивается поддержка управления бизнес процессами, оркестровка сервисов с помощью "машин состояний" и принятие решений на основе бизнес-правил. При этом и среда разработки, и консоль администратора остаются теми же.

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