Разница между REST и SOAP

Вступление

В этой статье рассматриваются два протокола доступа к веб-сервисам., МЫЛО («Простой протокол доступа к объектам») и ОСТАЛЬНЫЕ ("Изобразительное State Transfer").

Веб-сервисы

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

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

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

Чтобы внести одно изменение в этот метод, потребуется найти каждый экземпляр для редактирования (и повторного тестирования). Этот сценарий выиграл бы от использования веб-службы для оптимального функционирования и повышения гибкости бизнеса.

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

Способ обработки данных в веб-сервисах определяется тем, реализованы ли SOAP или REST.

SOA и BPMN

Приложение, построенное на исполняемых процессах, основано на Сервис-Ориентированная Архитектура ( «SOA»). Это подход к использованию сервисов, который передает, производит, проверяет или рассчитывает данные.

SOA становится все более и более благоприятным для улучшения качества и времени разработки, а также для повышения производительности и масштабируемости приложений.

Нотация моделирования бизнес-процессов («BPMN») моделирует сервис или бизнес-процесс, который может выполнять не технический персонал, то есть бизнес-аналитик. С помощью BPMN, бизнес-модели (для сервисов) легко интерпретируются разработчиками, которые реализуют модель как исполняемый процесс, и эти процессы могут требовать или не требовать взаимодействия с человеком.

Простой протокол доступа к объектам (SOAP)

SOAP - это метод передачи данных через Интернет.

Первоначально разработанный Microsoft в связи с появлением Интернета, SOAP заменил старый DCOM и CORBA технологии, и это было намного дольше, чем REST.

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

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

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

Если с запросом сообщения возникают какие-либо проблемы, в ответе на сообщение возвращается подробная информация об ошибке, и этот процесс также можно автоматизировать, ссылаясь на стандартные коды ошибок, указанные в ответе на сообщение..

Следовательно, используемый язык программирования является определяющим фактором того, насколько сложно будет реализовать SOAP..

Одним из мест багажа, который сопровождает сообщение SOAP, является Язык описания веб-сервисов («WSDL»), чтобы объяснить, как работает веб-сервис. Когда приложение ссылается на веб-сервис, оно читает и понимает, что делать с веб-сервисом.

SOAP не связан с использованием HTTP (Протокол передачи гипертекста) исключительно; может использоваться через SMTP и другие транспортные протоколы.

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

ОСТАЛЬНЫЕ

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

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

В отличие от SOAP, REST не использует XML исключительно; простой текст, CSV, и RSS может быть использован, а также JSON для звонков AJAX; до тех пор, пока и источник, и цели могут понимать используемые форматы.

REST менее сложен и считается меньшей кривой обучения по сравнению с SOAP. В большинстве современных языков программирования есть библиотеки и инфраструктуры для поддержки служб REST (RESTful), таких как C #, Python, Java и Perl..

REST быстрее благодаря минимальной обработке и более эффективному использованию различных форматов сообщений.

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