Дизайнер ELMA > Интеграции / Создание модуля интеграции

Создание модуля интеграции

Для создания нового модуля нажмите на кнопку creating-integration-module_1. Откроется страница настройки, которая состоит из нескольких вкладок: Общие, Аутентификация, Параметры интеграции, Активити, Внешние события.

Вкладка «Общие»

Заполните требуемые поля на вкладке Общие.

creating-integration-module_2

Название * — название нового модуля, например, «Модуль интеграции с системой SAP».

Тип модуля — выбор преднастроенного типа интеграции, который будет использоваться в модуле, например, Rest API. Если вашего типа интеграции нет в списке, выберите вариант «Без указания типа интеграции».

Включить автоматическую запись логов — возможность включить или отключить ведение монитора интеграций.

Структура данных — включает в себя название класса, имя таблицы в базе данных и префикс, общий для всех методов интеграции в данном модуле. Название класса и имя таблицы в базе данных заполняются автоматически методом транслитерации при заполнении поля Название *, их можно изменить. Требуется указать понятное название класса и имя таблицы на английском языке. Префикс нужно ввести самостоятельно.

Вкладка «Аутентификация»

Заполните требуемые поля на вкладке Аутентификация.

creating-integration-module_3

Тип аутентификации — тип аутентификации в сервисе, с которым настраивается интеграция. Список доступных типов зависит от выбранного типа модуля. Например, если выбран тип Rest API, то будут доступны типы Basic и OAuth. В зависимости от выбранного типа в параметрах интеграции будут добавлены свойства по умолчанию. Если нужного вам типа аутентификации нет в списке, выберите «Без аутентификации».

Количество попыток до ошибки/Интервал попыток в секундах — сколько попыток аутентификации будет сделано до того момента, когда будет показана ошибка, и интервал между попытками. По умолчанию выполняются 3 попытки с интервалом в 30 секунд. Следует отметить, что эти настройки применяются только при использовании модуля интеграции в сценариях или планировщике.

Добавить сценарий до/после аутентификации — нужно ли выполнить какой-либо сценарий до или после аутентификации. Например, до аутентификации можно добавить заголовки запроса, а после — обработать ответ. Если установить один из этих флажков, то будет показано поле, в котором требуется выбрать сценарий для выполнения.

Вкладка «Параметры интеграции»

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

creating-integration-module_4

Для создания нового параметра, нажмите на кнопку creating-integration-module_5 или вызовите контекстное меню и нажмите Добавить свойство. После этого откроется окно создания нового свойства.

Вкладка «Активити»

На этой вкладке можно создать активити, которые будут использоваться в бизнес-процессах для выполнения интеграции. Их принцип работы такой же, как и у обычных активити. Отличие лишь в том, что данные активити не могут работать в отрыве от модуля интеграции.

creating-integration-module_6

В рамках модуля интеграции можно создать несколько типов активити:

  • Сценарий — когда выполнение процесса дойдет до этого активити, будет выполнен указанный сценарий;
  • Ожидание внешнего сообщения — при выполнении этого активити выполнение процесса приостанавливается до наступления определенного внешнего события с указанным ключом (параметр этого активити). После выполнения внешнего события будет выполнен указанный сценарий и выполнение процесса продолжится;
  • Сценарий и ожидание внешнего сообщения — сочетание двух предыдущих типов активити: когда процесс дойдет до этого активити, будет выполнен указанный сценарий. Далее процесс приостановится до наступления определенного внешнего события с указанным ключом (параметром этого активити). После внешнего события будет выполнен второй сценарий, и процесс продолжится.

Для одного модуля интеграции можно создать несколько активити.

Создание активити

По умолчанию не создано ни одного активити. Чтобы создать его, нажмите на кнопку creating-integration-module_7. Откроется окно создания активити, которое состоит из двух вкладок: Общие и Контекст.

Вкладка «Общие»

На этой вкладке заполните необходимые поля.

creating-integration-module_8

Название * — название активити.

Тип активити * — тип активити. В зависимости от выбранного типа активити отображаются дополнительные поля.

Тип активити «Сценарий»:

  • Сценарий — в процессе будет выполнен указанный сценарий, когда исполнение дойдет до этого активити.

Тип активити «Ожидание внешнего события»:

  • Ожидание внешнего сообщения — сценарий, который будет выполнен сразу после того, как система ELMA получит ключ внешнего события. Внешнее событие создается и настраивается непосредственно в модуле интеграции.

Тип активити «Сценарий и ожидание внешнего сообщения»:

  • Сценарий — сценарий, который будет выполнен сразу, когда исполнение процесса дойдет до этого активити;
  • Ожидание внешнего события — сценарий, который будет выполнен сразу после того, как система ELMA получит ключ внешнего события. Внешнее событие создается и настраивается непосредственно в модуле интеграции.

Рассмотрим пример сценария для типа активити Ожидание внешнего события и Сценарий и ожидание внешнего сообщения.

using EleWise.ELMA.IntegrationModules.Workflow;
using EleWise.ELMA.IntegrationModules.Workflow.Models;
var bookmarks = workflowIntegrationBookmarkManager.GetBookmarkByActivityKey(key);//где key — ключ активити в процессе
if (bookmarks.Count() != 1)
{
   throw new Exception();
}
var bookmark = bookmarks.FirstOrDefault();
var executeData = new IntegrationExecuteData(bookmark);
executeData.WebData = data;//где data — WebData (данные внешнего события)
workflowRuntimeService.Execute(executeData);

Структура данных — включает в себя название класса и имя таблицы в базе данных. Название класса и имя таблицы в базе данных заполняются автоматически методом транслитерации при заполнении поля Название *. Их можно изменить. Требуется указать понятное название класса и имя таблицы на английском языке.

Вкладка «Контекст»

На этой вкладке отображаются все параметры активити. После сохранения или публикации модуля по умолчанию здесь отображается список системных параметров.

creating-integration-module_9

Чтобы создать новый параметр, нажмите на кнопку creating-integration-module_10 или вызовите контекстное меню и нажмите Добавить свойство. После этого откроется окно создания нового свойства.

Вкладка «Внешние события»

На этой вкладке создаются WebHooks — механизм оповещения системы о событиях.

Модуль интеграции автоматически генерирует сложные URL, по каждому URL доступен Get и Post методы без авторизации, в которые внешняя система может передать какой-либо объект или набор параметров, при наступлении какого-либо события.

creating-integration-module_11

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

Чтобы создать новое событие, нажмите на кнопку creating-integration-module_12. Откроется страница создания нового события.

На этой странице нужно указать название события и сценарий, который получает и обрабатывает данные из POST-запроса (сценарий можно выбрать из списка уже имеющихся или создать новый).  Этот сценарий должен возвращать список уникальных идентификаторов (Guid) — на основе значений данного списка будет выполнен сценарий в активити процесса типа «Ожидание внешнего события» или «Сценарий и ожидание внешнего события». Если будет возвращен пустой список, то сценарий выполнен не будет.

creating-integration-module_13

Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас