Уровни
системы
BPMSoft — это low-code платформа (low-code developer platform), которая помогает быстро создавать, внедрять и расширять приложения.
Система состоит из трех уровней:
Приложение разрабатывается на уровнях конфигурации и базы данных, при этом ядро остается неизменным.
Конфигурация
Конфигурация системы представляет собой совокупность функциональных возможностей, доступных пользователю рабочего пространства. В эту структуру входят:
- Серверная логика, обеспечивающая выполнение бизнес-процессов на стороне сервера;
- Клиентская логика, включающая настраиваемые конфигурационные элементы для взаимодействия с пользователем;
- Автогенерируемые классы и клиентские схемы, являющиеся результатом работы low-code настроек приложения.
Типы конфигурационных элементов включают:
- Бизнес-процесс, визуализирующий последовательность пользовательских действий и операций;
- Клиентский модуль, обеспечивающий функциональность пользовательского интерфейса и взаимодействие с конечными пользователями;
- Объект, представляющий собой базовую единицу данных в системе.
BPMSoft предоставляет встроенную среду разработки, позволяющую кастомизировать систему и настраивать ее через раздел «Управление конфигурацией».
База данных
База данных представляет собой уровень хранения данных, который включает как пользовательские данные, так и системную информацию, такую как системные настройки и права доступа. Платформа предоставляет инструменты для работы с базой данных через интерфейс приложения.
Некоторые задачи целесообразно реализовывать на уровне базы данных, используя механизмы представлений и хранимых процедур. Разработанная бизнес-логика может быть использована в пользовательских конфигурационных элементах.
Ядро
Ядро представляет собой фундаментальную и неизменяемую компоненту системы BPMSoft, содержащую базовый набор библиотек с функциональными возможностями, необходимыми для работы приложения.
Ядро разработано с использованием технологий C# и .NET Framework или .NET 8. Разработчик может использовать всю предоставляемую функциональность ядра, но не имеет возможности его изменять.
Основные составляющие ядра включают:
Таблица 1 — Составляющие ядра
| Элемент | Описание | Подробнее |
| ProcessEngineService.svc | Компонент, обеспечивающий функционирование движка бизнес-процессов | Сервис запуска бизнес-процессов |
| EntitySchemaQuery | Объектная модель доступа к данным, интегрирующая встроенную ORM и прямой доступ к базе данных. Рекомендуется использовать объектную модель для оптимизации процессов доступа к данным | Доступ к данным через ORM |
| Веб-сервисы | Системные веб-сервисы, обеспечивающие взаимодействие между различными компонентами системы | Конфигурационные веб-сервисы |
| Мастер раздела, мастер деталей, дизайнер страниц редактирования | Системные разделы и основные дизайнеры системы, предназначенные для кастомизации интерфейса без необходимости написания кода | Кастомизация No-code |
| Внешние сборки | Механизмы и библиотеки для интеграции с внешними сервисами, обеспечивающие взаимодействие с внешними системами и платформами | Back-end (C#) |
| Пакеты и замещающие элементы | Пакеты и механизм их замещения, позволяющие управлять модулями и расширять функциональность системы | Работа с пакетами |
Кроме того, ядро включает front-end компоненты, разработанные на языке JavaScript с использованием различных фреймворков, которые обеспечивают работу клиентских модулей системы. Эти компоненты предназначены для разработки пользовательского интерфейса и выполнения бизнес-задач на стороне браузера.
Основные front-end компоненты включают:
Таблица 2 — Компоненты клиентской части
| Элемент | Описание | Подробнее |
| Sandbox (песочница) | Модуль, предназначенный для обмена сообщениями между клиентскими модулями и обеспечения их взаимодействия | Sandbox |
| Клиентский модуль | Базовые клиентские модули, содержащие логику основных объектов системы | Модули |