Обзорная архитектура
Платформа «Камунда.РФ» разрабатывается как комплексное решение для автоматизации и управления бизнес-процессами организации.
Проект направлен на создание масштабируемой платформы, объединяющей возможности классической BPMN-системы с расширенным функционалом мониторинга и аналитики, а также обеспечение стабильной работы на высоких нагрузках.
При реализации проекта и развитии его модулей мы преследуем следующие цели:
| № | Цель | Мотивация / Описание |
|---|---|---|
1 |
Совместимость |
Клиенты не должны тратить ресурсы на обновление кодовой базы, переписывание компонентов и прочие действия при переходе на "Камунда.РФ" с Camunda 7 или Camunda 8 |
2 |
Безопасность |
Система должна поставляться с обновлёнными версиями зависимостей и исправленными уязвимостями, обнаруженными до даты релиза. Система должна проходить регулярные проверки информационной безопасности. |
3 |
Надёжность |
Система должна обеспечивать производительность, удовлетворяющую требованиям клиента, при наличии требуемых ресурсов. |
4 |
Поддерживаемость |
Система должна предоставлять инструменты для контроля своего состояния и контроля входящих в неё компонентов |
Обзорная архитектура
Решение разбито на несколько изолированных компонентов:
-
Камунда.РФ 7 – Движок BPMN-процессов на базе Camunda 7.24.X
-
Расширение "История" – Расширение для Камунда.РФ 7, позволяющее хранить исторические данные по бизнес-процессам во внешнем хранилище, без влияния на выполнение текущих процессов.
-
-
Камунда.РФ 8 – Движок BPMN-процессов на базе Camunda 8.5.X
-
Расширение "История" – Расширение (exporter) для Камунда.РФ 8, позволяющее хранить исторические данные по бизнес-процессам во внешнем хранилище, без влияния на выполнение текущих процессов.
-
-
Пульт – Модуль управления и отслеживания состояния выполняемых процессов
Компоненты могут быть развернуты и работать как по отдельности, так и в составе одного технического решения.
Камунда.РФ 7
Сервис выполнения бизнес-процессов в нотации BPMN 2.0, может выполняться как Standalone-решение, так и Embedded-решение.
Может выполняться в любом окружении, поддерживающем Java Virtual Machine версии 17+, для работы требуется наличие СУБД PostgreSQL версии 12+.
В стандартной поставке требуется только наличие СУБД. При подключении расширения История дополнительно требуется наличие подключения к Apache Kafka или совместимому решению для выгрузки исторических данных.
Камунда.РФ 8
Может выполняться в любом окружении, поддерживающем Java Virtual Machine версии 17+, для работы требуется наличие постоянного дискового хранилища для хранения оперативных данных по выполняемым процессам. В стандартной поставке не требует дополнительных компонентов.
При подключении расширения История дополнительно требуется наличие подключения к Apache Kafka или совместимому решению для выгрузки исторических данных.
Камунда.РФ Пульт
Пульт состоит из двух элементов:
-
SPA-приложения, содержащего пользовательский интерфейс
-
Crawler — API для SPA-приложения и коллектора исторических данных.
Для хранения данных о выполняемых процессах пульту необходима СУБД ClickHouse версии не ниже 24.8. Для управления бизнес-процессами (повтор инцидентов, изменения значений переменных, перемещение процесса на предыдущий или следующий шаг) компоненту необходим доступ к серверам Платформы 7 / 8, с которыми он будет взаимодействовать.
Расширения "История" для Камунда.РФ 7/8
Используется для выгрузки исторических данных Камунда.РФ 7/8 или Camunda 7/8 в отдельное хранилище. Расширение подключается как плагин к решению. Для работы требуется наличие подключения к Apache Kafka.
Расширение "История" предназначено для решения проблем, связанных с накоплением больших объёмов исторических данных в Камунда.РФ 7, которые негативно влияют на производительность и увеличивают затраты на хранение. Решение реализовано в виде дополнительного расширения для Камунда.РФ 7 и внешнего сервиса, обеспечивающего обработку и хранение истории.
Расширение реализует вынос исторических данных из основной СУБД (PostgreSQL) во внешнее хранилище на базе ClickHouse с использованием Apache Kafka (или совместимого брокера, например RedPanda) в качестве промежуточного буфера.