Общая информация
Универсальный шаговый метод - это самый важный элемент для работы мобильных приложений (процессов) построенных с помощью BPMS.
Приложения в данном случае строятся на принципе Server-driven development (SDD). Это такой подход к разработке мобильных приложений, в котором основная бизнес логика и пользовательский интерфейс управляются с сервера.
Сама архитектура SDD обычно включает следующие компоненты:
- Клиентское приложение: Это мобильное приложение, которое выполняет функцию отображения и взаимодействия с пользователем. Клиентское приложение получает данные и инструкции от сервера для построения пользовательского интерфейса и выполнения задач.
- Сервер: Сервер является центральным компонентом архитектуры SDD. Он содержит бизнес-логику и пользовательский интерфейс, которые будут доставляться на устройства клиентов. Сервер также может быть ответственным за обработку запросов от клиента, аутентификацию и авторизацию пользователей, агрегацию данных и другие задачи.
- Шаблоны и конфигурации: Сервер предоставляет шаблоны и конфигурационные файлы, которые определяют структуру и внешний вид пользовательского интерфейса. Эти шаблоны и конфигурации могут быть динамически изменены на сервере, что позволяет легко обновлять и модифицировать пользовательский интерфейс без необходимости выпуска новых версий приложения на устройствах клиентов.
Основной функционал метода можно описать так:
- Регистрация временного пользователя в системе. В случае использования метода без заголовка "Authorization" возвращает пару токенов.
- Движения пользователя по бизнес логике клиентского приложения. Коротко: для осуществления перехода пользователя на определенный экран, клиентское приложение парсит в ответе на POST /bpm/step массив "nodesFields" с полями, врапперами и виджетами. Массив "nodesFields", несмотря на свое название, может содержать абсолютно любую вложенность нод, пример с формированием экрана для пользователя является частным случаем и должен упростить понимание. Затем, приложение формирует из полученного массива UI модели с заданными свойствами, которые в дальнейшем преобразуются в готовые для добавления на экран UI элементы. Таким образом формируется итоговый графический интерфейс.
- Передача данных пользователя. Данные введенные пользователем в поля графического интерфейса передаются в теле запроса на сервер с помощью сущности "nodes_fieldname". Подробнее об этом можно узнать из раздела "Nodes fieldname"