Чим oData відрізняється від послуги REST?


15

Я розглядаю можливість написання API веб-сервісу, і я думаю створити послугу REST. Що означає OData в цьому контексті? Чи можете ви пояснити, чим відрізняється OData від REST?


дивіться: odata.org
NoChance

Відповіді:


11

REST - це архітектура способів передачі повідомлень від клієнта до сервера за допомогою HTTP. OData - це стандарт, який підтримує Microsoft, який використовує архітектуру REST для надсилання певних типів повідомлень через HTTP. OData розповідає про те, як виглядають повідомлення (вміст). REST - це архітектура того, як ці повідомлення надсилаються туди-сюди.


5

Я погоджуюся як з @jkohlhepp, так і з @Tom Squires, хоча додамо пару деталей.

OData - це відкритий стандарт (підтримується Microsoft, але прийнятий поза межами Microsoft, і доступний для багатьох платформ, включаючи iOS та Android).

Корисні навантаження OData базуються на форматі Atom (читання) та AtomPub (оновлення). (Окрім того, Atom також є основою для популярного формату RSS-каналу.) Atom є розширюваним, і OData скористалася цим для створення відомих розширень. Наприклад, у службі OData є конвенції URI з багатьма можливостями, такі як фільтрування (фільтр за датою чи ім'ям клієнта) та сортування тощо. Використання цих спеціальних конвенцій стандартним (визначеним OData) способом робить OData потужним, оскільки вони діють аналогічно, і ми можемо створити інструменти для роботи проти них і подібних.

Є деякі відомі джерела OData, такі як Netflix (усі їхні дані про фільми є - з ними можна весело грати!).

Прочитайте все про OData на odata.org .

Удачі! -Зарахунок


4

REST - це архітектурний стиль побудови веб-сервісів. Це просто модель, яка говорить про те, що ви можете використовувати HTTP та його дієслова (POST / PUT / GET тощо) для виконання CRUD на ресурсах, які піддаються вашим службам. Але REST бракує будь-яких відомостей про те, як повинні виглядати URL-адреси, як повинні виглядати формати запитів / відповідей, як запитувати інформацію або на базовому рівні, які операції та ресурси в першу чергу підтримує служба!

У світі веб-сервісів на основі XML у нас є SOAP, WSDL, WS- *, які визначають стандарти, що дозволяють взаємодіяти між різними службами та їх клієнтами.

OData намагається зробити це для веб-служб на базі REST.

Він визначає $ метадані у форматі CSDL, щоб пояснити, які (сутність / комплекс) типи підтримує ваша служба та їх властивості, типи даних, як пов’язані ваші типи, а також якщо ваша служба також підтримує деякі спеціальні операції поза традиційною CRUD.

OData стандартизує формати URL-адрес для ваших ресурсів, а саме: / entity, / entity ('id') або / entity (key1 = value1, key2 = value2) ... тощо.

OData стандартизує формати запиту / відповіді в JSON та AtomXml щодо того, як структуруються дані та його метадані.

OData також вказує дуже насичену мову запитів, що дозволяє споживачам запитувати ваші послуги для отримання точної інформації, яку вони шукають - за допомогою $ filter, $ orderby, $ skip, $ top, $ expand.

OData допомагає описати всю вашу модель даних - Суб'єкти та їх відносини та підтримує всі види операцій, такі як CREATE, UPDATE, DELETE, GET, MERGE та навіть МИТНІ ОПЕРАЦІЇ щодо цих організацій та / або відносин.

OData v4 тепер стандарт OASIS, який багато вдосконалює поверх своїх попередніх версій. Екосистема для OData повільно зростає.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.