Как установить camunda modeler

Camunda Modeler

Анатолий Опарин / август, 2018

Начало

Установка приложения. Зайти на страницу скачивания приложения (ссылка ниже). Выбрать нужную ОС и скачать. Распаковать ZIP-файл В новой папке на диске C. Запустить файл с расширением EXE. Следуя инструкциям установить Camunda Modeler. Создать ярлык на рабочем столе.
После установки приложение является по сути портабельным. Это значит, что папку с приложением можно перемещать в другое место на диске или устанавливать на другие компьютеры просто методом копирования этой папки без инсталляции.
Экспортировать работу можно в два растровых формата PNG и JPG, в векторный формат SVG, а также сохранять проект в родном xml-подобном формате BPMN.

Маленькие хитрости

Элемент действие по умолчанию не очень большой и текст даже среднего объема вместить в него красиво проблематично. Камунда не позволяет в визуальном интерфейсе менять размеры этого прямоугольника.

(Иметь в виду, что при последующей попытке перетащить эту текстовую аннотацию на другую позицию, Камунда поймет, что ее обманули, и снова прилепит аннотацию к валидному с ее точки зрения элементу)
(В свежей версии 2.2.4 этой проблемы уже нет)

У таких элементов как событие, поток операций и шлюзы есть параметр Name, который часто используется при создании диаграмм в качестве комментария к своему родительскому элементу. Но Камунда его крайне ограничивает по ширине и не позволяет в визуальном редакторе его изменять. Более того, если найти по ID и изменить width у этого элемента в XML-коде (как демонстрировалось выше), то Камунда на это никак не реагирует.

Ассоциацию можно провести между действием и базой данных только однонаправленной стрелкой, а хотелось бы изобразить обмен данными с БД двунаправленной стрелкой.

Невозможно закрасить элемент каким-нибудь цветом.

Ссылки

Конкуренты

ARIS Express. Бесплатный продукт. [Страница скачивания]. После инсталляции программы она будет работать только после того, как вы пройдете процедуру регистрации в сообществе ARIS и получите логин и пароль, которые надо будет ввести во время первого запуска программы. На общем диске «p:\Функциональные Папки\04 IT Департамент\50 Distrib\03 Util\for_BPMN\ARIS_Express\» лежит портабельная версия программы.

Bizagi Modeler. Бесплатный продукт. [Страница скачивания]. Без регистрации не дадут скачать и запустить после инсталляции. Здесь лежит скачанный после регистрации инсталлятор «p:\Функциональные Папки\04 IT Департамент\50 Distrib\03 Util\for_BPMN\».

Software Ideas Modeler. Платный продукт. [Страница скачивания] триальных версий. Понравился больше предыдущих двух. Работает быстрее, решает бо́льший спектр задач.

ELMA BPM. Платный отечественный продукт. [Описание продукта] на сайте производителя. Не скачивал для тестирования, но судя по скриншотам, отзывам, основательности сайта, это достойный и удобный продукт.

Grapholite. Платный редактор деловой графики. [Обзор и скачивание бесплатной портабельной версии]. Удобнейший редактор, который имеет богатый набор готовых элементов для моделирования BPMN схем. Работает без тормозов.

MyDraw. Платный редактор деловой графики. [Обзор и скачивание бесплатной портабельной версии]. Мощный редактор, который имеет очень богатый набор готовых элементов для моделирования BPMN схем. Работает без тормозов.

Примечание: Функционал у перечисленных программы богаче, чем у Camunda, и ограничений, налагаемых нотацией, меньше. Но в Camunda создавать диаграммы нагляднее, легче, быстрее меньше вероятности нарушить нотацию. Все продукты, кроме двух последних, имеют механизмы исполнения процессов.

Источник

Упрощаем работу в Camunda Modeler с помощью плагинов

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

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

Например, очень легко в Script Task написать скрипт на Groovy и забыть указать Script Format. Тогда по умолчанию движок попробует выполнить переданную ему строку как JUEL-код, и вряд ли мы получим ожидаемый результат.

Было бы неплохо иметь что-то вроде подсказок, на какие поля нужно обратить внимание, какое значение вписать, какие флаги отметить, и так далее в соответствии с принятыми в команде практиками. К счастью, Camunda Modeler позволяет расширять функциональность, не форкая всё приложение, а применив плагины, что мы и решили сделать.

Разберем несколько важных для нас плагинов:

BPMN Linter — статический анализатор BPMN-файлов с графическим отображением найденных ошибок. Позволяет добавить собственные правила, с помощью которых мы и справились с описанной выше болью.

Transaction boundaries — визуализация границы транзакций.

Token simulation — моделирование токена в BPMN-процессе.

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

Установка

Сам по себе Camunda Modeler является Electron-приложением, а плагин представляет собой модуль Node.js.

Для установки достаточно поместить проект плагина в одну из директорий:

/Library/Application Support в macOS.

Плагины появляются в Camunda Modeler после перезапуска приложения, некоторые можно включить/выключить в меню Plugins.

BPMN Linter

Стандартные правила BPMN Linter

Условный поток (conditional-flows)

Проверяет, что из условного fork-шлюза выходит условный поток или поток по умолчанию.

Завершающее событие обязательно (end-event-required)

Проверяет, что каждый процесс и подпроцесс имеет завершающее событие.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Типизированное начальное событие в подпроцессе по событию (event-sub-process-typed-start-event)

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

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Ложное соединение (fake-join)

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

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Имя обязательно (label-required)

У каждого элемента должно быть заполнено поле «Name».

Никаких шлюзов включающего «ИЛИ» (no-inclusive-gateway)

Во-первых, у этого шлюза сложная fork- и join-семантика (подробнее). Во-вторых, по утверждению авторов правила, поддержка шлюза, включающего ИЛИ, в Camunda Engine реализована не полностью. Кстати, на Хабре была статья про дедлок в Camunda, и там как раз был замешан inclusive gateway.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Никаких комплексных шлюзов (no-complex-gateway)

По сравнению с предыдущим правилом здесь всё гораздо прозаичнее. Комплексный шлюз не имеет строгого определения в BPMN-нотации, и поэтому BPM-движками не поддерживается в принципе.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Никаких несоединенных объектов (no-disconnected)

Объект должен быть соединен с помощью либо входящего, либо исходящего потока управления.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Никаких дублируемых потоков управления (no-duplicate-sequence-flows)

Линтер подсветит, если потоки повторяются, приводя к непреднамеренному ветвлению.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Никаких join-fork-шлюзов (no-gateway-join-fork)

За соединение должен отвечать один шлюз, за разветвление — другой.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Никаких неявных ветвлений (no-implicit-split)

Проверяет, что из задачи не исходит более одного потока. Для ветвления должны использоваться шлюзы.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Единственное пустое начальное событие (single-blank-start-event)

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

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Начальное событие обязательно (start-event-required)

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Пустое начальное событие в простом подпроцессе (sub-process-blank-start-event)

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Лишний шлюз (superfluous-gateway)

Если шлюз имеет только один вход и один выход, то он будет помечен как лишний.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

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

Одно из правил, которое мы используем и о причине существования которого упоминал в самом начале: Script Format в Script Task должен быть Groovy

Примеры других наших правил

Service Task должен иметь флаг asynchronous after

Правило повторяет смысл плагина Transaction Boundaries, только здесь мы явно указываем на необходимость проставить Asynchronous After.

Error Boundary Event должен иметь Message Variable

В Message Variable записывается сообщение исключения, которое мы обычно используем при обработке ошибки.

Теперь давайте взглянем на другие плагины из нашего списка — Transaction Boundaries и Token Simulation.

Transaction Boundaries

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Token Simulation

Есть отдельные статьи, описывающие концепцию токена в BPMN. Если вкратце: токены служат для описания поведения BPMN-процесса, начальное событие выпускает токен, который обходит процесс, разделяясь на fork-шлюзах и соединяясь на join-шлюзах. Запустится ли join-шлюз, зависит от количества ожидаемых и пришедших в него токенов. Порой сложно понять, способен ли процесс завершиться, просто взглянув на него, и тут на помощь приходит плагин Token Simulation (к сожалению не поддерживает Inclusive Gateway).

Пример с параллельным шлюзом, когда схема не завершится

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Join-шлюз соединяет четыре потока и запустится только в том случае, если на него придет четыре токена, но из-за XOR-шлюза всегда будет приходить только три.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Три потока, три токена — процесс дошел до конца.

Создание своего плагина

Рассмотрим создание плагина на примере расширения возможностей поиска в BPMN-схеме. Точнее, будем искать элементы не только по имени и id, но и по Java-классу если это Service Task.

В client/search-extension/index.js прописываем:

Выполняем npm run all и перезапускаем Camunda Modeler.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Заключение

В статье описаны только используемые нами плагины и не затронуты DMN-таблицы, для которых также есть полезные дополнительные фичи.

Источник

Пошаговая инструкция: делаем свой первый проект на Camunda и Kotlin

Camunda — это отличный бесплатный BPM-движок для автоматизации бизнес-процессов. В этой статье я расскажу как по шагам сделать первую заготовку проекта с использованием языка Kotlin и Camunda. Уровень сложности материала низкий — статья снабжена скриншотами и видеоверсией. Вам нужно просто пройти по инструкции.

Вот видеоверсия статьи, кому-то может быть удобнее:

Как вообще можно использовать Camunda

Camunda можно использовать в двух вариантах:

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Я разбирал такой вариант подробно на видео.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Первый вариант удобнее для эксплуатации — следить нужно только за одной базой и одной камундой, но создает проблему “шумных соседей” — если кто-то из коллег сделает кривой процесс, то лягут все.

Второй способ удобнее полной независимостью, но создает сложности в администрировании и управлении задачами. Какой вариант выбирать каждая компания сама решает, но я за второй: все проблемы решаются, а вот в первом с шумными соседями ничего не сделать. И это ОЧЕНЬ больно и неприятно на проде, когда вы начинаете падать из-за коллег.

Предварительная подготовка рабочего места

Для создания первого проекта на Camunda вам потребуется:

Поставьте всё себе на компьютер,сложностей не должно возникнуть. Если возникли, то пишите в комментарии, разберемся.

Почему Kotlin и Spring(boot)

Вместо Java мы будем использовать язык Kotlin — это статически типизированный язык программирования, работающий поверх JVM. Он более лаконичный и безопасный, чем Java. И порог входа в него немного ниже, что в этом случае нам очень важно.

Еще мы будем использовать Spring — это набор библиотек для Java, которые делают жизнь проще. А Spring boot — это еще одна штука, которая делает жизнь разработчика со Spring еще проще 🙂 В ообщем, программерская магия, которая не имеет отношения к статье.

Создаем приложение

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Запускаем пустую Camunda

Для запуска камунды нам нужно добавить зависимости в файл pom.xml. В этом файле хранится информация о том, какие внешние библиотеки мы используем. Добавим много библиотек — для тестирования, логирования, саму Camunda, REST интерфейсы, работа c JSON. За что отвечает каждая из библиотек понятно из названия. В итоге раздел в pom.xml должен выглядеть так:

Ждём, пока скачаются все зависимости (полоска в правом нижнем углу).

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Если вы сделали всё правильно, то у вас готова чистая Camunda на Kotlin. Теперь её можно наполнять вашими бизнес-процессами, этим займемся в других статьях.

В итоге

Как вы видите, сделать подготовительную работу для последующей автоматизации на Camunda совсем не сложно. Проще, чем развернуть кластер IBM BPM. У вас получилось? Напишите о вашем опыте в статье.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Моделирование бизнес-процессов: практика использования Camunda BPM в Java разработке

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

ведущий Java-разработчик ростовского офиса компании Usetech

Меня зовут Евгений Тришечкин, я ведущий Java разработчик ростовского офиса компании Usetech, и сегодня хочу поделиться с вами применением Camunda BPM в Java разработке.

В рамках статьи я расскажу об основных компонентах системы управления бизнес-процессами Camunda. Покажу развертывание системы, моделирование и деплой простого процесса. А также, на примере созданного процесса, проиллюстрирую взаимодействие Java/SpringBoot приложения с Camunda.

Давайте сначала разберемся с терминологией и выясним, что же такое BPM, BPMS и BPMN.

BPM (Business process management) — концепция управления организацией, рассматривающая бизнес-процессы как особые ресурсы предприятия, непрерывно адаптируемые к постоянным изменениям, и полагающаяся на такие принципы, как понятность и видимость бизнес-процессов в организации за счет их моделирования с использованием формальных нотаций, использования программного обеспечения моделирования, симуляции, мониторинга и анализа бизнес-процессов, возможность динамического перестроения моделей бизнес-процессов силами участников и средствами программных систем.

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

BPMS (Business Process Management System) – программное обеспечение, обеспечивающее прикладную реализацию концепции BPM.

BPMN (Business Process Modeling Notation) – нотация (система графических обозначений и их описание в формате XML) бизнес-процесса.

BPMS на рынке существует великое множество, включая лидеров рынка – Oracle или IBM. Из названия понятно, что эти системы очень мощные, сильные, дорогие и подходят далеко не каждой организации, а стоимость их внедрения может начинаться от 100.000 евро и выше. Понятно, что только крупные компании могут себе позволить внедрить такую систему.

Компания Camunda Services, которая является вендором Camunda BPM, долгое время занималась консультированием организаций в области управления бизнес-процессами, но в результате создала свой продукт и начала активно его развивать.

В сети есть разные сравнения Аctivity и Camunda и, по большей части, они в пользу последней, да и список компаний, использующих камунду достаточно обширный: Deutsche Bank, Goldman Sachs Group, Тинькофф банк, Сбер, Теле 2 и т.д.

Мы все понимаем, что бизнес-процесс должен быть максимально понятным. Моделирование процессов происходит с применением нотаций (нотации — это система графических обозначений и их описание в формате XML). Нотаций существует довольно много, но самая популярная из них, конечно, текущая версия BPMN 2.0 (2.0.2 – 2014 г), которая постепенно развивается и пополняется новыми элементами.

Рассмотрим пример бизнес-процесса, описанном нотацией BPMN:

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

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

Здесь нарисован пул процесса и отдельными линиями – дорожки процесса. Каждая дорожка — это отдельная роль бизнес-процессов. Верхняя — это инициатор процессов, посередине – портал и внизу – ответственный за исполнение бизнес-процессов.

Зеленый кружок — стартовые события процессов, красные кружки – конечные события процессов.

Прямоугольник — задачи (=таски), которые исполняются во время жизненного цикла бизнес-процесса.

Задачи со значком шестеренок — сервисные задачи, которые не требуют участия оператора.

Задачи со значком человечка – это те задачи, которые требуют участия человека.

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

Что же такое Camunda BPM?

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

Компоненты CAMUNDA BPM (Community)

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Давайте подробнее рассмотрим компоненты комьюнити версии Camunda:

Компоненты Camunda BPM (Enterprise)

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Enterprise версия – платная, договор, тех поддержка 24\7 и в техническом плане она получше комьюнити версии. Например, появляются:

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

Camunda Optimize — оптимизация и улучшение бизнес-процессов, выявление «узких мест», отчеты и «тепловые карты» процессов, все это помогает улучшить, оптимизировать и модернизировать бизнес-процессы.

Пример тепловой карты процесса

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

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Способы развертывания Camunda BPM

Как я ранее писал, Camunda BPM написана на тех. стеке Java, поэтому у нее есть много способов развертывания.

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

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Второй способ тоже подходит для Java приложений — сервис внутри сервера приложений или контейнера сервлетов («расшаренный» сервис), который могут использовать другие приложения, развернутые в контейнере.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Третий способ, если приложения написаны не на Java, развернуть Camunda как отдельно стоящий сервер и приложение будут с ним контактировать по Rest API удаленно.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Четвертый способ для высоконагруженных систем — кластерное развёртывание для высоконагруженных систем, когда есть общая база данных и несколько нод с камундой.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Практическая часть – пробуем Camunda своими руками

Внутри мы видим один класс Application — @SpringBootApplication, как я и писал ранее, камунда хорошо интегрируется со SpringBoot. А также в проекте есть файл с настройками приложения и файл с описанием процесса в формате BPM.

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

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Но давайте немного усложним задачу и внесем изменения в процесс. Процесс мы сделаем процессом регистрации пользователя на портале, тот пример, о котором мы говорили в начале статьи и к которому обещал вернуться. Для этого нам нужно изменить стартовое событие и добавить туда переменную «username», которая добавляется через Camunda Modeler (кросс-платформенное решение, скачивается с официального сайта, бесплатное)

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

В результате у нас получилось модифицировать стартовое событие. Дальше необходимо модифицировать пользовательскую задачу, тут же добавляем форму с именем пользователя. Причем имя пользователя мы делаем «read only», чтобы тот человек, который будет утверждать создание нового пользователя не мог изменить его имя. А также добавляем переменную «decision», которая позволяет утвердить или отклонить эту регистрацию.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Запускаем экземпляр процесса. Для запуска экземпляра процесса заходим в приложение Camunda Tasklist (веб-приложение, через которое конечные пользователи могут зайти, посмотреть какие задачи на них назначены и выполнить какие-то действия) и нажимаем «Запустить процесс».

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Находим свой демо процесс, который мы создали и видим форму запуска процесса.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

После этого появляется окошко для ввода имени пользователя (переменная username), заполняем его и запускаем процесс.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Процесс запущен, и мы видим, что на пользователя Demo упала задача. Задача, как и ожидается называлась отклонить или утвердить регистрацию. Выделяем ее и видим форму, которую мы создавали. Также мы видим имя пользователя, которое нельзя редактировать, а решение – можно. Завершаем задачу, нажав кнопку «Complete» и на этом процесс завершается.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Давайте добавим немного экшена в процесс и усложним задачу – создадим ветвления.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Для этого добавляем к существующему процессу — шлюз, который будет «ветвить» этот алгоритм:

И также создаем конечное событие. В результате у нас появляются два сервисных таска: создать нового пользователя и отправить уведомление. Сервисные таски, как я уже писал ранее, это таски, которые не требуют участия оператора в их выполнении. Следовательно, в них должна быть заложена логика и здесь мы покажем простой способ взаимодействия с Java кодом.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Выделяем модуль или сервисный таск и в нем прописываем implementation, выбирая способ Delegate Expression и добавляем в Delegate Expression собственное имя. Собственно этот бин нам и нужно создать в коде.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Аналогично поступим в другим сервисным таском – отправить уведомление.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Также пропишем Delegate Expression, добавляем ему имя бина «notifyUser» и создаем соответствующий компонент, реализующий JavaDelegate в коде.

Вот этот способ через DelegateExecution работает только в случае с Java приложениями.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Возникает вопрос: а что делать, если приложение не на Java или если Camunda развернута на отдельном сервер?

В этом случае выбираете способ имплементации не Delegate Expression, а External и просто указываете какой-то топик, куда будет отправлен месседж и, соответственно, через очереди будет делегироваться выполнение в ваш код.

Последний шаг – запустить все то, что мы создали. Вводим имя

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Видим таск «утвердить\отклонить регистрацию». Допустим, мы отклоняем регистрацию. Тогда не ставим галочку в поле «Утвердить?» и нажимаем «Complete».

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

После этого переходим в логи и видим, что пользователю Дарт Вейдер отказано в регистрации

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Если мы принимаем регистрацию, то ставим галочку в поле «Утвердить?» и нажимаем «Complete». В этом случае процесс исполняется по другой ветке и в логах отображается по-другому.

Как установить camunda modeler. Смотреть фото Как установить camunda modeler. Смотреть картинку Как установить camunda modeler. Картинка про Как установить camunda modeler. Фото Как установить camunda modeler

Вместо вывода

Выше я описал самую простую схему процесса. В реальности же системы намного сложнее с множественными ветвлениями, а в эти диаграммы BPM можно вставлять другие таски, которые могут реализовать нотации DMN.

Camunda не позиционирует себя как low-code или no-code система. Camunda позиционирует себя как систему, где должно быть разумное сочетание, своеобразный симбиоз, между бизнесом, аналитиками и разработкой.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *