Підсистема виконання бізнес-процесів
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Загальний опис
Підсистема, призначенням якої є забезпечення виконання автоматичних та напівавтоматичних бізнес-процесів за участі користувачів, управління задачами внесення даних через UI-форми із застосуванням налаштованих правил валідації, зберігання даних та цифрових документів користувачів до моменту їх внесення до реєстру та перегляду історії наданих та отриманих послуг користувачем.
2. Функції підсистеми
-
Перегляд доступних для виконання бізнес-процесів
-
Управління бізнес-процесами, ініційованими користувачем
-
Управління задачами бізнес-процесів, які призначені до виконання користувачу
-
Оркестрація виконання бізнес-процесів згідно розробленого цифрового регламенту
-
Постачання схем для побудови UI-форм внесення даних при виконанні задач користувачем
-
Внесення даних та цифрових документів через UI-форми задач бізнес-процесів
-
Валідація даних та цифрового підпису, внесених через UI-форми задач бізнес-процесів, згідно налаштованих правил
-
Перегляд історії наданих та отриманих послуг користувачем
-
Перегляд історії виконаних задач користувача
3. Технічний дизайн підсистеми
На даній діаграмі зображено компоненти, які входять в Підсистему виконання бізнес-процесів та їх взаємодію з іншими підсистемами в рамках реалізації функціональних сценаріїв.
3.1. Аудит та журналювання подій
Події виконання бізнес-процесів фіксуються у журналі аудиту з повним контекстом.
Реалізацію подій аудиту заплановано в рамках робіт над технічним беклогом. |
Тип події | Службова назва | Опис |
---|---|---|
USER_EVENT |
TASK_CREATED |
Нова задача збережена |
USER_EVENT |
TASK_UPDATED |
Існуючу задачу було змінено |
USER_EVENT |
PROCESS_CREATED |
Новий процес збережено |
USER_EVENT |
PROCESS_UPDATED |
Існуючий процес було змінено |
Детальніше з дизайном Підсистеми журналювання подій аудиту можна ознайомитися за посиланням. |
4. Складові підсистеми
Назва компоненти | Представлення в реєстрі | Походження | Репозиторій | Призначення |
---|---|---|---|---|
Сервіс виконання бізнес-процесів |
|
origin |
Сервіс, розроблений на базі технології Camunda BPM, який відповідає за управління процесом виконання моделей бізнес-процесів (BPMN) та бізнес-правил (DMN) реєстру. |
|
Сервіс управління процесами користувача |
|
origin |
Сервіс, який надає REST API для управління бізнес-процесами через кабінети користувачів та виконує оркестрацію виконання запитів |
|
Сервіс управління задачами користувача |
|
origin |
Сервіс, який надає REST API для управління виконанням задач через кабінети користувачів та виконує оркестрацію виконання запитів |
|
Сервіс постачання UI-форм |
|
origin |
Cервіс, який відповідає за підготовку JSON-структур UI-форм задач для відображення в кабінеті користувача та надає REST API для їх отримання. |
|
Сервіс валідації даних UI-форм |
|
origin |
Сервіс, який відповідає за валідацію даних, внесених користувачами через UI-форми кабінету, згідно налаштувань реєстру та цифрового регламенту. |
|
Сервіс цифрових документів |
|
origin |
Сервіс, який відповідає за тимчасове зберігання файлів, внесених користувачами до моменту їх збереження в реєстр або існуючих файлів реєстру, доступ до яких було надано в межах виконання бізнес-процесу |
|
Сервіс доступу до історичних даних БП |
|
origin |
Сервіс, який надає REST API для доступу до історичних даних виконання бізнес-процесів та задач користувачів |
|
Сервіс фіксації історичних подій БП |
|
origin |
Сервіс, який відповідає за збереження змін стану виконання бізнес-процесів та задач користувачів |
|
|
origin |
github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/camunda |
Зберігання службових даних розгорнутих бізнес-процесів, налаштувань авторизації, стану виконання бізнес-процесів, стану змінних, тощо. |
|
|
origin |
github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/process_history |
Зберігання історичних даних виконання бізнес-процесів та задач реєстру |
|
|
origin |
- |
Тимчасове зберігання даних, внесених через UI-форми задач користувачами до моменту їх збереження в реєстр |
|
|
origin |
- |
Тимчасове зберігання даних, переданих у якості вхідних параметрів з повідомленнями для ініціювання бізнес-процесів |
|
|
origin |
- |
Зберігання JSON-структур опису UI-форм реєстру |
|
|
origin |
- |
Зберігання JavaScript-скриптів, які використовуються в UI-формах реєстру |
|
|
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
Підсистема виконання бізнес-процесів реалізує можливості фіксації всіх значимих подій змін стану виконання бізнес-процесів та задач користувачів з підтримкою налаштування рівня деталізації ведення журналу аудиту.
Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах: |