Yanıtlar:
REST, HTTP kullanarak istemciden sunucuya iletilerin nasıl gönderileceğini gösteren bir mimaridir. OData, Microsoft tarafından desteklenen ve HTTP üzerinden belirli türdeki iletileri göndermek için bir REST mimarisi kullanan bir standarttır . OData mesajların neye benzediğini (içerik) anlatıyor. REST, bu mesajların nasıl geri gönderildiği mimarisidir.
Hem @jkohlhepp hem de @Tom Squires ile hemfikirim, ancak birkaç ayrıntı ekleyeceğim.
OData açık bir standarttır (Microsoft tarafından desteklenir, ancak Microsoft'un ötesinde benimsenir ve iOS ve Android dahil birçok platformda kullanılabilir).
OData yükleri Atom (okuma) ve AtomPub (güncelleme) biçimini temel alır. (Bir yana, Atom aynı zamanda popüler bir RSS feed formatının temelidir.) Atom genişletilebilir ve OData iyi bilinen uzantılar oluşturmak için bundan yararlanmıştır. Örneğin, bir OData hizmeti ile filtreleme (tarihe göre filtre veya müşteri adı) ve sıralama gibi birçok özelliğe sahip URI Kuralları vardır . Bu özel kuralları standart (OData tanımlı) bir şekilde kullanmak, OData'yı benzer şekilde hareket ettikleri için güçlü kılar ve bunlara karşı çalışmak için araçlar geliştirebiliriz.
Netflix gibi bazı iyi bilinen OData kaynakları var (tüm film verileri orada - oynamak eğlenceli olabilir!).
OData hakkında her şeyi odata.org adresinde okuyun .
İyi şanslar! -Bill
REST, Web Servisleri oluşturmanın Mimari Stili'dir. Bu, Hizmetlerinizin maruz kaldığı Kaynaklar üzerinde CRUD yapmak için HTTP ve fiillerini (POST / PUT / GET vb.) Kullanabileceğinizi söyleyen bir modeldir. Ancak REST, URL'lerin nasıl görünmesi gerektiği, istek / yanıt biçimlerinin nasıl görünmesi gerektiği, bilgilerin nasıl sorgulanacağı veya temel düzeyde bir hizmetin en başta hangi işlemleri ve kaynakları desteklediğiyle ilgili herhangi bir ayrıntıdan yoksundur!
XML tabanlı web hizmetleri dünyasında, çeşitli hizmetler ve müşterileri arasında birlikte çalışabilirliği sağlayan standartları tanımlayan SOAP, WSDL, WS- * var.
OData bunu REST tabanlı web hizmetleri için yapmaya çalışıyor.
Hizmetinizin neyi (varlık / karmaşık) desteklediğini (özelliklerini / özelliklerini), veri türlerini, türlerinizi nasıl ilişkilendirdiğinizi ve hizmetinizin geleneksel CRUD dışındaki bazı özel işlemleri destekleyip desteklemediğini açıklamak için $ meta verilerini CSDL biçiminde tanımlar.
OData, kaynaklar vb., / Entity, / Entity ('id') veya / Entity (anahtar1 = değer1, anahtar2 = değer2) ... için URL biçimlerini standartlaştırır.
OData, verilerin ve meta verilerinin nasıl yapılandırıldığına dair JSON ve AtomXml'deki istek / yanıt biçimlerini standartlaştırır.
OData ayrıca, tüketicilerin hizmetlerinizi aradıkları kesin bilgiler için sorgulamalarını sağlamak için çok zengin bir sorgu dili belirtir - $ filter, $ orderby, $ skip, $ top, $ expand yardımıyla.
OData, tüm Veri Modelinizi - Varlıkları ve İlişkilerini tanımlamanıza ve bu Varlıklar ve / veya İlişkilerdeki CREATE, UPDATE, DELETE, GET, MERGE ve hatta CUSTOM OPERATION gibi her türlü işlemi desteklemenize yardımcı olur.
OData v4 artık önceki sürümlerinin üstünde birçok iyileştirme yapan bir OASIS standardıdır. OData ekosistemi yavaş yavaş büyüyor.
OData, REST kullanan bir standarttır.