Thumb-правила для выбора между реализациями веб-сервисов: SOAP / REST?

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

4 ответа

Решение

Это зависит от многих факторов. Один не лучше другого. Вот список различий, которые я написал ранее.

Это не "правила большого пальца", но Дэвид Чаппелл в этом году выступил с фантастической презентацией SOAP vs. REST на конференции ESRI DevSummit. Если у вас есть время, я настоятельно рекомендую его послушать.

http://www.esri.com/events/devsummit/sessions/keynote.html

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

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

REST намного лучше вписывается в традиционный стек HTTP, поскольку требует правильного использования протоколов, когда это возможно. SOAP просто использует HTTP как своего рода оболочку / прокси вокруг своего собственного протокола, а это не то, для чего предназначен HTTP. SOAP пытается обойти ограничения HTTP, но он не использует большую часть того, что может предложить HTTP.

Например, серверы кэширования, расположенные в центре клиента и сервера контента, должны иметь возможность кэшировать запросы и ответы, ничего не понимая в отношении содержимого каждого из них, что невозможно в SOAP, поскольку фактическое содержимое, которое необходимо кэшировать, подмножество содержимого HTTP-сообщения, внутри связки SOAP и собственной структуры. Службы RESTful не имеют этой проблемы, поэтому они масштабируются намного естественнее.

Для лучшего источника информации о REST, прочитайте диссертацию Филдинга и его блог, где он проясняет распространенные заблуждения. (Он парень, который создал спецификации REST)

Другие вопросы по тегам