Создание процесса¶
BPMN-процесс – это любой бизнес-процесс, отраженный с помощью нотации. Процессы состоят из элементов, каждый из которых обозначается на схеме специальным значком.
Каждый процесс представляет собой настроенную пользователем последовательность действий, например, процесс согласования документов. Процесс может включать в себя пользовательские задачи, работа по которым осуществляется в разделе Задачи (см. п. Список задач).
Для создания нового процесса необходимо выполнить следующие действия:
-
В открывшемся окне вручную ввести наименование нового процесса и нажать кнопку [Создать].
3. Заполнить открывшуюся форму.
Форма включает в себя область редактирования схемы, форму процесса справа и блок Общие свойства, где можно изменить наименование процесса, заданное на втором шаге.
В область редактирования схемы встроен онлайн редактор bpmn.io, который предоставляет набор инструментов для создания схемы и указания параметров для каждого элемента схемы.
В данной области реализовано две вкладки:
- Диаграмма – область для создания диаграммы с инструментами для работы.
Для создания диаграммы необходимо использовать набор инструментов слева, посредством которых добавляются различные графические элементы.
Для изображения операций в нотации BPMN используются следующие базовые графические элементы:
- пул и дорожки;
- действия;
- шлюзы или развилки;
- события;
- потоки;
- артефакты.
Весь бизнес-процесс состоит из пулов: совокупности операций и лиц, которые эти операции выполняют. Любой пул состоит из дорожек. Пул используется для обозначения границ бизнес-процесса, а дорожка – для отражения ответственных исполнителей и их ролей в процессе.
Под действием понимается единица работы, выполняемой в ходе исполнения бизнес-процесса. Действия могут быть как элементарными (задача/task), так и составными (подпроцесс/sub-process).
Есть несколько типов элементарных действий, которые отличаются условиями выполнения:
-
многократное выполнение действия в рамках одного процесса;
-
циклическое действие выполняется многократно, пока заданное условие верно.
Под шлюзами понимаются элементы, определяющие ветвление и слияние потоков работ:
Шлюз исключающего «или» – используется для создания альтернативных потоков процесса или сходящихся потоков управления.
Параллельный шлюз – используется для создания параллельных путей без оценки условия или для сходящихся потоков и синхронизации параллельных веток выполнения процесса.
Двух развилок достаточно для построения бизнес-процессов любой сложности.
Событие является одним из главных элементов в нотации BPMN и служит для описания того, что должно случиться (в отличие от задачи, когда что-то должно быть сделано).
Графические элементы событий в нотации BPMN классифицируются следующим образом:
-
В зависимости от положения события на схеме процесса:
-
По типу события:
Простое событие – представляет собой нетипизированное событие.
,
Событие-сообщение – показывает отправку или получение сообщения.
Событие-таймер – используется для моделирования регулярных событий. Также таймер может использоваться для моделирования моментов времени, временных промежутков и превышения лимита времени.
Поток – это последовательность действий, которая обозначается стрелкой. Элемент «поток» показывает последовательность выполнения действий.
Поток управления – на стандартный поток управления не воздействуют условия, и он не проходит через шлюзы, т.е. является неконтролируемым.
Условный поток управления – используется для того, чтобы показать, что дальнейшее выполнение процесса будет происходить по определённому потоку только в том случае, если выполняется заданное условие. Ромб у основания стрелки добавляется, если условный поток управления является исходящим от процесса. Ромб не добавляется, если условный поток управления является исходящим от шлюза.
Поток управления по умолчанию – используется тогда, когда необходимо показать, что дальнейшее выполнение процесса будет происходить по определённому потоку только если не выполняется ни одно из заданных условий.
Поток сообщений – используется для отображения межпроцессного взаимодействия – отображает передачу сообщений или объектов из одного процесса в другой процесс или внешнюю ссылку.
Ассоциация – применяется для визуализации связи между элементами потока и объектами, не являющимися элементами потока (артефактами).
Артефакты – это объекты, которые не влияют на исполнение бизнес-процесса напрямую. Это могут быть документы, данные, информация:
- Группа объектов – используется для группировки графических элементов, принадлежащих одной и той же категории и позволяет повысить простоту восприятия диаграммы.
- Текстовая аннотация – применяется для уточнений к диаграмме: комментариев и пояснений.
- Объект данных – используется для отображения информации о данных, которые обрабатываются в ходе процесса.
Чтобы выбрать необходимый графический элемент, нужно нажать на него ЛКМ. Выбрав элемент, необходимо установить его в области редактора также нажатием ЛКМ. Полный список графических элементов раскрывается нажатием кнопки
.
Для поиска нужного элемента можно воспользоваться строкой поиска.
Нажав ЛКМ на установленный графический элемент, пользователь выделяет его из всей области и получает доступ к его настройке, добавлению дополнительных элементов или полному удалению.
Для установленного элемента можно настроить тип. Для этого необходимо выбрать его нажатием ЛКМ и нажать кнопку
. В открывшемся списке выбрать нужный тип.
Так, например, можно для блока установить признак «Пользовательская задача», выбрав в списке значение «User Task». Пользовательские задачи отмечаются иконкой
в левом верхнем углу. Процесс приостанавливается как только доходит до пользовательской задачи и не продолжается до тех пор, пока она не будет выполнена в разделе Задачи (см. п. Список задач).
Справа отображается форма процесса с его атрибутами, которые можно редактировать.
Например, в блоке General можно указать наименование процесса и изменить его идентификатор.
Если выделить нажатием ЛКМ конкретный графический элемент, справа также отобразится его форма с набором переменных.
Переменные будут отображаться по мере продвижения процесса в задачах. Переменные для задач не являются обязательными и указываются при необходимости. Для коннекторов (например, REST Connector) заполнение endpoint является обязательным. В блоке HTTP Endpoint нужно указать метод, URL и параметры запроса.
В поле Method указать нужный метод: GET, POST, PUT и др.
При заполнении URL использовать протокол «http://», доменное имя, например, наименование сервиса «dh-documents-service», порт после двоеточия, а также путь, начинающийся с префикса «api/v*» в соответствии с описанием REST API, которое приведено в Руководстве разработчика.
В поле Headers при необходимости указать заголовки HTTP-запроса, например, «Content-Type», в формате «ключ=значение» – Content-Type=application/json.
В поле Query parameters при необходимости указать query-параметры URL.
В поле Connection timeout определить максимальное время ожидания ответа от сервера в секундах.
В поле Request body блока Payload можно указать тело запроса в формате JSON для передачи данных при выполнении запроса, используя контекстные переменные «#CONTEXT.*». Пример тела запроса:
{
"documentId": "#CONTEXT.documentId",
"versionId": "#CONTEXT.versionId",
}
В поле Result variable блока Output mapping можно указать наименование переменной, куда сохранится ответ сервера, включая статус, заголовки и тело.
В поле Result expression можно указать выражение для извлечения конкретных данных из ответа. Например, «trans.body.documentId» извлечет идентификатор документа из тела ответа.
В поле Error expression блока Error handling можно указать логику обработки возможных ошибок, например, логирование или переход на другую задачу.
Такие коннекторы в рамках процесса работают без отдельных задач. Более подробное описание использования коннекторов можно получить из Camunda документации https://docs.camunda.io/docs/components/connectors/use-connectors/.
В поле Assignee для пользовательской задачи можно указать исполнителя. Для такой задачи после запуска процесса будет заранее указан исполнитель.
Дополнительно к создаваемому процессу можно привязать существующую Camunda форму (см. п. Работа с формами). Чтобы привязать форму, необходимо в поле Type выбрать значение «Camunda forms», после чего ниже в поле Form JSON configuration вставить содержимое JSON файла, который был предварительно скопирован в буфер обмена из карточки формы.
- XML – текстовое описание текущего процесса в XML формате, которое можно при необходимости редактировать вручную.
4. После указания всех необходимых данных сохранить процесс нажатием кнопки
.
Форма создания текущего процесса обновится, появится уведомление, информирующее об успешном создании процесса.
В карточке появится дополнительная вкладка Версии, а в блоке Общие свойства – нередактируемое заполненное поле Идентификатор процесса. На панели инструментов карточки появятся дополнительные кнопки для работы с текущим процессом.















