Элемент проекта вида «ПроцессИнтеграции»
Для описания взаимодействия «1С:Шины» с информационными системами предназначен элемент проекта вида ПроцессИнтеграции.
Основная часть процесса интеграции — схема — состоит из узлов и связей. Она наглядно показывает движение сообщений от информационных систем-источников к информационным системам — получателям сообщений.
Для построения схемы процесса интеграции используются узлы, маршруты между узлами, группы участников и связи между узлами и группами.
Узлы обозначают действия: возникновение сообщения, маршрутизацию, трансформацию, доставку сообщения. Маршруты между узлами обозначают движение сообщения внутри «1С:Шины». Связи обозначают движение сообщения от внешних информационных систем в «1С:Шина» и из «1С:Шины» к внешним информационным системам. Сообщение движется строго в определенном направлении и не может вернуться к отправителю.
Внешние по отношению к «1С:Шине» информационные системы обозначаются на схеме в виде групп участников. Разные системы объединяются в одну группу, если они взаимодействуют с «1С:Шиной» однотипно. Например, несколько складов получают одинаковые сообщения, после чего сообщения отправляются на сайты партнеров. Для таких систем разработчик может указать на схеме лишь одну группу участников «Склады», и уже после публикации проекта перейти в панель управления и добавить всех участников в созданную группу.
За одним узлом, созданным на схеме, может стоять множество узлов в режиме исполнения. К примеру, если на схеме есть узел ФайлНазначение, который соединен с группой участников, то после запуска процесса интеграции для каждой информационной системы, входящей в г руппу участников, будет создан свой собственный узел ФайлНазначение. Таким образом, сообщения из «1С:Шины» будут независимо записываться в каталоги участников.
После того как вы создали процесс интеграции и опубликовали приложение на сервере, процесс интеграции не запускается сам по себе. Первоначально все процессы интеграции, существующие в проекте, находятся в остановленном состоянии. Чтобы начался обмен сообщениями, процессы интеграции нужно запустить.
Это можно сделать интерактивно из панели управления приложением или программно, с помощью встроенного языка (имя-процесса-интеграции.Запустить()
). Запуск и остановка процесса интеграции могут занять некоторое время.
Если у вас есть работающее приложение с запущенными процессами интеграции, и вы останавливаете приложение, то «1С:Шина» автоматически остановит все его процессы интеграции. При следующем запуске приложения все процессы интеграции, которые были запущены в момент остановки приложения, автоматически запустятся вместе с приложением. Таким образом, в обычном сценарии работы запустить процесс интеграции нужно всего один раз — в начале.
Функциональность и логика работы с данными
Вид элементов проекта ПроцессИнтеграции предоставляет следующую функциональность и логику работы с данными:
-
Взаимодействие с платформой «1С:Предприятие»
В «1С:Предприятии» для взаимодействия с «1С:Шиной» предназначены объекты конфигурации вида СервисИнтеграции
-
Взаимодействие с SAP NetWeaver Process Integration (SAP PI)
Для настройки асинхронной интеграцию с SAP PI в «1С:Шине» предназначены узлы ОчередьШиныИсточник и ОчередьШиныНазначение
-
Узел вида МаршрутизаторПоСодержимому предназначен для того, чтобы определять, в какие узлы из тех, что идут непосредственно за этим узлом, должны попасть сообщения. Для этого у узла есть событие ОбработчикОпределенияПолучателей, в котором вы на встроенном языке можете сформировать набор таких узлов. Если обработчик не задан, то сообщение попадет во все узлы, стоящие после маршрутизатора и связанные с ним
-
Узел вида Транслятор предназначен для изменения сообщения. Изменение сообщения происходит в обработчике события ОбработчикПреобразования
-
Группы участников представляют из себя одну или более информационных систем, с которыми «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С:Шине» для некоторых узлов имеется возможность хранить сообщения, которые были в них доставлены. Длительность хранения доставленных сообщений настраивается в панели управления, в карточке процесса интеграции, в свойствах соответствующего узла