Руководство по выбору между службами REST и SOAP? - PullRequest
10 голосов
/ 26 августа 2008

Есть ли у кого-нибудь ссылки на документацию или руководства по принятию решения между REST и SOAP? Я понимаю и то, и другое, но ищу некоторые ссылки на ключевые моменты решения, например, безопасность, которая может заставить вас склониться к одному или другому.

Ответы [ 4 ]

6 голосов
/ 26 августа 2008

Первое попадание Google кажется довольно полным.

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

Я знаю, что это звучит немного неуместно, но в конечном итоге решения такого типа принимаются разработчиком / архитектором, работающим над ним, и 99% времени проблемная область будет решающим фактором ( или, по крайней мере, так и должно быть), а не руководство в сети.

1 голос
/ 19 октября 2013

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

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

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

REST uses standard HTTP so it is simplerto creating clients, developing APIs 
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 
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 будет более полезным.

0 голосов
/ 10 июля 2017

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

Ссылка на блок-схему: https://drive.google.com/file/d/0B3zMtAq1Rf-sdVFNdThvNmZWRGc/edit

Ссылка на статью: https://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the-right-web-services-protocol-for-your-needs

Два других фактора, которые я использую для принятия этого решения:

1) Потребуются ли клиентам Сервиса типы носителей, отличные от XML (например, JSON). Если да, то используйте REST.

2) Клиент Сервиса всегда будет приложением / сервером (например, не клиент RIA или AJAX). Если нет, то это относится к REST, так как при использовании AJAX проще использовать службы REST.

0 голосов
/ 12 июня 2014

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

Я очень согласен с Робом Купером в его посте. Да, адвокатов так много. Я перечислил разницу между мылом и отдыхом .

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