Инструменты и принципы
разработки
BPMSoft предоставляет разработчикам широкий спектр современных технологий и гибкую инструментальную среду, оптимизированную для кастомизации бизнес-приложений.
Платформа поддерживает следующие технологии разработки:
- Front-end фреймворки: Angular, Ext.js;
- Back-end фреймворки: .NET 8, .NET Framework;
- Поддерживаемые front-end языки программирования: TypeScript, JavaScript;
- Поддерживаемые back-end языки программирования: C#.
BPMSoft предлагает интегрированную среду разработки (IDE), значительно ускоряющую процесс кастомизации системы и решения типовых задач. Внутренняя IDE поддерживает языки программирования C#, JavaScript и TypeScript.
Для работы с проектами в локальной файловой системе разработчики могут использовать внешние среды разработки, такие как Microsoft Visual Studio. Это позволяет сохранить привычную рабочую среду и сосредоточиться на написании кода, минимизируя время, затрачиваемое на изучение новых инструментов. Интеграция с IDE способствуют упрощению и ускорению процесса разработки.
Low-code и no-code разработка
BPMSoft предлагает инструменты low-code и no-code для выполнения различных задач:
- Создание пользовательского интерфейса для мобильных и веб-приложений;
- Создание панели для отображения дашбордов;
- Настройка интеграций со сторонними сервисами;
- Создание структуры данных;
- Разработка бизнес-процессов;
- Создание кейсов для отображения перехода между стадиями жизненного цикла объекта;
- Построение моделей машинного обучения.
Low-code и no-code инструменты позволяют минимизировать кодирование, упрощая процесс разработки.
Рисунок 1 — Low-code настройка пользовательского интерфейса

Механизм пакетов
Пакет представляет собой специализированный контейнер, предназначенный для группировки компонентов системы. В рамках данной архитектуры функциональность приложения инкапсулируется в пакеты, что обеспечивает модульность и гибкость разработки.
Пакеты могут включать в себя:
- бизнес-объекты;
- бизнес-процессы;
- схемы с исходным кодом C#;
- клиентские модули на языке JavaScript;
- SQL-сценарии;
- внешние сборки и данные.
Пакетная архитектура, реализованная в BPMSoft, позволяет декомпозировать функциональные блоки системы на отдельные модули, что значительно упрощает процесс разработки, тестирования и развертывания новых функциональностей. Модульность также обеспечивает возможность быстрого расширения конфигурации системы и переноса изменений между различными средами без необходимости полной переработки кода.
Приложение на базе BPMSoft представляет собой набор пакетов, устанавливаемых поверх основного ядра системы. Важно отметить, что пакеты не оказывают влияния на внутреннюю логику ядра.
Основная логика системы закрыта для прямых манипуляций, однако она остается открытой для расширения и модификации посредством добавления новых пакетов. Эта модель расширения системы основывается на принципе открытости/закрытости, который предполагает, что система должна быть закрыта для модификаций, но открыта для расширения. Это позволяет разработчикам и пользователям системы добавлять новые пакеты от различных издателей.
СУБД-независимая архитектура
BPMSoft разработана с учетом возможности легкой кастомизации и передачи изменений независимо от выбранной системы управления базами данных (СУБД). В основе платформы лежит собственная система объектно-реляционного отображения (ORM), что позволяет классифицировать ее как СУБД-независимую архитектуру.
Разработка бизнес-процессов
В BPMSoft реализован визуальный редактор бизнес-процессов, который позволяет пользователям создать собственную бизнес-логику. Разработка бизнес-логики в редакторе бизнес-процессов может осуществляться только силами бизнес-аналитиков, без привлечения разработчика. Подробнее: Бизнес-процессы
Рисунок 2 — Редактор бизнес-процесса

Интеграции
BPMSoft предоставляет набор инструментов для интеграции с внешними сервисами: REST API, SOAP-сервисы, протокол OData, а также вебхуки, что позволяет эффективно взаимодействовать с различными системами и платформами. Для обеспечения безопасности пользовательских данных в процессе идентификации и аутентификации используются протоколы OAuth и LDAP.
Платформа предоставляет возможность разрабатывать интеграции как в рамках основной системы, так и в виде отдельных приложений. Подробнее: Интеграции