Image

Category:

Прочитано: API Strategy and Architecture: A Coordinated Approach

Исходник https://www.ca.com/content/dam/ca/us/files/ebook/api-strategy-and-architecture-a-coordinated-approach.pdf

Что узнал?

Предлагают использовавть инструменты проектирования без написания кода изначально:

  1. apiary.io - инструмент, позволяет написать прототип без кода.

  2. RAML.org и SWAGGER.io - языки описания API, помогают пользователям использовать прототип API.

Товарищи делят архитектуры API на стили:

  1. Web Service (тунелирование) - транспортонезависим, много утилит, WSDL/SOAP/RPC, не годно для мобильных устройств, трудная разработка.

  2. Прагамтичный REST (URI) - веб-ориентирован для разработки интерфейсов интеграции, использует URI вместо WSDL, полагается на HTTP транспорт, часто назвают как "Web API", "" RESTful API", не полностью выполняют требования подхода REST, популярен из-за URI, пригоден для разработки веб и мобильных приложений, сейчас встречается в большинстве проектов, не является идеальным решением из-за доменоориентированности, ограничен 4 методами, структура URI не стандартна, не подходит для обмена большим числом мелких сообщений (IoT).

  3. Гипермедиа (настоящий REST) - основан на HTTP, URI; полностью выполняет принципы подхода REST хорошо масштабируется, хорошо споектированный API может позволить поддерживать новый приложения годами; мало инструментов для разработки; более медленная разработка по сравнению с 3, малоизвестна разработчикам.

  4. Событийный (Event-Driven, aka IoT) - транспортонезвисим, малая изибыточность, лучшая производительность при наличии большого количества мелких сообщений между бекэндом и фронтендом, хорош для игр, чатов и IoT, модель запрос-ответ делает разработку приложений сложенее для разработчиков.