Архитектура
Структура
Bpium Enterprise состоит из 3 независимых приложений. Серверные приложения могут быть установлены на одном или разных серверах.
КОСКО BPM— сервер приложения и логики
КОСКО BPM S3 — сервер файлового хранилища
COSCO BPM — сервер исполнения процессов
Также для работы используются другие приложения
Postgre SQL — сервер баз данных
Redis— сервер хранилища состояния процессов и очереди заданий
Веб-сервер (опционально) — веб-сервер для балансировки и HTTPS
Приложения для работы сотрудников:
Веб-приложение — приложение для настройки системы и работы сотрудников
Мобильное приложение — приложение для работы сотрудников
Операционная система
КОСКО BPM— кроссплатформенное решение. Поддерживаются операционные системы Windows, на базе Linux, Alpine, Mac OS X.
Поддерживаются разные способы разворачивания системы: из файлов, через Docker-образы, в середе Kubernetres, PM2 и других.
Одиносерверная архитектура
Все сервисы могут работать на одном выделенном или виртуальном сервере:
Особенности:
Сервисы КОСКО BPM и КОСКО BPM S3 должны иметь публичные внешние адреса.
Многосервисность
Возможно разделить сервисы по серверам для увеличения производительности и независимости:
Особенности:
Остальные сервисы могут не иметь внешних адресов, но должны быть досягаемы между собой
Сервис COSCO BPM должен иметь доступ во вне и к сервису КОСКО BPM
Сохранение состояния исполнения процессов реализуется за счет хранилища/очереди Redis
Многосерверная архитектура
Сервисы могут находится на разных серверах и стоять за маршрутизаторами, внешними веб-серверами или балансировщиками нагрузки:
Особенности
Сервис КОСКО BPM должен иметь доступ к сервису КОСКО BPM S3 через интернет (по внешнему адресу)
Сервис КОСКО BPM BPM должен иметь доступ к сервису КОСКО BPM через интернет (по внешнему адресу)
Каналы взаимодействия сервисов
Все сервисы КОСКО BPM рассчитаны на многосерверную распределенную параллельную работу:
Особенности:
Сервера КОСКО BPM S3 должны иметь общую папку для хранения файлов
Синхронизация баз данных реализуется через репликацию на уровне PostgreSQL
Синхронизация серверов COSCO BPM реализуется за счет хранилища/очереди Redis