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

1. Схема архитектуры

Меньше 1 минуты

1. Схема архитектуры

Если использовать все возможности системы, то компонентная архитектура будет выглядеть так ссылка.open in new window

Архитектура StormBPMN

Основной компонент

  • Приложение StormBPMN
    Центральное веб-приложение, поставляемое командой StormBPMN. Отвечает за моделирование, хранение и управление бизнес-процессами.

Используемая инфраструктура (на стороне заказчика)

Инфраструктурные компоненты

КомпонентНазначение
Балансировщик нагрузки (рекомендуем nginx)Обеспечивает HTTPS, распределение трафика
База данных (PostgreSQL 12+)Хранение всей информации
Хранилище файлов (MinIO или любой S3-совместимый)Хранение документов, превью, вложений
SMTP-сервер (внутренний)Отправка писем
Keycloak / OAuth2 / LDAPИспользуются для авторизации пользователей
Log Collector (например, Syslog)Сбор логов безопасности
PrometheusСбор метрик
GrafanaВизуализация метрик, алерты

LDAP помечен как устаревший способ авторизации и не рекомендуется к использованию в новых установках. Крайне рекомендуем освоить Keycloak, сильно сэкономите силы и время на поддержку. Инструкции по настройке LDAP предоставляются через менеджера.


Внешние open-source решения

КомпонентНазначение
ListMonkИспользуется при сложной генерации и рассылке писем
PlantUMLГенерация UML-диаграмм
GotenbergКонвертация изображений и HTML в PDF

Пользователи системы

ТипОписание
ПользовательРабота с процессами и шаблонами
АдминистраторНастройка приложений, систем, метрик
Администратор ИБНастройка логирования и контроля безопасности

Основные взаимодействия

  • Пользователи и администраторы взаимодействуют с системой через балансировщик по HTTPS.

  • Приложение stormbpmn:

    • сохраняет данные в PostgreSQL;
    • отправляет и принимает файлы через S3-совместимое хранилище;
    • отправляет письма через SMTP (или через ListMonk для сложной генерации);
    • обращается к системам авторизации: Keycloak, OAuth, LDAP;
    • генерирует диаграммы через PlantUML и PDF-документы через Gotenberg;
    • отправляет логи в Log Collector;
    • отдаёт метрики Prometheus.
  • Prometheus собирает метрики с приложения.

  • Grafana отображает метрики и настраивает алерты.


Безопасность

  • Все внешние подключения защищены через HTTPS.
  • Для админов и ИБ доступны SSH-подключения.
  • Устаревший LDAP выделен как компонент, не рекомендуемый к использованию.