ОТДЫХ против SOAP и против простого сайта и т. Д. - PullRequest
6 голосов
/ 16 октября 2010

Я начинаю в мире веб-сервисов, и у меня есть несколько вопросов:

  • Из того, что я прочитал, REST можно понимать как простой вызов URL, который дает определенный ожидаемый результат. Итак, в чем разница между веб-сервисом REST и простым веб-сайтом?

  • Веб-сервисы не зависят от языка. Итак, если я разрабатываю основанный на Java веб-сервис REST с методом, возвращающим сериализованный объект класса Person, и мой клиент является приложением .NET, как этот класс можно восстановить на стороне .NET? Как это делается на практике? Нужно ли создавать представление возвращаемого объекта в веб-сервисе, а на стороне .NET анализировать и создавать его?

  • На практике, в чем разница между вызовами REST и SOAP?

Ответы [ 3 ]

6 голосов
/ 16 октября 2010

См. Модель зрелости Ричардсона 1002 * для объяснения того, что такое услуга RESTful.

alt text

Чтобы достичь уровня 3, необходимо удовлетворить Гипермедиа как двигатель состояния приложения. сокращенное ограничение HATEOAS (также называемое ограничением гипермедиа). Это означает, что большинство сервисов - это не RESTful, а просто сервисы CRUD ... что хорошо ...

Хороший ресурс по REST - REST на практике

Основное различие между SOAP и REST состоит в том, что у служб REST нет WSDL, определяющего «операции», слава богу за это. Все же структуры данных могут быть определены языком схемы, таким как Schematron, XSD для XML ...

1 голос
/ 16 октября 2010

REST расшифровывается как Представитель Государственного Трансфера.Он основан на том факте, что протокол HTTP не имеет состояния, и определяет некоторые методы, такие как PUT / GET / POST и т. Д. REST придает семантике этим методам.Например, GET означает «Чтение / Загрузка».PUT означает «сохранить».POST означает «обновление».(Я думаю, я понял это правильно ...)

Таким образом, REST - это не вызов URL, а REST - это концепция.Вы используете REST, совершая звонки на URL.Разница между REST и «простым веб-сайтом» заключается в семантике REST.Запрос PUT означает одно, запрос GET означает другое и т. Д.

Веб-службы RESTful не зависят от языка, поскольку зависят от протокола HTTP;вот и все.Они не зависят от каких-либо языковых функций, кроме возможности использовать протокол HTTP.

0 голосов
/ 16 октября 2010
  • REST возвращает структурированные данные XML или JSON, вы не отправляете обратно всю веб-страницу, что может быть трудно интерпретировать и будет излишне сложно.

  • Вы можете анализировать данные XML или JSON в объект на любом языке с помощью парсера для этого (включая языки .net). В этом смысле объект не означает полноценный объект .net с виртуальной таблицей и т. Д.

  • SOAP перегружает данные POST, отправленные с помощью HTTP-запроса, и, следовательно, вместо множества URL-адресов, на которые вы отправляете отдельные запросы, у вас есть только один URL-адрес, на который вы публикуете некоторые данные XML. На самом деле разница в основном семантическая.

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