773.14K
Category: financefinance

Типизация API

1.

STICKER
Название документа
Unit of measure
Типизация API
Область влияния: Весь Банк/Точечное влияние
Пересмотр ранее принятых архитектурных решений
См. Приложение 1
Материалы для рассмотрения
РГ по архитектуре при КБИТ
ДТРСПБ УРАИ СОПИ
март.2023

2.

Проблематика и цели
На текущий момент, в Банке нет зафиксированных определений типов API.
Применительно к API используются термины: внутренние, внешние, публичные, приватные, секьюрные, несекьюрные, конфиденциальные, системные,
Title
партнерские и другие API,
при этом нет единого понимания как определить и классифицировать тип своего API, какие типы должны/могут применяться
Unit of measure
при проектировании тех или иных взаимодействий. Есть схемы, показывающие как должны применяться публичные и приватные API, при этом как
определить однозначно тип API не зафиксировано.
Типизация API необходима для:
- выявления необходимости публикации API в Реестре API
- выявления необходимости публикации на интеграционных платформах (УИП/Платформа внутренних API/ Платформа внешних API и тд)
- выявления необходимых компонент/инструментов для проектирования взаимодействий (как пример: использовать RabbitMQ или ArtemisMQ)
- проектирования API (правила нейминга API, версионирования API, внесение изменений в спецификацию и контракт)
Цели:
На основании типизации API, определить правила публикации в Реестре API
На основании типизации API, определить правила внесения изменений API, в части спецификации и контракта поставщика API. Поддержка правил
— в Реестре API
На основании типизации API, определить правила публикации на интеграционных платформах
На основании типизации API, определить правила поддержки младших версий API
На основании типизации API, определить необходимые компоненты/инструменты для использования, при проектировании взаимодействий (как
минимум, промаркировать типовые схемы)
2

3.

Типизация API. Тип взаимодействия
Внешние взаимодействия – взаимодействия с участием внешних систем и/или систем Группы ВТБ. Хотя бы один из
Title
участников взаимодействия
не является системой Банка.
Unit of measure
Внутренние взаимодействия – взаимодействия с участием только систем Банка. Все участники взаимодействия
являются системами Банка.
3

4.

Типизация API
Title
Внутренние взаимодействия обеспечиваются
Unit of measure
через:
Внешние взаимодействия обеспечиваются
через:
-
Публичные API
: PublicAPI
-
Открытые API
-
Приватные API
: PrivateAPI
-
Партнерские API : PartnerAPI
-
Закрытые API
: IntSecAPI
-
Кастомные API : SecAPI
-
Фронтальные API : FrontAPI
-
Внешние API : ExtAPI
: OpenAPI
Открытый вопрос: наличие типа API во внешних взаимодействиях
-
Небанковские API (tbd? API ИС группы –> ИС группы)
4

5.

Типизация API. Внутренние взаимодействия. Правила типизации
Тип API
Мнем
окод
Поставщик
API
Потребитель
API
Владелец
спецификации
Условия/ограничения применения
Формат и логика
работы API
Доступность
спецификации
Публичные
API
Public
API
ИС Банка
Приватные
API
Privat
e API
ИС Банка
Закрытые API
IntSec
API
Фронтальные
API
Front
API
ИС Банка
Title
Unit of measure
Поставщик API
Предоставляется для ИС Банка,
подключение к API доступно в рамках
объявленных, поставщиком API, НФТ
(RPS). Реализуется под общие
требования неопределенного круга
потребителей по модели публичной
оферты.
Взаимодействие: UI (Fronted) →
Backend запрещено по ПА.ОП.08
Унифицированный
формат и логика
работы для всех
потребителей
Пример: API ОС/ОПС.
Спецификация API
доступна для
просмотра и изучения
доступна всем
внутренним
пользователям
Backend →
Backend
Модули,
компоненты,
подсистемы из
периметра
Поставщика
API. ИС =
Поставщик API
Поставщик API
Предоставляется в рамках одной ИС
Банка, для обеспечения взаимодействия
в рамках одной системы, если они
расположены физически в одном
пространстве/сегменте.
ИС Поставщика API = ИС Потребителя
API
Формат и логика
работы определены
внутренними
требованиями ИС
Банка.
Пример: вызовы по API
в рамках одного
Openshift.
Спецификация API
доступна для
просмотра и изучения
только участникам
этого взаимодействия.
Backend →
Backend
ИС Банка
ИС Банка
Поставщик API
Предоставляется для ИС Банка,
подключение к API ограниченно,
поставщиком API, за счет уникальной
реализации под одного или нескольких
потребителей. Также используется в
рамках одной ИС для обеспечения
обмена между
модулями/компонентами/подсистемами,
при расположении в разных физических
пространствах/сегментах
Логика работы
определена
специфичными
требованиями ИС
Банка,
Унифицированный
формат вызова
Спецификация API
доступна для
просмотра и изучения
только участникам
этого взаимодействия.
Backend →
Backend
Backend
ИС Банка
Fronted ИС
Банка
Поставщика
API
Поставщик API
Предоставляется в рамках одной ИС
Банка, предназначенное только для UI
(Fronted) ИС Банка в различных каналах
Формат и логика
работы определены
внутренними
требованиями ИС
Банка.
Спецификация API
доступна для
просмотра и изучения
только участникам
этого взаимодействия.
UI (Fronted) →
Backend
*ИС Банка — система, зарегистрированная в РИС, как система Банка (т. е. В данном контексте не относится только к типу ИС).
Участники и
направление
взаимодействия
5

6.

Типизация API. Внешние взаимодействия. Правила типизации
Тип API
Мнемок
од
Поставщик
API
Потребитель
API
Владелец
спецификации
Условия/ограничения применения
Формат и логика
работы API
Доступность
спецификации
Внешние API
ExtAPI
ИС Банка
Title
Внешняя
Unit of measure
ИС/Партнер,
Поставщик API
Предоставляется ИС Банка, для
подключения Внешних ИС/ИС Группы ВТБ.
НФТ определяется договором с
потребителем.
Для ИС Группы взаимодействие UI (Fronted)
только ИС Группы) → Backend допустимо
только при реализации авторизации на
backend
Унифицированный
формат и логика
работы для всех
потребителей
Спецификация API
доступна для
просмотра и
изучения всем
внутренним
пользователям
UI (Fronted)
только ИС
Группы →
Backend
Для подключения Внешних ИС/ИС Группы
ВТБ к API Банка, реализованного под
специфические требования списка
потребителей, и предоставляемый только
им. Для ИС Группы взаимодействие UI
(Fronted) только ИС Группы) → Backend
допустимо только при реализации
авторизации на backend
Формат и логика
работы определены
специфичными
требованиями
участников
взаимодействия.
Спецификация API
доступна для
просмотра и
изучения только
участникам этого
взаимодействия.
UI (Fronted)
только ИС
Группы →
Backend
Регулятор,
ИС Группы
ВТБ
Кастомные
API
SecAPI
ИС Банка
Внешняя
ИС/Партнер,
Регулятор,
ИС Группы
ВТБ
Поставщик API
Участники и
направление
взаимодействия
Backend →
Backend
Backend →
Backend
Открытые
API
OpenAP
I
ИС Банка,
Внешняя
ИС/Партнер,
Регулятор,
ИС Группы
ВТБ
ИС Банка,
Внешняя
ИС/Партнер,
Регулятор,
ИС Группы
ВТБ
Регулятор (ЦБ
РФ/АФТ);
Один из участников взаимодействия — ИС
Банка.
НФТ определяется договором с
потребителем.
Для обмена по общедоступной
спецификации
Логика работы
определена
специфичными
требованиями
участников
взаимодействия.
Унифицированный
формат вызова
Спецификация API
доступна для
просмотра и
изучения всем
Backend →
Backend
Партнерские
API
Partner
API
Внешняя
ИС/Партнер,
Регулятор,
ИС Группы
ВТБ
ИС Банка
Поставщик API
НФТ определяется договором с
потребителем
Формат и логика
работы определены
специфичными
требованиями
участников
взаимодействия.
Спецификация API
доступна для
просмотра и
изучения только
участникам этого
взаимодействия.
Backend →
Backend
*ИС Банка — система, зарегистрированная в РИС, как система Банка (т. е. В данном контексте не относится только к типу ИС).
6

7.

Приложение. Типизация API
Внутренние взаимодействия:
Title
Unit of measure
-
Публичные API
: PublicAPI
Приватные API
: PrivateAPI
Закрытые API
: IntSecAPI
Фронтальные API : FrontAPI
Внешние взаимодействия:
-
Открытые API
: OpenAPI
Партнерские API : PartnerAPI
Кастомные API : SecAPI
Внешние API
: ExtAPI
7

8.

Правило архитектурного чеклиста VTB Platform
ID
ИА.ОП.23
Область видимости*
Title
Класс системы**
кластер "Омни",
КП, СУБО, ОПС,
Unit
of measure
кластер "РКК",
кластер
ОС, СС, ИС,
"4К", кластер
Библиотека
"OpsNext", кластер
"GIBS", Платформа
Омни, ИС
Цель стандарта
Стандарт
Организация
Определен тип
взаимодействия с взаимодействия.
окружением
На основании типа
взаимодействия,
определены типы
предоставляемых API,
согласно правилам
типизации API.
Критичность Обязательность***
ТехДолга******
Medium
Must
Дата начала
применения
01.06.2023
8

9.

Проект Решения
1. Утвердить определения
типов взаимодействий (слайд 3), принципы определения типа API (слайды 5,6).
Title
Unit of measure
2. Утвердить правило
чеклиста VTB Platform ИА.ОП.23 (слайд 8).
9

10.

STICKER
Название документа
Unit of measure
Приложения

11.

ПРИЛОЖЕНИЕ 1: ЛИСТ ИЗМЕНЕНИЙ В ХОДЕ ПОДГОТОВКИ
МАТЕРИАЛОВ
РГА Причины изменения

Дата изменения
Корректировки материалов
1
Title
09.03.2023
Исправление по замечаниям На слайде 1 добавлена область влияния.
Unit of measure
На слайде 9 откорректирован Проект решения.
Добавлен слайд 8 – добавление правила
ИА.ОП.23 чеклиста VTB Platform в раздел
ИА.ОП.
Слайды с правилами выгрузки из iServer в
Реестр API отмечены как «в проработке» и
вынесены в приложение.
Добавлен слайд 11 – приложение об
изменениях материала.
2
09.03.2023
Исправления по замечаниям Откорректирован Проект Решения (слайд 9) –
некорректная отсылка к слайдам. Исправлен
п.1 проекта решения: вместо 7го слайда – 6
слайд. Исправлен п.2 проекта решения: теперь
слайд 8 (отсылка к правилу ИА.ОП.23).
Внесены изменения в лист изменений
(приложение 1, слайд 11).
11

12.

Определение правил публикации API, для внутренних взаимодействий, в Реестре АПИ
Тип API
Необходимость
публикации в
Реестре API
Характеристики в iServer
Наличие
Наличие
связи с
Title связи с
Сервисом
системой
Unit of measure
системы
/элементо
м системы
Наличие связи
с Интеграционн
ой Платформой
Определение
типа на
основании
выгрузки из
iServer
Выгрузка в
Реестр API
из схемы
АС/ДВС
На проработке
Характеристики в Реестре АПИ
Возможность
публиковать
на ИП
Есть
информация
о Сервисе
системы
Работа со
спецификацией и
контрактом
поставщика API
Публичные
API
да
да
да
да
да
ДВС/АС
да
да
Спецификация API
доступна для
просмотра и
изучения всем всем
внутренним
пользователям
Приватные
API
необязательно
нет
да
нет
да
АС, если ИС
поставщика
API = ИС
потребителя
API
нет
нет
Спецификация API
доступна для
просмотра и
изучения только
участникам этого
взаимодействия
Закрытые API
да
да/нет
да
да/нет
Нет, тип
устанавливается
за счет
маркировки
признаками в
Реестре АПИ
ДВС/АС
да/нет, в
зависимости
от наличия
связи с ИП и
Сервиса
да/нет
Спецификация API
доступна для
просмотра и
изучения только
участникам этого
взаимодействия
Фронтальные
API
да
нет
да
да/нет
Нет, тип
устанавливается
за счет
маркировки
признаками в
Реестре АПИ
АС
да/нет, в
зависимости
от наличия
связи с ИП
нет
Спецификация API
доступна для
просмотра и
изучения только
участникам этого
взаимодействия.
*учитываются только те интеграционные платформы (ИП), что в iServer заведены как интеграционные платформы
12

13.

На проработке
Определение правил публикации API, для внешних взаимодействий, в Реестре АПИ
Тип API
Необходимость
публикации в
Реестре API
Характеристики в iServer
Наличие
связи с
Сервисом
системы
Наличие
связи с
системой
/элементом
системы
Наличие связи
с Интеграционно
й Платформой
Title
Unit of measure
Определение
типа на
основании
выгрузки из
iServer
Выгрузка
в Реестр
API из
схемы
АС/ДВС
Характеристики в Реестре АПИ
Возможность
публиковать
на ИП
Есть
информация о
Сервисе
системы
Работа со
спецификацией API
Внешние
API
да
да
система
внешняя /
ИС группы
да
Да,
обязательно
получение
подтверждения
поставщика API
ДВС/АС
да
да
Спецификация API
доступна для
просмотра и изучения
всем внутренним
пользователям
Кастомные
API
да
да
система
внешняя
/ИС
группы
да
Нет, тип
устанавливается
за счет
маркировки
признаками в
Реестре АПИ
ДВС/АС
да
да
Спецификация API
доступна для
просмотра и изучения
только участникам
этого взаимодействия.
Открытые
API
да
Да
(поставщик
API=ИС
Банка)/нет
система
внешняя
/ИС
группы
да
Нет, тип
устанавливается
за счет
маркировки
признаками в
Реестре АПИ
ДВС
да
да/нет, в
зависимости
от: если
Поставщик
API = ИС
Банка, то да.
Иначе: нет
Спецификация API
доступна для
просмотра и изучения
всем. Обновление
доступно только
Поставщику API, в
рамках полученных
изменений от
Владельца API
Партнерские
API
да
нет
система
внешняя
/ИС
группы
да
да
ДВС
да
нет
Спецификация API
доступна для
просмотра и изучения
только участникам
этого взаимодействия
*учитываются только те интеграционные платформы (ИП), что в iServer заведены как интеграционные платформы
13

14.

Приложение. Типизация API. Внутренние взаимодействия
Публичные API : PublicAPI
Title
Unit of measure
14

15.

Приложение. Типизация API. Внутренние взаимодействия
Приватные API : PrivateAPI
Title
Unit of measure
15

16.

Приложение. Типизация API. Внутренние взаимодействия
Закрытые API : IntSecAPI
Title
Unit of measure
16

17.

Приложение. Типизация API. Внутренние взаимодействия
Фронтальные API : FrontAPI
Title
Unit of measure
17

18.

Приложение. Типизация API. Внешние взаимодействия
Открытые API : OpenAPI
Title
Unit of measure
18

19.

Приложение. Типизация API. Внешние взаимодействия
Партнерские API : PartnerAPI
Title
Unit of measure
19

20.

Приложение. Типизация API. Внешние взаимодействия
Кастомные API : SecAPI
Title
Unit of measure
20

21.

Приложение. Типизация API. Внешние взаимодействия
Внешние API : ExtAPI
Title
Unit of measure
21
English     Русский Rules