ओडाटा एक रेस्ट सर्विस से कैसे अलग है?


15

मैं एक वेब सेवा एपीआई लिखने में देख रहा हूँ और मैं एक REST सेवा बनाने के बारे में सोच रहा हूँ। इस संदर्भ में ओदता का क्या अर्थ है? क्या आप कृपया OData और REST के बीच अंतर बता सकते हैं?


देखें: odata.org
NoChance

जवाबों:


11

REST एक आर्किटेक्चर है जो HTTP से क्लाइंट से सर्वर तक संदेश भेजते हैं। OData Microsoft द्वारा मानक मानक है जो HTTP पर विशेष प्रकार के संदेश भेजने के लिए REST आर्किटेक्चर का उपयोग करता है । ओडटा इस बारे में बात करता है कि संदेश क्या दिखते हैं (सामग्री)। REST इस बात की वास्तुकला है कि उन संदेशों को आगे और पीछे कैसे भेजा जाता है।


5

मैं @jkohlhepp और @Tom Squires दोनों से सहमत हूं, हालांकि कुछ विवरण जोड़ देंगे।

OData एक खुला मानक है (Microsoft द्वारा चैंपियन, लेकिन Microsoft से परे अपनाया गया है, और iOS और Android सहित कई प्लेटफार्मों के लिए उपलब्ध है)।

OData पेलोड एटम (पढ़ें) और एटमपब (अपडेट) प्रारूप पर आधारित हैं। (एक तरफ के रूप में, एटम एक लोकप्रिय आरएसएस फ़ीड प्रारूप के लिए भी आधार है।) एटम एक्स्टेंसिबल है, और ओडटा ने इसका फायदा उठाया है ताकि प्रसिद्ध एक्सटेंशन बनाए जा सकें। उदाहरण के लिए, एक ओडटा सेवा के साथ कई क्षमताओं के साथ यूआरआई कन्वेंशन हैं , जैसे फ़िल्टरिंग (तिथि द्वारा फ़िल्टर, या ग्राहक का नाम) और सॉर्टिंग और आगे। इन विशेष सम्मेलनों का एक मानक (ओडता-परिभाषित) तरीके से उपयोग करना ओडटा को शक्तिशाली बनाता है क्योंकि वे समान कार्य करते हैं और हम उनके और इस तरह के खिलाफ काम करने के लिए उपकरण बना सकते हैं।

नेटफ्लिक्स (जैसे उनके सभी मूवी डेटा है - के साथ खेलने के लिए हो सकता है!) जैसे कुछ प्रसिद्ध ओडटा स्रोत उपलब्ध हैं।

Odata.org पर OData के बारे में सभी पढ़ें ।

सौभाग्य! -Bill


4

REST वेब सेवाओं के निर्माण की एक स्थापत्य शैली है। यह सिर्फ एक मॉडल है जो कहता है कि आप अपनी सेवाओं द्वारा उजागर किए गए संसाधनों पर CRUD प्रदर्शन करने के लिए HTTP और उसके क्रिया (POST / PUT / GET आदि) का उपयोग कर सकते हैं। लेकिन REST के पास इस बात का कोई विवरण नहीं है कि URL कैसे दिखना चाहिए, कैसे अनुरोध / प्रतिक्रिया स्वरूप दिखना चाहिए, कैसे जानकारी क्वेरी करनी है या एक बुनियादी स्तर पर क्या संचालन और संसाधन पहली बार में सेवा का समर्थन करता है!

XML आधारित वेब सेवाओं की दुनिया में, हमारे पास SOAP, WSDL, WS- * हैं जो विभिन्न सेवाओं और उनके ग्राहकों के बीच अंतर को सक्षम करने वाले मानकों को परिभाषित करते हैं।

OData REST आधारित वेब सेवाओं के लिए ऐसा करने का प्रयास कर रहा है।

यह CSDL प्रारूप में $ मेटाडेटा को परिभाषित करता है कि यह समझाने के लिए कि आपकी सेवा का समर्थन करने वाले (इकाई / जटिल) प्रकार क्या हैं और उनके गुण, उनके डेटा प्रकार, आपके प्रकार कैसे संबंधित हैं, और यदि आपकी सेवा पारंपरिक CRUD से परे कुछ विशेष कार्यों का समर्थन करती है।

OData आपके संसाधनों के लिए URL स्वरूपों को मानकीकृत करता है। /, Entity, / Entity ('id') या / Entity (key1 = value1, key2 = value2) ... इत्यादि।

OData डेटा और इसके मेटाडेटा की संरचना कैसे की जाती है, इस पर JSON और AtomXml में अनुरोध / प्रतिक्रिया प्रारूप को मानकीकृत करता है।

OData उपभोक्ताओं को सटीक जानकारी के लिए आपकी सेवाओं को क्वेरी करने में सक्षम करने के लिए एक बहुत समृद्ध क्वेरी भाषा भी निर्दिष्ट करता है - वे $ फ़िल्टर, $ ऑर्डरबी, $ स्किप, $ टॉप, $ विस्तार की सहायता से।

OData आपको अपने संपूर्ण डेटा मॉडल - प्रविष्टियों और उनके संबंधों का वर्णन करने में मदद करता है और इन प्रविष्टियों और / या संबंधों पर CREATE, UPDATE, DELETE, GET, MERGE और यहां तक ​​कि कस्टम संचालन जैसे सभी प्रकार के संचालन का समर्थन करता है।

OData v4 अब एक OASIS मानक है जो इसके पहले संस्करणों के शीर्ष पर कई सुधार करता है। ओडता के लिए पारिस्थितिकी तंत्र धीरे-धीरे बढ़ रहा है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.