Является ли RESTful быстрее, чем SOAP? и когда использовать один из них?

Дубликат: Это дубликат "Каковы наилучшие способы использования служб REST?" и многие другие. Закройте его.

В веб-разработке:

Должен ли я очень хорошо изучать сервисы RESTful и использовать все мои будущие проекты? Это быстрее, чем службы SOAP? Когда использовать какой?

Есть ли определенные случаи, которые я должен предпочесть одному из них?

Ответ 1

По моему опыту, SOAP добавляет некоторые накладные расходы, которых можно избежать, создав службу RESTful. Это, как говорится, в вашем решении, вы должны рассмотреть свою аудиторию. Если вы ожидаете, что у вас будет большое количество внешних пользователей вашего сервиса, я бы рекомендовал SOAP, потому что есть много инструментов, которые автоматически создают программный интерфейс для него.

Некоторые веб-службы, такие как PayPal, предлагают несколько альтернатив, поэтому вы также можете рассмотреть возможность выбора обоих.

Ответ 2

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

Но есть некоторые ситуации, в которых вам нужны функции, которые находятся в этих служебных данных.

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

Ответ 3

Одним из факторов является то, что связь RPC часто не кэшируется как часть стека HTTP, потому что промежуточное программное обеспечение кэширования не должно понимать содержание запроса. Таким образом, системы RESTful могут лучше использовать кеширование.

Ответ 4

Стандартный протокол доступа к объектам (SOAP), язык XML, определяющий архитектуру сообщений и форматы сообщений, используется веб-службами, содержащими описание операций. WSDL - это язык, основанный на XML, для описания веб-сервисов и способов доступа к ним. будет работать на SMTP, HTTP, FTP и т.д. Требуется поддержка промежуточного программного обеспечения, четко определенный механизм для определения сервисов, таких как WSDL + XSD, WS-Policy SOAP вернет данные на основе XML. SOAP обеспечивает стандарты безопасности и надежности

Веб-службы репрезентативного переноса состояния (RESTful). это веб-службы второго поколения. Веб-службы RESTful, обмениваются данными через HTTP, чем службы на основе SOAP, и не требуют XML-сообщений или определений WSDL-сервиса-API. для REST не требуется промежуточное ПО, требуется только поддержка HTTP. Стандарт WADL, REST может возвращать XML, обычный текст, JSON, HTML и т.д.

t для многих типов клиентов проще использовать веб-службы RESTful, позволяя серверной стороне развиваться и масштабироваться. Клиенты могут выбирать некоторые или все аспекты обслуживания и перетаскивать их с помощью других веб-сервисов.

REST uses standard HTTP so it is simplerto creating clients, developing APIs 2.REST permits many different data formats like XML, plain text, JSON, HTML where as SOAP only permits XML.
REST has better performance and scalability.
Rest and can be cached and SOAP can't 5.Built-in error handling where SOAP has No error handling
REST is particularly useful PDA and other mobile devices.

REST - это услуги, которые легко интегрировать с существующими веб-сайтами.

SOAP имеет множество протоколов, которые, помимо прочего, обеспечивают стандарты безопасности и надежности и взаимодействуют с другими клиентами и серверами, соответствующими WS. Веб-службы SOAP (такие как JAX-WS) полезны при обработке асинхронной обработки и вызова.

Для сложного API SOAP будет более полезным.

Ответ 5

Чтобы ответить на ваш вопрос, я бы сказал да. REST обычно рассматривается как более легкая альтернатива. Кроме того, на текущем этапе REST по-прежнему рассматривает/практикует многие, чтобы быть более "направлением/ориентиром", а затем полным протоколом.

Есть интересная статья, отражающая их различия в интересном диалоге.

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

Ответ 6

Мой клиент (основной оператор) фактически провел тест производительности на REST vs SOAP-доступ к их API и обнаружил, что разница почти не существует. В наши дни синтаксические анализаторы XML довольно быстрые, и, кроме того, при использовании SOAP не так много фактических издержек. Контракт (WSDL) со всеми его правилами и спецификациями - это то, что приходит в игру, когда клиентская программа записывается или обновляется, а не столько в обмене в реальном времени с API.

Ответ 7

Если нет четкого требования об обратном, вы всегда должны использовать REST для SOAP. Есть (редкие) моменты, когда SOAP предоставляет вам то, что вам нужно (и те времена будут более редкими, так как REST улучшается, например, имеет стандарт WADL), но в общем случае SOAP - это всего лишь головная боль, чтобы получить вы, где REST уже стоит и ждет.

Ответ 8

REST будет почти всегда быстрее, поскольку меньше обработки и меньших конвертов.