Обзор технологий
BPMSoft
BPMSoft — это low-code платформа, созданная для автоматизации клиентских и внутренних бизнес-процессов. Она предоставляет инструменты для разработки, внедрения и масштабирования приложений и функциональных блоков. В BPMSoft есть low-code и no-code инструменты, позволяющие создавать приложения как аналитикам, так и разработчикам.
Логические слои приложения
Система построена на трехуровневой архитектуре и имеет следующие уровни:
Рисунок 1 ― Трехуровневая архитектура

Уровень представления
Этот уровень обеспечивает доступ пользователя к системе через графический интерфейс. Доступ возможен через веб-браузер или мобильное приложение для iOS и Android.
Уровень включает веб-страницы, JavaScript-код и стили, которые определяют логику и внешний вид интерфейса.
Используемые технологии: JavaScript, HTML, CSS.
Уровень приложения
Уровень приложения отвечает за основную бизнес-логику, такую как управление кейсами, бизнес-процессы, интеграция с телефонией и другие функции. Он обрабатывает аутентификацию и авторизацию пользователей, проверяет лицензии, создает экземпляры и запускает индивидуальную бизнес-логику.
Уровень приложения работает на платформах .NET Framework или .NET 8 и может быть развернут на веб-серверах IIS для Windows или Kestrel для Linux и Windows. На уровне инфраструктуры его поддерживает сервер приложений.
Уровень данных
Уровень данных выполняет следующие функции:
- Хранение и управление данными клиентов, настройками приложений, метаданными и информацией аутентификации пользователей;
- Хранение данных сессий, часто используемых кэшей в памяти и обеспечение быстрого взаимодействия между узлами при горизонтальном масштабировании.
Система поддерживает следующие СУБД:
- Postgres Pro.
- Microsoft SQL Server.
- PostgreSQL.
В качестве сервера кэширования можно использовать Redis.
На инфраструктурной схеме приложения уровень данных представлен серверами кэширования и базами данных.
Структура системы
Систему можно представить в виде следующих компонентов:
Разработка приложения ведется на уровне базы данных и конфигурации.
Ядро
Базовая функциональность приложения собрана в ядре. Ядро — это неизменяемая часть BPMSoft. Разработчики могут использовать все возможности ядра, но не могут его менять.
Ядро включает:
- Back-end компоненты на C# с .NET Framework или .NET 8, в зависимости от сборки продукта;
- Front-end компоненты на JavaScript с различными фреймворками. Они отвечают за работу клиентских модулей системы, разработку пользовательского интерфейса и решение бизнес-задач в браузере.
Back-end компоненты
Основные back-end компоненты ядра:
- ProcessEngineService.svc — движок для запуска бизнес-процессов;
- Объектная модель доступа к данным — встроенная ORM и прямой доступ к базе данных;
- Библиотеки элементов управления на технологии ASP.NET. Например, раздел «Конфигурация»;
- Конфигурационные веб-сервисы — модуль с уникальным URL-адресом, обеспечивающий совместную работу и обмен данными между приложениями;
- Системные разделы и основные дизайнеры системы;
- Механизмы и библиотеки для интеграции со сторонними сервисами;
- Пакеты — наборы элементов системы с определенной функциональностью. Пакеты включают объекты, бизнес-процессы, SQL-сценарии, данные и другие компоненты.
Front-end компоненты
Основные front-end компоненты ядра:
- Внешние библиотеки клиентских фреймворков;
- Модуль Sandbox для обмена сообщениями между клиентскими модулями;
- Модуль ServiceHelper для вызова методов конфигурационных веб-сервисов;
- Модуль ProcessModuleUtilities для запуска бизнес-процессов;
- Базовые клиентские модули, в которых реализована логика основных страниц системы.
Конфигурация
BPMSoft предоставляет встроенную интегрированную среду разработки. Она позволяет настраивать и адаптировать систему под конкретные требования. Встроенная среда разработки реализована в разделе «Конфигурация» дизайнера системы.
Конфигурация — это совокупность функциональности, доступной пользователям в определенном рабочем пространстве. Она состоит из клиентских модулей и серверных компонентов, объединенных в пакеты.
В состав пакетов могут входить следующие элементы:
- Объект;
- Бизнес-процесс;
- Клиентский модуль;
- Веб-сервис (REST или SOAP);
- SQL-сценарий;
- Данные.
База данных
База данных — уровень хранения данных. В ней хранятся не только данные пользователя, но и системная информация, например, системные настройки или права доступа. Платформа предоставляет инструменты для работы с базой данных из интерфейса приложения.
Технологии разработки
BPMSoft поддерживает следующие технологии разработки:
- Front-end фреймворки: Angular, Ext.js, RequireJS;
- Back-end фреймворки: .NET 8, .NET Framework;
- Поддерживаемые front-end языки программирования: TypeScript, JavaScript;
- Поддерживаемые back-end языки программирования: C#, Python;
- Фреймворк мобильной разработки: Flutter.
При работе над проектами на локальной файловой системе разработчики могут использовать сторонние IDE, такие как Microsoft Visual Studio.
Low-code/no-code инструменты
BPMSoft предоставляет следующие low-code/no-code инструменты:
- Дизайнер бизнес-процессов;
- Мастер разделов;
- Дизайнер кейсов;
- Инструменты интеграции;
- Инструменты искусственного интеллекта.
Дизайнер бизнес-процессов
BPMSoft предоставляет редактор бизнес-процессов, построенный на технологии «drag-and-drop». С помощью бизнес-процессов можно решить различные задачи по кастомизации: от несложных бизнес-процессов до интеграций. Подробнее: Бизнес-процессы.
Мастер разделов
Мастер разделов – low-code инструмент BPMSoft, который используется для создания или редактирования разделов, деталей, страниц, вкладок и мини-карточек. Мастер разделов также позволяет добавлять и настраивать бизнес-логику на страницах раздела. Подробнее: Настройка разделов.
Дизайнер кейсов
Кейсы представляют собой набор стадий, состоящий из последовательных или параллельных шагов, ход которых может определятся динамически в зависимости от бизнес-логики. Дизайнер кейсов спроектирован на основе движка процессов – ProcessEngineService. Использование дизайнера кейсов позволяет настраивать последовательность стадий процесса и шаги, которые должен выполнить пользователь на каждой из стадий. Подробнее: Дизайнер кейсов.
Инструменты интеграции
BPMSoft предоставляет возможность интегрироваться с REST-службами с помощью встроенных инструментов. Для быстрого и гибкого внедрения в уже существующую инфраструктуру предприятия, BPMSoft поддерживает:
- Расширенные инструменты интеграции (REST, SOAP, OData). Подробнее: Возможности интеграции;
- Систему контроля доступа и администрирования.
Общий алгоритм работы интеграций:
- Генерация запроса к веб-сервису.
- Отправка запроса.
- Получение ответа.
- Извлечение данных.
Извлеченные данные могут продолжать использоваться в системе.
Инструменты искусственного интеллекта
В BPMSoft реализованы готовые AI и ML инструменты, позволяющие облегчить выполнение повседневных задач и автоматизировать рутинные операции.
Путем выявления зависимостей между данными и анализа данных, BPMSoft позволяет автоматизировать процесс принятия решений. Реализация предиктивного анализа данных в BPMSoft осуществляется через настраиваемые алгоритмы — модели машинного обучения. В разделе «Модели машинного обучения» вы можете использовать преднастроенные модели, а также создавать и обучать свои собственные модели предиктивного анализа данных.
AI инструменты BPMSoft — это интеллектуальные помощники, которые облегчают сотрудникам выполнение повседневных задач и ускоряют рабочие процессы. Например, приложение «Модуль AI пересказ» позволяет быстро понять суть переписки и эмоциональный фон клиента, а «AI-ассистент по базе знаний BPMSoft» находит ответы на интересующие вопросы по базе знаний BPMSoft.
Подробнее: BPMSoft AI.
Контейнерные компоненты
В BPMSoft входят микросервисы, которые можно установить и настроить отдельно:
- Сервис глобального поиска — инструмент для быстрого и эффективного поиска информации в системе. Он использует индексацию с помощью поискового движка OpenSearch и позволяет искать данные в любом разделе приложения.
- Сервис поиска и объединения дублей — помогает быстро находить и объединять дублирующиеся записи.
- Сервис синхронизации почты — обеспечивает синхронизацию электронной почты с основными почтовыми сервисами, такими как MS Exchange, IMAP и SMTP, через механизм подписок.
- Сервис машинного обучения — анализирует исторические данные, с помощью него работают модели машинного обучения.
Каждый микросервис можно развернуть как через Docker, так и через Kubernetes.