Red Hat® JBoss® Fuse это модульная интеграционная платформа с открытым исходным кодом, которая позволяет вашему бизнесу в реальном времени строить, управлять и объединять сервисы, приложения, устройства и сообщения. Гибкая архитектура платформы, построенная на проверенных решениях, позволяет реализовывать интеграции любой сложности, позволяя вашей компании обеспечивать наивысший уровень сервиса для своих заказчиков.
Платформа Red Hat® JBoss® Fuse модульная и построена на следующих компонентах:
Движок гибкой маршрутизации сообщений, построенный на Корпоративных Шаблонах Интеграции(EIP)
Продукт, позволяющий интегрировать приложения через SOAP, XML/HTTP и RESTful HTTP
Фреймворк для обмена сообщений и их гарантированной доставки в рамках шины, реализующий Java Message Service(JMS)
Легковесный контейнер, используемый для запуска и управления приложениями OSGi
Один из вариантов работы продукта — использование его в контейнерных приложениях. Платформой для запуска и управления в этом случае выступает Red Hat® Openshift
Преимущества Red Hat® JBoss® Fuse:
- 100 % система с открытым исходным кодом – все компоненты платформы имеют открытый доступ;
- Платформа основана на продуктах с давней и успешной историей, которые совершенствуются и поддерживаются как самой компанией Red Hat®, так и многочисленным сообществом;
- Широчайшие возможности интеграции, благодаря более чем 150 различным коннекторам «из коробки»;
- Соблюдение стандартов индустрии: JMS, TCP, SSL, UDP, MQTT, AMQP, MTP, Ajax, Rest. Поддерживаются стандарты веб-служб: SOAP, MTOM, JAX-WS, JAX-RS, WS-Security, WS-ReliableMessaging и многое другое;
- Возможность развёртывания как на отдельно стоящих серверах, так и в облаке;
- Лёгкая возможность написания и тестирования собственных коннекторов, благодаря Red Hat® JBoss® Developer Studio;
- Возможность запуска в контейнерах;
- Исключительный уровень поддержки, обеспечиваемый специалистами компании Red Hat®.
Компания ЕМДЕВ является официальным партнёром компании Red Hat® и предлагает все виды услуг по разработке, внедрению и сопровождению интеграционных решений на платформе Red Hat® JBoss® Fuse.
Видео:Интеграционная шина предприятия. Правило импорта.Скачать
Обзор ESB-систем ServiceMix и Fuse
Представляю вашему вниманию небольшой обзор систем ESB (Enterprise Service Bus) на основе Apache Camel: Apache ServiceMix и Red Hat JBoss Fuse. Эти две системы построены на одних и тех же компонентах и обладают схожими возможностями. Более того, в большинстве случаев, они взаимозаменяемы. Apache ServiceMix разрабатывается open-source сообществом, Red Hat JBoss Fuse компанией Red Hat. По большей части, это одни и те же люди.
Для начала, разберемся что такое ESB и зачем системы такого класса используются в информационной инфраструктуре предприятий. На современных предприятиях используется всё большей приложений различного класса: ERP, CRM, BPM, DWH, ECM и ещё множество трех-буквенных аббревиатур. Все эти приложения используют для интеграции различные протоколы и различные форматы данных. Для того чтобы связать все эти системы между собой и используется ESB.
Итак ESB-системы выполняют следующие основные функции:
- подключение по различным протоколам
- маршрутизация запросов и сообщений
- преобразование данных
Обе системы Apache ServiceMix и Red Hat JBoss Fuse имеют в своей основе следующие компоненты:
Apache Camel реализует непосредственно функции ESB на основе паттернов EIP (Enterprise Integration Patterns). Apache Camel имеет свой DSL для задач интеграции. Существует несколько его реализаций: Spring DSL, Blueprint DSL, Java DSL, Groovy DSL, Scala DSL. Так же, в состав Apache Camel входит более 100 компонент отвечающих за подключение по различным протоколам и преобразование данных.
Apache ActiveMQ — система очередей сообщений. Реализуется различные функции обмена сообщениями: обмен сообщениями по моделям отправитель-получатель (sender-receiver), издатель-подписчик (publish-subscribe), синхронный обмен (request-response), персистентные сообщения (persistent message), поддержку транзакций, включая распределенные XA-транзакции.
Apache CXF — библиотека, реализующая функции веб-сервисов, включая SOAP и REST.
Apache Karaf — платформа для запуска приложений на основе OSGi. OSGi позволяет устанавливать, удалять и обновлять различные модули (bundle) без перезапуска всей системы и без остановки зависимых модулей. Это особенно важно в корпоративной инфраструктуре, где остановки компонент крайне нежелательны, так как могут привести к прямым финансовым потерям. В системах на основе OSGi всё является модулем (bundle): библиотеки, маршруты интеграции, подключения к ресурсам.
Для Red Hat JBoss Fuse существует альтернативный вариант запуска. Вместо Apache Karaf можно использовать Red Hat JBoss EAP.
Обе системы поддерживают отказоустойчивую (failover) конфигурацию по модели master-slave.
Встает резонный вопрос, если Apache ServiceMix и Red Hat JBoss Fuse состоят из одних и тех же компонент, реализуют одну и ту же функциональность, разрабатываются одними и теми же людьми, то зачем платить больше? Кроме указанных выше компонентов, Red Hat JBoss Fuse включает несколько дополнительных, упрощающих работу администратора и позволяющих управлять кластером.
Hawtio — графическая консоль управления, позволяющая подключать различные плагины, в том числе для управления Apache Camel, Apache ActiveMQ, Fuse Fabric и т.д… Несмотря на то что Hawtio не входит в состав Apache ServiceMix, она может быть установлена на любую версию Apache ServiceMix двумя командами.
Читайте также: Вывод шин из оборота для собственных нужд честный знак
Fuse Fabric — система управления кластером на основе Fabric8. Позволяет управлять конфигурациями узлов кластера группами или по отдельности. Поддерживает версионирование конфигурации. Так же как и Hawtio, Fabric8 может быть легко установлена на Apache ServiceMix. Кроме того, для Apache ServiceMix имеется альтернативный способ управления кластером на основе Apache Karaf Cellar.
При приобретении подписки Red Hat JBoss Fuse вы получаете поддержку от компании Red Hat и возможность использовать инструмент мониторинга Red Hat JBoss Operation Network. Для Apache ServiceMix можно использовать RHQ, open-source аналог Red Hat JBoss Operation Network. Как альтернатива, для целей мониторинга Apache ServiceMix может быть использован Apache Karaf Decanter.
Apache ServiceMix’у тоже есть чем похвастаться. В состав последних версий Apache ServiceMix входит движок бизнес-процессов Activiti, который позволяет реализовывать персистентные интеграционные процессы. Apache Camel не предназначен для реализации интеграционных взаимодействий разнесенных по времени. Если при использовании Apache Camel без Activiti происходит сбой, то все не отправленные данные будут потеряны, все транзакции откатятся. В то же время, с использованием Activiti мы можем сохранить состояние процесса в БД. Red Hat для решения подобных задач предлагает использовать Red Hat JBoss BPM Suite.
Основным преимуществом Apache ServiceMix перед Red Hat JBoss Fuse является то что Apache ServiceMix включает более новые версии компонент.
Компонент | Apache ServiceMix | Red Hat JBoss Fuse |
---|---|---|
Последняя версия | 6.1.2 | 6.2.1 |
Apache Camel | 2.16.3 | 2.15.1 |
Apache ActiveMQ | 5.12.3 | 5.11.0 |
Apache CXF | 3.1.5 | 3.0.4 |
Apache Karaf | 3.0.7 | 2.4 |
Что выбрать? Универсального ответа нет. Если у вас есть команда профессионалов, имеющих опыт работы с Apache ServiceMix или Red Hat JBoss Fuse, то можно задействовать все преимущества Apache ServiceMix и заплатить при этом меньше. Если же опыт отсутствует, то поддержка от компании Red Hat не будет лишней.
Кроме рассмотренных систем, на основе Apache Camel существует Talend ESB. Но я не имел практического опыта работы с ней, поэтому в обзор она не включена.
Видео:Интеграционная шина: потребности бизнесаСкачать
На шаг ближе к Open Banking с WSO2 API Manager
Привет! Меня зовут Сергей Кривонос, я Solution Architect платформы WSO2 в Росбанке. Если вкратце, то WSO2 API Manager — это комплексная, интуитивно понятная и масштабируемая платформа, предназначенная для создания и управления API. Она примечательная тем, что является опенсорсной при сопоставимой с энтерпрайз-решениями функциональности. В статье я немного расскажу о самой платформе и поделюсь опытом Росбанка в работе с продуктами WSO2 — в целом, весьма позитивным.
Зачем это нужно
Росбанк столкнулся с потребностью развивать Open Banking и предоставить больше сервисов для своих партнеров. Сейчас мы активно работаем в направлении Bank-as-a-Service (BaaS). Под «BaaS» мы подразумеваем способность банка предоставлять свои продукты и услуги сторонним дистрибьюторам (финансовым игрокам или нет), чтобы они могли легко интегрировать их в свои собственные циклы взаимодействия с клиентами (B2B2B или B2B2C).
Чтобы подобный проект стал возможен, необходим стандартизированный набор открытых банковских API (OpenAPI). Такие стандарты представил Банк России в октябре минувшего года, которые размещены на его портале.
У нас уже есть большой набор устоявшихся в инфраструктуре API, и привести его к единому стандарту, а также обеспечить адекватную защиту — задача непростая. Само по себе управление зоопарком API усложняется из-за нескольких факторов:
использования разных протоколов обмена,
использования различных механизмов аутентификации,
Чтобы решить все эти проблемы, необходим промежуточный middleware-слой — для управления взаимодействием между поставщиками и потребителями через API.
Этот middleware-слой реализуется в виде отдельного компонента API Manager — класса софта, о котором мы будем подробно говорить. Здесь каждый провайдер (API) подключается к потребителям через управляемый интерфейс, а не напрямую. Middleware-слой ликвидирует все связи типа «точка-точка» между поставщиком и потребителем. Чем-то похоже на традиционную интеграционную шину (ESB) в SOA, правда? Но API Management — это совершенно другой компонент, который берет на себя такие важные функции, как:
обеспечение безопасности (аутентификация и авторизация),
QoS, а именно приоритизация трафика, защита серверной части от внезапного всплеска запросов,
преобразование запросов и ответов.
Командой информационной безопасности банка был выработан отдельный стандарт защиты API, который реализуется как при разработке API, так и при публикации их в интернет. Необходимо было также внедрить технологию по обеспечению безопасности API на протяжении всего их жизненного цикла. После сравнения лидеров рынка по возможностям, архитектурным особенностям и total cost of ownership решение было принято в пользу WSO2.
После успешного тестирования MVP со стороны ИБ для решения конкретных задач в конкретном продукте для текущих партнеров мы начали масштабирование технологии, построение SLA и поддержки. Стали появляться новые API, созданные с использованием WSO2. При этом перенос существующих интеграций был непростым, часто приходилось работать по принципу «работает – не трогай». Но поскольку развивать новые сервисы для наших партнеров было необходимо, со временем система WSO2 превратилась у нас в полноценную платформу и вошла в состав платформенных решений банка.
Читайте также: Наложение транспортной шины крамера правила
Из чего состоит WSO2 API Manager
В Росбанке в качестве middleware-слоя мы выбрали и внедрили платформу WSO2 API Manager для управления API:
проектирования, прототипирования и публикации,
версионирования и управления жизненным циклом,
контроля доступа и обеспечения безопасности,
монетизации, подписки и управления ключами.
Основные недостатки WSO2 API Manager сводятся к потенциальным рискам, связанным с появлением дополнительного слоя в инфраструктуре, а также к небольшому увеличению времени ожидания ответа. Список преимуществ гораздо внушительнее:
единая точка входа в банк для всех запросов от внешних систем,
простота контроля и ограничения доступов к API,
возможность ограничения числа запросов (защита от DDoS),
единый механизм авторизации через OAuth 2.0,
контроль пользователей подписок,
наличие статистики по использованию,
возможность монетизации сервисов и внедрения дополнительной логики в целях контроля и логирования запросов.
В архитектуру WSO2 API Manager входят следующие компоненты: Publisher, Developer Portal, Gateway, Key Manager и Traffic Manager. Функции многих понятны из названий, но для полноты картины вкратце перечислим их.
Схема WSO2 API Manager. Источник: WSO2
API Publisher отвечает за:
публикацию API (регистрацию, проверку SLA, безопасности и производительности),
мониторинг работы API, их пользователей, сбор обратной связи,
управление жизненным циклом, версиями, политиками и ключами API.
API Developer Portal – за:
поиск и упорядочивание API по разным параметрам,
рейтинги API, комментарии и запросы пользователей,
возможность протестировать API онлайн,
регистрацию приложений, покупку ключей, подписку на обновления.
API Gateway в зависимости от места установки может работать как шлюз для сервисов внутри сети или для внешних партнеров/клиентов.
Эта часть платформы реализует:
валидацию в рамках политик безопасности,
сбор статистики по использованию.
Key Manager занимается доступами, а Traffic Manager отвечает за то, чтобы количество запросов к API на платформе соответствовало прописанным в соответствующих политиках.
Высокоуровневая схема взаимодействия с WSO2 API Manager. Источник: WSO2
Кстати, в актуальном на сегодня отчете Forrester по решениям для API-менеджмента (3 квартал 2020 г.) WSO2 попала в категорию лидеров, наряду с такими гигантами, как IBM и Google. Среди пользователей платформы — Ebay, Schneider Electric, Всемирный банк, T-Systems и множество других компаний из разных отраслей.
Почему мы переходим на продукты WSO2
Сейчас в Росбанке в качестве интеграционной шины используется IBM Integration Bus. Как нетрудно догадаться, это масштабное энтрепрайз-решение, требующее отдельной строки в CAPEX, помимо регулярных расходов. А продукты компании WSO2 — WSO2 API Manager, WSO2 Enterprise Integrator и др. — это opensource-решения, которые можно просто скачать с гитхаба и пользоваться в свое удовольствие. Теоретически.
На практике же бесплатно предоставляется только комьюнити-версия с мажорными апдейтами раз в полгода. Мы пользуемся услугами официальной поддержки WSO2, которая быстро делает патчи по нашим запросам. А если патчи не нужны, то саппорт отвечает еще оперативней. Об особенностях работы с поддержкой WSO2 API Manager поговорим далее; главное, что затраты на этот продукт гораздо меньше и предсказуемей.
Учитывая opensource-происхождение, можно подумать, что WSO2 API Manager предлагает более скромные возможности, чем энтерпрайз-аналоги. Но в рамках наших задач — создание единой среды Bank-as-a-Service для партнеров банка — WSO2 API Manager по функциональности не уступает IBM API Connect. Подробное сравнение заслуживает отдельного материала — пишите в комментариях, если вам интересно. Если не вдаваться в детали, то WSO2 API Manager — это единственный opensource-продукт в своей нише, который может полноценно конкурировать с энтерпрайз-решениями. Есть маршрутизация, есть настройка протоколов обмена, композитные сервисы, оркестрация, энтерпрайз-паттерны, удобный тулкит. Вот полный список возможностей:
дизайн и прототипирование API до реальной разработки (архитектура API First);
реализация заглушек API c использованием JavaScript;
публикация REST, JSON, SOAP, XML сервисов как API;
публикация API как для внешних, так и для внутренних пользователей;
тонкие настройки прав доступа к API;
управление жизненным циклом API, версионирование;
публикация как Production (производственной), так и Sandbox (тренировочной) версий API;
ограничение доступа к API по домену и/или IP;
поддержка протоколов OAuth2, Open ID Connect, SAML 2.0, XACL, JWT и многих других для обеспечения любых вариантов интеграции, аутентификации и авторизации;
портал разработчика с удобным интерфейсом а-ля «магазин» для поиска и подписки на интересующие API;
встроенная в портал разработчика консоль для тестирования API;
возможность подписаться на различные уровни использования API, поддержка throttling (ограничение кол-ва запросов), монетизация API, отправка уведомлений при публикации новых версий API;
мощная аналитика по различным аспектам использования API.
Наш опыт использования продуктов WSO2
Банк активно использует платформу WSO2 API Manager для предоставления сервиса финансовым институтам (BaaS). Интегрируясь с WSO2 API Manager, Росбанк сопровождает выдачу и обслуживание кредита для кэптивных банков. Так, в Росбанке разработан инструмент, который на основе данных со стороны партнера открывает текущий счет на балансе Росбанка. Далее через данный счет проходит выдача кредита партнера, взаиморасчеты с внешними получателями, погашение кредита. Взаимообмен данными реализован на платформе WSO2, что обеспечивает необходимый уровень защиты и безопасности. Банк готов предоставить данный сервис любому финансовому институту и оперативно подключить к процессу через API.
Читайте также: Шины даф 315 70
Также с помощью платформы WSO2 API Manager мы уже осуществили интеграцию автоматизированных банковских систем с одним из партнеров Росбанка. Процесс выдачи автокредита выстроен таким образом, что ссудный счет открыт на балансе партнера, а счет погашения кредита — на балансе Росбанка. Мы с банком-партнером осуществили двустороннюю интеграцию автоматизированных банковских систем для более удобного доступа заемщиков партнера к информации об их счетах в Росбанке для обслуживания автокредитов.
Благодаря интеграции, автовладельцам теперь доступна информация об остатках на счетах в Росбанке в личном кабинете интернет-банка и мобильного приложения партнера. Это позволяет повысить удобство обслуживания кредита, упростить контроль за средствами для обслуживания автокредита, избежать просрочки. Этот пример API-интеграции информационных систем двух банков является первым на российском рынке.
В другом проекте — по слиянию Росбанка и Русфинанс Банка — все интеграции между информационными системами двух банков также были успешно и быстро реализованы через WSO2 Enterprise Integrator.
В рамках пилота для интеграции наших внутренних информационных систем мы также используем WSO2 Enterprise Integrator вместо IBM Integration Bus в качестве интеграционной шины. Благодаря low-code среде разработки, упрощается реализация интеграционных сервисов. WSO2 предлагает простую IDE на базе Eclipse, где логические блоки накидываются драг-н-дропом и соединяются стрелками. Чтобы реализовать любой интеграционный сервис, не нужно ни одной строчки кода. Платформу WSO2 вместе с комплектом шаблонов мы предоставляем как сервис (PaaS) всем командам банка для создания необходимых им интеграционных сервисов. А перед деплоем просто проверяем через CI/CD, что всё работает нормально.
Работа с техподдержкой WSO2
В России у WSO2 есть официальный партнер, который помогает работать напрямую с техподдержкой разработчика. Для многих отечественных компаний это важно. Можно заключить договор на поддержку вендора (WSO2) и/или поддержку интегратора (официального партнера).
Какие опции включает поддержка вендора:
исправить баги и недочёты в продуктах;
обновить настройки безопасности;
проконсультировать по общим вопросам (несколько часов) — архитектура, использование продуктов и т.д. — это оценивается на основе общей стоимости договора.
Какие опции включает поддержка интегратора:
обеспечить бесперебойную работу решений, которые запускаются на вендорских продуктах;
пообщаться с ТП вендора (по взаимному согласию).
Если случится авария на проде, вендор не будет поднимать и перезапускать API Manager. А если обнаружится проблема в ядре API Manager, интегратор не полезет вносить исправления. Планы поддержки дополняют друг друга. У нас бесперебойную работу платформы обеспечивает отдельная команда в штате, поэтому мы пользуемся только поддержкой вендора.
По нашему опыту специалисты компании быстро решают все проблемы, подсказывают, как лучше реализовать наши планы, по необходимости объясняют документацию. Все взаимодействие удобно реализовано через Jira. Если запрос требует лишь консультации, ее предоставляют за день. Если нужен патч, это занимает чуть дольше — 2–7 дней, но всё в рамках SLA. Патчи раскатывают для всех клиентов официальной техподдержки, так что некоторые проблемы решаются еще до того, как с ними столкнемся мы ?
Команда из WSO2 выручала нас уже много раз: была улучшена работа с русскими символами в swagger-документации, исправлен ряд ошибок, связанных с XML, оказана помощь с настройкой деплоя приложений в Openshift 4, настройкой серверов, CI/CD и было сделано еще много чего полезного. Мы рады, что коллеги помогли добавить новые фичи в WSO2 Enterprise Integrator, например, создание API из swagger-файлов и reload конфигурационных файлов без рестарта сервера.
Заключение
Сейчас мы стремимся к тому, чтобы любой API в банке — в том числе и для внутреннего использования — сразу появлялся в среде WSO2 API Manager. Для этого мы разворачиваем WSO2 API Manager внутри сети банка. Это позволит значительно упростить как управление API, так и предоставление доступов к этим API.
Параллельно мы ведем пилотный проект по миграции WSO2 на OpenShift, что позволит нам получить автоматическое масштабирование, удобный мониторинг и при этом убрать даунтайм при деплое новых версий.
В будущих материалах мы планируем более подробно рассказать о WSO2 API Manager и Enterprise Integrator, их развертывании и особенностях использования, которые открыли сами. Если вам интересно узнать что-нибудь конкретное об этих и других продуктах вендора, задавайте вопросы в комментариях. Будет интересно почитать и о вашем опыте работы с WSO2 ?
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🎦 Видео
Интеграционная шина - обмен данными между подразделениями предприятияСкачать
СПРОСИ ЭКСПЕРТА: Выпуск 1. Чем отличается шина данных от ETL?Скачать
Интеграционные шиныСкачать
В чем смысл open source?Скачать
Интеграционная шина предприятия. ЛОЦМАН-1С. Технологические процессыСкачать
Интеграционная шина предприятия. Структура правила экспортаСкачать
Митап «Альтернатива зарубежным ESB: импортозамещение интеграционной шины на примере Roc Integration»Скачать
Интеграция систем на примере шины ESB · Евгений Путилин · ЛАФ #системныйаналитикСкачать
Интеграционная шина данных для ВУЗовСкачать
Обзор возможностей интеграционной шины на базе программных продуктов с открытым кодомСкачать
Заблуждения об интеграционной шинеСкачать
Интеграции с помощью API и интеграционной шиныСкачать
PSO - корпоративная интеграционная шина данныхСкачать
Интеграционная шина данных | 1C ERP интеграция | Связь между системамиСкачать
Опыт внедрения ESB интеграционной шины в ПАО «Газпром Нефть» Михаил ХаритоновСкачать
Интеграционная шина предприятия. Синхронизация между БД Лоцман 14 и Лоцман 18Скачать