«1С:Шина» — это программный продукт класса «Сервисная шина предприятия» (в англоязычной терминологии — Enterprise Service Bus, ESB), обеспечивающий обмен данными между различными информационными системами.
В основе работы лежит принцип асинхронного обмена сообщениями между информационными системами, которые взаимодействуют посредством «1С:Шины». Сообщение – блок данных произвольного содержания, который передается от информационной системы — отправителя информационным системам — получателям. Асинхронность подразумевает, что система-отправитель не взаимодействует с системами-получателями, а взаимодействует только с посредником – «1С:Шиной». В свою очередь «1С:Шина» взаимодействует с получателями по мере их доступности и готовности.
«1С:Шина» позволяет настраивать маршрутизацию передаваемых через нее сообщений, то есть по содержимому сообщения определять, какие из взаимодействующих систем должны получить это сообщение. Также есть возможность трансформировать сообщение в процессе доставки. Для описания взаимодействия информационных систем посредством «1С:Шины» предоставляется специальная среда разработки. В ней разработчик может декларативно настраивать маршрутизацию и трансформацию сообщений с использованием встроенного языка.
Для взаимодействия с «1С:Шиной» в платформе «1С:Предприятие» есть механизм сервисов интеграции. Используя возможности этого механизма, разработчик может обеспечить отправку исходящих и обработку входящих сообщений. Высокая скорость (тысячи сообщений в минуту) обмена с «1С:Шиной» обеспечивается за счет встраивания механизма непосредственно в платформу «1С:Предприятие». При этом реализуется гарантированная доставка сообщения: сообщение сохраняется на каждом отрезке пути до системы-получателя.
Помимо взаимодействия с информационными системами на платформе «1С:Предприятие», используя сервисы интеграции, 1С:Шина:
- Позволяет обмениваться по протоколу AMQP для подключения к внешним брокерам сообщений.
- Позволяет обмениваться сообщениями с брокером сообщений Apache ActiveMQ Artemis.
- Поддерживает возможность выполнять HTTP-запросы к внешним системам для получения или отправки данных, вызовов REST API или WEB-сервисов.
Поддерживает обмен сообщениями в виде файлов, сохраненных в файловой системе или на FTP-сервере. Также такие сообщения могут порождаться при изменении файлов в файловой системе или на FTP-ресурсах. Эти возможности позволяют одинаково успешно решать привычные задачи обмена данными и реализовывать более сложные сценарии взаимодействия. «1С:Шина» – серверное решение, которое устанавливается и настраивается отдельно. Администратор может управлять его работой в удобном графическом интерфейсе. Процесс настройки и эксплуатации продукта состоит из нескольких шагов, которые позволяют достаточно быстро и относительно просто выполнить настройку обмена сообщениями, а также контролировать уже запущенные к обмену потоки. В ходе разработки продукта силами нескольких наших партнеров-франчайзи и клиентов были реализованы пилотные проекты внедрения «1С:Шины», с которыми рекомендуем вам ознакомиться по ссылкам ниже:
- Внедрение «1С:Шины» для нужд нефтесервисного холдинга «ТНГ-Групп».
- Внедрение продукта «1С:Шина» в Тамбовском государственном университете им. Г.Р. Державина.
- Использование «1С:Шины» в компании «Альфа партнер».
- Внедрение продукта «1С:Шина» в сети «Магазин постоянных распродаж».
Участники пилотных проектов отметили следующие преимущества:
- Тесная и удобная интеграция с системами на платформе «1С:Предприятие» при возможности работы с другими внешними приложениями.
- Простая установка и настройка.
- Понятный интерфейс и возможность мониторинга доставки сообщений.
- Отправитель не зависит от состояния получателей.
- Гарантированная доставка:
- повтор доставки при отсутствии подтверждения;
- хранение до доставки.
- определение множества адресатов сообщения.
Содержание- Заметки из Зазеркалья
- Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список изменений в новой версии приводится в файле v8Update.htm.
- Продукт «Интеграционная шина»
- Подключение 1С:Предприятия к «Интеграционной шине»
- Пример сценария интеграции
- Преимущества нашей «Интеграционной шины»
- Как мы работаем со справочниками на интеграционной шине
- Принципы решения
- Трансформация на интеграционной шине.
- 🎦 Видео
Видео:Обмен данными с помощью продукта «1С:Шина» на практическом примере - 28.07.2022Скачать
Заметки из Зазеркалья
Видео:Интеграционная шина - обмен данными между подразделениями предприятияСкачать
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.Многие наши клиенты используют в своём бизнесе, помимо продуктов 1С, и другие информационные системы от других производителей. Вполне естественным желанием таких клиентов является обеспечить эффективное взаимодействие этих систем.
Примеры сценариев интеграции:
- Офис отправляет в магазины и на сайт изменения в прайс-листе. Приложения, обслуживающие офис, сайт и магазины, могут быть как от 1С, так и от других производителей.
- Накладные отправляются из офиса в магазины автоматически по мере утверждения. В магазине накладные доступны пользователю для работы.
Консолидированная по магазинам информация по остаткам товаров отправляется из офиса в магазины автоматически по расписанию или по требованию. Эта же информация отправляется из магазинов в офис для консолидации в ответ на запрос из офиса остатков автоматически при получении запроса.
Видео:CAN шина👏 Как это работаетСкачать
Продукт «Интеграционная шина»
Для организации взаимодействия систем предлагается следующая последовательность:
- Разработчик описывает интеграцию систем в специализированном редакторе, используя простую графическую нотацию.
- Маршрут движения сообщений представляется направленным графом, который показывает, как сообщения передаются от источников к назначениям.
- При необходимости можно определить сложный алгоритм маршрутизации сообщений или трансформировать сообщение при помощи процедуры на встроенном языке.
- Источником сообщения может быть файл, результат HTTP запроса, внешний брокер сообщений или подключенная к «Интеграционной шине» внешняя система (такие системы называются участниками взаимодействия).
- Полученное описание сохраняется в специальном объекте Процесс интеграции.
- Определяются параметры Процесса интеграции, значения которых будут определены во время исполнения (пути, адреса сервисов и пр.).
- Созданные разработчиком Процессы интеграции разворачиваются на сервере «Интеграционной шины».
- Администратору сервера доступен графический интерфейс управления «Интеграционной шиной», в котором:
- Задаются значения дополнительным параметрам Процесса интеграции
- Определяются правила подключения Участников взаимодействия к серверу «Интеграционной шины» и способ их участия в процессах интеграции
- Запускаются Процессы интеграции и начинают доставлять сообщения
- Останавливаются Процессы интеграции
- Доступны данные мониторинга работы Процессов интеграции: количество обработанных сообщений, ошибок и пр.
При создании Процесса интеграции разработчик не должен знать точное число систем-участников интеграции. Вместо этого он оперирует понятием группа участников, которое объединяет произвольное количество участников, взаимодействующих с «Интеграционной шиной» единообразно. Во время исполнения администратор определяет, к каким группам относится конкретная система-участник, и для этого участника динамически выделяются необходимые ресурсы.
Видео:1С:Шина–программное обеспечение для обмена данными между информационными системамиСкачать
Подключение 1С:Предприятия к «Интеграционной шине»
Для поддержки асинхронного обмена сообщениями в платформе 1С:Предприятие версии 8.3.17 добавлен механизм сервисов интеграции. Обмен сообщениями происходит по каналам, организованным на сервере. Канал – это однонаправленный поток сообщений от отправителя к получателю. Сообщения в канал помещаются последовательно отправителем и последовательно доставляются получателю. Сообщения разных каналов обрабатываются и доставляются параллельно. Сообщение доставляется в шину только в том случае, если зафиксирована транзакция, в которой это сообщение отправлено.
- Сообщения, отправленные в один канал в определенной последовательности, будут получены в той же последовательности.
- Любые два сообщения, полученные из разных каналов в определенной последовательности, не обязательно будут обработаны в этой же последовательности, так как обработка сообщений из разных каналов может идти с разной скоростью.
Механизм сервисов интеграции в 1С:Предприятие не является альтернативной механизмам планов обмена, так как отвечает только за транспортировку сообщений, а не за формирование исходящих и интерпретацию входящих сообщений.
Взаимодействие с «Интеграционной шиной» выполняется с гарантированной доставкой сообщения, что означает:
- Отправляемое в «Интеграционную шину» сообщение сохраняется в информационной базе до тех пор, пока от «Интеграционной шины» не будет получено подтверждение того, что сообщение им получено.
- Система 1С:Предприятие будет выполнять попытки доставить сообщения «Интеграционной шине», пока не будет получено подтверждение получения сообщения или сообщение не устареет (у сообщения может быть установлен «срок годности»).
- При получении сообщения от «Интеграционной шины» это сообщение сохраняется в информационной базе, и только после этого «Интеграционной шине» подтверждается получение сообщения.
Видео:Цифровая шина НЕРВ. Обмен информацией между устройствами РЗА.Скачать
Пример сценария интеграции
Офис отправляет в магазины и на сайт изменения в прайс-листе.
Схема содержит три группы участников: «Офисы», «МагазиныСоСтарымПО» и «МагазиныНа1С». В группе «МагазиныНа1С» объединены участники, которые используют для автоматизации системы на платформе 1С:Предприятие. В группе «МагазиныСоСтарымПО» собраны участники, которые используют ПО других производителей.
В момент изменения прайс-листа в офисе формируется сообщение, содержащее актуальный прайс-лист в формате EnterpriseData. Это сообщение отправляется в канал «ИзОфисов».
В узле «ДляВсех» все сообщения из канала «ИзОфисов» маршрутизируются по трем направлениям:
- Для передачи магазинам, использующим старое ПО, в формате JSON. Преобразование из исходного XML происходит в узле вида «Транслятор» с именем «JsonДляМагазинов». Полученный JSON отправляется в канал «ДляМагазиновСоСтарымПО».
- Для передачи магазинам, использующим ПО 1С, сообщение в исходном виде отправляется в канал «ДляМагазиновНа1С».
- Для публикации на сайте. Преобразование из исходного XML происходит в узле вида «Транслятор» с именем «JsonДляСайта». Полученный JSON отправляется на сайт HTTP запросом в узле «НаСайт».
При настройке такого процесса интеграции разработчику совершенно не важно, сколько магазинов каждого вида будет участвовать в интеграции.
Видео:лекция 314. Транзакции на шине USBСкачать
Преимущества нашей «Интеграционной шины»
После знакомства с «Интеграционной шиной» может возникнуть естественный вопрос: рынок ПО класса ESB достаточно обширен, на нем представлено немало достойных продуктов, в том числе и бесплатных; зачем же фирме «1С» делать ещё один продукт, не изобретаем ли мы велосипед?
Конечно, перед тем, как принять решение разрабатывать «Интеграционную шину», мы задались тем же вопросом. И ответили себе на него так — да, делать продукт сто́ит, потому что:
- Мы постарались сделать наш продукт максимально простым и удобным в использовании.
- Мы сделали интеграцию нашего продукта с приложениями 1С максимально гладкой.
- «Интеграционная шина» от 1С легка в освоении для разработчиков 1С и позволит клиентам во многих случаях для настройки процессов интеграции обходиться усилиями существующих ИТ-специалистов (партнера 1С и/или своего ИТ-отдела, обслуживающего клиента).
- Наш продукт будет органично вписываться в экосистему 1С и позволит решить нашим клиентам задачи своего бизнеса наиболее эффективным способом.
Мы планируем развивать продукт, в частности, увеличивать количество способов взаимодействия с внешними системами, улучшать средства мониторинга, ввести возможность добавлять сервисы интеграции через расширения, устанавливать связь сервисов интеграции и планов обмена.
Мы планируем этап бета-тестирования «Интеграционной шины» и будем рады помощи партнеров и клиентов. Чтобы участвовать в бета-тестировании продукта нажмите зелёную кнопку «Пробовать» в начале статьи.
Видео:1С Механизмы обмена данными. Универсальные обмены данными.Скачать
Как мы работаем со справочниками на интеграционной шине
Видео:лекция 403 CAN шина- введениеСкачать
Принципы решения
При интеграции корпоративных систем возникает задача управления справочными данными. Для решения этой задачи часто используется Master Data Managment(MDM). MDM — это хранилище, которое содержит “эталонные” справочные данные, так называемые “золотые записи”. Справочники в MDM содержат очищенные полные и непротиворечивые данные.
Часто MDM используется как платформа для централизованного ведения справочников. Ввод и валидация справочных данных производится в MDM, а оттуда они реплицируются в IT-системы. Такой подход имеет несколько проблем
- Создать эталонную модель данных, которая подойдет всем системам не так-то просто.
- Справочные данные становятся оторванными от приложений.
- Репликация данных из MDM часто требует серьезной доработки систем. Для систем “из коробки” такая доработка может быть очень дорогой.
Другой подход заключается в том, что каждая бизнес-система хранит справочники локально, и организует у себя ввод данных. При обмене сообщениями между системами интеграционная шина осуществляет трансформацию из формата одной системы в формат другой. При этом происходит и трансформация справочных данных.
Видео:Интеграция систем 1С с помощью сервисной шины предприятия DATAREON ESBСкачать
Трансформация на интеграционной шине.
Мы используем второй подход. Все взаимодействия бизнес-систем происходят через интеграционную шину. Шина (в нашем случае 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.
🎦 Видео
Лекция 278. Обмен данных по прерываниямСкачать
MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Передача данных - шина SPIСкачать
Использование 1С:Шина для обмена данными в распределенной базе 1С из 120 узловСкачать
1С БСП "Обмен данными". Универсальный обмен по правилам.Скачать
Цифровые интерфейсы и протоколыСкачать
лекция 417 Чтение и запись данных на общую шинуСкачать
Лекция 276. Способы передачи данных по Общей шинеСкачать
С чего начать ремонт ЭБУ: Типы шин данных, CANСкачать
Шина данныхСкачать