Справочник элементов
В этом разделе описаны элементы 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. |
Отправляет электронное письмо через дополнение Email. |
|
Задача отправки уведомления (Jmix) |
Отправляет уведомления в приложении и по электронной почте через дополнение Notifications. |
Потоки операций (sequence flows); условия на основе выражения, результата пользовательской задачи или результата бизнес-задачи; эксклюзивные, параллельные и инклюзивные шлюзы и шлюзы на основе событий. |
|
Встроенные, событийные и транзакционные подпроцессы, а также вызовы процессов. |
|
Выполняет задачу или подпроцесс несколько раз, последовательно или параллельно. |
Неподдерживаемые элементы
Меню Change type на экране Modeler не предлагает задачи Send task, Receive task и Manual task, а также свернутый подпроцесс.
Jmix BPM не поддерживает:
-
Complex gateway. Меню Change type на экране Modeler предлагает этот шлюз, однако движок его не реализует: процесс с таким шлюзом развертывается без ошибок, но шлюз работает не так, как определяет BPMN.
-
Маркер цикла (loop). Чтобы выполнить задачу или подпроцесс несколько раз, используйте их свойства множественного экземпляра.
-
Некоторые типы событий. См. разделы Поддержка событий BPMN и Обходные решения для неподдерживаемых событий.
Процесс с задачей без типа (абстрактной задачей) развертывается, но движок пропускает такую задачу и переходит дальше.
Свойства расширения
У пользовательских задач, сервисных задач и задач сценариев есть поле Extension properties. Свойство расширения — это пара из имени и значения, которая сохраняется вместе с элементом в XML процесса.
В XML свойства расширения задаются элементом jmix:property:
<serviceTask id="service-task" name="Service Task" >
<!-- . . . -->
<extensionElements>
<!-- . . . -->
<jmix:properties>
<jmix:property name="color" value="red" />
</jmix:properties>
</extensionElements>
</serviceTask>