Camunda Modeler: введение и интерфейс

Основная работа по созданию и редактированию схем бизнес-процессов в системе Camunda производится средствами приложения Camunda Modeler. Это приложение является бесплатным и его можно просто скачать с сайта Camunda в любом из трех вариантов:

  • под Windows (поддерживаются Windows 7/8/10, как 32-разрядные, так и 64-разрядные)
  • MacOSX (версия 10.11 и более поздние)
  • Ubuntu (версия 12.04 и более поздние). На других дистрибутивах Linux, таких, как Fedora и Debian, CamundaModeler тоже запускаться не отказывается. В CentOS 8 для запуска CamundaModeler потребовалась предварительная установка пакета libXScrnSaver-1.2.3-1.el8.x86_64.rpm.

Camunda Modeler не требует установки: в любой операционной системе достаточно разархивировать скачанный архив, а затем запустить ее при помощи соответствующего файла:

  • в Windows— при помощи Camunda Modeler.exe;
  • в Mac OS — при помощи Camunda Modeler.app;
  • в Linux — при помощи файла camunda-modeler (для новичков в Linux — нужно перейти в каталог с этим файлом и выполнить команду ./camunda-modeler).

Под какой операционной системой вы бы не запустили Camunda Modeler, интерфейс и функциональные возможности этой программы будут одинаковы. Окно Camunda Modeler с простейшей диаграммой BPMN может выглядеть так, как представлено на рис.

Интерфейс Camunda Modeler

Посмотрим на интерфейс Camunda Modeler внимательнее.

Вверху — обычное меню, при этом при помощи команды File | New File или аналогичной кнопки на панели инструментов у нас есть возможность создать диаграмму одного из четырех поддерживаемых типов:

  • BPMN (Business Process Management Notation)— наиболее распространенный тип диаграмм, описывающий стандартизированные бизнес-процессы. В качестве примера можно, например, привести заведение нового поставщика у ритейлера со сбором необходимых документов или процесс утверждения заявки на кредит;
  • CMMN (Case Management Model and Notation)— тип диаграммы для обработки кейсов (ситуаций). Стандарт CMMN во многом похож на BPMN (и отчасти взаимозаменяем). Обычно он используется тогда, когда на бизнес-процесс могут сильно влиять различные внешние факторы и нужен более гибкий подход (и с большим влиянием факторов внешней среды), чем в BPMN. В качестве примера можно привести, например, производственное предприятие, которое делает изделие под заказ. Это предприятие может принять один и тот же заказ от одного и того же заказчика, а может и не принять, если считает, что оборудование потребуется под более выгодные заказы. А может, наоборот, принять невыгодный заказ, чтобы установить отношения с важным заказчиком в надежде на получение более крупных заказов;
  • DMN (Decision Making and Notation)— тип диаграммы (или таблицы), который используется для поддержки принятия решений. Можно считать этот тип диаграмм дополнением к BPMN, которое позволяет не перегружать диаграммы BPMN огромным количеством шлюзов. Представим, например, бизнес-процесс по одобрению кредитной заявки на потребительский кредит. В BPMN можно очень удобно нарисовать схему прохождения документов, но на этапе утверждения кредита кредитным инспектором ему нужно принять во внимание множество факторов: текущую кредитную нагрузку, кредитную нагрузку членов семьи, кредитную историю, уровень заработной платы, место работы и т.п. Если все эти факторы попытаться разместить при помощи шлюзов на диаграмме BPMN, то диаграмма выйдет очень сложной и перегруженной. Поэтому практичнее моменты, связанные с принятием решений, вынести в отдельную диаграмму или таблицу DMN.

CMMN и DMN — инструменты относительно новые и применяются на предприятиях редко, поэтому в большинстве случаев когда речь идет об описании бизнес-процессов, имеются ввиду именно диаграммы BPMN. Поэтому возможности Camunda мы будем рассматривать в основном применительно к BPMN.

Чтобы можно было рассмотреть возможности интерфейса Camunda, в меню File | New File выберем BPMN Diagram.

Диаграммы в Camunda Modeler можно просматривать в двух режимах: в обычном графическом режиме диаграммы и в режиме XML. Переключение между этими режимами производится при помощи ярлычков в нижнем левом углу (см. рис.)

Представление бизнес-процесса BPMN в XML

Стандарт BPMN 2.0 описывает не только графические элементы для диаграмм BPMN, но и их представление в формате XML (хотя в разных редакторах диаграмм BPMN могут использоваться свои дополнительные элементы и атрибуты, которые другими редакторами будут игнорироваться). Поэтому, если у вас есть диаграммы BPMN, подготовленные в другом редакторе, в большинстве ситуаций их вполне возможно перенести в Camunda Modeler.

Иногда приходится вносить изменения вручную прямо в код XML для диаграммы, но это требуется нечасто (и, по возможности, конечно, нужно этого избегать).

На Панели инструментов обратим внимание на кнопку Deploy Current Diagram (Развернуть текущую диаграмму) — см. рис.

Кнопка развертывания бизнес-процесса

Эта кнопка позволяет поместить диаграмму на сервер Camunda (тестовый или производственный) прямо из Camunda Modeler. При нажатии на нее откроется окно, аналогичное представленному на рис.

Окно загрузки диаграммы Camunda Modeler на сервер

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

Диаграмму можно сохранить и в графических форматах PNG/JPEG/SVG, если, например, вам потребовалось распечатать схему сложного бизнес-процесса для обсуждения.

В левой части Camunda Modeler находится Палитра элементов (Elements palette) — см. рис.

Палитра Camunda Modeler

Разработчики диаграмм BPMN обычно берут элементы из этой палитры, перетаскивают в область диаграммы (центральную область окна Camunda Modeler) и настраивают. Заметим, что элементов, на первый взгляд, в палитре существенно меньше, чем предусмотрено стандартом BPMN. Связано это с тем, что в палитре присутствует лишь базовый набор элементов: другие элементы получаются из базовых путем преобразования их в области диаграммы. Например, в нашей диаграмме преобразовать стартовое событие в событие-сообщение можно так, если щелкнуть по объекту стартового события, нажать в контекстном наборе фигур на гаечный ключ и в списке типов сообщений выбрать Message Start Event (см. рис.).

Изменение типа элемента в Camunda Modeler

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

Пользовательских элементов в Camunda Modeler не предусмотрено. Их функциональность можно реализовывать при помощи шаблонов элементов/связанных классов Java (про эти возможности будет рассказано в следующих разделах). Можно также воспользоваться бесплатной альтернативой Camunda Modeler, которая называется BPMN.IO и в которой пользовательские элементы предусмотрены изначально.

Мастерство создателя диаграмм BPMN во многом заключается в том, насколько правильно он выбирает и расставляет элементы палитры (а также настраивает их свойства). Про работу с элементами диаграмм BPMN будет рассказано в следующих разделах.

В центральной части окна Camunda Modeler расположена сама диаграмма. Реальные рабочие процессы могут очень большими по размеру и включать в себя большое количество элементов, поэтому для комфортной работы разработчику бизнес-процессов рекомендуется большой монитор (а лучше — несколько). Чуть упростить навигацию по диаграмме позволит мини-карта (Minimap), кнопка для включения которой расположена в правом верхнем углу окна диаграммы.

В правой части окна Camunda Modeler расположена Панель свойств (Properties Panel) — см. рис.

Окно свойств Camunda Modeler

В этом окне производится настройка свойств как самого процесса BPMN, так и его элементов.

Обычная последовательность работы с процессами BPMN (CMMN, DMN) в Camunda Modeler выглядит следующим образом:

  1. Средствами Camunda Modeler создаем новый процесс (диаграмму BPMN) и настраиваем его свойства.
  2. Размещаем на этой диаграмме элементы, меняем типы, связываем элементы.
  3. Настраиваем свойства элементов (на этом этапе производится привязка программного кода и форм к элементам).
  4. Публикуем процесс на тестовом сервере и запускаем его для проверки работоспособности (из самого Camunda Modeler запустить процесс, увы, нельзя).
  5. Выявляем проблемы и вносим изменения в процесс. Чтобы не возникало ситуаций вида «починил одно — в результате отвалилось другое», очень рекомендуется использовать юнит-тесты.
  6. Публикуем окончательную версию процесса на производственном сервере, предоставляем пользователям разрешения на этот процесс и интерфейс для его запуска.

Все эти моменты будут рассмотрены в следующих разделах.