Sonic ESB — первые впечатления
Sonic ESB — тяжеловес, безусловно. Более того, по утверждению создателей этой сервисной шины, они первыми сделали промышленную реализацию ESB. В то время, под крылом Progress, Дэвид Шаппелл сформулировал сам термин ESB, подход к созданию законченных ESB-решений и написал хорошую книгу «ESB—сервисная шина предприятия» (описание). В книге не идет речь о каком-то конкретном продукте, рассматриваются только концепции и подходы. Но вместе с книгой поставляется CD с полноценной Sonic ESB, на которую можно получить ключик для временного использования. Кстати, позже Дэвид ушел из Progress и теперь работает на благо Microsoft, «летая в облаках».
Архитектура Sonic ESB очень похожа на описанную в книге Шеппела. Не удивительно ведь, правда? Основная концепция заключается в том, что сервисы расположены в контейнерах, а контейнеры могут быть разбросаны в разных точках сети, на различных компьютерах. Но все контейнеры наблюдаются и администрируются из одной точки. Т.е. Sonic ESB не централизованная, а распределенная, но администрируется и управляется централизованно. Обмен сообщениями между сервисами осуществляется посредством Sonic MQ — полноценного брокера сообщений. Кстати, может ли ESB вообще быть централизованной? По мнению Шеппела — нет. Но IBM, вместе со своей Websphere ESB, считает иначе.
У Sonic хорошая документация, да и ощущение от продукта такое, знаете ли, добротное. По документации не составит труда попробовать сделать и запустить тестовые примеры, пощупать продукт живьем. Разработка проходит внутри оболочки, основанной на Eclipse. Создание сервисов и их оркестровка возможны без использования программирования как такового. В тех местах, где оно все-таки нужно, используется Java.
Если в какой-то части системы возникает ошибка, исключение java — сообщение направляется в сервис по обработке «мертвых» сообщений. Но встроенного инструмента по работе с такими сообщениями нету. Например, перепослать сообщение по тому же маршруту или отправить на обработку в другой сервис можно только самостоятельно написав соответствующий обработчик, который также будет обычным сервисом на шине.
Практические внедрения в России были замечены в основном в банковской сфере. Изредка появляются вакансии от московских банков с требованием опыта работы с Sonic ESB.
В целом же продукт выглядит весьма достойно. Sonic ESB можно подцепить к самым различным приложениям, но коннекторы поставляются отдельно и за хорошие деньги. Сам Sonic ESB был оценен в $7.5K за ядро, и количество ядер при расчетах обязательно должно быть парным. Отдельно поставляется DBServer за $16.5K в расчете на пару ядер. Actional, средство для мониторинга, в $50K. Обучение, несколько дней, около $1200 на человека. Не знаю, насколько эти цифры актуальны сейчас, но порядок стоимости можно оценить. Все они были добыты у российского представительства компании. При этом запросто можно использовать само ядро ESB без внешнего обвеса. Ряд сервисов для доступа к базам данных, файлам, электронной почте, базовые принципы оркестровки — все это есть в составе ядра и может использоваться прямо из коробки.
В общем, попробовать продукт можно и нужно. С оглядкой на цену, конечно. Если цена смущает, тогда нужно смотреть в сторону открытых разработок. А там есть очень много достойных кандидатов, в том числе и Fuse ESB от той же Progress. О них — в следующих заметках.
P.S. Если у вас уже есть опыт практического иcпользования Sonic ESB в промышленном окружении, и вы не против оставить о нем свой отзыв в виде интервью — оставьте свой комментарий или напишите на почту. А интервью опубликуем на integration-review.com.
На просто-фото в заголовке — круизное судно в Одессе. Фото автора.


Отзывы
Комментариев пока нет.