Підсистема управління даними реєстру

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

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

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

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

  • Створення, читання, зміна та видалення записів реєстру.

  • Пошук даних за параметрами.

  • Реалізація рольового доступу до даних (RBAC).

  • Ведення історичності змін.

  • Збереження інформації про походження даних.

  • Збереження пов’язаних файлів реєстру.

  • Збереження підписаних запитів в якості підстав для зміни даних реєстру.

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

registry management overview.drawio

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

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

Тип події

Службова назва

Опис

USER_ACTION

SEARCH ENTITY

Надходження запиту про пошук даних до Сервіс синхронного управління даними реєстру

USER_ACTION

SEARCH

Надходження запиту про пошук даних до Сервіс синхронного управління даними реєстру

USER_ACTION

READ ENTITY

Надходження запиту про отримання даних за ідентифікатором до Сервіс синхронного управління даними реєстру

USER_ACTION

UPDATE ENTITY

Надходження запиту про внесення змін до Сервіс синхронного управління даними реєстру

USER_ACTION

UPSERT ENTITY

Надходження запиту про внесення створення або зміну сутності до Сервіс синхронного управління даними реєстру

USER_ACTION

DELETE ENTITY

Надходження запиту про видалення запису до Сервіс синхронного управління даними реєстру

USER_ACTION

SELECT FROM TABLE

Операція пошуку даних в БД

USER_ACTION

KAFKA_REQUEST_UPDATE

Надходження запиту про внесення змін до Сервіс асинхронного управління даними реєстру

USER_ACTION

KAFKA REQUEST CREATE

Надходження запиту про створення нового запису до Сервіс асинхронного управління даними реєстру

USER_ACTION

KAFKA REQUEST DELETE

Надходження запиту про видалення запису до Сервіс асинхронного управління даними реєстру

USER_ACTION

UPDATE TABLE

Операція внесення змін в БД

USER_ACTION

DELETE FROM TABLE

Операція видалення запису з БД

USER_ACTION

INSERT INTO TABLE

Операція створення нового запису до БД

USER_ACTION

CONSTRAINT ERROR

Збереження або зміна даних порушують наявні обмеження БД

USER_ACTION

CLIENT ERROR

Клієнтська помилка при синхронному запиті

USER_ACTION

RUNTIME ERROR

Помилка в процесі опрацювання запита

USER_ACTION

INVALID_HEADER_VALUE

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

USER_ACTION

HEADERS_ARE_MISSING

Один або декілько обов’язкових заголовків відсутні

USER_ACTION

LIST_SIZE_VALIDATION_ERROR

Кількість елементів для завантаження перевищено

USER_ACTION

VALIDATION_ERROR

Помилка вхідних даних при синхронному запиті

USER_ACTION

PROCEDURE_ERROR

Помилка виклику процедури

USER_ACTION

THIRD_PARTY_SERVICE_UNAVAILABLE

При опрацюванні запитів одна з систем Платформи не була доступна

USER_ACTION

NOT_FOUND

При пошуку сутності по ідентифікатору, сутність не було знайдено.

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

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

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

Сервіс синхронного управління даними реєстру

registry-rest-api-deployment

origin

github:/epam/edp-ddm-service-generation-utility

github:/epam/edp-ddm-rest-api-core-base-image

github:/epam/edp-ddm-kafka-api-core-base-image

Обробляє синхронні REST API запити на читання та запис даних реєстру.

Сервіс асинхронного управління даними реєстру

registry-kafka-api-deployment

origin

Обробляє асинхронні запити на читання та запис даних реєстру.

Операційна БД реєстру

registry

origin

github:/epam/edp-ddm-registry-postgres

База даних що містить службові таблиці сервісів і всі таблиці реєстру змодельовані адміністратором регламенту. Вона також фіксує історію змін даних та перевіряє права згідно з RBAC.

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

ceph:file-ceph-bucket

origin

-

Зберігання цифрових документів реєстру

Сховище вхідних даних

ceph:datafactory-ceph-bucket

origin

-

Зберігання підписаних даних при внесенні в реєстр

Сховище вихідних даних

ceph:response-ceph-bucket

origin

-

Тимчасове зберігання даних для передачі в рамках міжсервісної взаємодії всередині підсистеми

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

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

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

6.1. Scalability

Підсистема управління даними реєстру підтримує як горизонтальне, так і вертикальне масштабування.

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

6.2. Observability

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

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

6.3. Auditability

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

6.4. Security

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