Пример 2. Настройка обмена сообщениями между базой на платформе «1С:Предприятие» и брокером сообщений RabbitMQ
В данном примере используется демонстрационная конфигурация информационной базы «Офис». Ее можно скачать по ссылке.
«1С:Шина» поддерживает обмен данными со сторонними брокерами сообщений:
- Протокол AMQP позволяет обмениваться с RabbitMQ.
- Стандарт JMS позволяет обмениваться с Apache ActiveMQ Artemis.
Далее рассматривается пример настройки обмена данными между базой на платформе «1С:Предприятие» и брокером сообщений RabbitMQ.
В примере выполняется отправка сообщения из RabbitMQ в «1С:Шина», которое поступает в базу, работающую на платформе «1С:Предприятие».
В ходе этого примера вы:
- В панели управления брокером сообщений RabbitMQ:
- создадите очередь сообщений.
- В среде разработки «1С:Шины»:
- создадите проект и настроите в нем процесс интеграции;
- опубликуете проект на сервере и создадите приложение;
- проверите работоспособность приложения.
- На сервере «1С:Шины»:
- заполните параметры для подключения к RabbitMQ;
- создадите информационную систему;
- включите ее в состав процесса интеграции;
- запустите процесс инт еграции.
- Создадите демонстрационную базу «1С:Предприятия»:
- добавите сервис интеграции;
- загрузите в него информацию о доступных каналах;
- напишете код обработки полученного сообщения;
- настроите подключение к серверу «1С:Шины» в режиме «1С:Предприятие».
- Проверите обмен сообщениями.
Создание очереди сообщений в RabbitMQ
На этом этапе в брокере сообщений необходимо создать очередь сообщений, через которую мы будем отправлять сообщение.
-
Откройте панель управления RabbitMQ:
-
Перейдите на вкладку Queues. Заполните поле Name, введя название очереди TestChannel1C, и нажмите Add queue:
Создание проекта
На этом этапе вы создадите в среде разработки «1С:Шины» проект с описанием схемы интеграции и опубликуете его на сервере «1С:Шины», создав приложение.
-
Откройте панель управления.
-
Нажмите Приложения ⟶ + Новое приложение:
-
Убедитесь, что выбраны варианты Из проекта и Новый проект:
-
Укажите поставщика, представление, имя и версию проекта. «1С:Шина» заполнит остальные поля и включит режим разработки для создаваемого приложения:
-
Выберите тип СУБД (в примере это будет Файловая СУБД) и нажмите Создать:
-
Новое приложение появится в списке со статусом Создается. Через некоторое время статус приложения изменится на Работает:
Добавление элемента проекта
На этом этапе вы откроете приложение в среде разработки и добавите в него элемент проекта — процесс интеграции.
-
Чтобы открыть проект в среде разработки, нажмите Разработать... в конце строки:
-
«1С:Шина» откроет новую вкладку браузера для среды разработки и запросит пароль. Введите пароль администратора, который вы указали при установке сервера, и нажмите Войти:
-
«1С:Шина» подготовит рабочую область, построит проект и откроет его в среде разработки:
-
Добавьте новый элемент проекта — процесс интеграции. Для этого в представлении НАВИГАТОР ПРОЕКТА нажмите правой кнопкой мыши Основной, затем в контекстном меню выберите Новый ⟶ Элемент проекта:
-
Выберите вид добавляемого элемента проекта — Процесс Интеграции:
-
Задайте имя создаваемого элемента — ОбменСКроликом — и нажмите Ввод:
-
«1С:Шина» создаст в проекте новый процесс интеграции и откроет редактор для создания его схемы:
Редактирование схемы процесса интеграции
На этом этапе вы создадите схему процесса интеграции, которая описывает взаимодействие информационных систем.
-
Добавьте на схему источник RabbitMQ. Для этого прокрутите палитру узлов, выберите RabbitMQИсточник и кликните в верхней части схемы, чтобы разместить его там:
-
Добавьте на схему узел Канал1СНазначение и задайте имя — ВОфис:
-
Добавьте на схему узел ГруппаУчастников и задайте имя — Офис.
-
Добавьте на схему группу участников. Для этого в палитре узлов, выберит е ГруппаУчастников, разместите ее на схеме и задайте имя Офис:
-
Свяжите узел RabbitMQИсточник маршрутом с узлом ВОфис. Для этого выберите в панели Маршрут, а затем кликните последовательно на узел RabbitMQИсточник и на узел ВОфис:
-
Свяжите узел ВОфис с группой участников Офис. Для этого прокрутите палитру узлов, выберите Связь, а затем кликните последовательно на узел ВОфис и на группу участников Офис:
-
Теперь следует создать параметры процесса интеграции. В подсистеме Основная кликните правой кнопкой мыши на процесс интеграции ОбменСКроликом и добавьте новый элемент— Параметр процесса интеграции:
-
Назовите параметр ChannelName. Этот параметр будет отвечать за название очереди сообщений в RabbitMQ. Затем нажмите Ввод:
-
По аналогии, создайте еще три параметра интеграционных процессов:
-
Host – адрес сервера, где располагается RabbitMQ;
-
Login – логин для RabbitMQ;
-
Password – пароль для RabbitMQ.
-
-
Заполните созданными параметрами настройки Источника RabbitMqИсточник.. Для этого кликните на узел RabbitMqИсточник. В панели СВОЙСТВА заполните параметр Имя канала. Для этого нажмите на кнопку, раскрывающую параметры процесса. В открывшемся списке выберите созданный ранее параметр ChannelName:
-
Аналогично заполните остальные параметры: Хост как Host, Имя пользователя как Login, Пароль как Password:
-
Чтобы опубликовать проект на сервере, нажмите F9.
примечание -
За ходом обновления проекта вы можете наблюдать в левом углу строки состояния среды разработки. Статус updating изменится на статус running. Это говорит о том, что приложение было обновлено и запущено заново:
-
Откройте опубликованное приложение. Для этого нажмите на имя приложения в строке состояния слева. В открывшемся меню выберите Открыть приложение....
примечание -
Сервер запросит имя пользователя и пароль. Для аутентификации используйте учетную запись администратора и пароль, который вы создали при установке сервера:
-
После успешной авторизации вы увидите приложение, а в нем — список процессов интеграции, существующих в приложении. В примере это будет единственный процесс интеграции ОбменСКроликом:
Настройка приложения в панели управления
-
Откройте приложение, если вдруг оно у вас закрыто.
-
Нажмите Инфосистемы ⟶ Добавить систему:
-
Задайте код системы — office и наименование — Офис. Нажмите Добавить:
-
Теперь для информационной системы нужно получит ь ключ, который она будет использовать при подключении к серверу «1С:Шины». Чтобы получить ключ, нажмите на информационную систему, а затем нажмите Выдать ключ API:
-
Скопируйте и сохраните Идентификатор ключа и Секрет клиента. Позднее вы будете использовать его при подключении информационной базы к серверу «1С:Шины»:
-
Перейдите на вкладку Процессы и нажмите на процесс Основной::ОбменСКроликом:
-
Вы увидите схему процесса интеграции и панель, позволяющую задавать свойства узлов этой схемы. На схеме выберите группу Офис, а затем нажмите Состав группы в правом нижнем углу:
-
Вы увидите список информационных систем, входящих в группу Офис. Сейчас в группе нет ни одной информационной системы. Установите флажок у информационной системы office и нажмите Добавить в группу:
-
Закройте окно Состав группы Офис.
Далее необходимо заполнить параметры у узла RabbitMqИсточник, которые позволят взаимодействовать «1С:Шины» с брокером RabbitMQ.
-
На схеме выберите узел RabbitMqИсточник и в правом нижнем углу нажмите Параметры:
-
Заполните параметры следующим образом:
-
ChannelName – заполните название канала (в примере: TestChannel1C);
-
Host – адрес сервера, где располагается RabbitMQ (например: localhost);
-
Login – логин для RabbitMQ;
-
Password – пароль для RabbitMQ;
Нажмите Применить:
-
-
Теперь можно запустить созданный процесс интеграции. Для этого нажмите Запустить в правом верхнем углу:
Следующим шагом мы создадим и настроим информационную базу 1С:Предприятие.
Создание информационной базы «1С:Предприятия» с использованием «1С:EDT»
-
Откройте «1C:EDT».
-
Откроется стартовое окно. Нажмите Начать работу:
-
Откроется перспектива 1С:Enterprise:
-
Откройте панель Информационные базы. По умолчанию она находится в правой части экрана. Однако если вы ее закрыли, вы можете открыть эту панель из главного меню основного окна, нажав Окно ⟶ Показать панель ⟶ Информационные базы:
-
В открывшемся окне нажмите Добавить:
-
По умолчанию будет выбран пункт Создание новой информационной базы. Оставьте выбор без изменений и нажмите Далее:
-
Выберите пункт Создание информационной базы без конфигурации... и нажмите далее:
-
Введите название информационной базы. Тип размещения файла выберите На данном компьютере или на компьютере в локальной сети. Нажмите Далее:
-
Система автоматически предложит вам каталог для сохранения информационной базы. Его можно оставить без изменений. Нажмите Далее:
-
В открывшемся окне ничего изменять не нужно. Нажмите Готово:
-
Информационная база создана. Теперь вы сможете увидеть ее на панели Информационные базы:
-
Далее следует загрузить конфигурацию информационной базы (office_template.cf) в созданную пустую информационную базу. Для этого необходимо открыть базу в режиме Конфигуратор. Чтобы это сделать, кликните правой кнопкой мыши на информационную базу и выберите Запустить Конфигуратор:
-
Откроется окно Конфигуратора. Если запуск информационной базы в этом режиме выполняется в первый раз, структура конфигурации будет скрыта; чтобы открыть ее нажмите Конфигурация ⟶ Открыть конфигурацию:
Будет открыта панель Конфигурация.
-
Чтобы загрузить конфигурацию из CF-файла, выполните следующие действия: нажмите Конфигурация ⟶ Загрузить конфигурацию из файла...:
-
Будет открыт системный диалог выбора файла. Выберите CF-файл, нажмите Открыть:
-
Если информационная база уже содержит конфигурацию, конфигуратор предупредит об этом. Нажмите Да.
-
Конфигурация из CF-файла будет загружена в информационную базу как основная конфигурация. Конфигуратор задаст вопрос об обновлении конфигурации базы данных, нажмите Да:
-
Конфигуратор сообщит о том, что будет выполнена реструктуризация базы данных, нажмите Принять:
Конфигурация базы данных будет обновлена. Закройте Конфигуратор.
-
Вернитесь в «1С:EDT». Следующим шагом в панели Информационные базы выберите базу с той конфигурацией, разработку которой вы хотите перевести в «1C:EDT». Перетащите эту информационную базу в панель Навигатор:
-
В открывшемся окне нажмите Импорт:
-
После загрузки конфигурация базы отобразится слева в окне Навигатор:
После того, как мы создали информационную базу «1С:Предприятия», можно переходить к ее настройке.