Нереляційне сховище даних

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальний опис

Підсистема виконання бізнес-процесів використовує розподілену in-memory базу даних Redis з Підсистеми управління нереляційними базами даних для зберігання проміжних даних, породжених у межах виконання бізнес-процесів та даних, необхідних для побудови UI-форм кабінетів користувачів.

2. Структури даних

2.1. bpm-form-submissions

Зберігання даних, внесених користувачами через UI-форми, цифрових підписів та даних, переданих у якості вхідних параметрів бізнес-процесу зовнішніми системами.

Під ключем bpm-form-submissions зберігається перелік унікальних ключів (set) під якими зберігаються безпосередньо дані у вигляді hash-таблиці за окремими ключами які мають префікс bpm-form-submissions.

Паттерн генерації ключа для запису даних UI-форми
bpm-form-submissions:process/{processInstanceId}/task/{taskDefinitionKey}
Паттерн генерації ключа для запису даних стартової UI-форми бізнес-процесу
bpm-form-submissions:process-definition/{processDefinitionKey}/start-form/{UUID}
Паттерн генерації ключа для запису з даними цифрової печатки реєстру
bpm-form-submissions:lowcode_{rootProcessInstanceId}_{processInstanceId}_system_signature_ceph_key
Паттерн генерації ключа для запису з даними цифрової печатки реєстру для батч-операцій
bpm-form-submissions:lowcode_{processInstanceId}_system_signature_ceph_key_{index}"
Таблиця 1. Опис структури для зберігання даних
Ключ Тип даних Опис

id

String

Унікальний ідентифікатор

accessToken

String

JWT-токен користувача

data

String (JSON)

Дані

signature

String

Цифровий підпис

2.2. bpm-message-payloads

Зберігання даних, переданих у якості вхідних параметрів з повідомленням для ініціювання бізнес-процесу.

Під ключем bpm-message-payloads зберігається перелік унікальних ключів (set) під якими зберігаються безпосередньо дані у вигляді hash-таблиці за окремими ключами які мають префікс bpm-message-payloads.

Паттерн генерації ключа для запису
bpm-message-payloads:process-definition/{processDefinitionKey}/start-message/{UUID}
Таблиця 2. Опис структури для зберігання даних
Ключ Тип даних Опис

id

String

Унікальний ідентифікатор

data

String (JSON)

Дані вхідних параметрів (тіла повідомлення)

2.3. bpm-form-schemas

Зберігання описів структур UI-форм в JSON-форматі, сумісному з Form.IO.

Дані зберігаються у вигляді Hash-таблиці з сегрегацією об’єктів на рівні префіксів в ідентифікаторах (<keyspace>:<key>).

Паттерн генерації ключа для запису
bpm-form-schemas:{formKey}
Таблиця 3. Опис структури для зберігання
Ключ Тип даних Опис

id

String

Унікальний ідентифікатор - ключ UI-форми

formData

String (JSON)

Опис структури форми и JSON-форматі

2.4. bpm-form-scripts

Дана секція потребує уточнення по результату реалізації технічного дизайну Екстерналізація скриптів UI-форм.

Зберігання коду скриптів для використання в UI-формах кабінетів користувачів.

Дані зберігаються у вигляді Hash-таблиці з сегрегацією об’єктів на рівні префіксів в ідентифікаторах (<keyspace>:<key>).

Паттерн генерації ключа для запису
bpm-form-scripts:{scriptName}
Таблиця 4. Опис структури для зберігання
Ключ Тип даних Опис

id

String

Унікальний ідентифікатор - назва файлу зі скриптом в регламенті

formScript

String

Контент файлу зі скриптом в регламенті