Підсистема зовнішніх інтеграцій

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

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

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

Підсистема зовнішніх інтеграцій підтримує наступні опції налаштування інформаційного обміну:

  • Через використання шини безпечного обміну "Трембіта" у якості захищеного транспорту.

  • Через налаштування прямих інтеграцій з зовнішніми системами, які не є учасниками інформаційного обміну СЕВДЕІР "Трембіта".

  • Через налаштування прямих інтеграцій з реєстрами, які розгорнуті на одному екземплярі Платформи Реєстрів.

  • Через публічно-доступний API.

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

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

  • Надання API для ініціювання автоматичних та напівавтоматичних бізнес-процесів реєстру сторонніми системами.

  • Надання API пошукових операцій по даним реєстру стороннім системам.

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

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

cross registry integration context
Зображення 1. Логічна діаграма підсистеми
cross registry integration flow
Зображення 2. Розгорнуті сценарії послідовності даних

3.1. Міжреєстрова взаємодія

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

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

Реєстр споживач даних - реєстр якому було надано доступ до пошукових запитів реєстру джерела даних

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

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

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

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

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

USER_EVENT

SOAP request. Method: ${methodName}

Запит на читання даних з фіксацією конкретного методу.

USER_EVENT

EXCEPTION

Помилка отримання даних.

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

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

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

API-шлюз для викликів БП зовнішніми системами

bp-webservice-gateway

origin

github:/epam/edp-ddm-bp-webservice-gateway

Шлюз надання доступу для виклику бізнес процесів сторонніми системами через ШБО Трембіта та напряму через Підсистему управління зовнішнім трафіком.

API-шлюз міжреєстрової взаємодії

platform-gateway-deployment

origin

github:/epam/edp-ddm-platform-gateway

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

API-шлюз для читання даних реєстру зовнішніми системами

registry-soap-api-deployment

origin

Компонент який надає SOAP інтерфейс для читання даних через ШБО Трембіта.

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

registry-rest-api-ext

origin

Виділений екземпляр сервісу синхронного управління даними для надання доступу до читання даних іншим реєстрам на платформі.

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

registry-rest-api-public

origin

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

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

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

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

7.1. Interoperability

Підсистема зовнішніх інтеграцій підтримує сумісність з іншими системами за рахунок надання стандартизованих інтерфейсів для взаємодії з реєстром (REST, SOAP).

7.2. Scalability

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

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

7.3. Observability

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

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

7.4. Security

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