Сервис проектирования API и архитектурного контроля
Сервис проектирования API и архитектурного контроля (услуга 1.28) обеспечивает следующую функциональность:
-
проектирование API приложений в концепции API First и их публикации в едином реестре:
- предоставление инструмента проектирования API-спецификаций в формате OpenAPI Specification 3.0 (OAS 3.0);
- поддержка шагов создания, согласования и публикации спецификаций OAS 3.0 в едином реестре;
-
предоставление средств контроля интеграционных взаимодействий на этапе проектирования за счет:
- инструмент ведения плановых межкомпонентных взаимодействий (связей);
- инструмент по разметке архитектурным статусом межкомпонентных связей;
- инструмент обратного проектирования, выявляющего фактические связи из кода приложений-потребителей API, реализованных в виде интерфейсов Java;
- инструмент конфигурирования списков контроля доступа (ACL) к API с последующей их передачей в конвейер DevOps для применения изменений правил доступа;
-
предоставление информации о наборе API, входящих в состав Платформы;
-
ведение единого репозитория информации о наборе API, входящих в состав компонент и бизнес-областей, предоставление информации о наборе API, входящих в состав Платформы за счет:
- структуры хранения API в привязке к определенному компоненту;
- структуры хранения компонент с учетом их принадлежности к определенной функциональной области;
- функционала маркировки компонент признаком принадлежности к платформе;
-
управление этапом архитектурного контроля API;
-
контроль качества API-спецификаций, размещенных в едином реестре, на предмет соответствия архитектурным требованиям и управление этапом архитектурного контроля за счет:
- функционала обратной связи о качестве API со стороны команд разработки;
- функционала автоматической мультикритериальной оценки качества спецификаций API, выявленных в Java-коде, методами обратного проектирования;
- функционала разметки API архитектурным статусом;
- функционала массовой разметки API архитектурным статусом;
- функционала формирования отчета по методам API в разрезе их архитектурных статусов;
-
поддержка версионирования API за счет:
- загрузки и хранения API в разрезе версий, согласно правилам семантического версионирования semver;
- отображения версий в агрегации по MAJOR.MINOR-номерам semver;
- возможность выбора и просмотра определенной загруженной версии спецификации API;
-
управление нефункциональными требованиями к API с помощью инструмента описания нефункциональных требований (НФТ) в разрезе каждого метода API с возможностью наследования НФТ от API и компонента;
-
поддержка принципа обратного проектирования (формирование метаинформации API по исходному коду объекта):
-
предоставление инструмента обратного проектирования (plugin) для включения в жизненный цикл сборщиков maven, gradle, обеспечивающего выявление и последующую публикацию в едином реестре спецификаций API, определенных:
- Java-интерфейсами, размеченными аннотацией API- библиотек;
- Java-интерфейсами, размеченными аннотациями jsonrpc4j;
- OpenAPI спецификациями (OAS 3.0) в формате yaml, включенных в сборки кода;
-
генерация и ведение реестра интеграционных заглушек API для ускорения разработки приложений и повышения качества кода за счет раннего тестирования интеграционных взаимодействий за счет:
- функционала создания проектной области для работы с эмуляциями;
- функционала создания эмуляции работы REST API, с возможностью задания описаний значений для заголовков, cookies, кодов ответа, метода и содержимого ответа;
- инструмента создания эмуляций с сохранением состояния между обращениями к ним;
- возможности просмотра истории вызовов эмуляций;
- функционала работы с эмуляциями (публикация и потребление) в едином публичном реестре.
-
Работа с отчетами
Для работы с отчетами выполните следующие действия:
- Авторизуйтесь в системе.
- Перейдите в раздел "Отчеты".
- На открывшейся странице заполните параметры формирования отчета.
- Нажмите кнопку "Сформировать" для формирования отчета или кнопку "Очистить фильтр" для очистки выбранных параметров. Сформированный отчет сохранится на локальном диске в папке "Загрузки".
Параметры отчетов (применимы ко всем видам отчетов) приведены в таблице ниже.
Наименование параметра | Описание |
---|---|
Система | Множественный выбор. Допустимые значения: КАП, АС ИРД, ППРБ, ЕФС |
Тип компонента | Множественный выбор. Допустимые значения: ФП, БПС, ФС, ПФ, БХ, БФС, Системные, ПУчС, ТС, Java |
Арх. статус | Множественный выбор. Значения: Целевой, Нецелевой, Отклонен, Не установлен |
Название Компонента | Фильтр по всем названиям компонентов |
Архитектор | Фильтр по ФИО всех архитекторов ФО |
Доступные виды отчетов представлены в таблице ниже.
№ | Наименование | Расшифровка | Формат |
---|---|---|---|
1 | Сводный отчет по методам | Информация по API и версиям API в одной таблице с группировкой по компонентам | XLS |
2 | Детальный отчет по методам | Детализированная информация по API | XLS |
3 | Отчет по НФТ | Нефункциональные требования по компонентам | XLS |
4 | Свойства классов моделей данных, разрешенные к отправке в ФД | Информация о свойствах классов модели данных компонента, размеченных в МЕТА как разрешенные для дальнейшего использования в корпоративной аналитической платформе | XLS |
Сводный отчет по методам
Сводный отчет по методам представлен в таблице ниже.
№ | Показатель | Комментарии |
---|---|---|
1 | ФИО архитектора ФО | ФИО архитектора ФО |
2 | Наименование АС | АС, в составе которой находится компонент |
3 | Код компонента | Код компонента, по которому формируются итоги |
4 | Наименование компонента | Логическое наименование компонента |
Количество методов (по арх. статусам) | Заголовок группы 5-9 | |
5 | Всего | Количество методов по компоненту по всем архстатусам, включая те, у которых он отсутствует (сумма показателей 6,7,8,9) |
6 | Целевой | Количество методов по компоненту, у которых арх. статус = "Целевой" |
7 | Нецелевой | Количество методов по компоненту, у которых арх. статус = "Нецелевой" |
8 | Отклонен | Количество методов по компоненту, у которых арх. статус = "Отклонен" |
9 | Не установлен | Количество методов по компоненту, у которых арх. статус отсутствует |
Детальный отчет по методам
Детальный отчет по методам представлен в таблице ниже.
№ | Показатель | Комментарии |
---|---|---|
1 | Наименование в АС | АС, в составе которой находится компонент и текущий API |
2 | Код компонента | Код компонента, содержащего API |
3 | Наименование компонента | Логическое наименование компонента, содержащего API |
API | Заголовок группы 4-6 | |
4 | Техническое наименование API | Техническое наименование API |
5 | Логическое наименование API | Логическое наименование API |
6 | Описание | Описание API |
Метод | Заголовок группы 7-10 | |
7 | Имя | Имя метода |
8 | Арх. статус | Арх. статус метода |
9 | Версия | Версия метода |
10 | Дата последней загрузки | Дата последней загрузки метода |
Контакты | Заголовок группы 11-12 | |
11 | ФИО архитектора ФО | ФИО архитектора ФО для обращения |
12 | ФИО архитектора сервиса | ФИО архитектора сервиса для обращения |
Отчет по НФТ
Отчет по НФТ представлен в таблице ниже.
№ | Показатель | Комментарии |
---|---|---|
Компонент | Заголовок группы 1-3 | |
1 | Тип | Тип компонента, содержащего НФТ |
2 | Наименование | Логическое наименование компонента |
3 | Код | Код компонента, содержащего API |
Требования | Заголовок группы 4-10 | |
4 | Доступность | Требования к доступности |
5 | Время отклика | Требования ко времени отклика |
6 | Пропускная способность | Требования к пропускной способности |
7 | Технологические ограничения | Технологические ограничения |
8 | Требования безопасности | Требования к безопасности |
9 | Время на восстановление | Требования ко времени на восстановления |
10 | Допустимый объем потерь | Требования к допустимому объему потерь |
Контакты | Заголовок группы 11-12 | |
11 | ФИО архитектора ФО | ФИО архитектора ФО для обращения |
12 | ФИО архитектора сервиса | ФИО архитектора сервиса для обращения |
Свойства классов моделей данных, разрешенные к отправке в ФД
Свойства классов моделей данных, разрешенные к отправке в ФД, представлены в таблице ниже.
№ | Показатель | Комментарии |
---|---|---|
1 | Код | Код компонента, модель данных которого содержит размеченные свойства класса |
2 | Наименование компонента | Логическое наименование компонента, модель данных которого содержит размеченные свойства класса |
3 | Свойство класса | Наименование размеченного свойства класса модели данных с указанием имени класса. Запись вида "Название класса. Название свойства." |
4 | Краткое описание | Краткое описание размеченного свойства класса (если заполнено) |
Минимальная конфигурация Сервиса обеспечивает:
- таймаут на формирование HTTP-запроса со стороны клиента после установления соединения (параметр
timeout http-request
) — 120 секунд; - таймаут на установление соединения с сервером Gitlab — 10 секунд;
- таймаут на ожидание ответа от сервера Gitlab (параметр
timeout server
) — 3 минуты; - максимальное количество соединений (параметр
maxconn
, определяет максимально возможное количество соединений со стороны Потребителей, суммарный показатель по всем сервисам Works) — не более 50 000. Может уменьшаться в зависимости от ресурсов, потребляемых соединениями со стороны Потребителя.