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 быстрее из-за минимальной обработки и более эффективно использует разные форматы сообщений.
Для обоих есть преимущества и недостатки, поэтому, рассматривая, какой протокол доступа использовать, рассмотрите языки программирования, используемые в организации, требования к среде приложения и приложения.