Справочник элементов

В этом разделе описаны элементы BPMN 2.0, которые можно использовать в Jmix BPM, и задачи, которые добавляет Jmix: задача обработки сущностей, задача отправки электронной почты и задача отправки уведомления. Для каждого элемента приведены его свойства на экране Modeler и описано, как движок процессов выполняет этот элемент. В XML задачи Jmix — это сервисные задачи с атрибутом flowable:type, например jmix-send-email. Нотацию BPMN раздел не описывает. Ее описание см. в спецификации BPMN 2.0.2 и в разделе BPMN 2.0 Constructs документации Flowable.

Поддерживаемые элементы

Элемент Описание

Процесс

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

Участники, полосы и модели сотрудничества

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

События

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

Пользовательская задача

Задача для человека: исполнитель и кандидаты, процессная форма, результаты (outcomes), срок выполнения и уведомления.

Сервисная задача

Вызывает метод бина Spring, класс JavaDelegate, выражение или выражение-делегат либо создает задание для внешнего обработчика (external worker).

Задача сценариев

Выполняет скрипт на Groovy.

Задача бизнес-правила

Вычисляет таблицу решений DMN.

Задача обработки сущностей (Jmix)

Загружает, создает или изменяет сущности Jmix.

Задача отправки электронной почты (Jmix)

Отправляет электронное письмо через дополнение Email.

Задача отправки уведомления (Jmix)

Отправляет уведомления в приложении и по электронной почте через дополнение Notifications.

Условия и шлюзы

Потоки операций (sequence flows); условия на основе выражения, результата пользовательской задачи или результата бизнес-задачи; эксклюзивные, параллельные и инклюзивные шлюзы и шлюзы на основе событий.

Подпроцессы и вызовы процессов

Встроенные, событийные и транзакционные подпроцессы, а также вызовы процессов.

Множественный экземпляр

Выполняет задачу или подпроцесс несколько раз, последовательно или параллельно.

Неподдерживаемые элементы

Меню Change type на экране Modeler не предлагает задачи Send task, Receive task и Manual task, а также свернутый подпроцесс.

Jmix BPM не поддерживает:

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

Свойства расширения

У пользовательских задач, сервисных задач и задач сценариев есть поле Extension properties. Свойство расширения — это пара из имени и значения, которая сохраняется вместе с элементом в XML процесса.

extension properties

В XML свойства расширения задаются элементом jmix:property:

<serviceTask id="service-task" name="Service Task" >
<!--    . . .   -->
<extensionElements>
<!--   . . .    -->
    <jmix:properties>
      <jmix:property name="color" value="red" />
    </jmix:properties>
  </extensionElements>
</serviceTask>