Сравнение технологий API для интеграции с корпоративными системами: REST, SOAP, WebSocket, GraphQL

И. Р. Тукаев, В. А. Беспоясова

Аннотация


С развитием компьютерных технологий выросла потребность в интеграции корпоративных приложений и систем, наиболее удобным и простым в разработке является интеграция по API. В свою очередь, данный подход имеет большое количество реализаций, наиболее популярными способами взаимодействия систем являются REST, SOAP, GraphQL и WebSocket. В данной статье представлен краткий обзор каждого из вышеперечисленных способов, выделены основные преимущества и недостатки. Сделан вывод о том, каждый из подходов имеет свои сильные и слабые стороны и подходит для решения конкретных задач.

Ключевые слова


API; REST; SOAP; WebSocket; GraphQL; веб-сервер; интеграция.

Полный текст:

PDF

Литература


Шор А. М. Сравнительный анализ подходов в разработке api веб-приложений // StudNet. 2020. Вып. 9. С. 533-540. [[ Shor A. M. “Comparative analysis of approaches in the development of API web applications” // StudNet. 2020. Issue 9, pp. 533-540. (In Russian). ]]

Думченков И. А. Обзор методов интеграции информационных систем, их преимуществ и недостатков // Молодой ученый. 2018. № 23 (209). С. 176-177. URL: https://moluch.ru/archive/209/51296/ (дата обращения: 09.04.2024). [[ Dumchenkov I. A. “Review of methods for integrating information systems, their advantages and disadvantages” // Young Scientist. 2018. No. 23 (209), pp. 176-177. (In Russian). ]]

Аникин Д. А. Анализ методов авторизации и аутентификации REST API // Международный журнал информационных технологий и энергоэффективности. 2023. Вып. 5-2. С. 120-124. [[ Anikin D. A. “Analysis of authorization and authentication methods of REST API” // International Journal of Information Technologies and Energy Efficiency. 2023. Issue 5-2, pp. 120-124. (In Russian). ]]

Yandex Cloud. REST API: для чего нужен и как работает. 2024. [Электронный ресурс]. URL: https://yandex.cloud/ru/docs /glossary/rest-api? (дата обращения: 23.03.2024). [[ REST API: what is it for and how does it work. 2024. (In Russian). ]]

Hirsch, Frederick; Kemp, John; Ilkka, Jani (2007-01-11). Mobile Web Services: Architecture and Implementation. John Wiley & Sons (published 2007). ISBN 9780470032596.

Ian Fette; Alexey Melnikov (December 2011). "Opening Handshake". RFC 6455 The WebSocket Protocol. IETF. sec. 1.3. doi: 10.17487/RFC6455. RFC 6455.

Макджмартин Дж., Сезарини М., Джеини А. Проектирование веб-служб с использованием SOAP и WS-*. М.: ДМК Пресс, 2017. [[ McGmartin J., Cesarini M., Geini A. Designing Web Services Using SOAP and WS-*. Moscow: DMK Press, 2017. (In Russian). ]]

Karlsson, Stefan; Causevic, Adnan; Sundmark, Daniel (May 2021). "Automatic property-based testing of GraphQL APIs" // 2021 IEEE/ACM International Conference on Automation of Software Test (AST). Madrid, Spain: IEEE, pp. 1–10. arXiv:2012.07380. doi:10.1109/AST52587.2021.00009. ISBN 978-1-6654-3567-3. S2CID 229156477.

Wilde E., Pautasso C. REST: From Research to Practice. Springer Science & Business Media, 2011. ISBN 978-1-4419-8303-9.

Roy Fielding. Architectural Styles and the Design of Network-based Software Architectures. University of California, IRVINE. 2000.

Арно Л. Проектирование веб-API. М.: ДМК Пресс, 2020. [[ Arno L. Web API Design. Moscow: DMK Press, 2020. (In Russian). ]]

Порселло Е., Бэнкс А. GraphQL: язык запросов для современных веб-приложений. Питер, 2019. [[ Porcello E., Banks A. GraphQL: A Query Language for Modern Web Applications. Peter, 2019. (In Russian). ]]

Хабаров С. П., Шилкина М. Л. Построение распределенных систем на базе WebSocket. Лань, 2021. [[ Khabarov S. P., Shilkina M. L. Construction of Distributed Systems Based on WebSocket. Lan, 2021. (In Russian). ]]

Родионова Л. Е., Антонов В. В., Баймурзина Л. И., Гидинда Г. М. Модели проектирования программных аналитических комплексов с декартово замкнутой категорией // СИИТ. 2023. Т. 5, № 5(14). С. 3-15. EDN AQLGLE. [[ Rodionova L. E., Antonov V. V., Baymurzina L. I., Gidinda G. M. “Design models for software analytical complexes with a Cartesian closed category” // SIIT. 2023. Vol. 5, No. 5(14), pp. 3-15. EDN AQLGLE. (In Russian). ]]

Антонов В. В., Харисова З. И., Байболдина А. А. Статистический анализ метрик цветовосприятия при зрительной нагрузке цифровыми устройствами // СИИТ. 2024. Т. 6, № 1(16). С. 23-30. EDN JRZEJK. [[ Antonov V. V., Kharisova Z. I., Bayboldina A. A. “Statistical analysis of color perception metrics under visual load with digital devices” // SIIT. 2024. Vol. 6, No. 1(16), pp. 23-30. EDN JRZEJK. (In Russian). ]]

Миронов В. В., Гусаренко А. С., Юсупова Н. И. Ситуационно-ориентированные базы данных: polyglot persistence на основе REST-микросервисов // Прикладная информатика. 2019. Т. 14, № 5(83). С. 86-97. DOI 10.24411/1993-8314-2019-10038. EDN MCKTVY. [[ Mironov V. V., Gusarenko A. S., Yusupova N. I. “Situation-oriented databases: polyglot persistence based on REST microservices” // Applied Informatics. 2019. Vol. 14, No. 5(83), pp. 86-97. EDN MCKTVY. (In Russian). ]]

Миронов В. В., Гусаренко А. С., Юсупова Н. И. Применение веб-сервисов на основе ситуационно-ориентированной базы данных для мониторинга просмотра учебного видеоконтента // Моделирование, оптимизация и информационные технологии. 2019. Т. 7, № 3(26). С. 27. EDN RVUOOD. [[ Mironov V. V., Gusarenko A. S., Yusupova N. I. “Application of web services based on a situation-oriented database for monitoring the viewing of educational video content” // Modeling, Optimization and Information Technologies. 2019. Vol. 7, No. 3(26), pp. 27. EDN RVUOOD. (In Russian). ]]

Гусаренко А. С., Миронов В. В. Использование RESTful-сервисов в ситуационно-ориентированных базах данных // Вестник УГАТУ. 2015. Т. 19, № 1(67). С. 232-239. EDN TPNUOX. [[ Gusarenko A. S., Mironov V. V. “Using RESTful services in situation-oriented databases” // Vestnik UGATU. 2015. Vol. 19, No. 1(67), pp. 232-239. EDN TPNUOX. (In Russian). ]]


Ссылки

  • На текущий момент ссылки отсутствуют.


(c) 2024 И. Р. Тукаев, В. А. Беспоясова