Вопрос

Изучая некоторые веб-сервисы, я наткнулся на эту "новую" технологию, которую Microsoft называет OData ( ОДата ).Читая их описание в разделе часто задаваемых вопросов о том, что такое OData, я с трудом отличаю OData от остальных веб-сервисов.Не мог бы кто-нибудь, пожалуйста, помочь мне понять различия?

Это было полезно?

Решение

ОБНОВЛЯТЬ Предупреждение: этот ответ чрезвычайно устарел теперь, когда доступен OData V4.


Я уже писал пост на эту тему здесь.

Как сказал Франси, OData основан на Atom Pub.Однако они добавили некоторые функциональные возможности сверху и, к сожалению, проигнорировали некоторые ограничения REST в процессе.

Возможность запроса службы OData требует создания URI на основе информации, которая недоступна или на которую есть ссылка в ответе.Это то, что люди REST называют внеполосной информацией и вводят скрытую связь между клиентом и сервером.

Другая связанность заключается в использовании метаданных EDMX для определения свойств, содержащихся в содержимом записи.Эти метаданные можно обнаружить в фиксированной конечной точке, называемой $metadata.Опять же, клиент должен знать это заранее, это невозможно обнаружить.

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

Другие советы

Протокол OData построен на основе протокола AtomPub.Протокол AtomPub — один из лучших примеров дизайна REST API.Итак, в каком-то смысле вы правы: OData — это просто еще один REST API, а каждая реализация OData — это REST-ful веб-сервис.

Разница в том, что OData — это особый протокол;REST — это архитектурный стиль и шаблон проектирования.

REST — это общий метод проектирования, используемый для описания способа доступа к веб-сервису.Используя REST, вы можете отправлять http-запросы для получения данных.Если вы попробуете это в своем браузере, это будет похоже на переход на веб-сайт, за исключением того, что вместо возврата веб-страницы вы получите обратно XML.Некоторые службы также возвращают данные в формате JSON, который проще использовать с Javascript.

OData — это особая технология, которая предоставляет данные через REST.

Если вы хотите подвести итог очень быстро, подумайте об этом так:

  • ОТДЫХ — шаблон проектирования
  • OData – технология, обеспечивающая возможности

В 2012 году OData подвергся стандартизации, поэтому я просто добавлю обновление здесь..

Во- первых, определения:

ОТДЫХ - это архитектура отправки сообщений по протоколу HTTP.

OData V4- это конкретная реализация REST, действительно определяющая содержимое сообщений в разных форматах (в настоящее время, я думаю, это AtomPub и JSON).ODataV4 следует принципам rest.

Например, asp.net люди в основном будут использовать WebAPI controller для сериализации / десериализации объектов в JSON и заставлять javascript что-то с этим делать.Суть Odata заключается в возможности запрашивать напрямую по URL-адресу с помощью готовых опций.

Из OData документация:

Протокол OData — это протокол уровня приложения для взаимодействия с данными через веб-сервисы RESTful.

...

Протокол OData отличается от других подходов к веб-сервисам на основе REST тем, что он обеспечивает единообразный способ описания как данных, так и модели данных.

ОДАТА это особый вид ОТДЫХ где мы можем запрашивать данные единообразно из URL.

Службы OData (открытый протокол передачи данных) - стандарт оазис, который определяет лучших практика создания и использования голосовых команд.OData помогает вам сосредоточьтесь на своем бизнес-логики при построении голосовых команд без беспокоясь о подходах, чтобы определить запрос и ответ заголовки, коды состояния HTTP-методов, имена URL-адресов, типов носителей, форматы полезной нагрузки и параметры запроса и т. д.OData также расскажет вам об отслеживании изменений, определении функций / действий для многократно используемых процедур и отправке асинхронных / пакетных запросов и т.д.Кроме того, OData предоставляет возможность расширения для удовлетворения любых пользовательских потребностей ваших RESTful API.

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

для получения более подробной информации посетите http://www.odata.org/

ОТДЫХ означает РЭпрезентационный СТейт Тпередача, которая представляет собой архитектурный стиль, основанный на ресурсах.Ресурсный подход означает, что данные и функциональные возможности рассматриваются как ресурсы.

Одата — это веб-протокол, определяющий набор лучших практик для создания и использования веб-сервисов RESTful.OData — это способ создания веб-сервисов RESTful, то есть реализация REST.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top