четверг, 18 сентября 2014 г.

ВЫБОР КОРПОРАТИВНОЙ СЕРВИСНОЙ ШИНЫ С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ В СОСТАВЕ ИС НА ОСНОВЕ СЕРВИСНО-ОРИЕНТИРОВАННОЙ АРХИТЕКТУРЫ И.В. Маурина Государственный научно-исследовательский институт информационных технологий и телекоммуникаций «Информика», г. Москва Тел.: (495) 151-75-01, e-mail: imaurina@informika.ru Интеграция информационных систем различного класса остается актуальной темой для многих компаний и государственных организаций. Для повышения эффективности и прозрачности деятельности важно организовать сквозные бизнес-процессы и обеспечить взаимодействие различных информационных систем. Решением стал подход, основанный на использовании сервисов. Информационные системы разбиваются на функционально законченные, независимые компоненты (сервисы), каждый из которых предназначен для выполнения определенной. Для выполнения бизнес-процесса необходимо обеспечить вызов сервисов в нужной последовательности. ИТ-архитектура, основанная на выделении и взаимодействии сервисов, получила название SOA (service-oriented architecture). Одним из наиболее распространенных вариантов реализации сервисов в SOA является использование web-сервисов. Объединение концепций сервисов, управления бизнес-процессами и серверов интеграции привело к созданию нового класса интеграционных решений – корпоративных сервисных шин (Enterprise Service Bus). В настоящее время именно ESB является наиболее развитым инструментарием для выполнения сложных и масштабных проектов интеграции. При выполнении интеграции, в особенности, если речь идет о сложных и масштабных проектах, ключевым вопросом можно назвать выбор оптимальной платформы, которая позволит обеспечить надежность и быстродействие при совместной работе нескольких систем. ESB – подход к построению распределённых корпоративных информационных систем. Обычно включает в себя промежуточное ПО, которое обеспечивает взаимосвязь между различными приложениями по различным протоколам взаимодействия. Одним из стандартов взаимодействия являются веб-сервисы. В популярных реализациях ESB добавляются шлюзы для обмена данными с корпоративным ПО. С использованием ESB может быть реализована сервисно-ориентированная архитектура. Существует некоторое разногласие, что именно считать ESB – архитектуру или программное обеспечение. Обе точки зрения имеют право на существование. Целью интеграции приложения является создание единственного модуля (или адаптера), который отвечает за «подключение» приложения к ESB. Последующую обработку сообщений и их маршрутизацию в другие системы, ESB выполняет на основании установленных бизнес-правил самостоятельно. Этот подход обеспечивает превосходную гибкость, простоту масштабирования и переноса, поэтому в случае замены одного из приложений подключенного к шине, перенастраивать остальные не нужно. ESB описывает вполне реальный программный продукт, в задачи которого входит упрощение вызова службы за счет управления всеми взаимодействиями на пути от потребителя службы к поставщику и обратно. Двумя наиболее часто упоминаемыми возможностями ESB являются преобразование сообщений и их маршрутизация. Основные функции ESB включают в себя: • Обеспечение интерфейсов взаимодействия. • Отправка сообщений и маршрутизация. • Преобразование данных. • Сенсоры событий. • Управление политиками. • Виртуализация. Достоинствами ESB является: • Организация размещения существующих систем осуществляется быстрее и дешевле. • Повышение гибкости. • ESB основывается на общепризнанных стандартах. • Наличие большого количества конфигурации для интеграции. К числу недостатков ESB относят: • Сложность реализации. • Требует больших ресурсов. На рынке представлены как коммерческие реализации ESB, такие как BEA AquaLogic, так и бесплатные Open Source: Mule ESB, JBoss EJB, Apache ServiceMix. Ниже представлен обзор некоторых из них. Mule. Центральная часть системы Mule – определения сервисов, которые определяют логику интеграции. Эти сервисы могут состоять из входящих и исходящих элементов представляющие возможность для конфигурирования входящей и исходящей связи. Сервис также может включать в себя компонент, включающий любую из технологий Java и Spring beans. Это является одним из ключевых преимуществ для Java-разработчиков, нуждающихся в интеграционной структуре. Большая часть разработки с Mule может реализовываться при помощи Java-классов и Java-сообщений. Apache ServiceMix – пакет для создания JBI. ServiceMix базируется на концепции сервисной шины предприятия (ESB), комбинируя сервисно-ориентированную архитектуру (SOA) и архитектуру на основе событий (Event Driven Architecture – EDA). ServiceMix часто используется совместно с ActiveMQ Apache, Apache Camel и Apache CXF в SOA-проектах. На основе ServiceMix был сделан пакет Fuse ESB, компании LogicBlaze. Open ESB – является проектом Sun Microsystems и ведется как один из проектов Java.net. Так же, как и ServiceMix, эта система представляет собой реализацию спецификаций JBI. По функционалу Open ESB сходен с ServiceMix. Главное отличие в том, что Open ESB ориентирован на Glassfish application server, в то время, как ServiceMix не может быть развернут без особых проблем на Apache Geronimo или the JBoss Application Servers. Второе отличие данной системы от других реализаций ESB – это поддержка дополнительного инструментария. OW2 Petals – был официально сертифицирован Sun Microsystems и основан на JBI. Архитектура OW2 Petals ориентирована на предоставление распределенной среды, в которой функционируют и интегрированы несколько сущностей OW2 Petals. Это означает, что все сервисы, размещенные на различных сущностях, могут беспрепятственно взаимодействовать друг с другом без дополнительной конфигурации и настройки. Немаловажным достоинством является наличие веб-интерфейса для мониторинга, через который также возможно управлять потоками сообщений и компонентами JBI. Таблица 1. Сравнение ESB-систем с открытым исходным кодом Критерии \ ESB Mule ServiceMix Open ESB PEtALS Поддержка функциональности ЕСБ ядра + + + + Хорошо написанная документация + +/- + +/- Распространенность на рынке ++ + +/- +/- Сообщество активных разработчиков и поддержка ++ + +/- + Гибкая и легко расширяемая логика построения продуктов ++ + +/- + Поддержка широкого спектра транспортных протоколов и настроек соединения + + +/- + Интеграция с другими Open source проектами ++ ++ +/- + Поддержка разработки решений через IDE + + ++ + Основываясь на результатах проведенного сравнительного анализа ESB-систем с открытым кодом, можно сказать, что Mule лидирует по рассмотренным критериям, второе место можно отдать ServiceMix. Тем не менее, выбор конкретной сервисной шины зависит от нужд организации и специфики поставленной задачи

Комментариев нет:

Отправить комментарий