unibpm-integration-runtime
Назначение
unibpm-integration-runtime — это базовый runtime-сервис для выполнения
integration-модулей UniBPM.
Он отвечает за:
- запуск Spring Boot приложения;
- загрузку integration-модулей;
- security и CORS;
- базовую инфраструктуру (логирование, конфигурацию).
Технологический стек
- Java 17
- Spring Boot 3.x
- Maven
- Docker
Архитектура
Runtime представляет собой стандартное Spring Boot приложение, к которому подключаются integration-модули как зависимости.
Каждый integration-модуль:
- поставляет auto-configuration;
- регистрирует свои endpoints;
- использует инфраструктуру runtime.
Запуск
Локально
mvn spring-boot:run
Через Docker
docker build -t unibpm-integration-runtime .
docker run -p 8091:8091 unibpm-integration-runtime
Конфигурация
Общие properties
server:
port: 8091
Security модель
Принципы
- Все endpoints под
/public/**— без аутентификации - Все остальные endpoints — запрещены
- CSRF отключён
- Stateless
Пример SecurityConfig
.authorizeHttpRequests(auth -> auth
.requestMatchers("/public/**").permitAll()
.anyRequest().denyAll()
)
CORS
CORS конфигурируется на уровне runtime и управляется через properties.
unibpm:
integration:
runtime:
cors:
enabled: true
path-patterns: ["/public/**"]
allowed-origin-patterns:
- "http://localhost:*"
allowed-methods: ["POST", "OPTIONS"]
Расширение runtime
Чтобы добавить новый integration-модуль:
- Создать модуль с auto-configuration.
- Подключить его как dependency.
- Включить через properties (если требуется).
Runtime не требует изменений кода.