Интеграционная шина
Доступна с версии 1.0.5.1
Подсистема создана для взаимодействия с продуктом 1С:Шина. Позволяет гибко настроить процессы интеграции через формирование и отправку пакетов данных, обработку входящих запросов и управление ошибками. Пакеты формируются и передаются асинхронно, что снижает нагрузку на основную систему и обеспечивает надёжность взаимодействия с внешними системами.
-
Асинхронное выполнение: Формирование и отправка пакетов осуществляется в фоновом режиме, что предотвращает блокировки и увеличения транзакций при записи данных.
-
Гибкость обработки ошибок: Пакеты с ошибками могут быть повторно обработаны и отправлены после исправления, что позволяет минимизировать потери данных и сбоев.
-
Разделение ответственности: Разделение задач на этапы формирования, отправки и обработки пакетов обеспечивает четкую организацию процессов и повышает прозрачность системы.
Состав
Основные объекты подсистемы и их взаимосвязь представлена на UML диаграмме:
Справочник “Интеграционная операция“
Интеграционная операция — это ключевой объект подсистемы, который отвечает за управление процессом передачи данных между информационными системами. Операция представляет собой абстракцию интеграционного потока и определяет правила обмена данными между системами.
Основные характеристики:
-
Направление операции:
-
Отправка — инициирует передачу данных из системы 1С во внешние системы или сервисы через интеграционную шину.
-
Получение — принимает данные, поступающие из внешних систем или сервисов в систему 1С через интеграционную шину.
-
-
Активность операции: Если операция отключена, то задачи на формирование пакетов для отправки не создаются и не обрабатываются входящие сообщения для операция с направлением “Получение“. Это позволяет гибко управлять интеграционными процессами, включая и выключая их по мере необходимости.
-
Обработчики данных: Для каждой интеграционной операции могут быть заданы:
-
Обработчики для формирования исходящего тела запроса — отвечают за подготовку данных для отправки в заданном формате, будь то XML, JSON или другой протокол.
-
Обработчики для обработки входящего тела запроса — обеспечивают разбор и обработку полученных данных, переводя их в формат, пригодный для обработки в системе 1С.
-
-
Интеграционные сервисы и каналы: В операции указываются конкретные сервисы интеграции и каналы, которые будут использоваться для передачи или приёма сообщений.
-
Параметры операции: Каждая интеграционная операция может содержать произвольный набор параметров, которые могут использоваться:
-
На стороне 1С:Шина для настройки конкретных аспектов интеграции или обработки данных в зависимости от параметров.
-
В переопределяемых методах подсистемы, что позволяет адаптировать стандартную логику интеграции под конкретные бизнес-процессы.
-
Применение:
Интеграционная операция позволяет настраивать сложные сценарии взаимодействия между информационными системами с возможностью детального управления процессом обмена данными. Через комбинацию обработчиков и параметров достигается высокая степень гибкости и адаптивности в настройке инт еграционных процессов.
Документ “Интеграционный пакет“
Интеграционный пакет — это объект в подсистеме "Интеграционная шина" 1С, который представляет собой подготовленный набор данных для отправки или принятый ответ от внешней системы в рамках интеграционного взаимодействия. Пакеты создаются на основе заданий, сформированных на базе интеграционной операции.
Основные характеристики:
-
Типы интеграционных пакетов:
- Исходящий пакет — содержит данные, подготовленные для отправки во внешнюю систему через 1С:Шину.
- Входящий пакет — это данные, принятые от внешней системы через 1С:Шину, которые необходимо обработать внутри системы 1С.
-
Этапы жизненного цикла пакета:
- К отправке — присваивается статус при создании пакета на основании задания, готового для отправки.
- Отправлен — статус устанавливается после успешной передачи пакета в 1С:Шину.
- Принят — этот статус присваивается пакету при успешном получении ответа от внешнего сервиса или при обработке входящего пакета через 1С:Шину. Если интеграционная операция настроена на обработку ответов, то по завершении обработки полученного ответа пакет также получает статус "Принят".
- Есть ошибки — статус, который присваивается пакету в случае, если на каком-либо этапе отправки или обработки данных произошла ошибка. Это может быть ошибка в передаче, некорректный формат данных или другие сбои.
-
Просмотр содержимого пакета:
Если содержимое пакета хранится в виде строки (например, JSON, XML или другой формат), то его можно просмотреть через интерфейс, используя кнопку "Посмотреть тело запроса". Это полезно для диагностики и проверки правильности формирования и обработки данных. -
Параметры пакета:
- Параметры для интеграционного пакета автоматически подтягиваются из настроек интеграционной операции, на основании которой он был создан. Это позволяет избежать дублирования данных и автоматизировать процесс передачи необходимых параметров.
- Один из предопределённых параметров — ВидОперации, который указывается автоматически в зависимости от операции.
-
Ошибки пакета:
На отдельной вкладке пакета можно просматривать ошибки, возникшие на различных этапах работы с ним. Эти ошибки могут содержать:
- Код ответа от внешнего сервиса (например, HTTP-код ошибки).
- Содержимое ошибки — текстовое описание проблемы, которое может помочь в диагностике и исправлении неполадок.
-
Логика обработки входящих пакетов:
Для входящих пакетов важным этапом является их корректная обработка в системе 1С. После успешной обработки входящий пакет также получает статус Принят, что свидетельствует о корректной ин теграции и получении данных. Переопределение логики выполняется в методе рздИнтеграционныеПакетыПереопределяемый.ПриОбработкеПолученияСообщения.
Применение:
Интеграционные пакеты позволяют управлять обменом данными между системами через 1С:Шину. Они обеспечивают возможность отслеживания статусов передачи данных, диагностику ошибок и просмотр передаваемой информации. Благодаря тесной связке с интеграционными операциями, пакеты формируются и обрабатываются автоматически в рамках настроенной логики интеграции.
Регистр сведений “Задания к формированию интеграционных пакетов“
-
При изменении объекта (например, при записи документа или элемента справочника), в регистре фиксируется задание на формирование интеграционного пакета. Это задание содержит информацию о том, какой объект изменён и для какой операции создавать интеграционный пакет.
-
Само формирование пакета происходит в фоновом режиме с использованием регламентного задания “Формирование интеграционных пакетов“. Это необходимо для того, чтобы основная транзакция записи объекта не увеличивалась за счет дополнительных операций по формированию интеграционных данных. Если произойдет ошибка в процессе формирования пакета, это не повлияет на запись объекта.
-
Для каждого типа объекта (документ, справочник и т.д.) назначается соответствующая интеграционная операция. Определение таких соответствий выполняется в методе "рздИнтеграционныеОперацииПереопределяемый.ПриЗаполненииОперацийТипаОбъекта", что позволяет гибко настроить правила формирования пакетов для различных типов данных.