3. Критерии выбора
1. Наличие активного community
2. Большое количество внедрений
3. Возможность поддержки
4. Высокая производительность
5. Развитие к «Коробочному» решению
4. Краткий обзор вариантов
JBoss FUSE TalendWSO2
MULE ESB Apache
ServiceMix
Эти два продукта базируются на Apache
ServiceMix
$ $ $
Часть возможностей –
платная
Возможностей в базовой
версии меньше, чем у
ApacheSM
Приведенные платформы и выводы являются результатом внутреннего
исследования на момент выбора, не претендуют на 100% объективность
5. Выбранное решение
Apache ServiceMix
№ Критерий выбора Обоснование
1 Наличие активного
community
-http://servicemix.apache.org/
- Наличие книг, авторами которых являются
архитекторы компонент
2 Большое количество
внедрений
В т.ч. под Большой Андронный Коллайдер
http://www.osp.ru/os/2012/04/13015753/
3 Возможность поддержки Есть как зарубежные, так и российские
компании
4 Уровень «коробочного»
решения
Есть все необходимые компоненты для старта
работ
5 Нетребовательность к
ресурсам, высокая
производительность,
кроссплатформенность
• «Железо»: Виртуальный сервер с 2 ядрами
и 8 Гб Памяти.
• Кроссплатформенность: JAVA 1.7.80
• Производительность: 10 тыс. сообщений за
19 секунд (более 500 в сек)
6. Состав платформы
1. Базовые возможности
2. Дополнительно подключаемые модули
• Расширенная визуальная система администрирования и мониторинга: Hawt.io
(из проекта JBoss Fuse)
1. Средства разработки, тестирования, отладки: Eclipse + JBoss Tools Integration Stack
2. Любые средства расширения стандартных компонент Apache Service Mix от сторонних
разработчиков
1 Сервер Приложений, Apache Karaf Container
система протоколирования
2 Менеджер Очередей Apache ActiveMQ
3 Маршрутизатор, система Apache Camel
обогащения и трансформации,
компоненты интеграции с внешней средой
4 Система мониторинга Apache Karaf Decanter
5 Консоль управления Apache Karaf Web Console
6 Средства кластеризации Apache Karaf Cellar
7. Подходы и этапы внедрения
Для накопления опыта и минимизации риска
1 этап
•Небольшое кол-во
сообщений
•Не business-critical
•Изучение
платформы, сбор
статистики,
накопление опыта
2 этап
•Доработка ядра:
исключение
регламентных
«окон», работа 24*7
•Кластеризация
•Business-Critical
сервисы
8. Выводы
1. Опыт
•OpenSource работает не хуже проприетарных решений
•Продукт не особо сложный. Для ознакомления с платформой
достаточно: скачать и развернуть платформу и JDK (~20-30 мин),
открыть на сайте servicemix.apache.org Quickstart Guide и
сделать простой ознакомительный пример за 20 минут
•Платформа обладает высокой производительностью
•Очень много приходится изучать документации
самостоятельно, на английском языке
2. Риски:
•Несомненно, есть риск возникновения нештатных ситуаций
при эксплуатации платформы и не всегда есть 100% вероятность
найти решение в кратчайшие сроки
10. Рекомендации
1. В компании должны быть квалифицированные специалисты,
кто сможет поддерживать и развивать систему и готовые
постоянно повышать свою квалификацию. Специалисты
должны активно участвовать в сообществе разработчиков.
2. Желательно, хотя бы на первое время, найти компанию –
интегратора, готовую оказать:
– Помощь в обучении;
– Помощь реализации первых проектов;
– Поддержку платформы.
1. При внедрении первыми рекомендуется запускать
наименее критичные сервисы и переходить к более
критичным и сложным по мере приобретения опыта
11. СПАСИБО ЗА ВНИМАНИЕ!
Клопотов Игорь, СКБ Банк
Савиных Андрей, СКБ Банк
Моб. +7 912 24 25 795
Email: savinykh.andrey@gmail.com
Editor's Notes
День добрый!
В докладе расскажу о нашем непосредственном опыте выбора,
внедрения и эксплуатации решения для организации шин данных - Apache ServiceMix.
Кратко из истории банка:
- На одном из участков внедрение интеграционной платформы на базе промышленного решения было произведено в 2008 г.
Тогда не было ни опыта, ни понимания – как надо делать правильно. Соответственно, сейчас вышли на то,
что подключение новых систем, новых потоков – вызывает значительные усилия и риски по производительности и отказоустойчивости.
В любом случае – надо было пересматривать архитектуру решения.
Дополнительно, «благодаря» кризису – стоимость лицензий и сопровождения проприетарного ПО стала существенно выше.
Эти 2 предпосылки способствовали старту проекта по выбору решения на базе СПО
Предварительно для себя оценили несколько ключевых критериев, по которым выбирали решения.
Они на слайде.
Это …
Смотрели не все варианты, а только те, которые наиболее часто упоминались в статьях и обзорах.
Перечень явно не полный, но нашей целью и не являлось масштабное исследование вариантов
– указанные на слайде системы попали в наш short-list
Если кратко:
MULE оказался платным (часть требуемых нам функций, https://www.mulesoft.org/mulesoft-products-and-licensing)
у WSO2 – в базовой версии возможностей меньше, чем у прочих. В частности (как мы выявили при изучении) – транспортной системы «в коробке» не оказалось. Например, можно использовать от Apache тот же компонент Active MQ – но это уже другой продукт. Нам не хотелось заниматьcя самостоятельной стыковкой.
Системы JBOSS Fuse и Talend базируются на Apache ServiceMix.
В итоге мы для себя приняли решение посмотреть и разобраться с корневым продуктом Apache.
Как выяснили позднее – перейти на продукты JBossFuse/Talend не является проблемой,
а вот обратный переход будет уже не таким простым.
Выбранное решение удовлетворяло всем требуемым критериям
По п.3 для Зарубежных есть прямой выход на компанию, кто авторизует включение в дистрибутив.
Но поддержка будет только на английском/по скайпу или почте. Цена очень приемлемая.
для Российских – пока нашли только 2 приемлемых варианта:
- один очень дорогой (крупная московская компания), полноценная поддержка «коробочного» продукта
второй по приемлемой цене, но только на отдельные компоненты ServiceMIX (Camel, Karaf, ActiveMQ)
По п.5. наш эксперимент подтвердил более 500 сообщений в сек
Можно добавить, что в научных приложениях есть примеры разгона до 2.5 тыс. сообщений в сек.
При этом еще на старой платформе 2012 года
Более подробный перечень коммюнити:
http://servicemix.apache.org/ http://activemq.apache.org/
http://camel.apache.org/http://cxf.apache.org/
http://karaf.apache.org/ https://developer.jboss.org/en/products/fuse
https://developer.jboss.org/en/products/amq http://stackoverflow.com/
Сообщество OpenSource, особенно блок JAVA-решений,
живет по своим законам,
пока еще не очень привычным широкому кругу потребителей.
При описании платформ тут не идет речь о какой-то конкретной программе или системе.
Мы погружаемся в новую Экосистему, целый океан SOA, где каждый из компонентов может быть заменен на близкий
по функционалу. А конечная производительность определяется сочетанием и параметрами связывания компонент.
В случае с корневым решением все компоненты идут от Apache и, на наш взгляд, оптимально связаны между собой.
Конечно, иногда хочется «рюшечек» - тогда подключаем расширения из сторонних проектов, такие, как
универсальная вэб-консоль Hawt.io из проекта JBoss Fuse.
Сейчас наша команда условно находится на середине 2-го этапа.
Для перевода бизнес-критичных сервисов на ASM ждем смены
форматов обмена СМЭВ 3.0
Тут только по слайду.
Основной «фишкой» новой инфраструктуры для нас стала та легкость,
с которой встроенный Framework позволяет проводить трансформации и описывать новые сервисы.
Это настоящее SOA, когда совершенно не принципиально на каком языке разговаривает тот или иной
внешний сервис. Достаточно в описании адаптера добавить пару строк и будет произведена автоматическая
трансформация между SOAP / JSON или XML нотациями сообщений.
По результатам работы можем поделиться набором рекомендаций.
Спасибо за Ваше внимание.
За подробностями, пожалуйста, обращайтесь лично.
Мы всегда открыты к профессиональному диалогу и сотрудничеству.