REST и SOAP

Anonim

Вступление

В этой статье рассматриваются два протокола доступа к веб-сервисам, МЫЛО («Простой протокол доступа к объектам») и ОСТАЛЬНОЕ ("Изобразительное 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 быстрее из-за минимальной обработки и более эффективно использует разные форматы сообщений.

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