Элемент проекта вида «ПроцессИнтеграции»

Для описания взаимодействия «1С:Шины» с информационными системами предназначен элемент проекта вида ПроцессИнтеграции.

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

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

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

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

За одним узлом, созданным на схеме, может стоять множество узлов в режиме исполнения. К примеру, если на схеме есть узел ФайлНазначение, который соединен с группой участников, то после запуска процесса интеграции для каждой информационной системы, входящей в группу участников, будет создан свой собственный узел ФайлНазначение. Таким образом, сообщения из «1С:Шины» будут независимо записываться в каталоги участников.

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

Это можно сделать интерактивно из панели управления приложением или программно, с помощью встроенного языка (имя-процесса-интеграции.Запустить()). Запуск и остановка процесса интеграции могут занять некоторое время.

Если у вас есть работающее приложение с запущенными процессами интеграции, и вы останавливаете приложение, то «1С:Шина» автоматически остановит все его процессы интеграции. При следующем запуске приложения все процессы интеграции, которые были запущены в момент остановки приложения, автоматически запустятся вместе с приложением. Таким образом, в обычном сценарии работы запустить процесс интеграции нужно всего один раз — в начале.

Вид элементов проекта ПроцессИнтеграции предоставляет следующую функциональность и логику работы с данными:

Взаимодействие платформы «1С:Предприятие» с «1С:Шиной»
В «1С:Предприятии» для взаимодействия с «1С:Шиной» предназначены объекты конфигурации вида СервисИнтеграции
Взаимодействие SAP NetWeaver Process Integration (SAP PI) с «1С:Шиной»
Для настройки асинхронной интеграцию с SAP PI в «1С:Шине» предназначены узлы ОчередьШиныИсточник и ОчередьШиныНазначение
Маршрутизация сообщений
Узел вида МаршрутизаторПоСодержимому предназначен для того, чтобы определять, в какие узлы из тех, что идут непосредственно за этим узлом, должны попасть сообщения. Для этого у узла есть событие ОбработчикОпределенияПолучателей, в котором вы на встроенном языке можете сформировать набор таких узлов. Если обработчик не задан, то сообщение попадет во все узлы, стоящие после маршрутизатора и связанные с ним
Трансформация сообщений
Узел вида Транслятор предназначен для изменения сообщения. Изменение сообщения происходит в обработчике события ОбработчикПреобразования
Группы участников
Группы участников представляют из себя одну или более информационных систем, с которыми «1С:Шина» взаимодействует однотипно
Хранение недоставленных сообщений

Сообщения, которые не были доставлены получателям из-за какой-то ошибки или по причине устаревания, хранятся в канале недоставленных сообщений

Вычисляемые свойства процесса интеграции
Узлы процесса интеграции имеют свойства, которые задаются в среде разработки. Однако существует два способа для того, чтобы во время исполнения приложения задать или переопределить свойства узлов процесса интеграции. Первый — это использование параметров процесса интеграции, а второй — использование информации об инфосистемах, которая хранится в служебном справочнике
Отправка сообщений в файлы
Для сохранения тела сообщения в файле предназначен узел процесса интеграции вида ФайлНазначение. Файл создается в каталоге, который определяется свойством Каталог. Имя файла определяется либо свойством ИмяФайла, либо в обработчике ОбработчикОпределенияИмени
Получение сообщений из файлов
Для получения сообщений из файлов в локальной файловой системе или в локальной сети предназначен узел процесса интеграции вида ФайлИсточник. Он порождает сообщения из файлов, расположенных в указанном каталоге. В этом случае в теле сообщения будет находиться сам файл
Подключение AMQP-систем к «1С:Шине»
Чтобы отправлять и получать сообщения, внешние системы должны подключиться к серверу по протоколу AMQP версии 1.0. Для этого предназначены узлы процесса интеграции вида Канал1СИсточник и Канал1СНазначение
Взаимодействие с СУБД
«1С:Шина» имеет функциональность для взаимодействия с внешними СУБД. Для подключения к базе данных предназначен узел процесса интеграции вида «Sql». При помощи этого узла сообщение из «1С:Шины» может быть записано в базу данных. Кроме того, «1С:Шина» может отправить запрос в СУБД и из полученного ответа сформировать сообщение.
Взаимодействия с JMS-брокером сообщений Apache ActiveMQ
Для получения сообщений от информационной системы, являющейся JMS-брокером Apache ActiveMQ предназначен узел вида «JmsИсточник». Сообщения получаются из указанной очереди или темы. Для отправки сообщений в указанную очередь или тему JMS-брокера Apache ActiveMQ используется узел «JmsНазначение».
Взаимодействие с брокером сообщений RabbitMQ
Для получения сообщений из брокера RabbitMQ предназначен узел вида «RabbitMqИсточник». Сообщения получаются из указанной очереди, привязанной к указанному обмену (Exchange). Для отправки сообщений в указанный обмен (Exchange) брокера RabbitMQ используется узел «RabbitMqНазначение».
Взаимодействие с брокером сообщений Apache Kafka
Для получения сообщений из брокера Apache Kafka предназначен узел вида «KafkaИсточник». Сообщения получаются из указанного топика. Для отправки сообщений в целевой топик используется узел «KafkaНазначение».
Отправка запросов по протоколу HTTP
Для выполнения запросов по протоколу HTTP к внешнему ресурсу предназначен узел вида «Http». Результат запроса может быть обработан следующими узлами на схеме.
Программная отправка сообщений
Узел «ПрограммныйИсточник» предназначен для отправки сообщений в процесс интеграции программно с использованием встроенного языка.
Генерация сообщений через равные промежутки времени
Для создания сообщений через равные интервалы времени используется узел «Таймер»
Сохранение сообщений в процессе обмена
В процессе перемещения от одного узла схемы к другому сообщение может быть потеряно в результате ошибки или аварии (выключение питания, обрыв сети и пр.) Чтобы избежать потери сообщения, в «1С:Шине» можно использовать узлы, для которых создаются очереди сообщений либо маршрут со свойством канала, хранящего сообщения. В результате все сообщения, которые попадают в данный узел либо проходят по данному маршруту, будут сохранены в специально созданной очереди сообщений. Их копии будут лежать в очереди до тех пор, пока сообщение не достигнет следующего узла схемы
Хранение доставленных сообщений
В «1С:Шине» для некоторых узлов имеется возможность хранить сообщения, которые были в них доставлены. Длительность хранения доставленных сообщений настраивается в панели управления, в карточке процесса интеграции, в свойствах соответствующего узла