Различие между REST и WebServices

Может быть невозможно обнаружить.

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

Gmail, как это, может только сказать, включили ли мне "консольную" вкладку. Зондирование далее, чем это, вероятно, потребовало бы обмана безопасности, и Вы не хотите идти туда.

58
задан Keith 6 October 2009 в 08:00
поделиться

2 ответа

SOAP - это протокол для отправки / получения данных через HTTP в формате XML.

Типичный WebService будет состоять из нескольких методов WSDL, описывающих, как его вызывать. Нет никакого реального соглашения о том, как они должны быть структурированы, поэтому вам всегда понадобится много документации по API.

Обычно это будет что-то вроде (для ASP.NET):

  • HTTP POST to ] mysite.com/products.asmx/ListAllProducts - возвращает XML-список продуктов
  • HTTP POST на mysite.com/products.asmx/GetProduct - возвращает XML для продукт на основе SOAP XML в опубликованном контенте
  • HTTP POST на mysite.com/products.asmx/UpdateProduct - изменяет продукт на основе SOAP XML в опубликованном контенте

REST - это скорее соглашение о структурировании всех ваших методов:

  • HTTP GET от mysite.com/products - возвращает XML или JSON со списком всех продуктов
  • HTTP GET с mysite.com/ products / 14 - возвращает XML или JSON для продукта 14
  • HTTP POST на mysite.com/products/14 - изменяет продукт 14 на то, что вы публикуете в HTML. форма.
  • HTTP УДАЛИТЬ на mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT на mysite.com/ products - добавляет новый продукт

Таким образом, REST работает так же, как и URL-адреса браузера. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

com / products - возвращает XML или JSON со списком всех продуктов
  • HTTP GET из mysite.com/products/14 - возвращает XML или JSON для продукта 14
  • HTTP POST на mysite.com/products/14 - изменяет продукт 14 на то, что вы публикуете в форме HTML.
  • HTTP УДАЛИТЬ на mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT в mysite.com/products - добавляет новый продукт
  • Таким образом, REST работает как вы ожидаете, что URL-адреса браузера будут. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

    com / products - возвращает XML или JSON со списком всех продуктов
  • HTTP GET из mysite.com/products/14 - возвращает XML или JSON для продукта 14
  • HTTP POST на mysite.com/products/14 - изменяет продукт 14 на то, что вы публикуете в форме HTML.
  • HTTP УДАЛИТЬ на mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT в mysite.com/products - добавляет новый продукт
  • Таким образом, REST работает как вы ожидаете, что URL-адреса браузера будут. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

    com / products / 14 - возвращает XML или JSON для продукта 14
  • HTTP POST на mysite.com/products/14 - изменяет продукт 14 на то, что вы публикуете форма HTML.
  • HTTP УДАЛИТЬ до mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT на mysite. com / products - добавляет новый продукт
  • Таким образом, REST работает так же, как и URL-адреса браузера. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

    com / products / 14 - возвращает XML или JSON для продукта 14
  • HTTP POST на mysite.com/products/14 - изменяет продукт 14 на то, что вы публикуете форма HTML.
  • HTTP УДАЛИТЬ до mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT на mysite. com / products - добавляет новый продукт
  • Таким образом, REST работает так же, как и URL-адреса браузера. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

  • HTTP УДАЛИТЬ на mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT на mysite.com/products - добавляет новый продукт
  • Таким образом, REST работает так же, как и URL-адреса браузера. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

  • HTTP УДАЛИТЬ на mysite.com/products/14 - удаляет продукт 14
  • HTTP PUT на mysite.com/products - добавляет новый продукт
  • Таким образом, REST работает так же, как и URL-адреса браузера. Таким образом, это более естественно и намного проще для понимания. Все API-интерфейсы REST работают одинаково, поэтому вы не тратите много времени на изучение особенностей каждой системы.

    71
    ответ дан 24 November 2019 в 19:03
    поделиться

    Для меня служба, реализованная с использованием подхода RESTful, выигрывает у службы, использующей SOAP или RPC, с точки зрения доступности. В относительно закрытой системе, где доступны инструменты для создания заглушек и связей на основе WSDL, это не так уж важно. Однако, если вы хотите создавать сервисы, которые доступны и доступны широкому кругу клиентов, то единообразие сервисов REST и простота их использования является большим плюсом, т.е. вам не нужен тяжелый стек RPC, просто возможность делать HTTP-запросы.

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

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

    13
    ответ дан 24 November 2019 в 19:03
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: