Дослідження архітектури АРІ для зв’язку між клієнтом та сервером

DOI: 10.31673/2412-9070.2024.012629

  • Міронов Д. С. (Mironov D. S.) Державний університет інформаційно-комунікаційних технологій, Київ
  • Тушич А. М. (Tushych A. M.) Державний університет інформаційно-комунікаційних технологій, Київ
  • Козлов Д. Є. (Kozlov D. Ye.) Державний університет інформаційно-комунікаційних технологій, Київ

Анотація

Архітектури API є важливим компонентом сучасних систем. Вони забезпечують взаємодію між різними програмами та сервісами, а також надають доступ до даних та функціональності іншим системам. Також не менш важливим є влив API на бізнес. Є кілька тенденцій API, які впливають на бізнес: розширення використання API, спрощення застосування API, безпека API. Ці тенденції дають змогу компаніям збільшити взаємодію з клієнтами, співпрацювати з партнерами, оптимізувати внутрішні процеси. Однак вибір правильної архітектури API є складним завданням. Існує безліч різних архітектур API, кожна з яких має свої переваги та недоліки. Крім того, різні типи систем мають різні вимоги до архітектури API. Можливими проблемами можуть стати відсутність достатньої документації, що додає труднощів розробникам під час вибору правильного вирішення, також несумісність між різними протоколами, форматами даних, методів запитів і відповідей, ускладнюючи взаємодію між різними системами, та значна вартість реалізації архітектури API, що є важливим фактором для розробників. Як майбутні перспективи можуть бути створення нових архітектур, розширення використання API, автоматизація API.
Запропоновану статтю присвячено вивченню архітектур API для зв'язку між клієнтом та сервером. Мета дослідження — визначити, яка архітектура API є найкращою для конкретного типу системи з певними вимогами. Для досягнення цієї мети було проведено аналіз наявних архітектур API, який охоплював вивчення переваг та недоліків різних архітектур, а також їх відповідності вимогам різних типів систем. Було розглянуто такі архітектури API: SOAP, REST, GraphQL, gRPC, WebSocket, WebHook, MQTT, що мало на меті допомогти розробникам у виборі оптимальної архітектури API для відповідності специфічним потребам їхніх проєктів.

Ключові слова: API-архітектура; SOAP; REST; GraphQL; gRPC; WebSocket; WebHook; MQTT; клієнт-сервер.

Список використаної літератури
1. Мартін Р. С. Clean Architecture. Фабула, 2019. 368 с.
2. Introduction to GraphQL [Електронний ресурс]. URL: https://graphql.org/learn/.
3. Болл К. Дж. Hacking Apis. Breaking Web Application Programming Interfaces. No Starch Press, 2022. 368 с.
4. Lombardi A. WebSocket Lightweight Client-Server Communications. O’Reilly Media, 2015. 144 c.
5. Richardson L. RESTful Web APIs: Services for a Changing World 1st Edition. O’Reilly, 2013. 406 с.
6. Learn REST: A RESTful Tutorial [Електронний ресурс]. URL: https://www.restapitutorial.com/.

Номер
Розділ
Статті