2011-01-30 3 views
0

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

  1. ЖЕЛАЮТСЯ И ОТДЫХА?
  2. Какой из них лучше и почему?
+0

Никакой идеи технологии вовлеченной здесь, так что принять это qith зерно соли: Но обычно лучше задавать два разных вопроса как два разных вопроса, а не один. Но, возможно, и то, и другое можно сразу ответить. – Joey

+0

@Joey: Спасибо, что редактировал мой вопрос. Эти два вопроса связаны друг с другом, поэтому я спросил его в одном вопросе. –

+0

Как я уже сказал, вполне возможно, что они оба достаточно близко, чтобы ответить сразу - я просто не могу сказать, так как я не мог дать ответ. Я просто хотел дать общий способ сделать это :-) – Joey

ответ

4

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

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

Таким образом, каждый из них будет лучше в зависимости от сценария.

+0

Вы можете обрабатывать безопасность с помощью REST, однако он зависит от используемого протокола. У HTTP есть механизм проверки подлинности. –

+0

Для SOAP существуют библиотеки, которые генерируют код для взаимодействия с существующими системами. –

+0

Это связано с тем, что SOAP в качестве протокола обеспечивает безопасность типов. Однако генерация кода выполняется схемой (WADL, WSDL и т. Д.), А не самим протоколом SOAP. –

2

ОТДЫХ - это архитектура. SOAP - это протокол.
Основное различие между ними заключается в том, что REST использует текущий протокол для выполнения своих действий и предоставления услуг клиентам. В случае Интернета это HTTP, но он может использоваться с любым другим протоколом.
Фактически SOAP в более поздних и менее распространенных версиях использует некоторые свойства RESTful (например, использование HTTP-глаголов вместо их переопределения на уровне конверта).

[бесстыдное продвижение]
Я рекомендую вам взглянуть на веб-службы my presentation. Также обрати внимание на my question here, что объясняет разницу между REST и RPC (SOAP некоторой форма RPC)
[/ бесстыжим-продвижение]