Что такое шина данных esb

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

Кроме того, нередко, ввиду отсутствия обратной совместимости, перевод какой-либо системы на новую версию влечет за собой необходимость модификации ПО, реализующего связь с другими подсистемами. Все это неизбежно находит отражение в возрастающем объеме инвестиций в IT-блок организации, т.к. для покрытия требований бизнеса необходимо внедрение новых IT-систем и, как следствие, поиск и обучение дорогостоящих технических специалистов.

В начале 2000 годов на рынке программного обеспечения стали появляться решения, сформировавшие кластер под названием Сервисная шина масштаба предприятия (Enterprise Service Bus, ESB), или сокращенно Шина Данных. Шина Данных – это, в первую очередь, концепция, элемент архитектуры IT-ландшафта, используемый для решения задачи интеграции разрозненных информационных систем в единый программный комплекс с централизованным управлением передачей информации и применением сервис-ориентированного подхода.

Что такое шина данных esb

Enterprise Service Bus (ESB)

Архитектура ESB строится на 3 компонентах:

  • набор коннекторов
  • очередь сообщений
  • платформа

Коннекторы используются для подключения к различным системам и обеспечивают прием и отправку данных.
Очередь сообщений (Message Queue, MQ) служит для организации промежуточного хранения сообщений в ходе их доставки.

Платформа обеспечивает связь коннекторов с очередью, а также организацию асинхронной передачи информации между источниками и приемниками с гарантированной доставкой сообщений и возможностью трансформации. В состав платформы входит средство разработки, позволяющее не только задать правила маршрутизации, но также, при необходимости, определить собственные коннекторы, в т.ч. с использованием внешних процедур, реализованных на языках Java, C, C++, C#, Python и др.

К основным преимуществам современных ESB-решений относятся:

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

Пример действующего решения

К настоящему времени на рынке представлено более двух десятков шин данных, однако наибольшее распространение получили следующие решения:

  • Integration Bus (IBM)
  • Oracle Service Bus (Oracle)
  • BizTalk (Microsoft)
  • ActiveMatrix Service Bus (TIBCO)
  • MuleESB (MuleSoft)
  • JBoss Fuse ESB (Red Hat)

По результатам проведенного анализа различных Шин Данных нашей компанией был сделан выбор в пользу программного продукта JBoss Fuse. В число критериев входили такие вопросы как: наличие широкого спектра адаптеров (включая работу с web-сервисами), возможности маршрутизации и трансформации сообщений, оркестровка, поддерживаемые протоколы обмена, удобство администрирования, стоимость приобретения и поддержки. Данное решение по своим функциональным характеристикам не уступает аналогам от IBM, Oracle и Microsoft, но при этом доступно для бесплатного использования (лицензия приобретается только на поддержку).

Читайте также: Шины tigar hitris r15

На рисунке показан пример реализации web-сервиса, который по запрошенному идентификатору выдает из базы данных информацию о клиенте. Задача решена в инструменте редактирования JBoss Fuse, входящем в состав Jboss Fuse ESB.

Заключение

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

Видео:СПРОСИ ЭКСПЕРТА: Выпуск 1. Чем отличается шина данных от ETL?Скачать

СПРОСИ ЭКСПЕРТА: Выпуск 1. Чем отличается шина данных от ETL?

Заметки из Зазеркалья

Видео:Интеграционные шиныСкачать

Интеграционные шины

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

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

Примеры сценариев интеграции:

  • Офис отправляет в магазины и на сайт изменения в прайс-листе. Приложения, обслуживающие офис, сайт и магазины, могут быть как от 1С, так и от других производителей.
  • Накладные отправляются из офиса в магазины автоматически по мере утверждения. В магазине накладные доступны пользователю для работы.

Консолидированная по магазинам информация по остаткам товаров отправляется из офиса в магазины автоматически по расписанию или по требованию. Эта же информация отправляется из магазинов в офис для консолидации в ответ на запрос из офиса остатков автоматически при получении запроса.

Видео:Плюсы и минусы сервисной шины данных I Enterprise service bus (ESB) I kt.teamСкачать

Плюсы и минусы сервисной шины данных I Enterprise service bus (ESB) I kt.team

Продукт «Интеграционная шина»

Для организации взаимодействия систем предлагается следующая последовательность:

Что такое шина данных esb

  1. Разработчик описывает интеграцию систем в специализированном редакторе, используя простую графическую нотацию.
    1. Маршрут движения сообщений представляется направленным графом, который показывает, как сообщения передаются от источников к назначениям.
    2. При необходимости можно определить сложный алгоритм маршрутизации сообщений или трансформировать сообщение при помощи процедуры на встроенном языке.
    3. Источником сообщения может быть файл, результат HTTP запроса, внешний брокер сообщений или подключенная к «Интеграционной шине» внешняя система (такие системы называются участниками взаимодействия).
    4. Полученное описание сохраняется в специальном объекте Процесс интеграции.
    5. Определяются параметры Процесса интеграции, значения которых будут определены во время исполнения (пути, адреса сервисов и пр.).
  2. Созданные разработчиком Процессы интеграции разворачиваются на сервере «Интеграционной шины».
  3. Администратору сервера доступен графический интерфейс управления «Интеграционной шиной», в котором:
    1. Задаются значения дополнительным параметрам Процесса интеграции
    2. Определяются правила подключения Участников взаимодействия к серверу «Интеграционной шины» и способ их участия в процессах интеграции
    3. Запускаются Процессы интеграции и начинают доставлять сообщения
    4. Останавливаются Процессы интеграции
    5. Доступны данные мониторинга работы Процессов интеграции: количество обработанных сообщений, ошибок и пр.

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

Видео:Шина данныхСкачать

Шина данных

Подключение 1С:Предприятия к «Интеграционной шине»

Для поддержки асинхронного обмена сообщениями в платформе 1С:Предприятие версии 8.3.17 добавлен механизм сервисов интеграции. Обмен сообщениями происходит по каналам, организованным на сервере. Канал – это однонаправленный поток сообщений от отправителя к получателю. Сообщения в канал помещаются последовательно отправителем и последовательно доставляются получателю. Сообщения разных каналов обрабатываются и доставляются параллельно. Сообщение доставляется в шину только в том случае, если зафиксирована транзакция, в которой это сообщение отправлено.

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

Читайте также: Магнитола для тигуан с can шиной

Механизм сервисов интеграции в 1С:Предприятие не является альтернативной механизмам планов обмена, так как отвечает только за транспортировку сообщений, а не за формирование исходящих и интерпретацию входящих сообщений.

Взаимодействие с «Интеграционной шиной» выполняется с гарантированной доставкой сообщения, что означает:

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

Видео:Интеграция систем на примере шины ESB · Евгений Путилин · ЛАФ #системныйаналитикСкачать

Интеграция систем на примере шины ESB · Евгений Путилин · ЛАФ #системныйаналитик

Пример сценария интеграции

Офис отправляет в магазины и на сайт изменения в прайс-листе.

Что такое шина данных esb

Схема содержит три группы участников: «Офисы», «МагазиныСоСтарымПО» и «МагазиныНа1С». В группе «МагазиныНа1С» объединены участники, которые используют для автоматизации системы на платформе 1С:Предприятие. В группе «МагазиныСоСтарымПО» собраны участники, которые используют ПО других производителей.

В момент изменения прайс-листа в офисе формируется сообщение, содержащее актуальный прайс-лист в формате EnterpriseData. Это сообщение отправляется в канал «ИзОфисов».

В узле «ДляВсех» все сообщения из канала «ИзОфисов» маршрутизируются по трем направлениям:

  1. Для передачи магазинам, использующим старое ПО, в формате JSON. Преобразование из исходного XML происходит в узле вида «Транслятор» с именем «JsonДляМагазинов». Полученный JSON отправляется в канал «ДляМагазиновСоСтарымПО».
  2. Для передачи магазинам, использующим ПО 1С, сообщение в исходном виде отправляется в канал «ДляМагазиновНа1С».
  3. Для публикации на сайте. Преобразование из исходного XML происходит в узле вида «Транслятор» с именем «JsonДляСайта». Полученный JSON отправляется на сайт HTTP запросом в узле «НаСайт».

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

Видео:Шины данных и интеграции | ESB шина данных | Интеграция 1С ERPСкачать

Шины данных и интеграции | ESB шина данных | Интеграция 1С ERP

Преимущества нашей «Интеграционной шины»

После знакомства с «Интеграционной шиной» может возникнуть естественный вопрос: рынок ПО класса ESB достаточно обширен, на нем представлено немало достойных продуктов, в том числе и бесплатных; зачем же фирме «1С» делать ещё один продукт, не изобретаем ли мы велосипед?

Конечно, перед тем, как принять решение разрабатывать «Интеграционную шину», мы задались тем же вопросом. И ответили себе на него так — да, делать продукт сто́ит, потому что:

  1. Мы постарались сделать наш продукт максимально простым и удобным в использовании.
  2. Мы сделали интеграцию нашего продукта с приложениями 1С максимально гладкой.
  3. «Интеграционная шина» от 1С легка в освоении для разработчиков 1С и позволит клиентам во многих случаях для настройки процессов интеграции обходиться усилиями существующих ИТ-специалистов (партнера 1С и/или своего ИТ-отдела, обслуживающего клиента).
  4. Наш продукт будет органично вписываться в экосистему 1С и позволит решить нашим клиентам задачи своего бизнеса наиболее эффективным способом.

Читайте также: Что дают размеры шины

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

Мы планируем этап бета-тестирования «Интеграционной шины» и будем рады помощи партнеров и клиентов. Чтобы участвовать в бета-тестировании продукта нажмите зелёную кнопку «Пробовать» в начале статьи.

Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать

03. Основы устройства компьютера. Память и шина. [Универсальный программист]

Что такое шина данных esb

Enterprise Service Bus (ESB) / Корпоративная сервисная шина (КСШ) = ПО, обеспечивающее централизованный и унифицированный обмен сообщениями между различными ИС предприятия. Подробнее в wikipedia.
Если в «дошинную» эпоху общепринятой концепцией была интеграция различных систем друг с другом напрямую, т.н. соединение «точка-точка», то с появлением шины — она становится главным транспортным узлом в интеграционной архитектуре предприятия, в определённом смысле объединяя в себе все API предприятия:

Что такое шина данных esb

Что такое шина данных esb

КСШ собой эволюционный виток архитектурной мысли в рамках сервисно-ориентированной архитектуры в «домикросервисную эпоху». Хорошо подходит для средних размеров предприятий с относительно небольшим количеством ИС (десятки).

Оглянувшись на свой и чужой опыт, можно извлечь несколько уроков использования КСШ:

  1. Заклинаю, не надо совать в Шину бизнес-логику, проблем потом не оберётесь. Использовать Шину следует только как транспорт.
    Да и вообще идея вставлять бизнес-логику в вендорные решения и фреймворки — нарушение принципов DDD и заключение вашего предприятия в т.н. vendor-lock;
  2. ESB могут стать «узким горлышком», когда множество команд других ИС ждёт доработок от команды ESB. Больше зависимостей —> больше общий TTM (time to market).
    Всё это может значительно усугубиться в ситуации, когда в вашей компании количество специалистов, знающих Шину — стремится к нулю.
  3. На Шину со множеством адаптеров обязательно нужны автотесты, руками регресс десятков-сотен кейсов адаптеров не покроется, особенно если необходимость в регрессе возникает раз в несколько дней или чаще, ведь на Шине с большой связанностью постоянно будет что-то меняться. Вопрос: стоит ли «вешать» разработку и тестирование на вендора?
    Автотесты требуют всегда актуальных артефактов п.4;
  4. Должен быть выстроен процесс сохранения и актуализации артефактов проектирования, разработки, тестирования Шины и всех ИС, работающих с Шиной. Нужны Архитекторы, и они должны быть «пишущие».

В основном это касается крупных ESB, на которые «нацеплены» большая часть ИС предприятия.
Если мы говорим о «небольших» шинах типа Kafka и RabbitMQ, то с ними всё гораздо проще, кроме того, они часто задействованы в микросервисной и service-mesh архитектуре, а также в смешаной архитектуре.

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле

    📺 Видео

    Шины VS брокеры сообщений | KT.Team | Андрей ПутинСкачать

    Шины VS брокеры сообщений | KT.Team | Андрей Путин

    Интеграция систем 1С с помощью сервисной шины предприятия DATAREON ESBСкачать

    Интеграция систем 1С с помощью сервисной шины предприятия DATAREON ESB

    Интеграция 1С с СУБД при помощи сервисной шины данных DATAREON ESBСкачать

    Интеграция 1С с СУБД при помощи сервисной шины данных DATAREON ESB

    DATAREON ESB. Коротко о главномСкачать

    DATAREON ESB. Коротко о главном

    DevCon.3 11. Пример интеграции информационных систем через 1С:ШинуСкачать

    DevCon.3 11. Пример интеграции информационных систем через 1С:Шину

    Работаем с веб-сервисами из шины данных DATAREON ESBСкачать

    Работаем с веб-сервисами из шины данных DATAREON ESB

    Архитектура шины DATAREON ESBСкачать

    Архитектура шины DATAREON ESB

    Интеграции 1С через ESB. Плюсы и минусы | KT.TeamСкачать

    Интеграции 1С через ESB. Плюсы и минусы | KT.Team

    Корпоративная сервисная шина данных DATAREON ESB. Алгоритм работы подсистемы 1С. Урок 6Скачать

    Корпоративная сервисная шина данных DATAREON ESB. Алгоритм работы подсистемы 1С. Урок 6

    Кафка это шина? API, MQ, шины/ESB. Неочевидные минусы подходов и их плюсы.Скачать

    Кафка это шина? API, MQ, шины/ESB. Неочевидные минусы подходов и их плюсы.
Поделиться или сохранить к себе:
Технарь знаток