'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №1 (70) том 4
  4. Научная статья № 71

Просмотры  57 просмотров

Дворяк Д.А.

  


СРАВНЕНИЕ ТЕХНОЛОГИЙ REST И SOAP НА ОСНОВЕ ВОЗМОЖНОСТЕЙ СОЗДАНИЯ ВЕБ-СЕРВИСОВ *

  


Аннотация:
современный ландшафт веб-разработки предлагает разнообразие технологий для создания веб-сервисов, среди которых выделяются REST и SOAP. В статье проводится подробное сравнение этих двух технологий с упором на их возможности в контексте веб-сервисов. Основной целью статьи является проведение обширного сравнительного анализа технологий REST и SOAP с целью выявления их особенностей, преимуществ и недостатков в контексте создания веб-сервисов. Работа направлена на предоставление разработчикам и архитекторам информации для обоснованного выбора между REST и SOAP в зависимости от конкретных требований проекта. Статья использует сравнительный метод анализа, рассматривая основные аспекты технологий REST и SOAP. Оцениваются протоколы передачи данных, форматы сообщений, принципы работы, поддержка безопасности и расширяемости, а также удобство использования в различных сценариях. Результаты сравнения выявляют, что REST и SOAP обладают уникальными чертами, которые делают их пригодными для различных сценариев разработки веб-сервисов. REST, с его простотой и гибкостью, предоставляет легкое взаимодействие, основываясь на принципах HTTP. SOAP, с другой стороны, обеспечивает стандартизированный и строгий протокол, предоставляя дополнительные механизмы безопасности и транзакций. Полученные результаты могут быть использованы при принятии решений о выборе технологии веб-сервисов в зависимости от требований проекта. Они охватывают широкий спектр веб-разработки, включая создание API, интеграцию систем, а также разработку распределенных приложений. Статья вносит вклад в понимание сильных и слабых сторон технологий REST и SOAP, предоставляя разработчикам информацию для принятия обоснованных решений в процессе архитектуры и разработки веб-сервисов. Полученные результаты имеют практическое применение в сфере веб-разработки и IT-архитектуры. Статья подводит итоги сравнения, выделяя сценарии, в которых REST или SOAP являются более предпочтительными. Обобщенные выводы предоставляют разработчикам и архитекторам ориентир для принятия решений, согласованных с требованиями конкретных проектов и задач веб-сервисов.   

Ключевые слова:
REST, SOAP, веб-сервисы, программное обеспечение   


DOI 10.24412/2712-8849-2024-170-448-465 

УДК 004.4’22

Дворяк Д.А.

ORCID 0009-0009-7279-3111

Калининградский государственный технический университет

(г. Калининград, Россия)

 

СРАВНЕНИЕ ТЕХНОЛОГИЙ REST И SOAP

НА ОСНОВЕ ВОЗМОЖНОСТЕЙ СОЗДАНИЯ ВЕБ-СЕРВИСОВ

 

Аннотация: современный ландшафт веб-разработки предлагает разнообразие технологий для создания веб-сервисов, среди которых выделяются REST и SOAP. В статье проводится подробное сравнение этих двух технологий с упором на их возможности в контексте веб-сервисов. Основной целью статьи является проведение обширного сравнительного анализа технологий REST и SOAP с целью выявления их особенностей, преимуществ и недостатков в контексте создания веб-сервисов. Работа направлена на предоставление разработчикам и архитекторам информации для обоснованного выбора между REST и SOAP в зависимости от конкретных требований проекта. Статья использует сравнительный метод анализа, рассматривая основные аспекты технологий REST и SOAP. Оцениваются протоколы передачи данных, форматы сообщений, принципы работы, поддержка безопасности и расширяемости, а также удобство использования в различных сценариях. Результаты сравнения выявляют, что REST и SOAP обладают уникальными чертами, которые делают их пригодными для различных сценариев разработки веб-сервисов. REST, с его простотой и гибкостью, предоставляет легкое взаимодействие, основываясь на принципах HTTP. SOAP, с другой стороны, обеспечивает стандартизированный и строгий протокол, предоставляя дополнительные механизмы безопасности и транзакций. Полученные результаты могут быть использованы при принятии решений о выборе технологии веб-сервисов в зависимости от требований проекта. Они охватывают широкий спектр веб-разработки, включая создание API, интеграцию систем, а также разработку распределенных приложений. Статья вносит вклад в понимание сильных и слабых сторон технологий REST и SOAP, предоставляя разработчикам информацию для принятия обоснованных решений в процессе архитектуры и разработки веб-сервисов. Полученные результаты имеют практическое применение в сфере веб-разработки и IT-архитектуры. Статья подводит итоги сравнения, выделяя сценарии, в которых REST или SOAP являются более предпочтительными. Обобщенные выводы предоставляют разработчикам и архитекторам ориентир для принятия решений, согласованных с требованиями конкретных проектов и задач веб-сервисов.

 

Ключевые слова: REST, SOAP, веб-сервисы, программное обеспечение.

 

Введение.

В настоящее время наиболее распространенным способом обмена данными между информационными системами является использование веб-сервисов. По своей природе веб-сервисы являются самодостаточными, модульными и динамическими приложениями [1]. Наиболее распространенные реализации основаны на стилях Representational State Transfer Protocol (REST) и Simple Object Access Protocol (SOAP). Каждый из этих подходов имеет свои преимущества и недостатки, поэтому важно правильно выбрать тип веб-сервисов, иначе это может привести к определенным проблемам при обмене данными или наложить некоторые ограничения. В данной статье сравниваются подходы SOAP и REST, чтобы дать рекомендации по выбору правильного типа веб-сервиса на этапе разработки проекта. В данной статье обобщены результаты этих исследований и приведено сравнение, которое позволяет выявить основные различия и преимущества протоколов SOAP и REST.

Целью данной работы является выявление основных преимуществ и недостатков протоколов SOAP и REST. Для достижения этой цели поставлены следующие задачи:

  1. Определить метрики, по которым можно взаимно сравнивать протоколы SOAP и REST,
  2. Провести сравнение SOAP и REST по найденным метрикам,
  3. Оценить, какой тип протокола лучше, на основе метрик оценки программного обеспечения.

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

1 Веб-сервисы.

Отдельный веб-сервис состоит из сервиса и описания сервиса, где сервис — это программный модуль, предлагаемый поставщиком услуг и доступный через Интернет. Описание сервиса содержит подробную информацию об интерфейсе и реализации сервиса, включая типы данных, метаданные, информацию о категоризации и место, где сервис открыт [2]. Описание сервиса публикуется в реестре сервисов, где сервисы отображаются и группируются по своему назначению. Веб-сервис является ключевым элементом интеграции различных информационных систем, поскольку информационные системы могут базироваться на различных платформах, языках программирования и технологиях.

2 SOAP.

SOAP по сравнению с REST является более старым протоколом, который был разработан как альтернатива стандарту CORBA (Common Object Request Broker Architecture). Для обеспечения транспортировки данных в SOAP используются такие протоколы, как HTTP, SMTP и т. д., а сами данные передаются в формате XML [3]. Основной принцип этого подхода заключается в следующем: поставщик услуг публикует описание услуги или интерфейса в реестре услуг, чтобы пользователь мог найти нужный экземпляр услуги и воспользоваться им [4].

Объем данных, передаваемых по протоколу SOAP, может вызвать некоторые проблемы с производительностью, поскольку при формировании сообщения SOAP добавляет к нему дополнительные части заголовка и тела. Веб-сервисы на основе SOAP включают в себя целый ряд стандартов, таких как WSDL, WSBPEL, WS-Security, WS-Addressing, которые отвечают за адресацию веб-сервисов и сообщений. Эти стандарты были разработаны организациями по стандартизации, такими как W3C и OASIS [5].

 

3 REST.

REST — это более новый подход, который использует протокол HTTP для передачи данных, а сами данные формируются в форматах XML, JSON и т. д. [3]. Он упрощает доступ к веб-сервисам за счет использования существующих и хорошо известных стандартов вместо добавления новых слоев обработки данных в стек передачи и связи. Таким образом, REST является более легкой альтернативой тяжелому протоколу SOAP. Веб-сервисы REST основаны на самоопределяющихся ресурсах, для доступа к которым используется протокол HTTP. Сервис предоставляется в виде ресурса, который может быть идентифицирован по URI (Uniform Resource Identifier). Например, если в веб-браузере открыть URI http://www. example. com/rest/user/1, то веб-сервис вернет информацию о пользователе, чей идентификатор равен «1». Для выполнения операций с данными в сервисе используются стандартные методы HTTP, такие как GET, PUT, POST, DELETE и т. д. [6].

4 Метрики оценки программного обеспечения.

При взаимном сравнении протоколов SOAP и REST можно использовать следующие метрики:

  1. Производительность: измерение времени отклика на запросы, скорость передачи данных и использование ресурсов сервера.
  2. Масштабируемость: оценка способности протоколов обрабатывать большие объемы запросов и масштабироваться в распределенных системах.
  3. Безопасность: анализ уровня безопасности, возможностей аутентификации, авторизации и шифрования данных.
  4. Удобство использования: оценка удобства взаимодействия с сервисами, формата документации и инструментов поддержки.
  5. Интеграция: оценка уровня интеграции с существующими системами и инструментами разработки.
  6. Гибкость и расширяемость: оценка способности протоколов поддерживать изменения в API и добавление новых функций без нарушения обратной совместимости.
  7. Стандартизация: сравнение уровня соответствия протоколов стандартам и спецификациям, таким как Web Services Description Language (WSDL) для SOAP и OpenAPI (известный как Swagger) для REST [7].

Эти метрики позволяют провести объективное сравнение протоколов SOAP и REST с учетом различных аспектов и требований проекта.

5 Метод исследования.

В контексте разработки программного обеспечения были взяты следующие метрики: производительность, масштабируемость, безопасность, удобство использования, интеграция, гибкость и расширяемость, стандартизация. Эти метрики будут взяты за основу метода сравнения, которые будут использованы для выделения ключевых принципов, которые необходимо учитывать при выборе подходов SOAP или REST [8].

  1. 1 Производительность.

В таблице 1 рассмотрена сравнение производительности протоколов SOAP и REST.

  

Таблица 1. Сравнение производительности.

 

В целом, REST часто считается более эффективным с точки зрения производительности по сравнению с SOAP из-за своей простоты и легковесности. Однако, оценка производительности должна учитывать конкретные условия использования и требования к производительности конкретного приложения.

  

  1. 2 Масштабируемость.

В таблице 2 рассмотрена сравнение масштабируемости протоколов SOAP и REST.

 

Таблица 2. Сравнение масштабируемости.

 

Оба протокола имеют свои сильные стороны в обработке больших объемов запросов и масштабируемости в распределенных системах. Выбор между SOAP и REST в этом контексте может зависеть от конкретных требований проекта, существующей инфраструктуры и предпочтений разработчиков.

  1. 3 Безопасность.

Уровень безопасности протоколов SOAP и REST, а также их возможности аутентификации, авторизации и шифрования данных, имеют свои особенности, которые рассмотрены в таблице 3:

 

Таблица 3. Сравнение безопасности.

  

Оба протокола имеют свои способы обеспечения безопасности, аутентификации, авторизации и шифрования данных. Выбор между SOAP и REST в этом контексте может зависеть от требований к безопасности проекта и предпочтений разработчиков.

  1. 4 Удобство использования.

Удобство взаимодействия с сервисами, формат документации и инструменты поддержки для протоколов SOAP и REST имеют свои особенности, которые рассмотрены в таблице 4.

 

Таблица 4. Сравнение удобства использования.

 

Оба протокола имеют свои преимущества и недостатки в контексте удобства взаимодействия с сервисами, формата документации и инструментов поддержки. Выбор между SOAP и REST может зависеть от конкретных требований проекта, предпочтений разработчиков и особенностей веб-сервисов.

  1. 5 Интеграция.

Уровень интеграции протоколов SOAP и REST с существующими системами и инструментами разработки может быть оценен следующим образом, которые рассмотрены в таблице 5.

 

Таблица 5. Сравнение интеграции.

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

  1. 6 Гибкость и расширяемость.

SOAP и REST — это два основных протокола веб-сервисов, и у каждого из них есть свои особенности в отношении поддержки изменений в API и добавления новых функций без нарушения обратной совместимости.

SOAP — это протокол, который поддерживает обратную совместимость путем использования строго определенной схемы данных, а также механизма версионирования. Это позволяет внесение изменений в API и добавление новых функций без нарушения обратной совместимости. Однако, из-за строгой структуры SOAP, процесс изменения API может быть более сложным и требовательным к ресурсам [14].

REST — это архитектурный стиль, который использует простой набор операций, таких как GET, POST, PUT и DELETE, для работы с ресурсами. RESTful API обычно использует форматы данных, такие как JSON, для обмена информацией. REST обычно считается более гибким и легким, что делает его более подходящим для добавления новых функций без нарушения обратной совместимости. Однако, REST может быть менее подходящим для определения сложных операций и сообщений, что может затруднить поддержку изменений в API.

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

  

  1. 7 Стандартизация.

В таблице 6 рассмотрена сравнение стандартизации протоколов SOAP и REST.

 

Таблица 6. Сравнение стандартизации.

SOAP и REST — это два различных подхода к веб-сервисам, каждый со своими уникальными особенностями и подходами к обмену данными и стандартам документирования.

6 Сравнительная характеристика.

SOAP — протокол, который обеспечивает стандартизированный способ взаимодействия между программами в сети путем обмена структурированными сообщениями, основанными на XML. SOAP предоставляет формализованный способ вызова процедур удаленного сервера.

REST — архитектурный стиль для построения веб-сервисов, использующий стандартные протоколы HTTP для создания, удаления, чтения и обновления (CRUD) ресурсов. REST обеспечивает более гибкий и простой подход к веб-сервисам.

Основные различия между SOAP и REST:

  1. Формат данных: SOAP использует XML для обмена данными, в то время как REST может использовать различные форматы, такие как JSON, XML, HTML и другие.
  2. Протокол: SOAP не зависит от протокола передачи данных, в то время как REST использует стандартные протоколы HTTP для связи.
  3. Гибкость: REST является более гибким и легковесным, чем SOAP, что делает его более подходящим для использования в веб-сервисах.

В целом, SOAP обычно используется в корпоративных системах, где требуется строгий контроль за обменом сообщениями, в то время как REST более подходит для взаимодействия на основе веб-сервисов.

7 Рекомендации.

Проведя анализ результатов исследования, был сделан вывод о том, что однозначно определить лучший подход к обеспечению обмена данными не представляется возможным, поскольку каждый интеграционный проект должен оцениваться индивидуально. Каждый тип — SOAP или REST — имеет свои преимущества и недостатки. Однако можно выделить основные характеристики, облегчающие выбор правильного подхода.

  1. 1 REST.

Если проект требует большей масштабируемости, совместимости и производительности, то лучше выбрать REST. Сложность реализации REST, скорость выполнения, потребляемые ресурсы памяти и производительность оказались выше по сравнению с протоколом SOAP. Таким образом, если проект требует простой интеграции «точка-точка» или масштабной доступности с мобильных устройств, то REST — это правильный выбор. Исходя из этих соображений, основные поставщики веб-сервисов используют именно REST [7].

  1. 2 SOAP.

SOAP является лучшим выбором, если в проекте требуется безопасность и надежность, более легкая сопровождаемость на стороне клиента, а также меньшее количество возможных ошибок. Кроме того, многие проекты по интеграции бизнес-систем требуют асинхронных запросов на обработку данных, что является преимуществом SOAP. Отсюда следует вывод, что SOAP больше подходит для интеграции крупных информационных систем, например, для проектов интеграции банковских информационных систем.

Заключение.

В данной работе представлено общее сравнение SOAP и REST-сервисов на основе метрик оценки программного обеспечения. Из общей оценки сравнение производительности можно сделать вывод, что оба веб-сервиса, основанные на архитектуре SOAP и REST, являются масштабируемыми и стабильными. Веб-сервис на базе архитектуры REST имеет более высокое время отклика, чем веб-сервис на базе SOAP. Для серверных машин подойдут обе архитектуры, но для мобильных устройств, которые обладают сравнительно меньшими аппаратными ресурсами, реализация веб-сервиса на основе архитектуры REST будет предпочтительнее, чем на основе SOAP. Так как REST веб-сервис имеет меньшую пропускную способность, это снижает накладные расходы на общую производительность веб-сервиса. Чтобы выбрать правильный подход, необходимо проанализировать функциональные и нефункциональные требования, прежде чем сделать выбор в пользу SOAP или REST. 

 

СПИСОК ЛИТЕРАТУРЫ:

 

  1. Alonso G. et al. Web services. – Springer Berlin Heidelberg, 2004. – С. 123-149;
  2. Kumari S. , Rath S. K. Performance comparison of soap and rest based web services for enterprise application integration //2015 International Conference on Advances in Computing, Communications and Informatics (ICACCI). – IEEE, 2015. – С. 1656-1660;
  3. Serrano N. , Hernantes J. , Gallardo G. Service-oriented architecture and legacy systems //IEEE software. – 2014. – Т. 31. – №. 5. – С. 15-19;
  4. Castillo P. A. et al. SOAP vs REST: Comparing a master-slave GA implementation //arXiv preprint arXiv:1105. 4978. – 2011;
  5. Kumar P. et al. Comparing Performance of Web Service Interaction Styles: SOAP vs. REST //Journal of Information Systems Applied Research. – 2013. – Т. 6. – №. 1. – С. 4;
  6. Serme G. et al. Enabling message security for RESTful services //2012 IEEE 19th International Conference on Web Services. – IEEE, 2012. – С. 114-121;
  7. Tihomirovs J. , Grabis J. Comparison of soap and rest based web services using software evaluation metrics //Information technology and management science. – 2016. – Т. 19. – №. 1. – С. 92-97;
  8. Bora A. , Bezboruah T. Testing and evaluation of a hierarchical SOAP based medical web service //International Journal of Database Theory and Application. – 2014. – Т. 7. – №. 5. – С. 145-160;
  9. Lutz M. Programming python. – " O'Reilly Media, Inc. ", 2001;
  10. Snell J. , Tidwell D. , Kulchenko P. Programming web services with SOAP: building distributed applications. – " O'Reilly Media, Inc. ", 2001;
  11. Webber J. , Parastatidis S. , Robinson I. REST in practice: Hypermedia and systems architecture. – " O'Reilly Media, Inc. ", 2010;
  12. de Oliveira R. R. et al. Comparative evaluation of the maintainability of RESTful and SOAP-WSDL web services //2013 IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems. – IEEE, 2013. – С. 40-49;
  13. Kangasharju J. , Tarkoma S. , Raatikainen K. Comparing SOAP performance for various encodings, protocols, and connections //Personal Wireless Communications: IFIP-TC6 8th International Conference, PWC 2003, Venice, Italy, September 23-25, 2003. Proceedings 8. – Springer Berlin Heidelberg, 2003. – С. 397-406;
  14. Pautasso C. , Zimmermann O. , Leymann F. Restful web services vs. " big"'web services: making the right architectural decision //Proceedings of the 17th international conference on World Wide Web. – 2008. – С. 805-814;
  15. Rahman W. , Meziane F. Challenges to describe QoS requirements for web services quality prediction to support web services interoperability in electronic commerce //Communications of the IBIMA. – 2008. – Т. 4. – №. 6. – С. 55-58.

 

Dvoryak D.А. 

Kaliningrad State Technical University

(Kaliningrad, Russia)

 

COMPARISON OF REST AND SOAP TECHNOLOGIES

BASED ON WEB SERVICE CAPABILITIES

 

Abstract: the current web development landscape offers a variety of technologies for creating web services, among which REST and SOAP stand out. This paper provides a detailed comparison of these two technologies with a focus on their capabilities in the context of web services. The main purpose of the paper is to conduct an extensive comparative analysis of REST and SOAP technologies in order to identify their features, advantages and disadvantages in the context of creating web services. The paper aims to provide developers and architects with information to make an informed choice between REST and SOAP depending on the specific requirements of the project. The paper uses a comparative method of analysis, examining the main aspects of REST and SOAP technologies. Data transfer protocols, message formats, operating principles, security and extensibility support, and usability in different scenarios are evaluated. The results of the comparison reveal that REST and SOAP have unique features that make them suitable for different Web service development scenarios. REST, with its simplicity and flexibility, provides easy interaction based on HTTP principles. SOAP, on the other hand, provides a standardized and rigorous protocol, providing additional security and transaction mechanisms. The results obtained can be used in deciding the choice of Web services technology depending on the project requirements. They cover a wide range of web development including API creation, system integration, and distributed application development. The paper contributes to the understanding of the strengths and weaknesses of REST and SOAP technologies, providing developers with information to make informed decisions during the architecture and development of Web services. The findings have practical applications in web development and IT architecture. The paper summarizes the comparison by highlighting scenarios in which REST or SOAP is preferred. The summarized findings provide developers and architects with a reference point for making decisions aligned with the requirements of specific web services projects and tasks.

 

Keywords: REST, SOAP, web services, software.

  


Полная версия статьи PDF

Номер журнала Вестник науки №1 (70) том 4

  


Ссылка для цитирования:

Дворяк Д.А. СРАВНЕНИЕ ТЕХНОЛОГИЙ REST И SOAP НА ОСНОВЕ ВОЗМОЖНОСТЕЙ СОЗДАНИЯ ВЕБ-СЕРВИСОВ // Вестник науки №1 (70) том 4. С. 448 - 465. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/12655 (дата обращения: 17.05.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/12655



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2024.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.