Руководство оператора#

Доступ к приложению#

Доступ к модулям (bpmu-console и bpmu-testing) BPM user plane (BPMU) продукта Platform V Flow (BPM) осуществляется под учетной записью пользователя через сервис авторизации.

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

  • bpmu-console - консоль администратора для управления и контроля исполнения процессов;

  • bpmu-testing - консоль для тестирования исполнения процессов.

Ролевая модель и матрица доступности функций подробно описана в разделе «Ролевая модель».

Перечень браузеров, рекомендуемых для доступа оператора к пользовательскому интерфейсу, приведен в Руководстве по установке в разделе «Браузеры».

Безопасность АРМ оператора обеспечивается, исходя из уровня конфиденциальности информации и других требований ИБ.

Дополнительных рекомендаций по обеспечению безопасности для работы с пользовательским интерфейсом не предъявляется.

Вход и выход из учетной записи#

Вход#

Для получения доступа к функциям приложения:

  1. Запустите веб-браузер на своем устройстве.

  2. В адресной строке браузера введите URL-адрес сервера приложения (в зависимости от того, какой портал необходимо открыть - bpmu-console/bpmu-testing). Для получения URL-адреса сервера приложений (bpmu-console или bpmu-testing) обратитесь к администратору приложения.

  3. Чтобы авторизоваться от имени пользователя, введите авторизационные данные (имя пользователя, пароль).

login

Откроется страница BPMU (на рисунке ниже пример для модуля bpmu-console)

login_bpmx

Выход#

Для выхода из учетной записи нажмите кнопку Выход:

out_bpmx

Появится сообщение:

logout

Использование приложения оператором#

BPMU предоставляет возможности по автоматизированному исполнению бизнес-процессов, смоделированных в нотации BPMN 2.0, возможности по оркестрации системных взаимодействий, возможности по организации и оркестрации пользовательских задач.

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

Предоставление системных и бизнес-ролей происходит через систему Авторизации. В зависимости от выбранной внешней системы авторизации взаимодействие осуществляется в соответствии с документацией на данную внешнюю систему.

Рекомендованные системы для осуществления авторизации, аутентификации и системное программное обеспечение представлены в Руководстве по установке.

Все логины и имена, используемые в данном руководстве, являются вымышленными и использованы в целях повышения наглядности примеров.

Для получения доступа к интерфейсам BPMU (модули bpmu-console и bpmu-testing) необходимо обратиться к администратору инсталляции. Выполните инструкции по получению доступа к интерфейсу на конкретной инсталляции.

Ролевая модель#

Список ролей#

Пользователь может иметь несколько типов ролей:

  • Роль для ограничения доступа к функциям системы – системная роль;

  • Роль для ограничения доступа к процессам – бизнес-роль.

Для корректной работы с приложением у пользователя должна быть назначена хотя бы 1 системная роль и 1 бизнес-роль.

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

Системные роли#

Роль

Код роли

Описание роли

Администратор процессов

sberflow-engine_BpmsProcessAdmin

Роль для администрирования прикладных процессов.
Предоставляет доступ к приложению Admin Portal (функциям: контроль исполнения процессов, управление процессами)

Тестировщик

sberflow-engine_BpmsTest

Роль для тестирования.
Предоставляет доступ к приложению Testing Portal (функциям: запуск процессов, загрузка моделей процессов, отправка сигнала, отправка сообщения)

Администратор процессов:
просмотр контекста

sberflow-engine_BpmsProcessAdminReadContext

Роль для возможности просмотра контекста процесса в приложении Admin Portal. Используется только в сочетании с ролью BpmsProcessAdmin для расширения прав Администратора процессов до возможности просмотра контекста. Самостоятельно данная роль не назначается

Администратор процессов:
удаление экземпляров

sberflow-engine_BpmsProcessAdminDeleteInstance

Пользователь с правами на удаление экземпляров, с этой ролью возможно удаление экземпляров процессов по списку. Используется только в сочетании с ролью BpmsProcessAdmin для расширения прав Администратора процессов до возможности удаления экземпляров контекста. Самостоятельно данная роль не назначается.

В ролевой модели в поставке компонента присутствуют роли sberflow-engine_BAMUser, sberflow-engine_Debugger и sberflow-engine_Deployer, которые являются устаревшим наследием 4-го поколения, в целях поддержания совместимости не могут быть удалены.

Бизнес-роли#

Список бизнес-ролей не ограничен, формируется на основании исполняемых бизнес процессов.

Доступ к процессам может быть ограничен бизнес-ролью пользователя. Пользователю будут доступны только те процессы, в которых бизнес-роль пользователя указана в поле Владелец процесса. Бизнес-роль указывается в схеме процесса при ее создании (Properties → Process Owner).

warning.svg Системная роль пользователя не может быть использована в качестве бизнес-роли.

Для включения функционала по разграничению видимости процессов по бизнес-ролям пользователя, в настройках приложения необходимо установить параметр owner-role-restriction = true. Данная настройка задается в модуле bpmu-data-index (в конфигурационном файле application.yml), задается и изменяется системным администратором.

Системная роль sberflow-engine_BpmsProcessAdminReadContext несовместима с ролью sberflow-engine_BpmsTest, так как может быть назначена только совместно с ролью sberflow-engine_BpmsProcessAdmin.

Несовместимость бизнес-ролей контролируется клиентом (поставщиком бизнес-ролей) в зависимости от инсталляций.

Системную роль Тестировщик не рекомендуется использовать в PROD. Данная роль рекомендована только для сред разработки и тестирования.

Матрица доступности функций#

  1. Роль sberflow-engine_BpmsProcessAdmin предоставляет доступ к приложению Admin Portal (bpmu-console) и его функциям;

  2. Роль sberflow-engine_BpmsProcessAdminReadContext предоставляет доступ на чтение контекста на Admin Portal (bpmu-console);

  3. Роль sberflow-engine_BpmsProcessAdminDeleteInstance предоставляет доступ на удаление экземпляров процесса через API;

  4. Роль sberflow-engine_BpmsTest предоставляет доступ к приложению Testing Portal (bpmu-testing) и его функциям;

Доступность функций в приложениях:

Функция

Admin Portal

Testing Portal

Поиск и просмотр процессов

+

+

Поиск и просмотр экземпляров процессов

+

+

Просмотр детальной информации об экземпляре процесса

+

+

Просмотр детальной информации о шаге

+

+

Просмотр детальной информации о процессе

+

+

Массовая операция прерывания экземпляров процессов

+

+

Массовая операция повтора экземпляров процессов

+

+

Работа с Журналом операций

+

+

Приостановка и активация процесса и его экземпляров

+

+

Отправка сообщения в экземпляр процесса

+

Отправка respond в экземпляр процесса

+

Завершение пользовательской задачи

+

Отправка сигнала

+

Загрузка процессов

+

Запуск экземпляра процесса

+

Просмотр контекста процесса

C

+

Скачать информацию для отладки

+

+

Скачать список экземпляров

+

+

Удалить список экземпляров

-

-

C - функция доступна только при наличии роли sberflow-engine_BpmsProcessAdminReadContext

Статусная модель#

Статусная модель процесса#

Возможные статусы процесса:

  • Активен;

  • Приостановлен.

Схема переходов между статусами:

instance main

Статусная модель экземпляра процесса#

Возможные статусы экземпляра процесса:

  • Исполняется;

  • Приостановлен;

  • Инцидент;

  • Прерван;

  • Завершен.

Схема переходов между статусами:

instance main

Статусная модель шага экземпляра процесса#

Возможные статусы шага экземпляра процесса:

  • Исполняется;

  • Ошибка;

  • Прерван;

  • Завершен.

Схема переходов между статусами:

instance main

Правила отображения статуса шага с Multi Instance#

Статус шага c Multi Instance формируется на основании статусов созданных по нему шагов, по следующему приоритету:

  • Ошибка - если есть хотя бы один шаг со статусом Ошибка;

  • Прерван - если есть хотя бы один шаг со статусом Прерван и нет вышеперечисленных;

  • Исполняется - если есть хотя бы один шаг со статусом Исполняется и нет вышеперечисленных;

  • Завершен - если есть хотя бы один шаг со статусом Завершен и нет вышеперечисленных.

Сценарии использования#

Разделы основного меню#

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

main page

1 - вкладка для работы с процессами;

2 - вкладка для работы с экземплярами;

3 - вкладка для работы с журналом операций;

4 - логин пользователя, при нажатии на который открывается дополнительное меню;

5 - кнопка для сворачивания основного бокового меню.

Просмотр профиля пользователя и информации о системе#

Функция доступна всем системным ролям. Подробнее о ролях см. в пункте «Ролевая модель»

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

user menu

1 - О пользователе — сайдер с информацией о логине и ролях авторизованного пользователя. Информация о логине и ролях пользователя предоставляется системой авторизации.

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

2 - О системе — сайдер с информацией о версиях UI и data-index, а также справочная информация и ссылка на документацию.

Настройка ссылки на документацию осуществляется администратором стенда. Настройка URL ресурса с документацией описана в Руководстве по администрированию .

3 - Выход.

Работа с процессами#

Поиск и просмотр процессов#

find process

1 - кнопка обновить, необходима для получения актуальных на данный момент данных;

2 - кнопка загрузить (описана в разделе загрузка процессов, доступна только в консоли тестирования исполнения процессов);

3 - кнопка раскрытия дополнительных фильтров (при наличии);

4 - кнопка настройки столбцов в таблице выводимых процессов;

5 - панель фильтров списка процессов. Содержит следующие элементы:

  • фильтр по наименованию процесса, поиск производится по точному наименованию процесса. Для данного поля в процессе ввода предоставляется список наименований процессов, сформированный на основании наименований активных версий процессов.

  • фильтр по идентификатору процесса, поиск производится по точному соответствию идентификатору;

  • фильтр по идентификатору модуля;

  • фильтр по статусам процесса;

  • кнопка сброса выбранных фильтров;

  • кнопка применить (при нажатии на кнопку производится фильтрация процессов по заданным фильтрам, более детально в разделе «Поиск и просмотр процессов».

6 - шапка табличного представления процессов. Отображается столбцы:

  • Процесс — выводится кликабельное наименование процесса, при нажатии на которое производится переход на страницу Информация о процессе (более подробно в разделе «Просмотр детальной информации о процессе»), под наименованием процесса выводится его идентификатор.

  • Версия — версия процесса, состоящая из двух чисел, разделенных точкой. Первое число - это внешняя версия процесса, задаваемая на этапе разработки модели, в случае если версия не указана - значение 0. Второе число - это версия (итерация) загрузки процесса в BPMX.

  • Модуль — идентификатор BPMX, на котором был запущен процесс.

  • Семейство — семейство процессов (businessFamily), заданное на этапе разработки модели.

  • Статус — визуальное представление статуса процесса.

  • Изменен — дата и время последнего изменения процесса.

Возможна настройка отображаемых столбцов и их порядка через кнопку настройки (пункт 4)

Возможна сортировка по столбцам:

  • Процесс;

  • Изменен.

Возможно три опции сортировки:

  • по возрастанию;

  • по убыванию;

  • отмена сортировки.

7 - список процессов, выводится по 20 штук, для загрузки дополнительных записей необходимо прокрутить до конца таблицы и нажать кнопку Загрузить еще.

Алгоритм:

  1. Перейти в раздел основного меню Процессы.

  2. Применить нужные фильтры на панели фильтров (фильтры работают с условием «И»).

  3. Применить нужную сортировку и порядок сортировки.

  4. Просмотреть полученный список процессов.

    1. Для просмотра детальной информации кликнуть на наименование процесса (будет осуществлен переход на экран детальной информации, более подробно в разделе «Просмотр детальной информации о процессе»).

Загрузка процессов#
  1. Перейти в раздел основного меню Процессы.

  2. В панели управления нажать кнопку Загрузить.

  3. Указать Endpoint для загрузки.

  4. Выбрать тип загружаемых файлов:

    1. При выборе Архив необходимо приложить zip архив с файлами процессов (все файлы в архиве должны иметь кодировку UTF-8).

    2. При выборе Файл необходимо приложить файлы процесса в форматах bpmn (загрузка возможна только с кодировкой UTF-8), bpmn2, xml, groovy, js, json.

  5. Нажать кнопку Загрузить.

    1. При загрузке BPMN-моделей на портал процессы публикуются автоматически (т.е. доступны для запуска и исполнения) при этом, если id процесса совпадает с ранее загруженными, то у нового процесса будет версия +1.

    2. Загруженный процесс может отобразиться в системе не сразу, а только через некоторое время (после сохранения его в bpmu-data-index).

  • при распаковке идет parsing xml, json и bpmn файлов, другие не обрабатываются системой;

  • визуализация bpmn данных выполняется посредством bpmn.io, xml и json - не выводятся;

  • хранение загруженных процессов производится в специальной директории с временными файлами;

  • с версии 5.2.0 в компоненте также поддерживается загрузка архивов с вложенной структурой файлов;

  • при загрузке моделей в версию компонента Engine (BPMX) продукта Platform V Flow (BPM) ниже 5.2 следует использовать плоский архив из компонента Designer (BPMD) продукта Platform V Flow (BPM) версии ниже 5.2 или архив, полученный при помощи средств «Выгрузки для отладки» в компоненте Designer (BPMD) продукта Platform V Flow (BPM);

  • в конфигурационные параметры bpmx-gateway.conf компонента BPMX вынесены настройки, регулирующие максимальный размер передаваемого файла bpmx-gateway.ose.configmap.application.spring.servlet.multipart.max-file-size и максимальный размер multipart-запроса bpmx-gateway.ose.configmap.application.spring.servlet.multipart.max-request-size.

При загрузке выполняется валидация загружаемых файлов:

  1. Валидируются модели процессов в bpmn и xml расширениях и политики повторных вызовов (retryPolicy xml).

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

    2. совместное использование стратегий Linear и Interval в рамках одной политики повтора не допустимо, но возможно указать в разных политиках в одной модели политик.

  2. При любой стратегии валидация политик повтора имеет исключительно информационный характер, не влияющий на загрузку. В версии 5.4.* временно отключены подробные сообщения об ошибках валидации политик повтора. Валидацию можно выполнить, загрузив модель с политиками, в Designer 5.4.*.

  3. В случае получения ошибок, весь их список доступен для просмотра в ответе на вызов операции загрузки на интерфейсе BPMU.

Кейсы формирования xml файла политики повтора (RetryPolicy) для корректной обработки возможных исключений расположены в разделе «Обработка исключений политикой повтора».

Просмотр детальной информации о процессе#

process info

1 - Наименование и идентификатор процесса.

2 - Кнопка Обновить, при нажатии осуществляется обновление данных об экземпляре процесса.

3 - Кнопка Действия (доступна не для всех статусов процесса):

  • Найти экземпляры — при нажатии на кнопку осуществляется переход на страницу Экземпляры с применением фильтров по идентификатору процесса и модулю.

  • Загрузить процесс — при нажатии на кнопку открывается окно для загрузки процесса (более подробно в разделе «Загрузка процессов»).

  • Запустить экземпляр — при нажатии осуществляется запуск процесса и создание его экземпляра.

  • Активировать процесс — при нажатии осуществляется перевод процесса в статус Активен, не доступна для процессов в статусе Активен.

  • Приостановить процесс — при нажатии осуществляется перевод процесса в статус Приостановлен, не доступна для процессов в статусе Приостановлен.

4 - блок вывода информации о процессе:

  • статус;

  • активная версия;

  • владелец;

  • семейство;

  • ID модуля.

5 - блок вывода версий процесса;

  • Выбранная версия выделена цветом. В блоке Схема отображается схема процесса по выбранной версии.

  • Активная версия процесса отмечена тегом Активная и выведена в шапку блока (отображены только доступные пользователю по роли владельца версии процесса).

  • В карточке процесса отображены: версия процесса, id версии процесса (processDefinitionId), дата загрузки версии процесса.

6 - блок вывода схемы процесса.

  • Схема процесса отображается по выбранной в блоке Версии версии процесса.

  • В случае необходимости есть возможность открыть схему процесса во весь экран (кнопка Раскрыть), или просмотреть xml схему процесса (кнопка Просмотреть xml).

  • В случае необходимости есть возможно скачать схему в xml или png формате.

7 - блок вывода связанных процессов.

  • В блоку выводятся дочернии пороцессы (связанные через callActivity).

  • По каждому процессу выводится информация:

    • Наименование процесса;

    • id процесса.

  • По клику на наименование процесса выполняется переход в выбранных процесс.

8 - блок вывода политик повторного вызова, подключенных к версии процесса.

  • содержит следующую информацию по политикам: id, стратегия повтора, количество повторов.

  • по клику на наименование модели открывается окно с детальной информацией по всем триггерам повтора всех политик модели.

Алгоритм:

  1. Перейти в раздел основного меню Процессы.

  2. Найти и выбрать нужный процесс (будет осуществлен переход на экран детальной информации).

  3. Просмотреть детальную информацию о процессе:

    1. В заголовке отображается наименование процесса и id процесса.

    2. В верхнем блоке отображается основная информация о процессе.

    3. В блоке Версии отображаются загруженные версии процесса.

    4. В блоке Схема отображена схема процесса выбранной версии.

    5. В блоке Связанные процессы отображен список дочерних процессов

    6. В блоке Политики повторного вызова отображен список политик заданных для элементов схемы модели.

      1. В случае необходимости просмотреть детальную информацию по политике кликнув на наименование модели политики.

      2. Список подключенных моделей политик определяется для каждой версии bpmn модели.

Приостановка и активация процесса и его экземпляров#
  1. Перейти в раздел основного меню Процессы.

  2. Найти и выбрать нужный процесс (будет осуществлен переход на экран детальной информации).

Приостановка процесса:

  1. На экране информации о процессе нажать на кнопку Действия и выбрать пункт Приостановить (кнопка доступна только для процессов в статусе «Активен»).

  2. В открывшемся окне подтвердить действие. После подтверждения действия будет приостановлен процесс и все его исполняющиеся экземпляры.

Активация процесса:

  1. На экране информации о процессе нажать на кнопку Действия и выбрать пункт Активировать процесс (кнопка доступна только для процессов в статусе «Приостановлен»).

  2. В открывшемся окне подтвердить действие. После подтверждения действия будет активирован процесс и все его приостановленные экземпляры.

Запуск экземпляра процесса#
  1. Перейти в меню Процессы.

  2. Найти и выбрать нужный процесс для запуска (будет осуществлен переход на экран детальной информации).

  3. Открыть окно запуска процесса (кнопка Действия пункт меню Запустить экземпляр).

  4. Заполнить параметры запуска экземпляра процесса: бизнес-ключ, ключ идемпотентности, наименование стартового сообщения, добавить или загрузить payload сообщения (все параметры опциональны).

  5. Нажать кнопку Запустить.

    1. При запуске процесса произойдет старт активной версии процесса.

    2. Запуск с ключом идемпотентности. В случае, когда 2 процесса запускаются с одним ключом идемпотентности, повторный запуск не производится, пользователю возвращается уже запущенный ранее процесс.

      1. Если ключ не указан, то каждый раз производится старт нового экземпляра процесса.

      2. В конфигурации системы также задается параметр – «окно идемпотентности» (параметр для настройки gateway.idempotence.windowMs), т.е. временной диапазон, в который не допустимо создавать экземпляры процессов с одинаковым ключом идемпотентности.

    3. Запуск с сообщением:

      1. Если модель содержит одно стартовое событие с сообщением (startMessageEvent), то для запуска процесса необязательно указывать startMessageName.

      2. Если процесс не ожидает сообщение на вход, экземпляр процесса создан не будет.

      3. Если модель содержит несколько стартовых событий с сообщением, то указывать startMessageName обязательно. Успешный запуск произойдет только в том случае, если startMessageName совпадает с ожидаемым именем сообщения, указанным в схеме процесса.

      4. Если процесс не ожидает сообщение на вход, экземпляр процесса создан не будет.

    4. Запущенный экземпляр процесса может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

При работе через UI параметр startMessageName указывается в поле Наименование стартового сообщения. При этом, если необходимо передать payload, то в поле Добавить payload контекст процесса должен добавляться без самого слова payload. Ввиду ограничений JavaScript действует лимит на использование диапазона чисел, передаваемых через интерфейс консоли модуля BPMU в payload стартового сообщения при запуске экземпляра процесса. Корректный диапазон для чисел с плавающей точкой составляет 16 символов с учетом точки. Для целых чисел максимальное значение: 9007199254740991; минимальное число: -9007199254740991.

Работа с экземплярами процессов#

Поиск и просмотр экземпляров процессов#

instance main

1 - кнопка обновить, необходима для получения актуальных на данный момент данных;

2 - кнопка Действия предоставляет возможность произвести следующие виды действий:

3 - кнопка раскрытия дополнительных фильтров:

  • ID процесса;

  • Внешняя версия процесса;

  • Внутренняя версия процесса;

  • Запущен;

  • Завершен;

  • Изменен;

  • Количество повторов;

  • Ошибка;

  • Бизнес ключ;

  • ID корневого экземпляра процесса;

  • ID родительского экземпляра процесса;

  • ID модуля;

  • ID операции.

4 - кнопка настройки столбцов в таблице выводимых экземпляров процессов;

5 - панель фильтров списка экземпляров процессов. Содержит следующие элементы:

  • фильтр по наименованию экземпляра процесса (параметр фильтрации), поиск производится по точному наименованию. Для данного поля в процессе ввода предоставляется список наименований экземпляров процессов, сформированный на основании наименований активных версий процессов;

  • фильтр по идентификатору экземпляра процесса (параметр фильтрации), поиск производится по точному соответствию идентификатору;

  • фильтр по статусам экземпляров процесса (параметр фильтрации);

  • фильтр по корневым экземплярам процессов;

  • кнопка сброса выбранных фильтров;

  • кнопка применить (при нажатии на кнопку производится фильтрация экземпляров процессов по заданным фильтрам, более детально в разделе «Поиск и просмотр экземпляров процессов»;

6 - шапка табличного представления экземпляров процессов. Отображается столбцы:

  • Чек-бокс выбора конкретного экземпляра процесса.

  • Экземпляр процесса — выводится кликабельное наименование экземпляра процесса, при нажатии на которое производится переход на страницу Информация об экземпляре (более подробно в разделе «Просмотр детальной информации об экземпляре процесса»), под наименованием выводится идентификатор экземпляра.

  • Версия — версия процесса, состоящая из двух чисел, разделенных точкой. Первое число - это внешняя версия процесса, задаваемая на этапе разработки модели, в случае если версия не указана – значение 0. Второе число – это версия (итерация) загрузки процесса в BPMX.

  • Модуль — идентификатор Engine, на котором был запущен процесс.

  • Статус — визуальное представление статуса процесса.

  • Повторы — визуальное представление количества повторений экземпляра процесса.

  • Запущен — дата и время запуска экземпляра процесса.

  • Завершен — дата и время завершения экземпляра процесса.

  • Изменен — дата и время последнего изменения процесса.

  • Длительность — время исполнения экземпляра процесса.

  • Связанные — визуальное отображение, указывающее на наличие дочерних процессов, а также на то, что процесс является родителем.

Возможна настройка отображаемых столбцов и их порядка через кнопку настройки (пункт 4)

Возможна сортировка по столбцам:

  • Запущен.

Возможно три опции сортировки:

  • по возрастанию;

  • по убыванию;

  • отмена сортировки.

7 - список экземпляров процессов, выводится по 20 штук, для загрузки дополнительных записей необходимо прокрутить до конца таблицы и нажать кнопку Загрузить еще.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Применить нужные фильтры на панели фильтров (фильтры работают с условием «И»).

    1. В случае необходимости фильтрации другим параметрам (наименованию процесса, дате окончания и др.) нажать на кнопку filter и воспользоваться расширенными фильтрами. Примененные расширенные фильтры будут добавлены на панель фильтров. Через расширенный фильтр можно отфильтровать запущенные экземпляры процесса по процессу.

    2. Ограничение: при большом количестве данных БД расширенные фильтры могут применяться длительное время или не примениться совсем.

  3. Применить нужную сортировку и порядок сортировки.

  4. Просмотреть полученный список экземпляров процессов.

    1. Для просмотра детальной информации кликнуть на наименование экземпляра процесса (будет осуществлен переход на экран детальной информации).

Массовая операция прерывания экземпляров процессов#

Предоставляется несколько вариантов выполнения операции массового прерывания экземпляров процессов:

  • по фильтрам;

  • выбранные;

  • из файла.

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

instances actions

При открытии страницы Экземпляры доступна только операции из файла.

  • В случае одновременной отправки родительского и дочернего экземпляров на прерывание будет прерван родительский экземпляр.

  • Операция прерывания доступна только для экземпляров процессов в статусах: Исполняется, Инцидент и Приостановлен.

  • Прервать возможно только существующие экземпляры процессов, которые доступны вам по роли владельца процесса.

Массовая операция прерывания экземпляров процессов из файла#

В случае необходимости прерывания экземпляров процессов по списку id из файла, воспользуйтесь кнопкой Действия пункт Из файла.

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

mass terminate

1 - область загрузки файла в формате TXT с перечнем идентификаторов экземпляров процессов, каждый из которых расположен на новой строке. Файл не должен содержать разделителей или какой-либо другой информации, кроме идентификаторов, с которыми требуется совершить операцию. Загрузка возможно путем перетаскивания или выбора в проводнике. Загрузить возможно только один файл.

2 - поле вывода информации о количестве идентификаторов экземпляров процессов, указанных в файле;

3 - поле вывода информации о количестве корневых идентификаторов экземпляров (для содержащихся в файле экземпляров), которые найдены в BPMU и соответствуют условиям проведения операции;

4 - поле для ввода причины прерывания. Обязательно для заполнения.

5 - информационное сообщение;

6 - кнопка Отмена, при нажатии никакие операции не производится, происходит возврат на предыдущее окно;

7 - кнопка Прервать, при нажатии планируется операция прерывания.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Нажать кнопку Действия.

  3. Выбрать в группе Прервать пункт Из файла.

  4. Загрузить TXT файл со списком идентификаторов экземпляров процессов, планируемых к прерыванию.

  5. Указать причину прерывания.

  6. Нажать кнопку Прервать.

  7. В появившемся уведомлении отобразится кликабельный идентификатор операции, информацию по которому можно будет найти в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

  8. Результат операции может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Массовая операция прерывания выбранных экземпляров процессов#

В случае необходимости прерывания экземпляров процессов, выбранных в таблице раздела Экземпляры воспользуйтесь кнопкой Действия пункт Выбранные.

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

mass terminate

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

1 - поле вывода информации о количестве выбранных идентификаторов экземпляров процессов;

2 - поле вывода информации о количестве идентификаторов корневых экземпляров процессов (для выбранных экземпляров), которые найдены в BPMU и соответствуют условиям проведения операции;

3 - поле для ввода причины прерывания. Обязательно для заполнения.

4 - информационное сообщение;

5 - кнопка Отмена, при нажатии никакие операции не производится, происходит возврат на предыдущее окно;

6 - кнопка Прервать, при нажатии планируется операция прерывания.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Выбрать в таблице посредством нажатия на чек-бокс экземпляров процессов, для которых требуется совершить операцию.

  3. Нажать кнопку Действия, выбрать в группе Прервать кнопку Выбранные.

  4. Указать причину прерывания.

  5. Нажать кнопку Прервать.

  6. В появившемся уведомлении отобразится кликабельный идентификатор операции, информацию по которому можно будет найти в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

  7. Результат операции может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Массовая операция прерывания экземпляров процессов по фильтрам#

В случае необходимости прерывания экземпляров процессов, отфильтрованных в разделе Экземпляры воспользуйтесь кнопкой Действия пункт По фильтрам.

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

mass terminate

1 - область вывода указанных в предыдущем разделе фильтров;

2 - поле вывода информации о количестве корневых экземпляров процессов (для найденных по фильтрам экземпляров), которые соответствуют условиям проведения операции;

3 - поле для ввода причины прерывания. Обязательно для заполнения.

4 - информационное сообщение;

5 - кнопка Отмена, при нажатии никакие операции не производится, происходит возврат на предыдущее окно;

6 - кнопка Прервать, при нажатии планируется операция прерывания.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Выбрать необходимые условия фильтрации.

  3. Нажать кнопку Действия, выбрать в группе Прервать кнопку По фильтрам.

  4. Указать причину прерывания.

  5. Нажать кнопку Прервать.

  6. В появившемся уведомлении отобразится кликабельный идентификатор операции, информацию по которому можно будет найти в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

  7. Результат операции может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Массовая операция повтора экземпляров процессов#

Предоставляется несколько вариантов выполнения операции массового повтора экземпляров процессов:

  • по фильтрам;

  • выбранные;

  • из файла.

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

instances actions

При открытии страницы Экземпляры доступна только операции из файла.

  • Операция повтора выполняется для шагов с ошибкой отправляемых экземпляров процессов.

  • В случае одновременной отправки родительского и дочернего экземпляров на повтор - будет повторен родительский экземпляр (дочерний экземпляр будет повторен с самого начала).

  • Повторить можно только экземпляры процессов в статусе Инцидент.

  • Повторить возможно только существующие экземпляры процессов, которые доступны вам по роли владельца процесса.

Массовая операция повтора шагов с ошибкой экземпляров процессов из файла#

В случае необходимости повтора шагов с ошибкой экземпляров процессов по списку id из файла, воспользуйтесь кнопкой Действия пункт Из файла.

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

mass terminate

1 - область загрузки файла в формате TXT с перечнем идентификаторов экземпляров процессов, каждый из которых расположен на новой строке. Файл не должен содержать разделителей или какой-либо другой информации, кроме идентификаторов, с которыми требуется совершить операцию. Загрузка возможно путем перетаскивания или выбора в проводнике. Загрузить возможно только один файл.

2 - поле вывода информации о количестве идентификаторов экземпляров процессов, указанных в файле;

3 - поле вывода информации о количестве идентификаторов экземпляров процессов, указанных в файле, которые найдены в BPMU и соответствуют условиям проведения операции;

4 - информационное сообщение;

5 - кнопка Отмена, при нажатии никакие операции не производится, происходит возврат на предыдущее окно;

6 - кнопка Повторить, при нажатии планируется операция повтора шагов с ошибкой.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Нажать кнопку Действия.

  3. Выбрать в группе Повторить шаги с ошибкой пункт Из файла.

  4. Загрузить TXT файл со списком идентификаторов экземпляров процессов, планируемых к повторению.

  5. Нажать кнопку Повторить.

  6. В появившемся уведомлении отобразится кликабельный идентификатор операции, информацию по которому можно будет найти в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

  7. Результат операции может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Массовая операция повтора шагов с ошибкой выбранных экземпляров процессов#

В случае необходимости повтора шагов с ошибкой экземпляров процессов, выбранных в таблице раздела Экземпляры воспользуйтесь кнопкой Действия пункт Выбранные. Количество выбранных в таблице экземпляров будет указано в скобках около пункта меню.

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

mass terminate

1 - поле вывода информации о количестве выбранных идентификаторов экземпляров процессов;

2 - поле вывода информации о количестве выбранных идентификаторов экземпляров процессов, которые найдены в BPMU и соответствуют условиям проведения операции;

3 - информационное сообщение;

4 - кнопка Отмена, при нажатии никакие операции не производится, происходит возврат на предыдущее окно;

5 - кнопка Повторить, при нажатии планируется операция повтора.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Выбрать в таблице посредством нажатия на чек-бокс экземпляров процессов, для которых требуется совершить операцию.

  3. Нажать кнопку Действия, выбрать в группе Повторить шаги с ошибкой кнопку Выбранные.

  4. Нажать кнопку Повторить.

  5. В появившемся уведомлении отобразится кликабельный идентификатор операции, информацию по которому можно будет найти в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

  6. Результат операции может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Массовая операция повтора шагов с ошибкой экземпляров процессов по фильтрам#

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

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

mass terminate

1 - область вывода указанных в предыдущем разделе фильтров;

2 - поле вывода информации о количестве отфильтрованных идентификаторов экземпляров процессов, которые найдены в BPMU и соответствуют условиям проведения операции;

3 - информационное сообщение;

4 - кнопка Отмена, при нажатии никакие операции не производится, происходит возврат на предыдущее окно;

5 - кнопка Повторить, при нажатии планируется операция прерывания.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Выбрать необходимые условия фильтрации.

  3. Нажать кнопку Действия, выбрать в группе Повторить шаги с ошибкой кнопку По фильтрам.

  4. Нажать кнопку Повторить.

  5. В появившемся уведомлении отобразится кликабельный идентификатор операции, информацию по которому можно будет найти в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

  6. Результат операции может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Просмотр детальной информации об экземпляре процесса#

instance info

1 - наименование и идентификатор экземпляра процесса, из которого совершен переход;

2 - кнопка Обновить, при нажатии осуществляется обновление данных об экземпляре процесса;

3 - кнопка Действия (доступность кнопки определяется статусом экземпляра) с дополнительными действиями:

  • Скачать информацию для отладки;

  • Отправить сигнал (доступно только в консоли для тестирования);

  • Отправить сообщение (доступно только в консоли для тестирования);

  • Отправить respond (доступно только в консоли для тестирования);

  • Повторить шаги с ошибкой (доступно для статуса Инцидент только в консоли для тестирования);

  • Прервать (доступно для статусов Инцидент и Исполняется).

Доступность кнопок операций определяется статусом экземпляра

4 - блок информации об экземпляре процесса. В блок выводятся следующие поля:

  • Статус экземпляра;

  • Статус процесса (отображается только в случае, если процесс в статусе Приостановлен, а экземпляр в статусе Исполняется или Инцидент);

  • Запущен;

  • Завершен;

  • Изменен;

  • Длительность;

  • Повторов.

5 - кнопка Подробнее, при нажатии осуществляется открытие окна с более детальной информацией об экземпляре процесса. При просмотре детальной информации об экземпляре процесса отображаются следующие основные блоки:

  • общая информация об экземпляре:

    • наименование процесса;

    • идентификатор экземпляра процесса;

    • статус просматриваемого экземпляра процесса;

    • дата запуска экземпляра процесса;

    • дата завершения экземпляра процесса (опционально);

    • дата изменения состояния экземпляра процесса;

    • длительность (опционально);

    • количество повторов (значение 0, если повторы отсутствуют).

    • Бизнес ключ (businessKey) — идентификатор процесса, транслируется в атрибут globalInstanceId контекста. Бизнес-ключ задается пользователем при запуске процесса. Важно! Если пользователь не укажет значение – идентификатор будет сформирован автоматически.

    • Ключ идемпотентности (опционально) - Ключ идемпотентности указанный при запуске экземпляра процесса.

    • Module ID — идентификатор Engine, на котором был запущен процесс.

    • Endpoint — URL Engine, на котором был запущен процесс.

    • Объем данных — текущий размер контекста.

    • Родительский экземпляр (опционально) — идентификатор родительского экземпляра процесса. Важно! Если процесс не является дочерним, идентификатор не заполняется. Если процесс является дочерним к какому-то процессу, указывается идентификатор родительского для него экземпляра процесса.

    • Корневой экземпляр — идентификатор корневого экземпляра процесса. Важно! Если процесс не входит в какую-либо иерархию процессов, идентификатор корневого экземпляра процесса будет совпадать с идентификатором самого экземпляра процесса. Если процесс входит в иерархическую зависимость с другими процессами, то корневым экземпляром процессов для всех дочерних экземпляров процессов вне зависимости от их глубины вложенности будет экземпляр самого высокого уровня (первый родитель).

  • модуль исполнитель:

    • Наименование — в этом пункте указывается Имя процесса и ниже – идентификатор процесса.

    • Версия — статус самого процесса, который может принимать значения Активен и Приостановлен.

    • Endpoint — версия процесса, состоящая из двух чисел, разделенных точкой. Первое число — это внешняя версия процесса, задаваемая на этапе разработки модели. Если версия не указана — значение 0. Второе число — это версия (итерация) загрузки процесса в BPMX.

    • POD — роль владельца процесса (ownerRole), заданная на этапе его создания.

  • о процессе:

    • Процесс — в этом пункте указывается Имя процесса и ниже – идентификатор процесса.

    • Статус процесса — статус самого процесса, который может принимать значения Активен и Приостановлен.

    • Версия процесса — версия процесса, состоящая из двух чисел, разделенных точкой. Первое число — это внешняя версия процесса, задаваемая на этапе разработки модели. Если версия не указана — значение 0. Второе число — это версия (итерация) загрузки процесса в BPMX.

    • Владелец процесса (опционально) — роль владельца процесса (ownerRole), заданная на этапе его создания.

    • Семейство процессов (опционально) — семейство процессов (businessFamily), заданное на этапе разработки модели.

6 - блок информации о шагах экземпляра процесса (более детально в разделе «Просмотр детальной информации о шаге»).

  • Поиск шагов выполняется по наименованию шага.

  • Под наименованием шага отображается дата и время старта шага. В скобочках – длительность шага.

  • В случае наличия повторов шага отображается бейдж с количеством повторов.

  • Для просмотра детальной информации о шаге необходимо нажать на нужный шаг.

  • В случае, если шаг имеет тип «Пользовательская задача», рядом с шагом будет доступна кнопка Завершить задачу (более подробно в разделе «Завершение пользовательской задачи»).

7 - блок Схемы исполнения экземпляра процесса;

  • В правом верхнем углу элемента схемы отображается бейдж с количеством повторов retry badge

    • В случае если у элемента схемы есть несколько шагов, выводится сумма всех повторов, всех выполненных шагов элемента.

  • В правом нижнем углу элемента схемы отображается бейдж с количеством выполнений complete badge (количество выполненных шагов в элементе).

  • При наведении на элемент отображается подсказка с краткой информацией о шаге.

    • В случае если у элемента схемы есть несколько шагов, всплывающая подсказка не отображается.

  • При клике на элемент схемы откроется окно детальной информации о шаге.

    • В случае если у элемента схемы есть несколько шагов, будет осуществлена фильтрация списка шагов по выбранному элементу схемы.

8 - инструменты работы в области схемы исполнения (сверху вниз):

  • развернуть на весь экран;

  • увеличить;

  • уменьшить;

  • центрировать.

9 - дополнительные инструменты работы со схемой экземпляра процесса (слева на право):

  • скачать изображение (файл PNG);

  • скачать bpmn модель процесса (файл BPMN);

  • просмотреть xml схему процесса (при нажатии открывается дополнительное окно для просмотра схемы).

10 - блок дерева экземпляров, в которой отображаются родительские и дочерние процессы, имеющие связь с просматриваемым;

  • Текущий экземпляр (по которому открыт экран детальной информации об экземпляре) в дереве помечен соответствующим тегом.

  • Под наименованием экземпляра отображено время запуска.

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

  • Дерево процессов строится не более чем по 50 экземпляров процессов. В случае если дерево процессов имеет более 50 экземпляров - выведется соответствующая ошибка.

  • При нажатии на наименование процесса будет осуществлен переход на экран информации о выбранном экземпляре.

11 - блок информации о контексте процесса, представленном в формате JSON (доступен только при наличии роли sberflow-engine_BpmsProcessAdminReadContext или для BpmsTest в консоли для тестирования исполнения процессов). В шапке блока доступны инструменты работы с контекстом экземпляра процесса:

  • скопировать json;

  • скачать json;

  • открыть json.

Алгоритм:

  1. Перейти в раздел основного меню Экземпляры.

  2. Применить нужные фильтры на панели фильтров (фильтры работают с условием «И»).

  3. Кликнуть на наименование нужного экземпляра процесса (будет осуществлен переход на экран детальной информации).

  4. Просмотреть детальную информацию об экземпляре процесса: 3. В блоке Шаги выведен список шагов экземпляра процесса. 4. В блоке Схема исполнения отображена схема исполнения процесса. 5. В блоке Дерево процессов отображено все дерево процессов текущего экземпляра, от корневого до всех дочерних.

  5. Для управления экземпляром процесса воспользуйтесь элементами управления в правом верхнем углу экрана (см. соответствующие сценарии).

Повтор экземпляра процесса#
  1. Перейти в раздел основного меню Экземпляры.

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации).

  3. На экране информации об экземпляре нажать на кнопку Действия, в выпадающем списке выбрать Повторить шаги с ошибкой (кнопка доступна только для экземпляров в статусе «Инцидент»).

  4. Подтвердить действие в открывшемся окне.

  5. При выполнении операции повтора все шаги экземпляра процесса с ошибкой будут повторены.

  6. Результат операции может отобразиться в системе не сразу, а только через некоторое время.

  7. Информацию о выполненной операции можно посмотреть в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

Прерывание экземпляра процесса#
  1. Перейти в раздел основного меню Экземпляры.

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации).

  3. На экране информации об экземпляре нажать на кнопку Действия, в выпадающем списке выбрать Прервать (кнопка доступна только для экземпляров в статусах «Исполняется», «Инцидент», «Приостановлен»).

  4. В открывшемся окне ввести причину прерывания и подтвердить действие.

  5. Результат операции может отобразиться в системе не сразу, а только через некоторое время.

  6. Информацию о выполненной операции можно посмотреть в Журнале операций (более подробно в разделе «Работа с Журналом операций»).

Просмотр детальной информации о шаге#

  1. Перейти в раздел основного меню Экземпляры;

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации);

  3. В блоке Шаги найти и нажать на нужный шаг (будет открыто окно с детальной информацией о шаге). Для быстрого поиска воспользуйтесь полем поиска шага (по id, по наименование, по типу шага) и фильтрами по статусу шага;

  4. Просмотреть детальную информацию о шаге экземпляра процесса:

  • Наименование и идентификатор шага;

  • Тип — наименование и визуальное представление типа шага;

  • Статус:

    • Ошибка;

    • Завершен;

    • Исполняется;

    • Прерван;

  • Запущен;

  • Завершен;

  • Длительность;

  • ID элемента модели;

  • Информация об ошибке (опционально);

  • Повторные вызовы (опционально) — рядом с заголовком блока указывается количество повторов. Далее следует список всех повторов, упорядоченных по времени – от более ранних к более поздним;

    • по клику на id-ссылку политики повтора открывается оверлей модели политик повтора с раскрытым блоком выбранной политики.

  • Модель политик повторного вызова - содержит информацию по политикам повтора на основании которых осуществляются повторные вызовы шага;

  • Вызываемые экземпляры (опционально) — рядом с заголовком блока указывается количество вызываемых экземпляров, далее указаны кликабельные идентификаторы экземпляров с указанием статуса и времени запуска экземпляра;

  • Предыдущий шаг - информация о предыдущем шаге, который послужил инициатором запуска текущего шага;

  • Об экземпляре — содержит информацию о наименовании (кликабельно) и идентификаторе экземпляра процесса, а также версии.

Отправка сообщения в экземпляр процесса#
  1. Перейти в раздел основного меню Экземпляры.

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации).

  3. Открыть окно отправки сообщения одним из способов:

    1. Кнопка Действия пункт Отправить сообщение (доступна, только если экземпляр процесса находится в статусе «Исполняется»).

    2. Кнопка Выполнить в блоке шагов task complete (кнопка доступна, только если шаг находится в статусе «Исполняется»)

  4. Заполнить параметры отправки: наименование сообщения, а, в случае необходимости, добавить или загрузить payload сообщения.

    1. Справочник наименований сообщений формируется из всех сообщений, указанных в модели процесса. По умолчанию заполнено наименованием сообщения, настроенным для элемента модели выбранного шага.

  5. Нажать кнопку Отправить.

    1. Результат отправки сообщения может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

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

Отправка respond в экземпляр процесса#
  1. Перейти в раздел основного меню Экземпляры.

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации).

  3. Открыть окно отправки respond одним из способов:

    1. Кнопка Действия пункт Отправить respond (доступна, только если экземпляр процесса находится в статусе «Исполняется»).

    2. Кнопка Выполнить в блоке шагов task complete (кнопка доступна, только если шаг находится в статусе «Исполняется»)

  4. Заполнить параметры отправки: идентификатор receiveTask, а, в случае необходимости, добавить или загрузить payload.

    1. Справочник идентификаторов receiveTask формируется из модели процесса. По умолчанию заполнен идентификатор receiveTask настроенный для элемента модели выбранного шага.

  5. Нажать кнопку Отправить.

    1. Результат отправки respond может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

При отправке триггерных сообщений respond необходимо указать идентификатор receiveTask (receiveTask id). Подробнее см. в Руководстве оператора, раздел «Получение сообщения компонента Designer Platform V Flow». Сообщение отправляется в корневой экземпляр процесса. Если экземпляр процесса не ожидает этого сообщения, то оно будет отправлено в дочерние процессы.

Завершение пользовательской задачи#
  1. Перейти в раздел основного меню Экземпляры;

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации);

  3. В блоке Шаги найти нужную пользовательскую задачу и нажать на кнопку Выполнить task complete (кнопка доступна, только если шаг находится в статусе «Исполняется»);

  4. Заполнить логин исполнителя и параметры завершения. Параметры завершения по умолчанию предзаполнены параметрами из блока output пользовательской задачи из модели процесса;

  5. Нажать кнопку Завершить.

    1. В случае если в настройках bpmu-data-index компонента BPMU указан url компонента TaskList (UTSK) продукта Platform V Flow (BPM): задача будет назначена на указанного исполнителя, задача завершится в UTSK и в BPMX.

    2. В случае если в настройках bpmu-data-index компонента BPMU указан не url UTSK: функция указания логина пользователя не будет работать, задача завершится только в BPMX, в UTSK данная задача не будет завершена.

    3. Результат завершения задачи может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index компонента BPMU).

Отправка сигнала#
  1. Перейти в раздел основного меню Экземпляры.

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации).

  3. Открыть окно отправки сигнала одним из способов:

    1. Кнопка Действия пункт Отправить сообщение (доступна, только если экземпляр процесса находится в статусе «Исполняется»).

    2. Кнопка Выполнить в блоке шагов task complete (кнопка доступна, только если шаг находится в статусе «Исполняется»)

    3. Отправить сигнал так же можно через экран Экземпляры (кнопка Действия пункт Отправить сигнал).

  4. Заполнить параметры отправки.

    1. Обязательно необходимо указать адрес BPMX, в который будет отправлен сигнал.

    2. Обязательно указать Наименование сигнала.

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

    4. В случае необходимости добавить или загрузить payload.

  5. Нажать кнопку Отправить.

    1. Результат отправки сигнала может отобразиться в системе не сразу, а только через некоторое время (после сохранения данных в bpmu-data-index).

Просмотр контекста процесса#
  1. Перейти в раздел основного меню Экземпляры;

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации);

  3. Просмотреть контекст экземпляра процесса в блоке Контекст.

    1. В случае необходимости копировать, скачать или просмотреть контекст в полноэкранном режиме.

    2. Контекст доступен в портале для тестировщика Testing portal (для роли bpmsTest) и в портале для администратора Admin Portal (только при наличии роли sberflow-engine_BpmsProcessAdminReadContext).

    3. Контекст отображается только по экземплярам, у которых в модели процесса включен параметр contextVisible. В контексте показаны только переменные, которые настроены для отображения в модели процесса.

    4. Переменные контекста с null значениями не отображаются в блоке Контекст.

Маскирование переменных контекста в окне просмотра

Разработчик процесса на этапе его проектирования может загрузить файл с масками. Файл может быть только в формате *.mask.json и содержит объект настройки видимости переменных.

  • json.path - выражение вида JsonPath Expression;

  • options - объект с параметрами маскирования. Содержит в себе:

    • regExp - регулярное выражение, предоставляемое пользователем самостоятельно на основе понимания содержания маскируемого контекста.

    • regExpMode: «show/hide» - условие применения маски.

Объявление условия применения маски регулярным выражением (regExp направлен на скрытие информации или наоборот на обнаружение нескрываемых символов) остается на стороне потребителя. При выборе regExpMode равным «show» - символы, попадающие под регулярное выражение, показываются, остальные скрываются. При выборе regExpMode равным «hide» - символы, попадающие под регулярное выражение, скрываются, остальные показываются.

Маски из файла *.mask.json имеют первый приоритет, но не исключают сокрытие переменных по тегу masked.

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

При проектировании модели процесса после отметки галочкой «Доступ к просмотру контекста» доступна возможность привязать файл с масками к конкретному процессу внутри модели.

Маскирование при наличии тега masked и регулярного выражения из файла:

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

  • Если было указано маскирование объекта, а через jsonPath задана маска для его атрибута, а для объекта нет, то по приоритету замаскируется только атрибут согласно jsonPath.

  • Если переменная контекста размечена тегом masked и в файле для нее указано регулярное выражение, она скрывается согласно паттерну маски.

  • Если переменная контекста не размечена тегом masked, но в файле для нее указано регулярное выражение, она скрывается согласно паттерну маски.

  • Если переменная контекста не размечена тегом masked и в файле для нее не указан паттерн маски, она не маскируется.

JSON-схема для валидации файла масок:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Validation of *.mask.json resource file",
  "version": "1.0",
  "type": "object",
  "properties": {
    "maskPatterns": {
      "description": "Array of objects with mask pattern",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "jsonPath": {
            "description": "Path to variable in context",
            "type"       : "string"
          },
          "options": {
            "description": "Masking settings",
            "type": "object",
            "nullable": true,
            "properties": {
              "regExp": {
                "description": "Regular expression to find substring in value of variable",
                "type": "string"
              },
              "regExpMode": {
                "description": "Whether to show or to hide substring",
                "type"       : "string"
              }
            },
            "required": ["regExp", "regExpMode"]
          }
        },
        "additionalProperties": false,
        "required": ["jsonPath"]
      }
    }
  },
  "additionalProperties": false
}

В окне просмотра контекста замаскированные переменные будут отображены, например, в таком виде:

Скачать информацию для отладки#
  1. Перейти в раздел основного меню Экземпляры;

  2. Найти и выбрать нужный экземпляр процесса (будет осуществлен переход на экран детальной информации);

  3. Нажать кнопку Действия и выбрать пункт меню Скачать информацию для отладки.

    1. На устройство пользователя будет загружен файл %Наименование процесса (%id экземпляра процесса) с информацией по выбранному экземпляру процесса.

Скачать список экземпляров#
  1. Перейти в раздел основного меню Экземпляры.

  2. Выбрать нужные экземпляры процессов одним из способов:

    1. Выбрать необходимые условия фильтрации - файл экземпляров будет содержать экземпляры удовлетворяющие условиям фильтров.

    2. Выбрать в таблице посредством нажатия на чек-бокс экземпляров процессов, для которых требуется совершить операцию - файл экземпляров будет содержать выбранные экземпляры.

  3. Нажать кнопку Действия и выбрать пункт Скачать список экземпляров.

    1. Файл со списком экземпляров будет загружен на устройство пользователя.

Количество экземпляров в файле ограничено значением указанным в настройках работы с массовыми операциями в конфигурации приложения (выгрузка списка экземпляров, размер которого превышает установленное значение параметра, невозможна).

Настройка работы с массовыми операциями описана в Руководстве по администрированию.

Удалить список экземпляров#

Данный функционал доступен пользователю только в виде экспериментального API и не доступен на интерфейсе. Удаление будет произведено для всей ветви экземпляров, в которой находятся переданные идентификаторы - начиная с корневого для него и далее дочерние. Для всех связь по корневому экземпляру процесса. Дополнительно осуществляется проверка переданных экземпляров на существование и доступность к удалению. Корневой экземпляр и дочерние ему соответствуют корневому в переданном идентификатору и его статус находится в «Прерван», «Завершен». В случае если не удается найти переданный экземпляр - он игнорируется, операция проверки и далее удаления продолжается над оставшимися экземплярами.

В случае если пользователь имеет право на удаление переданного экземпляра (пользователь является владельцем процесса), то произойдет удаление всех родительских и дочерних экземпляров (без проверки права доступа к ним).

В случае если пользователь не имеет права на удаление переданного экземпляра, то ни дочерние ни родительские экземпляры не удалятся, даже если они будут доступны по роли.

В случае если, для экземпляра нет указания роли владельца (бизнес роль), то он доступен к удалению всегда (при условии наличия соответствующей системной роли).

Работа с Журналом операций#

В журнале операций можно посмотреть список следующих операций:

  • Прерывание экземпляров процессов (массовая операция или над одним экземпляром)

  • Повтор шагов экземпляров процессов (массовая операция или над одним экземпляром)

Ограничение 1: В журнал операций добавляются только операции, вызванные из консоли администратора или консоли тестировщика BPMU. Операции, которые были отправлены напрямую на bpmx-gateway, в журнале не отображаются.

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

  1. Для перехода в журнал операций необходимо кликнуть на соответствующую кнопку в боковом меню.

operation-journal

  1. Доступна фильтрация по полям: ID операции, Дата запуска операции, ID модуля bpmx-engine, в котором операция исполняется. Также доступен чекбокс для фильтрации по полю Пользователь: можно увидеть только те операции, инициатором которых является авторизованный пользователь.

  2. Обновление состояния списка операций происходит по нажатию кнопки Обновить.

  3. По клику на операцию будет выполнен переход к списку экземпляров процесса, по которым операция отработала. В списке автоматически применен фильтр по ID операции.

Примечание. При переходе из карточки операции в список экземпляров процесса видны только те процессы, которые доступны бизнес-роли (owner_role) авторизованного пользователя. Возможен случай, когда при переходе отображается сообщение: Нет данных или данные не доступны пользователю. Это значит, что по данной операции авторизованному пользователю недоступен ни один экземпляр.

Графическое представление исполнения процессов#

Настройка mapping ошибок на REST Service Task (Вызов сервиса с типом REST)#

Настройка mapping ошибок осуществляется при проектировании модели в приложении BPMD. На элементе Service Task настройка осуществляется через блок Ответ в поле Обработка HTTP-ошибок или Обработка исключений. На Граничном событии-ошибке (Boundary error) настройки осуществляются через параметр Ошибка.

Далее представлены примеры настроек в приложении BPMD и результат исполнения экземпляра процесса с заданными настройками в BPMX.

1. Отсутствие mapping#

При отсутствии необходимости настраивать mapping ошибки на Service Task необходимо оставить поля Обработка HTTP-ошибок и Обработка исключений в блоке Ответ пустыми.

Цель такой настройки - обрабатывать все возникающие ошибки.

no-mapping

В настройках Граничного события в блоке Тип события поле Ошибка также необходимо оставить пустым.

no-mapping

В таком случае при завершении исполнения экземпляр процесса будет выглядеть следующим образом:

no-mapping

2. Mapping ошибки org.activiti.engine.ActivitiException#

org.activiti.engine.ActivitiException - часто встречающийся служебный класс исключений, который можно смаппить на любое удобное для понимания бизнес-название. Служебное название ошибки пишется в поле Наименование исключения, бизнес-название - в поле Код ошибки BPMN. В данном примере org.activiti.engine.ActivitiException маппится на someBusinessExceptionType1.

Цель такой настройки - обрабатывать ошибки класса ActivitiException и сделать их удобочитаемыми.

Настройка mapping на Service Task осуществляется по клику на кнопку Добавить еще

activityException-mapping

И после сохранения изменений выглядит так:

activityException-mapping

В настройках Граничного события указывается бизнес-название ошибки (Код ошибки BPMN)

activityException-mapping

При таких настройках по завершении исполнения экземпляр процесса будет выглядеть следующим образом:

activityException-mapping

3. Mapping ошибки java.net.UnknownHostException#

Аналогично, java.net.UnknownHostException - частный вид исключения, возникающий в определенных случаях, который можно смаппить на любое удобное для понимания бизнес-название. В данном примере java.net.UnknownHostException маппится на someBusinessExceptionType2.

Цель такой настройки - обрабатывать ошибки класса UnknownHostException и сделать их удобочитаемыми.

Настройка mapping на Service Task осуществляется аналогично предыдущему примеру

unknownHostException-mapping

В настройках Граничного события указывается бизнес-название ошибки (Код ошибки BPMN)

unknownHostException-mapping

При таких настройках по завершении исполнения экземпляр процесса будет выглядеть следующим образом:

unknownHostException-mapping

4. Mapping ошибки по HTTP коду#

Начиная с релиза 5.2.0, при перехватывании ошибки с помощью элемента Boundary Error Event (в процессах и подпроцессах) изменилось отображение и статус activity, в которой произошла ошибка, с «Прерван» на «Ошибка».

Так же как исключения, все HTTP ошибки могут быть смаплены на любое удобное для понимания бизнес-название.

Цель такой настройки - обрабатывать ошибки по HTTP коду.

Настройка mapping HTTP кода осуществляется через поле Обработка HTTP ошибок:

httpError-mapping

После сохранения изменений

httpError-mapping

В настройках Граничного события указывается бизнес-название ошибки (Код ошибки BPMN)

httpError-mapping

В таком случае при завершении исполнения экземпляр процесса будет выглядеть следующим образом:

httpError-mapping

Настройка mapping ошибок на JSON-RPC Service Task (Вызов сервиса с типом JSON-RPC)#

Настройка mapping ошибок в случае использования JSON-RPC осуществляется так же, как при использовании REST (см. предыдущий раздел). Кроме того, существует возможность настроить mapping ошибки с кодом JSON-RPC на любое удобное для понимания бизнес-название. В данном примере RPC код -32601 будет смаплен на название «-32601_Map».

Цель такой настройки - обрабатывать ошибки с кодом JSON-RPC.

Настройка mapping RPC-ошибки осуществляется через поле Обработка HTTP ошибок:

rpcError-mapping

И после сохранения изменений выглядит так:

rpcError-mapping

В настройках Граничного события указывается бизнес-название ошибки (Код ошибки BPMN)

rpcError-mapping

При таких настройках по завершении исполнения экземпляр процесса будет выглядеть следующим образом:

rpcError-mapping

Обработка исключений политикой повтора#

Исключения для Service Task (REST)#

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

WebClientException#

Для срабатывания триггера политики повтора на возможные ошибки веб-клиента возможно использовать следующие исключения:

<xs:exceptions>
    <xs:exception>org.springframework.web.reactive.function.client.WebClientResponseException</xs:exception>
    <xs:exception>org.springframework.web.reactive.function.client.WebClientResponseException$NotFound</xs:exception>
</xs:exceptions>

Дополнительно к общему исключению возможно уточнить конкретный код и тип ожидаемой ошибки через ${HTTP code/status}:

В политике повтора также возможно указать триггером код полученной от сервиса ошибки (400,404).

<xs:errorCodes>
    <xs:errorCode>400</xs:errorCode>
    <xs:errorCode>500</xs:errorCode>
</xs:errorCodes>

ConnectException#

При вызове неподдерживаемого метода возникает ошибка ConnectException, для срабатывания повтора ее необходимо явно указать в блоке xs:exceptions.

<xs:exceptions>
    <xs:exception>java.net.ConnectException</xs:exception>
</xs:exceptions>

Исключения для Service Task (JSON-RPC)#

При выполнении Сервисной задачи типа JSON-RPC также возможно отловить ошибку сервиса, однако, в отличие от REST, невозможно указать конкретный код или статус ошибки:

<xs:exceptions>
    <xs:exception>org.activiti.grid.gain.impl.exception.http.JsonRpcInvocationException</xs:exception>
</xs:exceptions>

При необходимости обработки кода ошибки RPC протокола он указывается аналогично HTTP-коду в блоке errorCodes. В этом случае перехват ошибки будет совершен только при получении указанного кода.

В этом случае RPC код мапится на 500 HTTP-код.

 <xs:errorCodes>
    <xs:errorCode>-32602</xs:errorCode>
</xs:errorCodes>

Исключения для Script Task#

Во время исполнения скриптов наиболее часто встречающимися типами ошибок являются:

ArithmeticException - арифметическая ошибка скрипта:

<xs:exceptions>
    <xs:exception>java.lang.ArithmeticException</xs:exception>
</xs:exceptions>

ScriptException - ошибка написания скрипта:

<xs:exceptions>
    <xs:exception>javax.script.ScriptException</xs:exception>
</xs:exceptions>

Иные часто встречаемые ошибки#

<xs:exception>java.lang.RuntimeException</xs:exception>
<xs:exception>java.lang.IllegalStateException</xs:exception>

Исполнение процесса с boundary event#

Boundary Interrupting#

При успешном наступлении граничного прерывающего события элемента, на котором оно настроено, элемент переходит в статус «Прерван». Дальнейшее исполнение идет по потоку исходящему от Граничного события:

В случае наступления события типа Ошибка вследствие получения Error Event от элемента, на котором оно настроено, элемент переходит в статус «Ошибка». Дальнейшее исполнение идет по потоку исходящему от граничного события:

Граничное события типа ошибка может быть только прерывающим.

В случае если обработчик ошибки не получил событие или не смог его обработать, то Error Throw Event переходит в статус «Инцидент», также процесс, в котором он возникает, переходит в статус «Инцидент». Если процесс вызывается по CallActivity, то и родительский процесс перейдет в статус «Инцидент».

Родительский процесс, не получил ожидаемое сообщение error event:

В случае если элемент инициатор Error события находится в CallActivity, то дочерний процесс останавливается со статусом «Прерван», CallActivity в статусе «Инцидент».

Родительский процесс:

Дочерний процесс:

В случае если элемент инициатор Error события находится в подпроцессе, то подпроцесс останавливается со статусом «Прерван».

В случае наступления граничного события ранее чем закончится обработка потока элемента, на котором оно настроено, элемент переходит в статус «Прерван» (если этим элементов является CallActivity или Подпроцесс, то переходит в статус «Прерван» его текущий шаг и экземпляр в целом). Дальнейшее исполнение идет по потоку, исходящему от Граничного события:

Boundary Non-Interrupting#

При наступлении Непрерывающего Граничного События обработчика на элементе ранее, чем завершается поток его исполнения, поток разветвляется и родительский процесс остается в статусе «Исполняется», пока все его дочерние не перейдут в терминальный статус («Прерван», «Инцидент», «Завершен»):

Процесс родитель и процесс, вызываемый по CallActivity, находятся в статусе «Исполняется».

Процесс и подпроцесс находятся в статусе «Исполняется», несмотря на то, что основной процесс дошел до End Event.

Terminate Event#

Конечное событие типа Останов прерывает исполнение всех потоков текущего скоупа. Поток, окончившийся таким событием находится в статусе «Завершен».

Sub Process#

При переходе потока исполнения на Подпроцесс/Событийный подпроцесс, если Стартовое событие является прерывающим, то текущее исполнение шага прерывается (он переходит в статус «Прерван»), дальнейшее исполнение идет в подпроцессе. Если подпроцесс является непрерывающим (пунктирная линия на стартовом событии), то создание потока исполнения подпроцесса не меняет логику исполнения основного процесса.

Прерывающий событийный подпроцесс:

Непрерывающий подпроцесс:

!!! note Если отработал один из перехватчиков (даже универсальный) на Boundary Event, то Start Event подпроцесса, настроенного на одно из событий универсального перехватчика, не запускается.

Часто встречающиеся проблемы и пути их устранения#

Ошибки загрузки процесса#

Проблема 1: Ошибка, связанная со структурой файла

filename.xml - неверная структура: org.xml.sax.SAXParseException: cvc-elt.1.a: Cannot find the declaration of element 'package'.

Решение: провалидировать модель и структуру полученного для нее xml файла.

Примечание: для избежания подобных ошибок необходимо провалидировать модель на этапе сохранения. Процедура верификации описана в документе «Руководство оператора» Designer Platform V Flow.

Проблема 2: Ошибка, связанная с нехваткой связных сущностей (файл политики повторных вызовов, js скрипт).

Error processing BPMN document
java.lang.NullPointerException: null
at org.activiti.bpms.bpmn.converter.BpmsBpmnXMLConverter.convertToBpmnModel

Решение: провалидировать модель – проверить ссылки и убедиться, что указанные адреса существуют.

Проблема 3: Ошибка, связанная с созданием архива моделей.

[com.sbt.bpms.controller.webmvc.controller.DeployerController$RunnableDeployer::run:159] mdc:()| Could not deploy: Premature end of file.

Решение: проверить полученный архив на наличие скрытых файлов и папок (архиватор OC MAC автоматически добавляет к архиву скрытую папку «MAcOS»).

Ошибки старта процесса#

Старт процесса может быть осуществлен через соответствующий метод API (пример старта процесса с сообщением):

curl --location --request POST 'http://localhost:8083/system/v4/processes/usertask/start' \
--header 'Content-Type: application/json' \
--data-raw '{
    "startMessageName": "usertask-request",
    "idempotencyKey":1,
    "payload": {
        "id": "1",
        "name": "Заявка на WooDoo",
        "sum": 100,
        "item": "A big bad WooDoo!",
        "organization": "Наименование организации"
    }
}'

Проблема: Неверные параметры для стартового сообщения

Input string "ХХХ" is not a valid UUID

Решение: Проверить настройки входных и выходных параметров для элемента процесса ожидающего сообщение.

Коды состояний HTTP

Описание проблемы

Возможное решение

400 Bad Request

Параметры запроса не соответствуют спецификации API

Указать корректные параметры

401 Unauthorized

Клиент не авторизован

1. Проверить корректность логина и пароля.
2. Обратиться к администратору стенда

403 Forbidden

У пользователя недостаточно прав для выполнения операции

Обратиться к администратору стенда

404 Not Found

Не найден экземпляр сущности

Проверить корректность адреса запроса

405 Method Not Allowed

Пользователь не может выполнить запрошенную операцию, т.к. операция недоступна

1. Убедиться, что используется правильный метод.
2. Попробовать перезагрузить страницу.
3. Обратиться к администратору стенда

502 Bad Gateway

Вызов данного URL в настоящее время не поддерживается

Обратиться к администратору стенда

504 Gateway Timeout

Истекло время ожидания от сервера

Обратиться к администратору стенда

Ошибка обработки Script Task#

Проблема: Ошибка, связанная с наличием нетипизированных переменных в исполняемом скрипте

process instance was failed errorCode = ACTIVITY_EXCEPTION java.util.concurrent.ExecutionException: org.activiti.engine.ActivitiException: problem evaluating script: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: <methodName> is applicable for argument types...

Решение: проверить исполняемый скрипт на наличие типизации переменных, либо использования def

Обработка невалидных заголовков source#

Проблема: в логах встречается ошибка вида

[smallrye-kafka-consumer-thread-1] ERROR c.s.b.s.c.e.d.DeserializationFailureHandlerImpl -- Message in topic bpms-process-model-update-event has incorrect header source: ...

Решение: проверить настройки модуля bpmx-gateway. Ожидаемое значение параметра engine.events.source должно быть в формате URL.

Параметры настройки#

Конфигурирование BPMU доступно только системным администраторам, имеющим доступ к стендам развертывания.

Параметры настройки, доступные для изменения оператору, отсутствуют.

Правила эксплуатации#

Безопасной считается эксплуатация BPMU, осуществляемая в соответствии со сценариями, описанными в данном руководстве.

Установка и настройка внешних средств защиты информации, а также вспомогательных программных и программно-аппаратных средств, выбранных при разработке сервиса, проводится в соответствии с документацией выбранных внешних сервисов.

Через UI-интерфейсы, предоставляемые BPMU (bpmu-console и bpmu-testing), доступна загрузка данных по процессам. Формат загружаемого файла: zip-архив с доступными расширениями файлов внутри архива — bpmn, bpmn2, xml, groovy, js, json или одиночные файлы с расширениями — bpmn, bpmn2, xml, groovy, js, json . При загрузке архива в BPMU происходит валидация корректности расширений файлов (в модуле bpmu-data-index), дополнительной антивирусной проверки не предусмотрено.

Выгрузки данных через UI-интерфейсы, предоставляемые BPMU (bpmu-console и bpmu-testing) предусмотрено в следующих случаях:

  • скачивание изображения (файл в формате PNG) при работе со схемой модели процесса;

  • скачивание bpmn модели процесса (файл в формате BPMN) при работе со схемой модели процесса, формат регламентируется стандартом BPMN 2.0;

  • скачивание контекста процесса (файл в формате JSON, структура и состав файла определяется пользователем);

  • скачивание информации для отладки (файл в формате JSON).