Дизайнер процессов
Интерфейс

Дизайнер процессов

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

Наименование сервиса в среде оркестрации микросервисов: qbpmdesigner.Пример ссылки на Swagger: http://qbpmdesigner.****полное имя неймспейса****/qbpmdesigner/swagger-ui/#/

Модуль дизайнера бизнес-процессов обеспечивает выполнение следующих функций:

  1. Создание, удаление, копирование, редактирование групп процессов разного уровня иерархии.
  2. Создание шаблона группы процесcов по существующей группе.
  3. Переключение в интерфейс шаблонов процессов
    1. Отображение карточек - списка групп процессов и их создание.
    2. Переход к форме просмотра списка шаблонов у группы процесса, на которой отображена сводная информация по шаблонам.
    3. Создание процесса по шаблону из интерфейса карточек групп процессов.
    4. Переход к режиму просмотра шаблона процесса, а также его редактирования (для пользователей с ролью "Администратор QBPM" или "Верификатор").
  4. Создание, редактирование, просмотр диаграммы.
  5. Копирование, удаление, архивирование версий диаграммы.
  6. Сохранение версии диаграммы в шаблоны.
  7. Переход к интерфейсу редактора версии диаграммы
    1. Просмотр детальной информации пулов процесса и его шагов в режиме просмотра версии диаграммы.
    2. Взаимодействие с миникартой диаграммы.
    3. Просмотр списка версий диаграмм и их сравнение.
    4. Экспорт диаграммы в файл формата .bpmn.
    5. Сохранение диаграммы в виде картинки.
    6. Переключение в режим редактирования для проектирования процесса
      • проектирование бизнес-процесса с помощью элементов нотации BPMN, а также кастомных элементов;
      • проверка диаграммы на ошибки;
      • публикация;
      • импорт диаграммы;
      • установка цвета для шага процесса;
      • боковая панель "Свойства" для настройки шага процесса.

Интерфейс дизайнера процессов

Список групп процессов

empty

В интерфейсе дизайнера бизнес-процессов в левом боковом меню доступен список групп процессов. Группы процессов могут быть любого уровня вложенности, как правило, максимальный 3-4 уровень. Доступные действия для группы процессов:

  • добавление/удаление/изменение/копирование группы процессов;
  • добавление диаграммы в группу процессов;
  • создание шаблонной группы процессов;
  • добавить/развернуть сервис - для продуктов из Q.Archer.

empty

Список диаграмм и их версий

empty

Список диаграмм представлен в табличном виде на форме. Для списка доступна фильтрация: имя диаграммы, статус версии диаграммы, тип (BPMN - процесс, DMN - правило), дата создания.По умолчанию в списке отображены все диаграммы. При выборе группы процесса - отображаются диаграммы выбранной группы. Для каждой диаграммы поддержано версионирование. Каждая версия имеет один из возможных статусов: опубликован, разработка, ошибка публикации, ошибка архивации, архив.При создании диаграммы всегда создается первая ее версия. Также при создании указывается дополнительная информация:

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

empty

Шаблоны процессов

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

empty

Интерфейс шаблонов диаграмм отображает информацию в том же виде, что и основной интерфейс дизайнера процессов. Доступен список групп процессов в виде карточек. В каждой карточке предварительно отображается 3 шаблона диаграммы. У шаблона диаграммы, по кнопке "Троеточие", в выпадающем списке доступно: переход к форме просмотра диаграммы, переход к форме создания процесса по шаблону.По кнопке "Посмотреть все шаблоны" произойдет переход на форму списка шаблонов диаграмм также в виде карточек. На карточке шаблона представлено: изображение диаграммы, статус шаблона, описание.В редакторе шаблона диаграммы доступен режим просмотра. Режим редактирования доступен только для пользователя с ролью "Администратор BPM" или "Верификатор".

empty

Шаблоны диaграмм со статусом "На верификации" можно посмотреть, но по ним нельзя создать процесс пока они не будут верифицированы.

Редактор диаграммы

Интерфейс редактора диаграммы позволяет спроектировать бизнес-процесс или дерево принятия решения в зависимости от типа созданной диаграммы. Редактор позволяет проектировать разные типов диаграммы посредством использования элементов нотаций BPMN 2.0 и DMN. Форма редактора поддерживает два режима работы: просмотр и редактирование. На форме в режиме редактирования справа доступна боковая панель "Свойства" для настройки пулов процессов и шагов процесса или правил.

empty

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

empty

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

  2. Обновить - обновить версию диаграммы, если другой пользователь внес изменения или какие-то изменения не применились;

  3. Сохранить (недоступно в режиме просмотра) - для ручного сохранения диаграммы. При любом изменении происходит автоматическое сохранение диаграммы;

  4. Опубликовать (недоступно в режиме просмотра) - публикация спроектированной диаграммы. Упаковка диаграммы в микросервис, а также создание контроллера, который доступен в swagger;

  5. История версий - просмотр списка существующих версий диаграммы и переход к форме сравнения версий; empty

  6. Импорт (недоступно в режиме просмотра) - импорт ранее созданной диаграммы в нотации BPMN 2.0;

  7. Экспорт - экспорт спроектированной диаграммы в файл с расширением ".bpmn";

  8. качать изображение - происходит скачивание изображения спроектированной диаграммы;

  9. вет элемента (недоступно в режиме просмотра) - выделение цветом шагов процесса;

  10. Проверить диаграмму - проверка диаграммы на критические и некритические ошибки;

  11. Сохранить как шаблон - сохранение диаграммы в шаблоны;

  12. Закрыть вкладку - закрытие вкладки с редактором диаграммы.

Панель свойства

empty

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

На пул процесса и на шаги процесса можно установить KPI - метрики времени исполнения. Эти метрики в дальнейшем можно использовать при построении аналитики процессов. Помимо KPI доступен и другой функционал:

  • чекбокс "Исполняемый/Внутренний" - публикация диаграммы с созданием и отсутствием REST контроллера;
  • кнопка "Контракт процесса" - модальное окно для управления входящими и исходящими параметрами пула процесса;
  • чекбокс "Не хранить историю выполнения процесса" - при включенной опции не будут создаваться новые контроллеры под новые версии процессов. Будет доступен единственный контроллер.
  • чекбокс "Запускаемый" - включенная опция означает, что диаграмму можно опубликовать и исполнить.

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

Элементы для проектирования диаграммы

Бизнес-процесс

Бизнес-процесс - один пул процесса с началом и концом, в рамках которого выстраивается логическая последовательно выполнения различных шагов. С помощью нотации BPMN в рамках бизнес-процесса можно спроектировать множество различных шагов, в том числе вызов бизнес-правила или вызов других процессов. В рамках версии диаграммы может быть спроектировано несколько бизнес-процессов (пулов процесса). На каждый пул процесса, при публикации версии диаграммы, производится создание контроллера в swagger.

Нотация BPMN содержит множество различных видов узлов, основной элемент нотации - task/задача, которая имеет различные виды. С нотацией BPMN 2.0 можно ознакомиться в интернете или в документации camunda 7 (opens in a new tab). В данном разделе будут рассмотрены основные виды узлы и их настройка.

Service task / задача-сервис
User task / Пользовательское задание
Взаимодействие с Kafka
Вызов процесса или реализация подпроцесса
Промежуточные и граничные события

Дерево принятия решений или бизнес-правила

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

empty

Рассмотрим на примере дерева принятия решений "правило ruleCheckAge". Простой вариант: в бизнес-процессе можно инициализировать вызов правила "max" - в таком случае сначала вызовутся два зависимых-дочерних правила, будет произведено вычисление и только потом выполнится "max". А можно инициализировать вызов правила "Итоговое решение" и тогда будут вызваны всего его зависимости, начиная с самых нижних правил-узлов: проверка на VIP, Возраст с учетом срока кредита -> max, Минимальный возраст клиента, Пол клиента.


У диаграммы дерева принятия решений один основной элемент "решение/decision", который имеет два типа:

empty

  1. Literal expression / решение язык выражений - элемент нотации DMN, в котором с помощью скриптового языка можно запрограммировать логику и/или описать функцию по обработке данных.
    Поддерживается несколько языков:

empty

  1. Table / решение в виде таблицы - элемент нотации DMN в форме таблицы. Входных параметров может быть несколько, тип входного параметра является простым, допускается использование списков.
    Выходных параметров также может быть несколько. Формат выходных параметров может иметь:

    • 1 столбец, имеющий одно значение - на выходе один параметр имеющий простой тип;
    • 2+ столбцов - по умолчанию выходные параметры определяются в список "карта" = ключ-значение. Требуемый формат можно задать на элементе "Задача" в диаграмме процесса. Доступны следующие решения для результата:
      • singleEntry - используется когда в выходных параметрах указан один столбец;
      • singleResult - используется когда в выходных параметрах указано 2+ столбца. Используется для всех политик правила кроме: unique, first, всех видов collect;
      • colectEntries - используется когда в выходных параметрах указан один столбец, но по политике правила возможно несколько результирующих значений (выполнений условий правила);
      • resultList - используется когда в выходных параметрах указано 2+ столбца, при этом по политике правила возможно несколько результирующих значений (выполнений условий правила).

Проектирование элемента нотации BPMN для вызова бизнес-правила

empty

Для того, чтобы в ходе исполнения бизнес-процесса было вызвано бизнес-правило, необходимо спроектировать элемент диаграммы "Задача" нотации BPMN как на примере выше. Для того, чтобы корректно спроектировать элемент понадобится:

  • указать способ имплементации - DMN;
  • заполнить поле "Ссылка на Decision (правило) - указать системное наименование правила (идентификатор) из DMN диаграммы";
  • указать способ связывания - версия бизнес-правила, которая будет использоваться. Можно указать последнюю или номер версии;
  • нить "Переменная результата" - наименование параметра, в который будет записан результат;
  • указать "Карта Результата решения" - формат выходных параметров;

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

Политика применения правил / Hit Policy

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

empty

Политики Unique,AnyиFirst всегда будут возвращать не более одного удовлетворяемого правила. Политики попаданий Rule Order и Collect могут возвращать несколько удовлетворенных правил.

Поддерживаются следующие политики:

  • Unique - может быть выполнено 0-1 правил. Если выполняется более 1 правила, то происходит нарушение политики;
  • Any - можно удовлетворить несколько правил. Однако все удовлетворяемые правила должны генерировать один и тот же результат. Если выполняются несколько правил, которые генерируют разные выходные данные, политика попаданий нарушается;
  • First - можно удовлетворить несколько правил. Результат таблицы решений содержит только вывод первого выполненного правила;
  • Rule order - можно удовлетворить несколько правил. Результат таблицы решений содержит выходные данные всех удовлетворяемых правил в порядке следования правил в таблице решений;
  • Collect - можно удовлетворить несколько правил. Результат таблицы решений содержит вывод всех удовлетворяемых правил в произвольном порядке в виде списка. Для коллекции можно указать агрегатор. Если указан агрегатор, то результат будет содержать только одну выходную запись, а функция агрегатора будет применена ко всем удовлетворенным правилам;
  • Priority;
  • Output order

Примеры диаграмм дерева принятия решений

Скачать DMN ruleCheckAge Скачать DMN скоринговая карта клиента