Sambil melihat ke beberapa layanan web, saya menemukan teknologi "baru" yang oleh Microsoft disebut OData . Membaca deskripsi mereka dalam FAQ tentang apa OData itu, saya mengalami kesulitan membedakan OData dari layanan web REST-ful. Bisakah seseorang tolong saya memahami perbedaannya?
web-services
rest
odata
Scott
sumber
sumber
Jawaban:
UPDATE Peringatan, jawaban ini sangat ketinggalan zaman sekarang karena OData V4 tersedia.
Saya menulis posting tentang masalah itu beberapa waktu yang lalu di sini .
Seperti yang dikatakan Franci, OData didasarkan pada Atom Pub. Namun, mereka telah melapisi beberapa fungsi di atas dan sayangnya telah mengabaikan beberapa kendala REST dalam proses.
Kemampuan kueri layanan OData mengharuskan Anda membuat URI berdasarkan informasi yang tidak tersedia, atau ditautkan ke dalam respons. Ini adalah apa yang disebut orang REST sebagai informasi out-of-band dan memperkenalkan kopling tersembunyi antara klien dan server.
Kopling lain yang diperkenalkan adalah melalui penggunaan metadata EDMX untuk mendefinisikan properti yang terkandung dalam konten entri. Metadata ini dapat ditemukan pada titik akhir tetap yang disebut $ metadata. Sekali lagi, klien perlu mengetahui hal ini sebelumnya, tidak dapat ditemukan.
Sayangnya, Microsoft tidak ingin membuat jenis media untuk menggambarkan bagian-bagian penting dari data ini, sehingga setiap klien OData harus membuat banyak asumsi tentang layanan yang ia bicarakan dan data yang diterimanya.
sumber
Protokol OData dibangun di atas protokol AtomPub. Protokol AtomPub adalah salah satu contoh terbaik dari desain REST API. Jadi, dalam arti Anda benar - OData hanyalah API REST dan setiap implementasi OData adalah layanan web REST-ful.
Perbedaannya adalah bahwa OData adalah protokol khusus; REST adalah gaya arsitektur dan pola desain.
sumber
REST adalah teknik desain generik yang digunakan untuk menggambarkan bagaimana layanan web dapat diakses. Menggunakan REST Anda dapat membuat permintaan http untuk mendapatkan data. Jika Anda mencobanya di browser Anda, itu akan seperti pergi ke situs web kecuali alih-alih mengembalikan halaman web Anda akan mendapatkan kembali XML. Beberapa layanan juga akan mengembalikan data dalam format JSON yang lebih mudah digunakan dengan Javascript.
OData adalah teknologi khusus yang mengekspos data melalui REST.
Jika Anda ingin menjumlahkannya dengan cepat, anggap sebagai:
sumber
Pada 2012 OData menjalani standarisasi, jadi saya hanya akan menambahkan pembaruan di sini ..
Pertama definisi:
REST - adalah arsitektur cara mengirim pesan melalui HTTP.
OData V4 - adalah implementasi spesifik REST, benar-benar mendefinisikan konten pesan dalam format yang berbeda (saat ini saya pikir adalah AtomPub dan JSON). ODataV4 mengikuti prinsip istirahat.
Sebagai contoh, orang-orang asp.net sebagian besar akan menggunakan pengontrol WebApi untuk membuat serial / deserialize objek ke dalam JSON dan meminta javascript melakukan sesuatu dengannya. Titik Odata adalah dapat melakukan kueri langsung dari URL dengan opsi out-of-the-box.
sumber
Dari dokumentasi OData :
sumber
untuk lebih jelasnya di http://www.odata.org/
sumber
ODATA adalah jenis khusus REST di mana kami dapat meminta data secara seragam dari URL.
sumber
REST adalah singkatan dari RE presentational S tate T ransfer yang merupakan gaya arsitektur berbasis sumber daya. Berbasis sumber daya berarti bahwa data dan fungsionalitas dianggap sebagai sumber daya.
OData adalah protokol berbasis web yang menetapkan serangkaian praktik terbaik untuk membangun dan mengonsumsi layanan web RESTful. OData adalah cara untuk membuat layanan web RESTful sehingga implementasi dari REST.
sumber