Архитектура

Структура

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