Элемент проекта вида «ПроцессИнтеграции»
Для описания взаимодействия «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Назначение».
- Отправка запросов по протоколу HTTP
- Для выполнения запросов по протоколу HTTP к внешнему ресурсу предназначен узел вида «Http». Результат запроса может быть обработан следующими узлами на схеме.
- Программная отправка сообщений
- Узел «ПрограммныйИсточник» предназначен для отправки сообщений в процесс интеграции программно с использованием встроенного языка.
- Генерация сообщений через равные промежутки времени
- Для создания сообщений через равные интервалы времени используется узел «Таймер»
- Сохранение сообщений в процессе обмена
- В процессе перемещения от одного узла схемы к другому сообщение может быть потеряно в результате ошибки или аварии (выключение питания, обрыв сети и пр.) Чтобы избежать потери сообщения, в «1С:Шине» можно использовать узлы, для которых создаются очереди сообщений либо маршрут со свойством канала, хранящего сообщения. В результате все сообщения, которые попадают в данный узел либо проходят по данному маршруту, будут сохранены в специально созданной очереди сообщений. Их копии будут лежать в очереди до тех пор, пока сообщение не достигнет следующего узла схемы
- Хранение доставленных сообщений
- В «1С:Шине» для некоторых узлов имеется возможность хранить сообщения, которые были в них доставлены. Длительность хранения доставленных сообщений настраивается в панели управления, в карточке процесса интеграции, в свойствах соответствующего узла