Главная   >    Статьи   >    APG для принятия решений без необходимости входа в ARIS
16.04.2020

Решение по реализации в ARIS Process Governance пользовательских операций посредством e-mail без использования ProcessBoard

Возможность участия пользователей в процессе APG для принятия решений без необходимости входа в ARIS

Описание

Цель создания – реализовать возможность участия пользователей в процессе APG для принятия решений без необходимости входа в ARIS, предоставляя кнопки решений в теле электронного письма («e-mail task»).

Решение состоит из компонентов:

  1. REST-API Веб-сервис. Обеспечивает прием решений от пользователей, их хранение и предоставление по запросам.
  2. APG-сервис отправки пользовательских операций «e-mail task». Обеспечивает отправку писем в формате html с элементами GUI для принятия решений.
  3. APG-сервис получения и обработки ответов пользователей из операций типа «e-mail task».
  4. ARIS-скрипт формирования графического изображения модели.

    При настройке в процесс ARIS Process Governance встраивается стандартный APG-сервис (содержится в ARIS по умолчанию) для запуска скрипта (компонент 4). Скрипт формирует графическое изображение для контекстной модели, сохраняет его в оперативной памяти в виде байтов для передачи обратно в APG-процесс.

Далее в процесс встраивается APG-сервис (компонент 2). На вход в сервис необходимо передать ARIS-пользователей, а также подготовленное ранее графическое изображение. Каждому пользователю отправляется отдельное электронное письмо с текстом, графическим изображением модели, кнопками для принятия решения.

Получив электронное письмо, пользователь передает Веб-сервису (компонент 1) своё решение. Для этого пользователь нажимает одну из кнопок в письме. При нажатии, в браузере открывается ссылка, содержащая идентификатор e-mail task и решение. Эту информацию принимает Веб-сервис и сохраняет, а пользователь видит в браузере сообщение, что его решение учтено. Данное пользовательское действие можно выполнить как на персональном компьютере, так и смартфоне/планшете под управлением любой операционной системы.

Далее в процесс встраивается следующий APG-сервис (компонент 3). Данный сервис специально является отдельным от компонента 2, чтобы получение решений от пользователей можно было встраивать в процесс более разнообразным образом, например, параллельно с другими операциями. Компонент осуществляет регулярный запрос информации у Веб-сервиса о принятых решениях. При достижении определенных условий (например, все пользователи передали решение), компонент завершает выполнение. На выходе предоставляются списки пользователей, сгруппированные по решению.

Пример «e-mail task»:

Рисунок 1. Пример «e-mail task»

Пример ссылки, обеспечивающей отправку решения пользователя к Веб-сервису:

http://:/emailtask/p/89d19eb6-2097-4610-84a6-bf690a166e2e/positive

Пример ответа от Вебсервиса

Рисунок 2. Пример ответа от Веб-сервиса о том, что информация принята (кастомизируется)

Пример использования решения

Пример встраивания решения в APG-процесс

Рисунок 3. Пример встраивания решения в APG-процесс

Спецификация входов и выходов APG-сервиса отправки пользовательских операций «e-mail task» (компонент 2):

Имя входа

Обязательный

Тип данных

Описание

Входы

1

recipients

+

user

Пользователь или пользователи, которым нужно отправить e-mailtask

2

tenant

 

text

Текущий tenantдля чтения значений переменных из конфигурации сервера

3

subject

+

text

Тема письма

4

text

+

text

Шаблон текста письма. Может содержать метки для замены на значения

5

replaceTargetList

 

collection

Массив меток для поиска и замены в шаблоне текста письма

6

replaceValueList

 

collection

Массив значений для замены меток на них в тексте шаблона письма

7

pictureBytesBase64

 

text

Массив байтов графического изображения в виде base64 строки

8

wsEndpoint

+

text

EndpointВебсервера. Синтаксис: “http://:”

9

buttonPositiveName

 

text

Имя кнопки положительного решения пользователя

10

buttonNegativeName

 

text

Имя кнопки отрицательного решения пользователя

Выходы

1

emailTaskIdList

 

text

Идентификаторы отправленных usertask, разделенные сочетанием символов «; ». Необходим как вход для APG-сервиса получения информации о решениях пользователей

2

userAccountList

 

text

Технические имена пользователей, кому были отправлены usertask, разделенные сочетанием символов «; ». Необходим как вход для APG-сервиса получения информации о решениях пользователей

 

отправка пользовательских операций «e-mail task»

Рисунок 4. Пример потока данных функции отправки пользовательских операций «e-mailtask» (компонент 2) 

Спецификация входов и выходов APG-сервиса получения и обработки ответов пользователей из операций типа «e-mailtask» (компонент 3):

Имя входа

Обязательный

Тип данных

Описание

Входы

1

emailTaskIdList

+

text

Идентификаторы отправленных usertask, разделенные сочетанием символов «; ». Является выходом из APG-сервиса отправки e-mail task

2

userAccountList

+

text

Технические имена пользователей, кому были отправлены usertask, разделенные сочетанием символов «; ». Является выходом из APG-сервиса отправки e-mail task

3

wsEndpoint

+

text

EndpointВебсервера. Синтаксис: “http://:”

4

checkingInterval

 

text

Интервал регулярной проверки у Вебсервера наличия решений пользователей. Задается в минутах. Значением по умолчанию является «30»

5

votePercent

 

text

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

6

deadlinePeriod

 

text

Максимальное время работы сервиса. Задается в минутах. В случае, если значение не задано, работа сервиса будет длиться до тех пор, пока не выполнится условие по необходимому числу положительных решений

Выходы

1

positiveAccountList

 

text

Технические имена пользователей, которые приняли положительное решение, разделенные сочетанием символов «; »

2

negativeAccountList

 

text

Технические имена пользователей, которые приняли отрицательное решение, разделенные сочетанием символов «; »

3

nullAccountList

 

text

Технические имена пользователей, которые к завершению работы сервиса проигнорировали принятие решения, разделенные сочетанием символов «; »

4

positiveCount

 

text

Число пользователей, которые приняли положительное решение

5

negativeCount

 

text

Число пользователей, которые приняли отрицательное решение

6

nullCount

 

text

Число пользователей, которые к завершению работы сервиса проигнорировали принятие решения

7

totalDecision

 

text

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

 

функция получения и обработки ответов пользователей

 

Рисунок 5. Пример потока данных функции получения и обработки ответов пользователей из операций типа «e-mailtask» (компонент 3)

Пример дальнейшего использования в процессе ответов от пользователей

Рисунок 6. Пример дальнейшего использования в процессе ответов от пользователей

Функциональность компонентов

Функциональность

Степень реализации

Прототип решения

Готовое решение

REST-API WebService

Основной целевой функционал

В степени, достаточной для демонстрации

В полной мере

Поддержка конфигурационного файла

Частично

В полной мере

Обеспечение непрерывной работы веб-сервиса: проверка работы веб-сервиса с функцией перезапуска

Нет

Да

Сохранение решений пользователей

Только в оперативной памяти (теряется после перезапуска)

Поддержка сохранения в постоянную память (не теряется после перезапуска). Реализация обсуждается с заказчиком: сохранять в СУБД, в локальные файлы и т.п.

Возможность изменить решение пользователя (включаемая опция)

Нет

Да

Запрет на изменение решения пользователя (включаемая опция)

Нет

Да

Поддержка защищенного протокола https

Нет

Да. Необходимость обсуждается с заказчиком.

Логирование обработанных запросов

Нет

Да

APG-сервисотправки e-mail task (emailTaskSender)

Основной целевой функционал

В степени, достаточной для демонстрации

В полной мере

Поддержка отправки писем от имени ARISConnectServer

В степени, достаточной для демонстрации

В полной мере

Поддержка шаблона текстового сообщения

Да

Да

Возможность изменить имена кнопок в сообщении

Да

Да

APG-сервисобработкиответов e-mail task (emailTaskObserver)

Основной целевой функционал

В степени, достаточной для демонстрации

В полной мере

Проверка наличия ответов с заданной регулярностью

Да, раз в 5 минут

Да, настраивается

Возможность установить максимальное время выполнения сервиса

Нет

Да

Возможность указать % положительных решений пользователей как условие завершения сервиса

Нет

Да

ARIS-скрипт формирования графического изображения модели

Основной целевой функционал

В степени, достаточной для демонстрации

В полной мере

Необходимые условия работы REST-API Веб-сервиса


1. Так как Веб-сервис разработан на Java, для его запуска под ОС Windowsнеобходима установка JRE (JavaRuntimeEnvironment). Также есть возможность использования portable-версии JRE.

2.  Для того, чтобы проходили запросы к Веб-сервису от пользователей и APG-сервиса, необходимо соответствующим образом настроить сеть. Для этого нужно указать в конфигурационном файле Веб-сервиса свободный стандартный http-порт (например, 80) и/или открыть его в фаирволле:

  1. Сервер с Веб-сервисом – правило для входящих соединений;
  2. Сервера (nodes) с APG – правило для исходящих соединений;
  3.  ПК пользователей – правило для исходящих соединени

В дополнении к статье,  мы подготовили для вас видеоматериал с демонстрацией работы описанного выше решения.

Если у вас остались открытые вопросы или вам нужна консультация, позвоните нам в офис либо свяжитесь с нами через форму обратной связи.

Другие статьи