Введение и общая информация
BPMS (Business Process Management System) - программное обеспечение, которое позволяет управлять и непрерывно адаптировать процессы взаимодействия пользователя с ресурсами, за счёт моделирования этих процессов в доступном виде с использованием принятых нотаций, средствами администраторов системы. Дополнительными возможностями таких систем является симулирование, мониторинг и анализ процессов.
В нашем случае, система позволяет управлять процессом взаимодействия пользователя с клиентскими приложениями (Web, iOS, Android) с применением паттерна BFF (Backend-for-Frontend). Количество BFF и клиентских приложений, в рамках системы, не ограничено.
Компоненты системы
В BPMS входят следующие компоненты:
- Web приложение панели администратора
- Серверное приложение API панели администратора
- Серверное приложение API для потребителей
Основные термины
- Клиент BPMS
- Проект (приложение)
- Процесс
- Экран
- Группа элементов
- Виджет
- Компонент
- Параметры
- Действие
- Событие
- Цепочка условий
- Условие
- Сессия
- Внешний API
- Метод внешнего API
- Кастомный endpoint
- Ноды-функции
Основные функции BPMS
BPMS предоставляет набор тесно взаимосвязанных инструментов для полноценного проектирования, симуляции и мониторинга процесса взаимодействия с клиентскими приложениями. В частности, система позволяет настраивать и редактировать графический интерфейс клиентского приложения в реальном времени, за счёт подхода Backend-Driven UI, описывать бизнес логику приложения и BFF, описать собственные микросервисы, обеспечивать мониторинг ошибок и пользовательского опыта на этапе тестирование и эксплуатации клиентских приложений.
На данный момент, система профилируется под клиентские приложения в сфере финтеха, но в дальнейшем может быть переиспользована и в других направлениях.
Настройка графического интерфейса и бизнес логики клиентского приложения
Для того, чтобы мобильное приложение смогло отобразить установленный на экран, виджет или компонент, они должны быть в библиотеке компонентов клиентского приложения.
Система позволяет настроить:
- Отображаемый интерфейс:
- Состав экранов клиентского приложения;
- Состав виджетов и компонентов на экранах;
- Настройка визуального оформления виджетов и компонентов в зависимости от параметров;
- Расположение виджетов и компонентов на экранах;
- Поведение клиентского приложения:
- Действия, которые происходят при определённом событии в рамках экрана;
- Условия переходов между экранами при определённом событии и удовлетворении всех условий;
- Отображаемый контент:
- Настройка мультиязычности хранимого в системе контента;
- Заполнение контента из внешних API.
Настройка бизнес логики BFF
Система позволяет настроить:
- API gateway
- Проксирование и маршрутизация запросов к внешним API;
- Объединение данных из нескольких запросов к внешним API;
- Выполнение кастомных python скриптов (ноды-функции) по запросу;
- Валидацию данных, полученных от клиентского приложения;
- Валидация данных в ответах от внешних API;
- Настройка асинхронного взаимодействия с методами внешних API;
- Мокирование данных от внешних API;
- Хранение и кеширование данных на стороне системы.
Логирование и мониторинг
Система позволяет отслеживать:
- Нагрузку на систему;
- Последовательность запросов;
- Данные запросов;
- Путь пользователя клиентского приложения в рамках сессии;
- Количество пользователей клиентского приложения;
- Количество запросов к системе от клиентского приложения.
Сервисные функции
- Поддержка работы с разными доменами для разных проектов (приложений);
- Версионирование процессов;
- Перенос процессов между проектами и средами;
- Возможность подключить внешние системы к платформы sentry, которая входит в комплект поставки BPMS;
- Возможность разработать
Aвторизация
- HTTP: Bearer Auth
- API Key: api_key
Ключ пользователя — это своего рода «подпись» в BPM. Такой ключ выдаётся пользователю BPM после выполнения регистрационных/авторизационных действий. Ключ сообщает серверу, от имени какого именно пользователя осуществляются запросы и какие права у него есть. Время жизни ключа составляет 3 минуты.
Security Scheme Type: | http |
---|---|
HTTP Authorization Scheme: | bearer |
Bearer format: | JWT |
Статический (сервисный) ключ api_key. Выдаётся разработчиками по личному запросу и может использоваться с методами, которые не требуют других авторизаций. Такой ключ ни к чему не привязывается и имеет неограниченный срок действия.
Security Scheme Type: | apiKey |
---|---|
Header parameter name: | Authorization |