Обновления октября – Camunda 7.22 и Camunda 8.6
Всем привет!
На связи Мстислав, архитектор решений компании Реюнико и сегодня я расскажу об изменениях, вышедших в октябрьских обновлениях Camunda Platform. Изменения представлены в порядке убывания полезности / важности на основе субъективной оценки автора :-).
Camunda 8.6
Движок
Воскрешение Execution Listeners. Это одно из самых ожидаемых нововведений процессного ядра Camunda 8. Execution Listeners (листенеры, дословно – "слушатели исполнения") появились в Camunda 7 и реализовывались как делегатный код на Java, выражение JUEL или скрипт (JavaScript, Groovy). Назначение листенеров – спрятать техническую логику, чтобы она не усложняла диаграмму процесса. С их помощью удобно менять статусы связанных с процессом бизнес-объектов, отправлять уведомления участникам процесса, работать с контекстом процесса и вообще выполнять разные технические действия, неочевидные для бизнес-пользователей.
В Camunda 8, по причине её архитектурных особенностей, листенеры реализуются… вы угадали – точно так же, как и обычные Service Task, в виде Job Worker'ов.
Как и в Camunda 7, листенеры могут быть установлены на любой элемент BPMN – шлюз (gateway), событие (event), активность (activity), поток выполнения (sequence flow) и даже на сам процесс! Благодаря листенерам становится возможным вызывать бизнес-логику в таких элементах как, например None Event и Manual Task.
Листенеры могут быть установлены на два события, выполняемые:
-
Start – перед элементом BPMN;
-
End – после элемента BPMN.
Пока бизнес-логика, вызываемая в листенере, не будет выполнена, процесс приостановит свое исполнение.
В отличие от задач, листенеры имеют определенные ограничения, ознакомиться с которыми можно здесь.
В целом, это одна из наиболее полезных возможностей, появившихся в 8.6. Ждем с нетерпением возвращения Task Listeners!
Camunda Process Test (CPT) – новая библиотека для разработчиков Java / Spring Boot, позволяющая тестировать описания процессов удобнее, чем уже существующая Zeebe Process Test. В целом стиль написания тестов стал больше похож на Camunda BPM Assert, использующуюся в Camunda 7.
Self Managed
Лицензирование
Как и обещалось ранее, лицензионная политика в отношении Self Managed Camunda 8 поменялась фундаментально. В версиях 8.0-8.5, процессный движок Zeebe можно было свободно использовать в продуктивной среде (для использования Operate, Tasklist и прочего требовалась Enterprise лицензия). Начиная с версии 8.6 для запуска практически всех компонентов Camunda 8 (включая Zeebe) в промышленную эксплуатацию нужна лицензия. Для сред разработки лицензия не требуется (free for development/non-production purposes).
Предполагается, что эти изменения упорядочат и упростят лицензирование компонентов Camunda 8, а также позволят предоставлять пользователям всю платформу в виде единой сборки (single binary), например для целей тестирования и разработки.
Camunda 8 Run
Теперь разработчикам будет проще развернуть собственную "песочницу" Camunda 8 – по аналогии с 7-й версией платформа доступна в виде единой сборки, включающей в себя как кластер Zeebe, так и вспомогательные компоненты (Operate, Tasklist, коннекторы и Elasticsearch).
Требования к среде – наличие Java 21+ и Desktop Modeler. Сборка доступна для платформ: Linux, MacOS (M1, Intel), Windows. Качаем более чем гигабайтный архив и надеемся, чтобы рабочий ноутбук не помер от нагрузки: Waiting for Elasticsearch to start. N retries left.
Operate
Появились новые важные фичи, облегчающие работу оператора.
-
Batch Instance Modification – массовое изменение экземпляров процесса.
-
Автоматический маппинг элементов описаний процесса при миграции (Automapping for process instance migration) – реанимирован функционал, имевшийся в Camunda 7 Enterprise Cockpit. Он позволяет автоматически сопоставить элементы исходной и целевой моделей процесса при разработке инструкций для миграции.
Tasklist
Теперь можно устанавливать приоритеты пользовательских задач. Задать приоритет для пользовательских задач реализуемых как Zeebe User Task на этапе моделирования (extension-элемент zeebe:priorityDefinition). Приоритет представляет собой целочисленное значение от 0 до 100 (по-умолчанию = 50).
Поменять приоритет созданных задачи можно непосредственно в Tasklist.
Web Modeler
-
Появилась возможность просматривать используемые в модели переменные процесса с указанием имени переменной, типа, области видимости и связанного с ней элемента BPMN. Со слов вендора эта фича также доступна в Desktop Modeler, но в свежей версии 5.28 обнаружить её не удалось.
-
Можно просмотреть изменения XML в привязке к версии модели (майлстоуну).
-
Функции Undo/Redo теперь выведены на панель инструментов.
-
Синхронизация с GitHub.
Camunda 7.22
А как же обстоят дела со старой доброй Camunda 7, спросите вы?
Вендор заботливо предупреждает, что Camunda 7 кончится (end of life) через год, в октябре 2025 года с релизом 7.24. С этого момента новые версии выходить перестанут. Security-патчи будут доступны для Enterprise-клиентов в зависимости от типа соглашения о поддержке до 2027 или 2030 гг.
-
Обновлены поддерживаемые среды (наиболее примечательны поддержка Tomcat 10 и Spring Boot 3.3)
-
Docker-образ Camunda 7 Run теперь включает в себя минимально необходимые настройки для включения SSO с использование Spring Security OAuth2.
-
Исторические экземпляры задач можно отбирать по новому полю root process ID – это позволяет отобрать все задачи, запущенные в рамках дочерних процессов по процессу-родителю (ACT_HI_PROCINST.RESTARTED_PROC_INST_ID_).
-
Для задач как в рантайме, так и в истории добавлено поле TASK_STATE_, что позволяет отследить, как менялся статус задачи (Created, Updated, Completed, etc)
-
Для HTTP-коннектора теперь можно обрабатывать ошибки 4xxx и 5xxx без написания дополнительных скриптов.
Как обновиться на последнюю версию? Задайте вопрос на нашем форуме.
другие статьи
Camunda 7 или Camunda 8 – что выбрать?
Существуют две отличающиеся друг от друга системы – Camunda Platform 7 и Camunda 8. Рассмотрим каждую из них поближе.