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

Как мы работаем со справочниками на интеграционной шине

Принципы решения

При интеграции корпоративных систем возникает задача управления справочными данными. Для решения этой задачи часто используется Master Data Managment(MDM). MDM — это хранилище, которое содержит “эталонные” справочные данные, так называемые “золотые записи”. Справочники в MDM содержат очищенные полные и непротиворечивые данные.

Часто MDM используется как платформа для централизованного ведения справочников. Ввод и валидация справочных данных производится в MDM, а оттуда они реплицируются в IT-системы. Такой подход имеет несколько проблем

Трансформация на интеграционной шине.

Мы используем второй подход. Все взаимодействия бизнес-систем происходят через интеграционную шину. Шина (в нашем случае Oracle Service Bus) трансформирует сообщение, которое посылает система Поставщик, в сообщение, понятное системе Потребителю. Такая трансформация включает мапирование значений справочников.

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

(source_system, source_value, valid_from, valid_to, target_system, target_value)

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

Для кэширования мы используем Oracle Coherence. Это очень и очень платный продукт. Однако, в данном случае все его мега-функции не используются, поэтому его вполне можно заменить на бесплатное решение (например, hazelcast). Подробнее про coherence можно прочитать здесь. Также лицензия на coherence входит в различные Oracle Suite.

Использования кэша имеет очевидные преимущества:

Кэш является распределенным и синхронизация между узлами производится самим Coherence. При добавлении или удалении сервера кластер производит ребалансировку данных между узлами.

Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это
Для справочных данных используется схема Distributed Cache Map. Во время старта Oracle Service Bus создается кэш внутри JVM, который держит данные в памяти. На каждом физическом сервере имеется coherence сервер, который хранит справочники (в памяти и на диске) и синхронизируется с базой данных.

При трансформации osb workflow обращается к coherence через Java callout. Можно также обращаться через вызов Enterprise Java Bean.

Источник

Интеграционная шина – ключевой элемент построения информационного пространства банка

Многие банковские организации при развитии IT-инфраструктуры доходят до состояния, когда внедрить очередную информационную систему становится многократно труднее, чем предыдущие.

Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что этоМаксим Барсуков, директор департамента информационных систем АМТ-ГРУП

Если в этот момент провести аудит IT-инфраструктуры, типичный диагноз будет выглядеть примерно так:

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

2) Отсутствует единое контролирующее звено, ответственное за актуализацию и предоставление данных из различных информационных систем.

3) Отсутствует контроль процессов обмена: нет единой среды обмена данными между информационными системами.

4) Присутствует «Технологический зоопарк»: многообразие информационных систем и применяемых протоколов обмена данными, множество коннекторов (зачастую разработанных под заказ или самостоятельно) и т.п.

Интеграционная шина, как правило, предоставляет следующие функции:

— Преобразование сообщений, а также их передача, алгоритмическое перенаправление, постановка в очередь и отслеживание;

— Работа с сообщениями в режимах: синхронном, асинхронном, «точка-точка», «публикация-подписка»;

— Поддержка XML и SOAP сообщений;

— Возможность подключения множества систем через готовые адаптеры и API для написания новых адаптеров;

— Оркестровка (автоматическое размещение, координация и управление) служб.

Концептуально архитектура с использованием Интеграционной сервисной шины выглядит так:

Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это

Рисунок 1 Архитектура с использованием интеграционной шины

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

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

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

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

Следующая иллюстрация показывает, как меняется взаимодействие IT систем банка после внедрения интеграционной шины.

Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это

Рисунок 2 ИТ-архитектура банка до и после внедрения шины

В настоящее время на рынке интеграционных шин выбор достаточно широк. Представлены как коммерческие системы, так и продукты с открытым исходным кодом. Среди производителей интеграционных шин – лидеров по внедрениям в России можно выделить IBM и Oracle; в число зарубежных лидирующих вендоров можно включить TIBCO.

Рассмотрим внедрение интеграционных шин в нескольких крупных международных банках.

Chinatrust Commercial Bank (Коммерческий банк Чайнатраст) использует интеграционную шину для поддержки своих продуктов и сервисов. Сервис-ориентированная архитектура на основе интеграционной шины объединяет более семидесяти систем на множестве платформ, таких как: автоматизированная банковская система, сетевой банкинг, ипотечная система, лотерейная система, система автоматизации рабочих процессов, интерактивное голосовое меню и т.д. В режиме реального времени стали доступны такие сервисы, как: агрегация данных, сводка по счету, входящие и исходящие переводы, трансферы, уведомления (задействован функционал событийно ориентированных коммуникаций) и другие. Расходы на интеграцию новых систем снизились в среднем на 30..40%.

В настоящее время интеграционная шина банка поддерживает 100 000 ежедневных транзакций в корпоративном секторе и 50 000 в ритейле. Количество транзакций онлайн банкинга возросло с 150 000 до 1 200 000 в сутки.

Сингапуро-малазийский банк OCBC недавно поставил себе цель в пятилетний срок повысить эффективность работы на 25% и снизить затраты на разработку новых программных интерфейсов на 30%. Первый сервис на основе SOA был запущен в 2006 году. Через шесть месяцев работало 116 единичных сервисов, каждый из которых пригоден к использованию в составных сервисах. 50 единичных сервисов являлись частью нескольких составных. Для поддержки интеграционных процессов банк создал Центр Интеграционных Компетенций. В OCBC полагают, что для достижения заявленных целей SOA играет ключевую роль.

Источник

ocnova.ru

Сбор требований. Интеграционная шина. Вопросы

Ответить Аналитика Ноябрь 27th, 2010 Аналайзер

В данной статье речь пойдет уже не о способах сбора данных, а о конкретных вопросах, которые необходимо выяснить в первую очередь при интервьюировании Заказчика..

Рассмотрим случай, когда осуществляется внедрение интеграционной шины (Enterprise Service Bus, ESB).

Что же такое интеграционная шина и с чем ее едят?

Давайте немного пройдемся галопом по «Европам»..

Интеграционная шина (с точки зрения ПО) – интеграционное корпоративное приложение, обеспечивающее взаимодействие всех существующих информационных систем через единую точку, при этом обеспечивающее транзакции, преобразование данных, сохранность сообщений, сквозное управление бизнес- процессами и многое другое.

Когда речь идет об интеграции 3-4 систем в Компании, использование интеграционной шины, по мнению автора, не целесообразно.

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

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

К интеграционным сервисным шинам относят решения: IBM WebSphere MQ, Microsoft BizTalk, TIBCO, WebMethods, SeeBeyond, Vitria, CrossWorlds, JBoss, Celtix и другие.

Вот собственно вся основная первоначальная база необходимой информации, которая Вам, скорее всего, понадобится!

Если Вы можете дополнить данную статью полезной информацией – будем рады!

Источник

Путешествие в мир сервисных корпоративных шин на IBM WebSphere ESB

Порядок
Чем большего размера система, тем более важен в ней порядок и единообразие. Если речь идет о комплексе систем большого предприятия, то его точно уж можно назвать системой большого размера. Конечно, всегда можно найти администратора, держащего в голове схему взаимодействия сотни серверов, или кучу томов несвязанной документации по каждому программному модулю, где описано, с чем и как он взаимодействует.
Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это
Но намного проще иметь сервис (ESB), который позволяет проводить все взаимодействие через себя. При таком подходе часть архитектуры взаимодействия в любой подсистеме уже понятна – нет бардака в связях между системами, серверами и приложениями: все связано с ESB и ESB связано со всем.
Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это

Централизованное управление
Всегда удобнее производить настройку систем централизованно – будь то конфигурирование, адаптация к переезду серверов, обеспечение отказоустойчивости, распределение нагрузки, обработка ошибок либо мониторинг и аналитика.
Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это
Например, при переезде сервера БД не нужно залезать в конфигурацию всех существующих серверов приложений, и в настройки конкретных приложений в частности – достаточно иметь одну переменную среды в ESB, в которой указывается адрес БД, и тогда изменения нужно будет выполнить всего в одной точке.
Или же если одна из внешних систем была недоступна длительное время, а ни один запрос к ней не должен потеряться – можно воспользоваться сервисом обработки сбойных событий для «вбрасывания» недошедших сообщений тогда, когда это будет удобно.
Если вам нужно регулировать количество одновременных запросов к какой-либо системе, либо мониторить эти запросы, анализировать нагрузку, искать узкие места – вам нужно в центр управления обмена сообщениями – в консоль ESB-сервера.

Конфигурация на стороне сервера
«Единое жилье» для сервисов, с точки зрения конфигурирования, позволяет достичь нескольких полезных целей. Во-первых, это повторное использование конфигурации (по аналогии с повторным использованием кода и модулей, которое так полезно в SOA), поскольку разные модули и приложения могут использовать одни и те же параметры соединения с БД, ресурсы, параметры аутентификации, переменные среды и прочее.
Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это
Во-вторых, при конфигурировании на стороне сервера именно среда работы приложения во многом может на него влиять, что позволяет переносить приложения между разными контурами (тестовым и продуктивным), тюнинговать и даже исправлять баги без внесения изменений в приложение.

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

Но гибкость приложений под IBM WebSphere ESB не ограничивается средой их работы. Громадный вклад в это делают возможности разработки. Поскольку, системы не только нужно иметь, где запускать, но еще нужно разрабатывать и дорабатывать, эти интересные пункты упускать нельзя:

SCA
Эта архитектура основывается на принципе предоставления компонентой своей функциональности в виде сервиса, доступного другим компонентам. В рамках одного модуля компонентами выступают программные блоки (java код), полностью реализующие некий функционал, описанный соответствующим интерфейсом. Логика выполнения компонент реализуется связыванием их в структуру по интерфейсам и reference’ам (Partner Reference).
Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это
Такую структуру модуля очень удобно разрабатывать, проверять, развивать, изменять и поддерживать. Атомарность функционала, реализованного в компонентах, позволяет оперировать компонентами в целом, не опускаясь до уровня кода. С другой стороны, она логично необходима ввиду выполнения имплементаций компонент в транзакционном контексте.
У каждой компоненты есть интерфейс(ы), имплементацию которого она предоставляет. Таким образом, связывая между собой компоненты, нет необходимости знать их внутренние особенности – достаточно того, что они реализуют необходимые интерфейсы.
Посредством данной архитектуры также можно решить все задачи, требующие параллельной работы, без «ручного» управления потоками (например, можно выполнять асинхронные вызовы нескольких компонент с отсроченным ответом).
Не java-компоненты, например, типов Export и Import, позволяют предоставлять сервисы для внешнего использования либо использовать внешние сервисы соответственно; компонента Mediation Flow обеспечивает низкоуровневый доступ к сообщениям, которыми обмениваются другие компоненты и позволяет производить различные преобразования при работе с гетерогенными интерфейсами.
Помимо интерфейсов, очень полезные возможности предоставляет IBM business object framework. Бизнес-объекты (БО), представлены xsd-схемами, используются как объекты для передачи данных в интерфейсах, как между компонентами, так и для коммуникации между модулями. Они же напрямую интегрируются, например, в wsdl-схему для описания веб-сервисов. То есть, например, если модуль «А» предоставляет свой функционал в виде веб-сервиса, модулю «Б» для его использования достаточно подключить интерфейс и готовые БО, и он сможет в полной мере работать с таким сервисом без создания каких-либо дополнительных java-объектов для передачи данных. БО также удобно использовать при обмене данными с БД, если эти данные используются другими компонентами (это, конечно, идет в разрез с паттерном «DAO», но избавляет от лишних java-объектов и операций переписывания данных «туда-сюда»).

Протоколо-независимость программного кода
Как можно было заметить, протоколо-независимость кода достигается путем использования компонент Export и Import. Поскольку связь с этими компонентами идет по интерфейсам и reference’ам, программный код полностью независим от используемого для взаимодействия протокола. Один и тот же функционал можно легким движением сделать доступным по любому количеству поддерживаемых протоколов и по любым нужным интерфейсам. На следующем рисунке показано добавление экспорта с SCA привязкой к компоненте, которая уже предоставляет свой интерфейс как HTTP, JMS и Web-сервис.
Интеграционная шина что это. Смотреть фото Интеграционная шина что это. Смотреть картинку Интеграционная шина что это. Картинка про Интеграционная шина что это. Фото Интеграционная шина что это
Удобства очевидны – гибкость, универсальность, повторное использование кода, быстрота разработки и модификации.
Кстати, SCA привязка использует особый протокол и предназначена для сообщения между модулями в рамках одного сервера/кластера. Взаимодействие через эту привязку менее ресурсоемкое и более быстрое по сравнению с другими протоколами.

Конфигурирование
Конфигурирование сервера и приложений осуществляется через IBM console сервера.
В ESB, как и в IBM WebSphere в общем, довольно много специфических возможностей и артефактов. Например, при использовании тех же импортов и экспортов, можно «на лету» конфигурировать end-point’ы соответствующих сервисов. Для вызовов сервисов можно настраивать policy set’ы с разнообразными правилами (например, можно установить поддержку механизма WS-AT, который позволяет вызывать веб-сервис в той же транзакции, в которой работает клиент; но транзакционность – это уже тема для полной статьи), устанавливать параметры аутентификации, подключать сертификаты и прочее.
Через конфигурирование можно настроить некоторые механизмы автоматической реакции на исключительные ситуации (например, автоматическое повторение выполнения компонент при ошибках). Можно «на лету» настроить трассировку компонент или изменить уровни логирования. Также доступен сервис управления сбойными событиями, который можно осознанно использовать для массовой обработки ошибок.
Ну и, конечно же, можно настроить много чего другого согласно спецификации Java2EE, которая, иногда довольно строго, реализована в IBM Application Server.

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

В статье использованы следующие изображения: 1 2 3 4 5

Источник

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

Есть мнение, что использование Apache Kafka в качестве корпоративной сервисной шины (ESB, Enterprise Service Bus) является антипаттерном. Сегодня мы проясним это категоричное утверждение и рассмотрим, как корректно реализовать ESB с помощью Kafka на практическом примере шины данных в компании Avito.ru.

Что такое ESB и чем это отличается от брокера сообщений

Таким образом, брокер сообщений является частью ESB-решения, которое в целом обеспечивает мониторинг и контроль маршрутизации обмена сообщениями между сервисами на основе контента, разрешая конфликты между ними. Также ESB позволяет управлять развертываниями и версиями сервисов. Поэтому постановка вопроса «Apache Kafka vs ESB» не совсем корректна: Кафка дополняет ESB, выступая в качестве масштабируемой отказоустойчивой стриминговой платформы, что особенно актуально для высоконагруженных распределенных Big Data систем [2].

Apache Kafka для разработчиков

Код курса
DEVKI
Ближайшая дата курса
Длительность обучения
32 ак.часов
Стоимость обучения
80 000 руб.

Шина данных и Apache Kafka: рекомендации и антипаттерны

Именно в таком ключе перед разработчиками компании Avito и была поставлена задача создания корпоративной шины данных (service data bus), реализацию которой мы рассмотрим далее. Этот кейс был наглядно представлен сотрудником компании Антоном Суховым на 5-м Backend-митапе Авито в декабре 2019 года [4].

Кафка и шина данных на пример Авито: self-service для эффективной интеграции

Основными бизнес-требованиями к корпоративной шине данных в Авито были следующие [4]:

Из требований к решению наиболее значимыми считались:

С учетом этих требований было решено проектировать систему следующим образом:

При том смещение (offset) может указывать на самую старую запись (oldest), самую новую (newest), или вычисляться по метке времени (timestamp).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *