Підсистема виконання бізнес-процесів

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

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

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

2. Функції підсистеми

  • Перегляд доступних для виконання бізнес-процесів

  • Управління бізнес-процесами, ініційованими користувачем

  • Управління задачами бізнес-процесів, які призначені до виконання користувачу

  • Оркестрація виконання бізнес-процесів згідно розробленого цифрового регламенту

  • Постачання схем для побудови UI-форм внесення даних при виконанні задач користувачем

  • Внесення даних та цифрових документів через UI-форми задач бізнес-процесів

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

  • Перегляд історії наданих та отриманих послуг користувачем

  • Перегляд історії виконаних задач користувача

3. Технічний дизайн підсистеми

На даній діаграмі зображено компоненти, які входять в Підсистему виконання бізнес-процесів та їх взаємодію з іншими підсистемами в рамках реалізації функціональних сценаріїв.

bpms subsystem design

3.1. Аудит та журналювання подій

Події виконання бізнес-процесів фіксуються у журналі аудиту з повним контекстом.

Реалізацію подій аудиту заплановано в рамках робіт над технічним беклогом.

Тип події Службова назва Опис

USER_EVENT

TASK_CREATED

Нова задача збережена

USER_EVENT

TASK_UPDATED

Існуючу задачу було змінено

USER_EVENT

PROCESS_CREATED

Новий процес збережено

USER_EVENT

PROCESS_UPDATED

Існуючий процес було змінено

Детальніше з дизайном Підсистеми журналювання подій аудиту можна ознайомитися за посиланням.

4. Складові підсистеми

Назва компоненти Представлення в реєстрі Походження Репозиторій Призначення

Сервіс виконання бізнес-процесів

bpms

origin

github:/epam/edp-ddm-bpms

Сервіс, розроблений на базі технології Camunda BPM, який відповідає за управління процесом виконання моделей бізнес-процесів (BPMN) та бізнес-правил (DMN) реєстру.

Сервіс управління процесами користувача

user-process-management

origin

github:/epam/edp-ddm-user-process-management

Сервіс, який надає REST API для управління бізнес-процесами через кабінети користувачів та виконує оркестрацію виконання запитів

Сервіс управління задачами користувача

user-task-management

origin

github:/epam/edp-ddm-user-task-management

Сервіс, який надає REST API для управління виконанням задач через кабінети користувачів та виконує оркестрацію виконання запитів

Сервіс постачання UI-форм

form-schema-provider

origin

github:/epam/edp-ddm-form-schema-provider

Cервіс, який відповідає за підготовку JSON-структур UI-форм задач для відображення в кабінеті користувача та надає REST API для їх отримання.

Сервіс валідації даних UI-форм

form-submission-validation

origin

github:/epam/edp-ddm-form-submission-validation

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

Сервіс цифрових документів

digital-document-service

origin

github:/epam/edp-ddm-digital-document-service

Сервіс, який відповідає за тимчасове зберігання файлів, внесених користувачами до моменту їх збереження в реєстр або існуючих файлів реєстру, доступ до яких було надано в межах виконання бізнес-процесу

Сервіс доступу до історичних даних БП

process-history-service-api

origin

github:/epam/edp-ddm-process-history-service-api

Сервіс, який надає REST API для доступу до історичних даних виконання бізнес-процесів та задач користувачів

Сервіс фіксації історичних подій БП

process-history-service-persistence

origin

github:/epam/edp-ddm-process-history-service-persistence

Сервіс, який відповідає за збереження змін стану виконання бізнес-процесів та задач користувачів

Операційна БД бізнес-процесів

operational:camunda

origin

github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/camunda

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

Операційна БД історичних даних бізнес-процесів

operational:process-history

origin

github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/process_history

Зберігання історичних даних виконання бізнес-процесів та задач реєстру

Операційне сховище проміжних даних UI-форм

redis:bpm-form-submissions

origin

-

Тимчасове зберігання даних, внесених через UI-форми задач користувачами до моменту їх збереження в реєстр

Операційне сховище проміжних даних повідомлень БП

redis:bpm-message-payloads

origin

-

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

Операційне сховище схем UI-форм

redis:bpm-form-schemas

origin

-

Зберігання JSON-структур опису UI-форм реєстру

Операційне сховище скриптів UI-форм

redis:bpm-form-scripts

origin

-

Зберігання JavaScript-скриптів, які використовуються в UI-формах реєстру

Операційне сховище цифрових документів БП

ceph:lowcode-file-storage

origin

-

Тимчасове зберігання файлів цифрових документів для використання у межах виконання бізнес-процесів

5. Технологічний стек

При проектуванні та розробці підсистеми, були використані наступні технології:

6. Атрибути якості підсистеми

6.1. Observability

Підсистема виконання бізнес-процесів підтримує журналювання та збір загальних метрик продуктивності для подальшого аналізу через веб-інтерфейси відповідних підсистем Платформи.

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

6.2. Scalability

Підсистема виконання бізнес-процесів розроблена з урахуванням можливості ефективної роботи при збільшенні навантаження, кількості бізнес-процесів та користувачів. Підтримується як вертикальне, так і горизонтальне масштабування з розподіленням навантаження між репліками.

Детальніше з масштабуванням підсистем можна ознайомитись у розділах:

6.3. Security

Підсистема виконання бізнес-процесів доступна лише авторизованим користувачам через Підсистему управління зовнішнім трафіком операційної зони реєстру з розмежуванням прав доступу на базі RBAC, що забезпечує захист важливих даних та критичних бізнес-процесів від не санкціонованого доступу та інших загроз безпеці.

Вся комунікація між компонентами підсистеми відбувається по захищеному каналу звязку з обов’язковою ідентифікацією, автентифікацією та шифруванням трафіку між сервісами (mTLS).

6.4. Flexibility

Підсистема виконання бізнес-процесів забезпечує простоту та швидкість внесення змін в бізнес-логіку цифрових послуг реєстру завдяки підтримці концепції декларативних описів бізнес-процесів (BPMN) та інших складових цифрового регламенту.

Детальніше з підсистемами, які відповідають за моделювання та застосування змін до цифрового регламенту, можна ознайомитись у відповідних розділах:

6.5. Interoperability

Підсистема виконання бізнес-процесів забезпечує широкі можливості інтеграції реєстру з іншими системами завдяки широкому набору типових розширень інтеграційних конекторів з підтримкою REST та SOAP протоколів.

Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах:

6.6. Auditability

Підсистема виконання бізнес-процесів реалізує можливості фіксації всіх значимих подій змін стану виконання бізнес-процесів та задач користувачів з підтримкою налаштування рівня деталізації ведення журналу аудиту.

Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах: