web-services - odata specification




Differenza tra i servizi web OData e REST (5)

OData (Open Data Protocol) è uno standard OASIS che definisce la best practice per la creazione e il consumo di API RESTful. OData ti aiuta a concentrarti sulla tua logica aziendale mentre costruisci API RESTful senza dovermi preoccupare degli approcci per definire intestazioni di richieste e risposte, codici di stato, metodi HTTP, convenzioni URL, tipi di media, formati di payload e opzioni di query ecc. OData ti guida anche su monitoraggio delle modifiche, definizione di funzioni / azioni per procedure riutilizzabili e invio di richieste asincrone / batch, ecc. Inoltre, OData offre funzionalità di estensione per soddisfare qualsiasi esigenza personalizzata delle API RESTful.

Le API RESTful di OData sono facili da utilizzare. I metadati OData, una descrizione leggibile dalla macchina del modello dati delle API, consentono la creazione di potenti proxy e strumenti client generici. Alcuni di essi possono aiutarti a interagire con OData anche senza sapere nulla sul protocollo. Le seguenti 6 fasi illustrano 6 scenari interessanti di consumo di OData attraverso diverse piattaforme di programmazione. Ma se sei un non sviluppatore e vorresti semplicemente giocare con OData, XOData è il miglior inizio per te.

per maggiori dettagli su http://www.odata.org/

Mentre esaminavo alcuni servizi web, mi sono imbattuto in questa "nuova" tecnologia che Microsoft chiama http://www.odata.org/ . Leggendo la loro descrizione all'interno delle FAQ su cosa sia OData, sto avendo difficoltà a distinguere OData dai servizi web REST-ful. Qualcuno potrebbe aiutarmi a capire le differenze?


Dalla documentation OData:

Il protocollo OData è un protocollo a livello di applicazione per l'interazione con i dati tramite i servizi Web RESTful.

...

Il protocollo OData è diverso da altri approcci di servizi Web basati su REST in quanto fornisce un modo uniforme per descrivere sia i dati che il modello di dati.


Nel 2012 OData ha subito la standardizzazione, quindi aggiungerò un aggiornamento qui ..

Prima le definizioni:

REST - è un'architettura di come inviare messaggi su HTTP.

OData V4 - è un'implementazione specifica di REST, in realtà definisce il contenuto dei messaggi in diversi formati (attualmente penso sia AtomPub e JSON). ODataV4 segue i principi di riposo.

Ad esempio, le persone di asp.net useranno principalmente controller WebApi per serializzare / deserializzare oggetti in JSON e fare in modo che javascript faccia qualcosa con esso. Il punto di Odata è poter interrogare direttamente dall'URL con opzioni predefinite.


REST è una tecnica di progettazione generica utilizzata per descrivere in che modo è possibile accedere a un servizio Web. Usando REST è possibile effettuare richieste http per ottenere dati. Se lo provi nel tuo browser, sarebbe come andare su un sito web, tranne che per restituire una pagina web che ti restituirebbe XML. Alcuni servizi restituiranno anche dati in formato JSON, che è più facile da usare con Javascript.

OData è una tecnologia specifica che espone i dati tramite REST.

Se vuoi riassumerlo in un attimo, pensa ad esso come:

  • REST - modello di progettazione
  • OData: tecnologia abilitante

ODATA è un tipo speciale di REST in cui possiamo interrogare i dati in modo uniforme dall'URL.





odata