Обзорная архитектура

Платформа «Камунда.РФ» разрабатывается как комплексное решение для автоматизации и управления бизнес-процессами организации.

Проект направлен на создание масштабируемой платформы, объединяющей возможности классической 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 или совместимому решению для выгрузки исторических данных.

Камунда.РФ Пульт

Пульт состоит из двух элементов:

  1. SPA-приложения, содержащего пользовательский интерфейс

  2. Crawler — API для SPA-приложения и коллектора исторических данных.

Для хранения данных о выполняемых процессах пульту необходима СУБД ClickHouse версии не ниже 24.8. Для управления бизнес-процессами (повтор инцидентов, изменения значений переменных, перемещение процесса на предыдущий или следующий шаг) компоненту необходим доступ к серверам Платформы 7 / 8, с которыми он будет взаимодействовать.

Расширения "История" для Камунда.РФ 7/8

Используется для выгрузки исторических данных Камунда.РФ 7/8 или Camunda 7/8 в отдельное хранилище. Расширение подключается как плагин к решению. Для работы требуется наличие подключения к Apache Kafka.

Расширение "История" предназначено для решения проблем, связанных с накоплением больших объёмов исторических данных в Камунда.РФ 7, которые негативно влияют на производительность и увеличивают затраты на хранение. Решение реализовано в виде дополнительного расширения для Камунда.РФ 7 и внешнего сервиса, обеспечивающего обработку и хранение истории.

Расширение реализует вынос исторических данных из основной СУБД (PostgreSQL) во внешнее хранилище на базе ClickHouse с использованием Apache Kafka (или совместимого брокера, например RedPanda) в качестве промежуточного буфера.

history work
Figure 1. Схема взаимодействия