Підсистема зовнішніх інтеграцій
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Загальний опис
Підсистема надає стандартизовані інтерфейси для взаємодії на базі REST та SOAP протоколів з ціллю забезпечення інтероперабельності реєстру з зовнішніми системами.
Підсистема зовнішніх інтеграцій підтримує наступні опції налаштування інформаційного обміну:
-
Через використання шини безпечного обміну "Трембіта" у якості захищеного транспорту.
-
Через налаштування прямих інтеграцій з зовнішніми системами, які не є учасниками інформаційного обміну СЕВДЕІР "Трембіта".
-
Через налаштування прямих інтеграцій з реєстрами, які розгорнуті на одному екземплярі Платформи Реєстрів.
-
Через публічно-доступний API.
Зовнішніми системами для інтеграції можуть виступати як сторонні інформаційні системи, так і реєстри, розгорнуті на окремих екземплярах Платформи Реєстрів.
2. Функції підсистеми
-
Надання API для ініціювання автоматичних та напівавтоматичних бізнес-процесів реєстру сторонніми системами.
-
Надання API пошукових операцій по даним реєстру стороннім системам.
-
Маршрутизація запитів при міжреєстровій взаємодії на одному екземплярі Платформи Реєстрів.
3. Технічний дизайн підсистеми
3.1. Міжреєстрова взаємодія
В рамках цієї підсистеми виникає взаємодія між двома реєстрами розгорнутими на одній платформі, що створює звʼязок реєстр джерело даних та реєстр споживач даних.
Реєстр джерело даних - реєстр тримач даних який дозволяє операції читання цих даних за допомогою окремих пошукових запитів.
Реєстр споживач даних - реєстр якому було надано доступ до пошукових запитів реєстру джерела даних
Ключовий аспект який дозволяє таку взаємодію це створення сервісного користувача в реєстрі джерелі для реєстру споживача даних та використання його при здійсненні запитів. Отримання облікових даних сервісного користувача та операція автентифікації здійснюється API-шлюзом міжреєстрової взаємодії розгорнутим в реєстрі споживачі даних. Сам API-шлюз міжреєстрової взаємодії доступний для автентифікованих користувачів реєстру споживача даних.
Окремим випадком є надання доступу до даних сторонній системі споживачу даних. В даному сценарії створюється окремий сервісний користувач, а його облікові дані передаються адміністраторам системи. В такому разі автентифікація і обмін токенів має відбуватись безпосередньо сторонньою системою.
4. Аудит та журналювання подій
Події маніпуляцій з даними реєстру через сторонні системи фіксуються у журналі аудиту з повним контекстом. Окрім подій підсистеми управління даними реєстру фіксуються додатково наступні події:
Тип події | Службова назва | Опис |
---|---|---|
USER_EVENT |
SOAP request. Method: ${methodName} |
Запит на читання даних з фіксацією конкретного методу. |
USER_EVENT |
EXCEPTION |
Помилка отримання даних. |
Детальніше з дизайном Підсистеми журналювання подій аудиту можна ознайомитися за посиланням. |
5. Складові підсистеми
Назва компоненти | Представлення в реєстрі | Походження | Репозиторій | Призначення |
---|---|---|---|---|
API-шлюз для викликів БП зовнішніми системами |
|
origin |
Шлюз надання доступу для виклику бізнес процесів сторонніми системами через ШБО Трембіта та напряму через Підсистему управління зовнішнім трафіком. |
|
API-шлюз міжреєстрової взаємодії |
|
origin |
Сервіс виконання запитів до реєстрів платформи від імені сервісних користувачів. |
|
API-шлюз для читання даних реєстру зовнішніми системами |
|
origin |
Компонент який надає SOAP інтерфейс для читання даних через ШБО Трембіта. |
|
Сервіс синхронного управління даними реєстру для міжреєстрової взаємодії |
|
origin |
Виділений екземпляр сервісу синхронного управління даними для надання доступу до читання даних іншим реєстрам на платформі. |
|
Сервіс синхронного управління даними реєстру для публічного доступу до даних |
|
origin |
Виділений екземпляр сервісу синхронного управління даними для надання доступу до читання даних з публічним доступом |
6. Технологічний стек
При проектуванні та розробці підсистеми, були використані наступні технології:
7. Атрибути якості підсистеми
7.1. Interoperability
Підсистема зовнішніх інтеграцій підтримує сумісність з іншими системами за рахунок надання стандартизованих інтерфейсів для взаємодії з реєстром (REST, SOAP).
7.2. Scalability
Підсистема зовнішніх інтеграцій підтримує як горизонтальне, так і вертикальне масштабування.
Детальніше з масштабуванням підсистем можна ознайомитись у відповідних розділах: |
7.3. Observability
Підсистема зовнішніх інтеграцій підтримує журналювання та збір метрик продуктивності для подальшого аналізу через веб-інтерфейси відповідних підсистем Платформи.
Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах: |
7.4. Security
В Підсистемі зовнішніх інтеграцій всі комунікації здійснюються з використанням асинхронного шифрування трафіку TLS. Всі запити до сервісів які безпосередньо здійснюють операції над даними реєстру вимагають автентифікацію. Запити між реєстрами в середині Платформи здійснюються за внутрішніми іменами сервісів (внутрішня мережа).