По мере развития любой компании появляются новые бизнес-процессы, требующие автоматизации, усложняются схемы взаимодействия IT-систем. Таким образом, по прошествии нескольких лет многие IT-директора сталкиваются с проблемой: в состав используемого ПО входит целый набор «проверенных временем» систем, но при этом взаимодействие между ними реализовано лишь частично, плохо структурировано, не подчинено единому стандарту, а необходимость создания новой интеграции IT-систем почти всегда требует использования собственных разработок или приобретения еще одного дорогостоящего программного продукта.
Кроме того, нередко, ввиду отсутствия обратной совместимости, перевод какой-либо системы на новую версию влечет за собой необходимость модификации ПО, реализующего связь с другими подсистемами. Все это неизбежно находит отражение в возрастающем объеме инвестиций в IT-блок организации, т.к. для покрытия требований бизнеса необходимо внедрение новых IT-систем и, как следствие, поиск и обучение дорогостоящих технических специалистов.
В начале 2000 годов на рынке программного обеспечения стали появляться решения, сформировавшие кластер под названием Сервисная шина масштаба предприятия (Enterprise Service Bus, ESB), или сокращенно Шина Данных. Шина Данных – это, в первую очередь, концепция, элемент архитектуры IT-ландшафта, используемый для решения задачи интеграции разрозненных информационных систем в единый программный комплекс с централизованным управлением передачей информации и применением сервис-ориентированного подхода.
Enterprise Service Bus (ESB)
Архитектура ESB строится на 3 компонентах:
- набор коннекторов
- очередь сообщений
- платформа
Коннекторы используются для подключения к различным системам и обеспечивают прием и отправку данных.
Очередь сообщений (Message Queue, MQ) служит для организации промежуточного хранения сообщений в ходе их доставки.
Платформа обеспечивает связь коннекторов с очередью, а также организацию асинхронной передачи информации между источниками и приемниками с гарантированной доставкой сообщений и возможностью трансформации. В состав платформы входит средство разработки, позволяющее не только задать правила маршрутизации, но также, при необходимости, определить собственные коннекторы, в т.ч. с использованием внешних процедур, реализованных на языках Java, C, C++, C#, Python и др.
К основным преимуществам современных ESB-решений относятся:
- широкий набор коннекторов и масштабируемость решения
- гибкая маршрутизация данных
- гарантированная доставка информационных сообщений
- организация безопасного канала передачи
- централизованное управление
- возможность мониторинга и диагностики состояния передачи
- возможность интеграции с очередью сообщений стороннего производителя
- Пример действующего решения
- Заключение
- Заметки из Зазеркалья
- Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список изменений в новой версии приводится в файле v8Update.htm.
- Продукт «Интеграционная шина»
- Подключение 1С:Предприятия к «Интеграционной шине»
- Пример сценария интеграции
- Преимущества нашей «Интеграционной шины»
- Что такое шина данных 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?Скачать
Заметки из Зазеркалья
Видео:Интеграционные шиныСкачать
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Многие наши клиенты используют в своём бизнесе, помимо продуктов 1С, и другие информационные системы от других производителей. Вполне естественным желанием таких клиентов является обеспечить эффективное взаимодействие этих систем.
Примеры сценариев интеграции:
- Офис отправляет в магазины и на сайт изменения в прайс-листе. Приложения, обслуживающие офис, сайт и магазины, могут быть как от 1С, так и от других производителей.
- Накладные отправляются из офиса в магазины автоматически по мере утверждения. В магазине накладные доступны пользователю для работы.
Консолидированная по магазинам информация по остаткам товаров отправляется из офиса в магазины автоматически по расписанию или по требованию. Эта же информация отправляется из магазинов в офис для консолидации в ответ на запрос из офиса остатков автоматически при получении запроса.
Видео:Плюсы и минусы сервисной шины данных I Enterprise service bus (ESB) I kt.teamСкачать
Продукт «Интеграционная шина»
Для организации взаимодействия систем предлагается следующая последовательность:
- Разработчик описывает интеграцию систем в специализированном редакторе, используя простую графическую нотацию.
- Маршрут движения сообщений представляется направленным графом, который показывает, как сообщения передаются от источников к назначениям.
- При необходимости можно определить сложный алгоритм маршрутизации сообщений или трансформировать сообщение при помощи процедуры на встроенном языке.
- Источником сообщения может быть файл, результат HTTP запроса, внешний брокер сообщений или подключенная к «Интеграционной шине» внешняя система (такие системы называются участниками взаимодействия).
- Полученное описание сохраняется в специальном объекте Процесс интеграции.
- Определяются параметры Процесса интеграции, значения которых будут определены во время исполнения (пути, адреса сервисов и пр.).
- Созданные разработчиком Процессы интеграции разворачиваются на сервере «Интеграционной шины».
- Администратору сервера доступен графический интерфейс управления «Интеграционной шиной», в котором:
- Задаются значения дополнительным параметрам Процесса интеграции
- Определяются правила подключения Участников взаимодействия к серверу «Интеграционной шины» и способ их участия в процессах интеграции
- Запускаются Процессы интеграции и начинают доставлять сообщения
- Останавливаются Процессы интеграции
- Доступны данные мониторинга работы Процессов интеграции: количество обработанных сообщений, ошибок и пр.
При создании Процесса интеграции разработчик не должен знать точное число систем-участников интеграции. Вместо этого он оперирует понятием группа участников, которое объединяет произвольное количество участников, взаимодействующих с «Интеграционной шиной» единообразно. Во время исполнения администратор определяет, к каким группам относится конкретная система-участник, и для этого участника динамически выделяются необходимые ресурсы.
Видео:Шина данныхСкачать
Подключение 1С:Предприятия к «Интеграционной шине»
Для поддержки асинхронного обмена сообщениями в платформе 1С:Предприятие версии 8.3.17 добавлен механизм сервисов интеграции. Обмен сообщениями происходит по каналам, организованным на сервере. Канал – это однонаправленный поток сообщений от отправителя к получателю. Сообщения в канал помещаются последовательно отправителем и последовательно доставляются получателю. Сообщения разных каналов обрабатываются и доставляются параллельно. Сообщение доставляется в шину только в том случае, если зафиксирована транзакция, в которой это сообщение отправлено.
- Сообщения, отправленные в один канал в определенной последовательности, будут получены в той же последовательности.
- Любые два сообщения, полученные из разных каналов в определенной последовательности, не обязательно будут обработаны в этой же последовательности, так как обработка сообщений из разных каналов может идти с разной скоростью.
Читайте также: Магнитола для тигуан с can шиной
Механизм сервисов интеграции в 1С:Предприятие не является альтернативной механизмам планов обмена, так как отвечает только за транспортировку сообщений, а не за формирование исходящих и интерпретацию входящих сообщений.
Взаимодействие с «Интеграционной шиной» выполняется с гарантированной доставкой сообщения, что означает:
- Отправляемое в «Интеграционную шину» сообщение сохраняется в информационной базе до тех пор, пока от «Интеграционной шины» не будет получено подтверждение того, что сообщение им получено.
- Система 1С:Предприятие будет выполнять попытки доставить сообщения «Интеграционной шине», пока не будет получено подтверждение получения сообщения или сообщение не устареет (у сообщения может быть установлен «срок годности»).
- При получении сообщения от «Интеграционной шины» это сообщение сохраняется в информационной базе, и только после этого «Интеграционной шине» подтверждается получение сообщения.
Видео:Интеграция систем на примере шины ESB · Евгений Путилин · ЛАФ #системныйаналитикСкачать
Пример сценария интеграции
Офис отправляет в магазины и на сайт изменения в прайс-листе.
Схема содержит три группы участников: «Офисы», «МагазиныСоСтарымПО» и «МагазиныНа1С». В группе «МагазиныНа1С» объединены участники, которые используют для автоматизации системы на платформе 1С:Предприятие. В группе «МагазиныСоСтарымПО» собраны участники, которые используют ПО других производителей.
В момент изменения прайс-листа в офисе формируется сообщение, содержащее актуальный прайс-лист в формате EnterpriseData. Это сообщение отправляется в канал «ИзОфисов».
В узле «ДляВсех» все сообщения из канала «ИзОфисов» маршрутизируются по трем направлениям:
- Для передачи магазинам, использующим старое ПО, в формате JSON. Преобразование из исходного XML происходит в узле вида «Транслятор» с именем «JsonДляМагазинов». Полученный JSON отправляется в канал «ДляМагазиновСоСтарымПО».
- Для передачи магазинам, использующим ПО 1С, сообщение в исходном виде отправляется в канал «ДляМагазиновНа1С».
- Для публикации на сайте. Преобразование из исходного XML происходит в узле вида «Транслятор» с именем «JsonДляСайта». Полученный JSON отправляется на сайт HTTP запросом в узле «НаСайт».
При настройке такого процесса интеграции разработчику совершенно не важно, сколько магазинов каждого вида будет участвовать в интеграции.
Видео:Шины данных и интеграции | ESB шина данных | Интеграция 1С ERPСкачать
Преимущества нашей «Интеграционной шины»
После знакомства с «Интеграционной шиной» может возникнуть естественный вопрос: рынок ПО класса ESB достаточно обширен, на нем представлено немало достойных продуктов, в том числе и бесплатных; зачем же фирме «1С» делать ещё один продукт, не изобретаем ли мы велосипед?
Конечно, перед тем, как принять решение разрабатывать «Интеграционную шину», мы задались тем же вопросом. И ответили себе на него так — да, делать продукт сто́ит, потому что:
- Мы постарались сделать наш продукт максимально простым и удобным в использовании.
- Мы сделали интеграцию нашего продукта с приложениями 1С максимально гладкой.
- «Интеграционная шина» от 1С легка в освоении для разработчиков 1С и позволит клиентам во многих случаях для настройки процессов интеграции обходиться усилиями существующих ИТ-специалистов (партнера 1С и/или своего ИТ-отдела, обслуживающего клиента).
- Наш продукт будет органично вписываться в экосистему 1С и позволит решить нашим клиентам задачи своего бизнеса наиболее эффективным способом.
Читайте также: Что дают размеры шины
Мы планируем развивать продукт, в частности, увеличивать количество способов взаимодействия с внешними системами, улучшать средства мониторинга, ввести возможность добавлять сервисы интеграции через расширения, устанавливать связь сервисов интеграции и планов обмена.
Мы планируем этап бета-тестирования «Интеграционной шины» и будем рады помощи партнеров и клиентов. Чтобы участвовать в бета-тестировании продукта нажмите зелёную кнопку «Пробовать» в начале статьи.
Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Что такое шина данных esb
Enterprise Service Bus (ESB) / Корпоративная сервисная шина (КСШ) = ПО, обеспечивающее централизованный и унифицированный обмен сообщениями между различными ИС предприятия. Подробнее в wikipedia.
Если в «дошинную» эпоху общепринятой концепцией была интеграция различных систем друг с другом напрямую, т.н. соединение «точка-точка», то с появлением шины — она становится главным транспортным узлом в интеграционной архитектуре предприятия, в определённом смысле объединяя в себе все API предприятия:
КСШ собой эволюционный виток архитектурной мысли в рамках сервисно-ориентированной архитектуры в «домикросервисную эпоху». Хорошо подходит для средних размеров предприятий с относительно небольшим количеством ИС (десятки).
Оглянувшись на свой и чужой опыт, можно извлечь несколько уроков использования КСШ:
- Заклинаю, не надо совать в Шину бизнес-логику, проблем потом не оберётесь. Использовать Шину следует только как транспорт.
Да и вообще идея вставлять бизнес-логику в вендорные решения и фреймворки — нарушение принципов DDD и заключение вашего предприятия в т.н. vendor-lock; - ESB могут стать «узким горлышком», когда множество команд других ИС ждёт доработок от команды ESB. Больше зависимостей —> больше общий TTM (time to market).
Всё это может значительно усугубиться в ситуации, когда в вашей компании количество специалистов, знающих Шину — стремится к нулю. - На Шину со множеством адаптеров обязательно нужны автотесты, руками регресс десятков-сотен кейсов адаптеров не покроется, особенно если необходимость в регрессе возникает раз в несколько дней или чаще, ведь на Шине с большой связанностью постоянно будет что-то меняться. Вопрос: стоит ли «вешать» разработку и тестирование на вендора?
Автотесты требуют всегда актуальных артефактов п.4; - Должен быть выстроен процесс сохранения и актуализации артефактов проектирования, разработки, тестирования Шины и всех ИС, работающих с Шиной. Нужны Архитекторы, и они должны быть «пишущие».
В основном это касается крупных ESB, на которые «нацеплены» большая часть ИС предприятия.
Если мы говорим о «небольших» шинах типа Kafka и RabbitMQ, то с ними всё гораздо проще, кроме того, они часто задействованы в микросервисной и service-mesh архитектуре, а также в смешаной архитектуре.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
📺 Видео
Шины VS брокеры сообщений | KT.Team | Андрей ПутинСкачать
Интеграция систем 1С с помощью сервисной шины предприятия DATAREON ESBСкачать
Интеграция 1С с СУБД при помощи сервисной шины данных DATAREON ESBСкачать
DATAREON ESB. Коротко о главномСкачать
DevCon.3 11. Пример интеграции информационных систем через 1С:ШинуСкачать
Работаем с веб-сервисами из шины данных DATAREON ESBСкачать
Архитектура шины DATAREON ESBСкачать
Интеграции 1С через ESB. Плюсы и минусы | KT.TeamСкачать
Корпоративная сервисная шина данных DATAREON ESB. Алгоритм работы подсистемы 1С. Урок 6Скачать
Кафка это шина? API, MQ, шины/ESB. Неочевидные минусы подходов и их плюсы.Скачать