Создание процесса

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

Каждый процесс представляет собой настроенную пользователем последовательность действий, например, процесс согласования документов. Процесс может включать в себя пользовательские задачи, работа по которым осуществляется в разделе Задачи (см. п. Список задач).

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

  1. В разделе Процессы нажать кнопку img.

  2. В открывшемся окне вручную ввести наименование нового процесса и нажать кнопку [Создать].

img

3. Заполнить открывшуюся форму.

img

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

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

В данной области реализовано две вкладки:

  • Диаграмма – область для создания диаграммы с инструментами для работы.

img

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

Для изображения операций в нотации BPMN используются следующие базовые графические элементы:

  • пул и дорожки;
  • действия;
  • шлюзы или развилки;
  • события;
  • потоки;
  • артефакты.

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

Под действием понимается единица работы, выполняемой в ходе исполнения бизнес-процесса. Действия могут быть как элементарными (задача/task), так и составными (подпроцесс/sub-process).

Есть несколько типов элементарных действий, которые отличаются условиями выполнения:

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

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

Под шлюзами понимаются элементы, определяющие ветвление и слияние потоков работ:

  • BPMN Элемент - Шлюз исключающего «или» Шлюз исключающего «или» – используется для создания альтернативных потоков процесса или сходящихся потоков управления.
  • BPMN Элемент - Параллельный шлюз Параллельный шлюз – используется для создания параллельных путей без оценки условия или для сходящихся потоков и синхронизации параллельных веток выполнения процесса.

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

Событие является одним из главных элементов в нотации BPMN и служит для описания того, что должно случиться (в отличие от задачи, когда что-то должно быть сделано).

Графические элементы событий в нотации BPMN классифицируются следующим образом:

  • В зависимости от положения события на схеме процесса:

    • BPMN Элемент - Начальное событие Начальное событие (инициирующее бизнес-процесс).
    • BPMN Элемент - Промежуточное событие Промежуточное событие.
    • BPMN Элемент - Конечное событие Конечное событие (заканчивающее бизнес-процесс).
  • По типу события:

    • img Простое событие – представляет собой нетипизированное событие.
    • img, img Событие-сообщение – показывает отправку или получение сообщения.
    • img Событие-таймер – используется для моделирования регулярных событий. Также таймер может использоваться для моделирования моментов времени, временных промежутков и превышения лимита времени.

Поток – это последовательность действий, которая обозначается стрелкой. Элемент «поток» показывает последовательность выполнения действий.

  • img Поток управления – на стандартный поток управления не воздействуют условия, и он не проходит через шлюзы, т.е. является неконтролируемым.
  • img Условный поток управления – используется для того, чтобы показать, что дальнейшее выполнение процесса будет происходить по определённому потоку только в том случае, если выполняется заданное условие. Ромб у основания стрелки добавляется, если условный поток управления является исходящим от процесса. Ромб не добавляется, если условный поток управления является исходящим от шлюза.
  • img Поток управления по умолчанию – используется тогда, когда необходимо показать, что дальнейшее выполнение процесса будет происходить по определённому потоку только если не выполняется ни одно из заданных условий.
  • img Поток сообщений – используется для отображения межпроцессного взаимодействия – отображает передачу сообщений или объектов из одного процесса в другой процесс или внешнюю ссылку.
  • img Ассоциация – применяется для визуализации связи между элементами потока и объектами, не являющимися элементами потока (артефактами).


Артефакты – это объекты, которые не влияют на исполнение бизнес-процесса напрямую. Это могут быть документы, данные, информация: ​
- Группа объектов – используется для группировки графических элементов, принадлежащих одной и той же категории и позволяет повысить простоту восприятия диаграммы. - Текстовая аннотация – применяется для уточнений к диаграмме: комментариев и пояснений. - Объект данных – используется для отображения информации о данных, которые обрабатываются в ходе процесса.

img

Чтобы выбрать необходимый графический элемент, нужно нажать на него ЛКМ. Выбрав элемент, необходимо установить его в области редактора также нажатием ЛКМ. Полный список графических элементов раскрывается нажатием кнопки img.

img

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

Нажав ЛКМ на установленный графический элемент, пользователь выделяет его из всей области и получает доступ к его настройке, добавлению дополнительных элементов или полному удалению.

img

Для установленного элемента можно настроить тип. Для этого необходимо выбрать его нажатием ЛКМ и нажать кнопку img. В открывшемся списке выбрать нужный тип.

img

Так, например, можно для блока установить признак «Пользовательская задача», выбрав в списке значение «User Task». Пользовательские задачи отмечаются иконкой img в левом верхнем углу. Процесс приостанавливается как только доходит до пользовательской задачи и не продолжается до тех пор, пока она не будет выполнена в разделе Задачи (см. п. Список задач).

Справа отображается форма процесса с его атрибутами, которые можно редактировать.

img

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

Если выделить нажатием ЛКМ конкретный графический элемент, справа также отобразится его форма с набором переменных.

img

Переменные будут отображаться по мере продвижения процесса в задачах. Переменные для задач не являются обязательными и указываются при необходимости. Для коннекторов (например, REST Connector) заполнение endpoint является обязательным. В блоке HTTP Endpoint нужно указать метод, URL и параметры запроса.

img

В поле 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 формате, которое можно при необходимости редактировать вручную.

img

4. После указания всех необходимых данных сохранить процесс нажатием кнопки img.

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

img

В карточке появится дополнительная вкладка Версии, а в блоке Общие свойства – нередактируемое заполненное поле Идентификатор процесса. На панели инструментов карточки появятся дополнительные кнопки для работы с текущим процессом.