Приложение
BPMSoft
BPMSoft ― современная кроссплатформенная система, построенная на трехуровневой архитектуре. Использование современных технологий и инфраструктурных решений помогает системе обладать высокой гибкостью и масштабируемостью.
Логические слои приложения
Система построена на трехуровневой архитектуре и имеет следующие слои (уровни):
- Уровень представления;
- Уровень приложения;
- Уровень данных.
Рисунок 1 ― Трехуровневая архитектура
Уровень представления
Уровень отвечает за предоставление системы пользователю через графический интерфейс. К этому уровню можно получить доступ через веб‑браузер или мобильное приложение для IOS или Android. Уровень содержит веб‑страницы, JavaScript код и стили, определяющие логику и внешний вид пользовательского интерфейса. Технологии, используемые на данном уровне: JavaScript, HTML, CSS.
Уровень приложения
Уровень приложения определяет основную бизнес‑логику, такую как динамическое управление кейсами, механизм бизнес‑процессов, интеграция с телефонией и т. д. Отвечает за обработку аутентификации и авторизации пользователей, проверку лицензий, создание экземпляров и последующий запуск индивидуальной бизнес‑логики.
Уровень приложения реализован на платформах .NET Framework или .NET 8. Может быть развернут на веб-серверах IIS для ОС Windows и Kestrel для Linux. На уровне инфраструктуры слой представлен сервером приложений. Подробнее: Системные требования к веб-серверу
Уровень данных
Уровень данных отвечает:
- За хранение и управление данными клиентов, настройками приложений, метаданными и данными аутентификации пользователей;
- Используется для хранения в памяти данных сессий, часто используемых кэшей и быстрого взаимодействия между узлами в веб‑ферме.
Система поддерживает следующие СУБД: Microsoft SQL Server, PostgreSQL, Postgres Pro, Tantor, Pangolin, Arenadata Prosperity. Подробнее: Системные требования к серверу баз данных
В качестве сервера кэширования могут быть использованы следующие базы данных: Redis, Dragonfly, KeyDB. Подробнее: Системные требования к серверу кэширования
На инфраструктурной схеме приложения слой данных представлен серверами кэширования и базы данных.
Инфраструктура приложения
Инфраструктура основного приложения представлена следующими основными компонентами:
Инфраструктуру можно расширить, добавив опциональный компонент:
Рисунок 2 ― Схема архитектуры приложения без балансировщика нагрузки

Вы можете использовать Калькулятор системных требований, чтобы выполнить базовый расчет параметров конфигурации для актуальной версии BPMSoft.
Сервер приложений
Реализацией логического уровня приложения является сервер приложения, реализованный на .NET Framework или на .NET 8.
Сервер приложений на .NET Framework
Развертывание серверов приложений на платформе .NET Framework осуществляется на сервераx c ОС Windows под управлением IIS (Microsoft Internet Information Services). Подробнее: Системные требования.
Сервер приложений на платформе .NET Framework состоит из двух компонентов:
- Загрузчик.
Данный компонент отвечает за авторизацию пользователя и его аутентификацию, проверку лицензий, запуск планировщика фоновых задач. Одной из основных задач компонента является перенаправление пользователя в конфигурационную часть основного приложения. Загрузчик на уровне файловой системы размещен в корневой папке приложения. - Конфигурационная часть.
Данный компонент является конкретной реализацией конфигурации системы и отвечает за работу бизнес-логики системы. Конфигурационная часть приложения на уровне файловой система размещена в папке BPMSoft.WebApp.
Сервер приложений на .NET 8
Сервера приложений на платформе .NET 8 доступны для развертывания в ОС Linux под управлением Kestrel и ОС Windows под управлением IIS (Microsoft Internet Information Services). Подробнее: Системные требования
В отличии от версий приложений на .NET Framework, приложения на .NET 8 являются неделимыми и выполняют задачи как загрузчика, так и конфигурационной части. С описанием системы на платформе .NET 8 можно ознакомиться в статье Продукты на платформе .NET 8
Сервер базы данных
Один из компонентов, реализующий логический уровень базы данных ― сервер базы данных. Базы данных хранят данные, необходимые для работы системы, пользовательские данные и конфигурационные настройки, которые определяют функциональность продукта.
В качестве СУБД могут использоваться MS SQL Server, PostgreSQL, Postgres Pro, Tantor, Pangolin, Arenadata Prosperity.
Сервер кэширования
Второй компонент, реализующий логический уровень базы данных ― сервер кэширования.
Сервер кэширования используется для:
- Хранения данных пользователя и приложения (профиль пользователя, сессионные данные и т.п.);
- Хранение кэшированных данных;
- Обмен данными между узлами веб-фермы.
В архитектуре системы реализована технология хранилищ данных. В основе этой технологии лежит объектная модель классов, предоставляющая унифицированный API для доступа из приложения к данным, расположенным во внешнем хранилище ― сервер кэширования.
Определить способ хранения данных можно путем конфигурирования сервера кэширования.
Мобильное приложение
Для работы с BPMSoft на мобильных устройствах доступно специальное мобильное приложение. Подробнее: Обзор мобильного приложения BPMSoft
Архитектурная схема взаимодействия мобильного приложения и BPMSoft представлена ниже.
Рисунок 3 – Схема взаимодействия мобильного приложения и BPMSoft

Мобильное приложение, как и веб-версия, использует порт 443 для HTTPS соответственно. Если не удается подключиться по одному из протоколов, система автоматически пытается использовать другой.
Мобильное приложение не поддерживает работу с самоподписанными сертификатами или сертификатами от неофициальных центров сертификации. При подключении по HTTPS сертификат должен быть действительным, выданным официальным центром сертификации и содержать полную цепочку.
Если настроен прокси-сервер, который перенаправляет запросы на основное приложение, проверка сертификата будет выполняться прокси-сервером. Его сертификат также должен быть действительным, выданным официальным центром сертификации и иметь полную цепочку сертификатов.
Развертывание BPMSoft
Схемы развертывания
Существует две базовые схемы развертывания приложения:
- Без использования балансировщика нагрузки.
Данный вариант развертывания не предусматривает работу системы с отказоустойчивостью; - С использованием балансировщика нагрузки.
Данный вариант развертывания предусматривает работу системы с отказоустойчивостью. Подробнее: Горизонтальное масштабирование
Варианты развертывания
Существует два варианта развертывания приложения BPMSoft:
- Локальное (On-site). Развертывание осуществляется на локальных серверах клиента;
- Облачное (Cloud). Развертывания осуществляется в облаке.
Локальное развертывание
Преимущества развертывания on-site:
- Повышенная скорость и удобство разработки;
- Независимость сред разработки. Исключено негативное влияние на пользователей системы, поскольку разработка ведется в отдельном приложении;
- Использование системы контроля версий;
- Возможность использования внешних IDE и настраивать процессы непрерывной интеграции.
Ограничения развертывания on-site:
- Необходимо физическое наличие серверов для развертывания компонентов;
- Требуется поддержка инфраструктуры.
Все затраты, связанные с организацией серверной части (установка, настройка, сопровождение, администрирование), возлагаются на клиента. Для развертывания системы необходимо соблюдать технические требования. Это касается как серверов, на которые будут развернуты компоненты системы, так и клиентских компьютеров, на которых будет запускаться система. Для расчета параметров серверов воспользуйтесь Системными требованиями.
Ознакомится с on-site развертыванием системы можно в разделе Развертывание on-site. BPMSoft поддерживает следующие варианты on-site развертывания:
- Развертывание BPMSoft на Microsoft Windows;
- Развертывание BPMSoft на Linux;
- Развертывание BPMSoft через DEB-пакет;
- Развертывание BPMSoft через Docker;
- Развертывание BPMSoft через Kubernetes.
Развертывание в Облаке BPMSoft
При данном варианте развертывание системы осуществляется на мощностях BPMSoft, что положительно влияет на быстродействие системы. Установка приложения на серверах BPMSoft снимает с клиентов обязанность своевременно обновлять сервера и администрировать. Эта задача лежит на специалистах BPMSoft. Главной особенностью такого способа развертывания системы является отсутствие доступа к базе данных приложения и к файловой системе. Для выполнения запросов к базе данных и получения лог-файлов необходимо обратиться в техническую поддержку BPMSoft.
Поставка обновления для систем, развернутых в облаке, осуществляется через специальный раздел «Установка и удаление приложений».