मुझे AtomPub का उपयोग कब करना चाहिए?


13

मैं रैस्टफुल वेब सेवा डिजाइन में कुछ शोध कर रहा हूं और मुझे लगता है कि मैं एक महत्वपूर्ण निर्णय बिंदु हूं, इसलिए मैंने सोचा कि मैं इसे कुछ सलाह प्राप्त करने के लिए समुदाय के लिए पेश करूंगा।

एक प्रतिष्ठित वास्तुकला के सिद्धांतों को ध्यान में रखते हुए, मैं एक खोज योग्य एपीआई प्रस्तुत करना चाहता हूं, इसलिए मैं यथासंभव विभिन्न HTTP क्रियाओं का समर्थन करूंगा। मेरी कठिनाई उन संसाधनों के प्रतिनिधित्व की पसंद के साथ आती है। आप देख सकते हैं, मेरे लिए अपनी स्वयं की एपीआई के साथ आना आसान होगा, जिसमें यह बताया गया है कि खोज परिणाम कैसे प्रस्तुत किए जाएं और अन्य संसाधनों के लिए लिंक कैसे प्रदान किए जाएं, लेकिन यह मेरे आवेदन के लिए अद्वितीय होगा।

मैंने एटम पब्लिशिंग प्रोटोकॉल ( RFC 5023 ) के बारे में पढ़ा है , और कैसे OData इसके उपयोग को बढ़ावा देता है, लेकिन यह एक साधारण एपीआई के बजाय (वर्तमान में) क्या है पर एक अतिरिक्त स्तर को जोड़ने लगता है।

तो मेरा सवाल है, जब एक डेवलपर को एटमपब का चयन उनकी प्रतिनिधित्व की पसंद के रूप में करना चाहिए - यदि बिल्कुल? और यदि नहीं, तो वर्तमान अनुशंसित दृष्टिकोण क्या है?


1
इस बारे में एक दिलचस्प चर्चा यहाँ है: comments.gmane.org/gmane.comp.web.services.rest/rest/16023
गैरी रोवे

जवाबों:


11

इसमें उचित मात्रा में शोध करने के बाद, यहाँ मेरे निष्कर्ष हैं:

3 प्राथमिक प्रारूप और दृष्टिकोण प्रतीत होते हैं: एटमपब, ओडैटा और एचएएल। मैंने नीचे प्रत्येक के लिए शोध को संक्षेप में प्रस्तुत किया है।

AtomPub

  • प्रो: अच्छी तरह से स्थापित मानक
  • प्रो: XML और JSON के साथ काम करता है
  • प्रो: Apache Abdera के माध्यम से उत्कृष्ट जावा समर्थन है
  • Con: Abdera निर्भरता का एक बहुत परिचय
  • Con: सर्वर की ओर से काम करने के लिए बहुत ही जटिल
  • Con: संपूर्ण जावास्क्रिप्ट क्लाइंट बनाने में कठिनाई

OData

  • प्रो: AtomPub पर बनाता है
  • प्रो: XML और JSON के साथ काम करता है
  • प्रो: odata4j परियोजना के माध्यम से अच्छा जावा समर्थन है
  • प्रो: एक अच्छा URI क्वेरी संरचना प्रदान करता है

  • Con: एक पूर्ण रूपरेखा प्रस्तुत करता है (अनिवार्य रूप से Dropwizard की जगह)

  • Con: विशेष रूप से इकाई डेटा मॉडल (EDM) के साथ काम करने के लिए बहुत जटिल
  • Con: EDM के लिए Windows- केवल टूल पर निर्भर किए बिना एक अच्छा जावास्क्रिप्ट क्लाइंट लाइब्रेरी खोजने में मुश्किल है

एचएएल

  • प्रो: एक हल्के और एक्स्टेंसिबल दृष्टिकोण का परिचय
  • प्रो: XML और JSON के साथ काम करता है
  • प्रो: इसे लागू करने के लिए एक JAXB मॉडल बनाने के लिए तुच्छ (कोई निर्भरता नहीं)
  • प्रो: एक अच्छा लिंकिंग ढांचा प्रदान करता है
  • प्रो: सामान्य jQuery XML पार्सिंग का उपयोग कर एक जावास्क्रिप्ट क्लाइंट बनाने के लिए
  • Con: पुष्टि नहीं की गई (हालांकि IETF से संपर्क किया गया है)

तो मुझे AtomPub का उपयोग कब करना चाहिए?

यदि आप अतिरिक्त जटिलता से खुश हैं और अपने ग्राहकों के लिए मानक पुस्तकालयों का उपयोग करना चाहते हैं, तो ऊपर से आपको एटमपब चुनना चाहिए। यदि आप एक बड़े दस्तावेज़ रिपॉजिटरी को चला रहे हैं तो शायद यही होगा।

मैंने हाल के ब्लॉग लेख में और अधिक विवरण (जो इस प्रश्न के लिए गुंजाइश से बाहर है) को डाल दिया है जो दूसरों की मदद के लिए हो सकता है।

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