Перейти к основному содержимому

Camunda

Camunda — платформа для моделирования и автоматизации бизнес-процессов. Основана на открытых стандартах, предоставляет инструменты для создания, исполнения и мониторинга бизнес-процессов.

Для чего нужна

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

Определения

  • DMN (Decision Model and Notation): используется для описания бизнес-правил и логики принятия решений.
  • CMMN (Case Management Model and Notation): для моделирования и управления неструктурированными, гибкими процессами, которые зависят от событий и контекста.

Компоненты

  • Camunda BPM Engine: ядро платформы, исполняет процессы, смоделированные в BPMN, CMMN и DMN.
  • Camunda Modeler: десктопное приложение для создания и редактирования моделей.
  • Tasklist: веб-интерфейс для управления и выполнения пользовательских задач, назначенных в рамках процесса.
  • Cockpit: веб-интерфейс для мониторинга и управления запущенными процессами, анализа их выполнения и устранения проблем.
  • Admin: веб-интерфейс для администрирования платформы, управления пользователями, авторизациями и развертыванием процессов.

Примеры применения

Сценарий: Оркестрация процесса обработки заказа

  1. Клиент отправляет заказ через веб-приложение, который поступает в Camunda.
  2. Camunda запускает процесс обработки.
  3. Вызывает микросервис для валидации данных заказа (например, проверка наличия товаров на складе).
  4. Расчёт стоимости: Camunda вызывает другой микросервис для расчёта итоговой стоимости.
  5. Платёж и подтверждение: направляется запрос на внешний платежный сервис для списания средств.
  6. Оповещение склада: отправляется уведомление для сборки заказа.
  7. Camunda уведомляет клиента о статусе заказа.

Способы интеграции с платформой

  • REST API: передача данных о клиентах из CRM-системы в процессы Camunda для автоматического выполнения задач.
  • Java API: интеграция Camunda в Java-приложения для управления внутренними процессами компании.
  • Message Queues: обработка событий онлайн и передача их в процессы Camunda.
  • Connector Framework: для быстрой интеграции с облачными сервисами.

Скрипты в Camunda

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

  • JavaScript
  • Groovy
  • Python

Недостатки платформы

  • Требуется знание BPMN, DMN, CMMN для освоения платформы.
  • Сложно моделировать процессы, которые не вписываются в стандартные нотации.
  • В корпоративной среде может требовать значительного времени на настройку и интеграцию.
  • При больших нагрузках возможны проблемы с производительностью.

Материалы

  1. Camunda — что это такое?
  2. Camunda: тестируем модели процессов
  3. Пошаговая инструкция: делаем свой первый проект на Camunda и Kotlin
  4. Автоматизируем бизнес-процессы с Camunda и Spring Boot
  5. Camunda modeler: инструкция на русском
  6. Упрощаем работу в Camunda Modeler с помощью плагинов
  7. Стильная, модная, молодежная разработка BPM на Camunda
  8. Использование Camunda для оркестрации на основе REST
  9. Моделирование бизнес-процессов: практика использования Camunda в Java-разработке
  10. Мониторинг бизнес-процессов в Camunda 8
  11. Camunda 8 глазами аналитика
  12. Визуальный конструктор бизнес-логики на основе Camunda BPM
  13. Моделирование решений: краткий ликбез по нотации DMN
  14. Что такое модель управления делами и нотация (CMMN)
  15. DMN Документация

Видео

  1. Camunda: как перестать писать код и начать его рисовать
  2. Цикл видео: Camunda BPM
  3. Camunda BPM: пример бизнес-процесса "Заявка на страховку"
  4. Camunda, Kotlin, Spring Boot, PostgreSQL: создание шаблона приложения
  5. Camunda BPM: развертывание системы
  6. Сага на Camunda Platform 8: что это и для чего
  7. Camunda BPM для начинающих. 1. Развертывание системы | 2. Сборка Process Application
  8. Обучение работе в Camunda, часть 1 | часть 2
  9. Тестирование бизнес-логики на примере Camunda BPM
  10. Первый проект на Camunda: Создание и запуск бизнес-процесса
  11. BPMN за 9 минут: все квадратики на примерах

Конференции

  1. HighLoad++: Camunda на микросервисах
  2. Analyst Days: использование BPMN с DMN и CMMN

Книги

  1. Моделирование бизнес-процессов в нотации BPMN 2.0 — И. Г. Фёдоров
  2. Моделирование решений: краткий ликбез по нотации DMN
  3. Что такое модель управления делами и нотация (CMMN)