2010-03-20 8 views
6

हमारे पास डेटा का एक गुच्छा है जिसे हम एएसपी-नेट.एमवीसी वेबसाइट पर होस्ट की गई दुनिया में बेनकाब करना चाहते हैं। मैं यह सुनिश्चित करना चाहता हूं कि हम प्रौद्योगिकी का उपयोग करके इसे वितरित करें जो कि डेवलपर्स के साथ अलोकप्रिय/असंगत तकनीक का उपयोग करने के बजाय, अंतिम डेवलपर्स को लागू करने के लिए आसान है और किसी विशेष प्लेटफॉर्म से बंधे नहीं है।एक सार्वजनिक वेब एपीआई: डेवलपर्स क्या उपभोग करना पसंद करते हैं?

हम जिन अनुरोधों की अपेक्षा करते हैं वे मुख्य रूप से खोज परिणामों को पुनर्प्राप्त करने के लिए हैं (कई पैरामीटर नहीं), लेकिन नीचे हम कैटलॉग लुकअप और जैसे प्रदान करने में सक्षम होना चाहते हैं, जो अधिक जटिल हो सकता है।

इसे ध्यान में रखते हुए, ऐसा करने का पसंदीदा माध्यम क्या है?

+0

चूंकि यह एक ध्रुव/राय प्रश्न है, शायद यह समुदाय विकी होना चाहिए? – Joel

+1

मामूली नोट: तथ्य यह है कि आप aps.net-mvc का उपयोग कर रहे हैं, इस प्रकार आपके द्वारा बनाई गई वेब सेवा के प्रकार और प्रकार के संबंध में कोई फर्क नहीं पड़ता। एक अच्छी वेब सेवा में अद्वितीय प्रवृत्तियों नहीं होनी चाहिए जो अंतर्निहित तकनीक को स्पष्ट करे। –

+0

@ जोएल: मुझे नहीं पता कि यह वास्तव में एक राय है। जब सभी प्रमुख खिलाड़ी एक दिशा में आगे बढ़ रहे हैं, तो "राय" "उद्योग-मानक" बनने लगती है। –

उत्तर

9

Windows Communication Foundation दोनों एसओएपी सेवाओं को बनाने के लिए इस्तेमाल किया जा सकता है (यदि आपके उपभोक्ता व्यवसाय हैं, विजुअल स्टूडियो/.NET या जावा का उपयोग कर रहे हैं) या आरईएसटी सेवाएं (अन्य प्लेटफॉर्म पर लोगों के लिए)। वे सार्वजनिक एपीआई को उजागर करने के पसंदीदा साधन हैं।

यदि आप अधिकतम एक्सपोजर चाहते हैं, तो शायद आरईएसटी दृष्टिकोण का उपयोग करना सबसे अच्छा है, क्योंकि जावास्क्रिप्ट जैसे "वेब" भाषाओं से उपभोग करना आसान है। माइक्रोसॉफ्ट के पास डब्ल्यूसीएफ का उपयोग कर एक आरईएसटी एपीआई डालने पर extensive resources है।

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

  • उपभोग्य;:

    कारण बाकी उपयोग करने के लिए

  • यह
  • कई अलग अलग डेटा स्वरूप (JSON, एटम, आदि)

कारण साबुन का उपयोग करने का समर्थन करता है लोकप्रिय (गूगल, ट्विटर, आदि द्वारा उपयोग में) है:

  • मानकीकृत सुरक्षा प्रोटोकॉल (एन्क्रिप्शन, ग़ैर-अस्वीकरण, आदि)
  • वितरित लेनदेन
  • संदेश पंक्तिबद्ध करना

यह एक विस्तृत सूची नहीं है लेकिन यह आपको एक विचार देनी चाहिए कि प्रत्येक के लिए लक्षित बाजार कौन हैं। यदि आप किसी भी और हर किसी द्वारा उपभोग करने के लिए डिज़ाइन की गई एक बहुत ही खुली, बहुत ही सार्वजनिक साइट होस्ट कर रहे हैं, तो REST के साथ जाएं। यदि सेवा किसी व्यवसाय प्रणाली का हिस्सा है और आपको डेटा की विश्वसनीयता, सुरक्षा और स्थिरता की गारंटी देने की आवश्यकता है, तो आप SOAP के साथ जाना चाहेंगे। अपने लक्षित बाजार के आधार पर उपयुक्त तकनीक चुनें।

+0

आरईएसटी बनाम एसओएपी का अच्छा टूटना। – Joel

+0

अच्छा जवाब हारून बधाई देता है! + 1 – SDReyes

+0

मुझे लगता है कि मुझे जो जानने की आवश्यकता है उसे शामिल करता है। समय लेने के लिए शुक्रिया। – spender

8

RESTful एपीआई बनाएं। एक डेवलपर के रूप में जो अक्सर वेब सेवाओं का उपभोग करता है, वैसे ही मैं अपेक्षा करता हूं और पसंद करता हूं।

कई लोकप्रिय सेवाओं (digg/ट्विटर/Netflix/गूगल) SOAP से अधिक REST लिए आगे बढ़ रहे हैं, तो आप सूट का पालन करने बुद्धिमान होगा।

+3

+1। यदि आपके सभी एपीआई विकल्पों को डेटा का पर्दाफाश करने के लिए डिज़ाइन किया गया है, तो मैं आराम से सेवाएं पसंद करूंगा। इस तरह से मुझे बस कुछ भी चाहिए जो मुझे चाहिए और इसे उपभोग करें हालांकि मुझे पसंद है। जब तक आप डेटा के एकाधिक दृश्य (JSON, XML, आदि) प्रदान करते हैं, मुझे लगता है कि यह सबसे लचीला है। – Joel

+2

ओह, हाँ, निश्चित रूप से डेटा पर कई विचार प्रदान करते हैं। जेएसओएन और एक्सएमएल (कम से कम) दोनों की पेशकश करना केवल स्वीकार्य होने की बजाय आपकी वेब सेवा 'सेक्सी' बनाना शुरू कर देता है। –

+1

यह इस बात पर निर्भर नहीं करता है कि एपीआई आरईएसटी के लिए उपयुक्त है या नहीं? सब कुछ नहीं है, आप जानते हैं। कुछ को प्रोटोकॉल के डब्ल्यूएस- * सूट की विशेषताओं की आवश्यकता होती है, जिन्हें किसी भी कारण से विकसित नहीं किया गया था। –

1

यदि आप एक आरईएसटी एपीआई बनाते हैं तो आपको WADL फ़ाइल भी बनाना चाहिए। यह आरईएसटी के लिए WISDL है। वे अभी तक समर्थित नहीं हैं, लेकिन उन्हें बनाना मुश्किल नहीं है और वे समर्थन बढ़ने के रूप में और अधिक उपयोगी हो जाएंगे।

1

यो ओडाटा को देखना चाहता है। Odata.org और live.visitmix.com/videos पर यह आपको आरओएसटी एक्सेस, एसओएपी में मेटाडाटा समर्थन, पूरे कार्यालय के ढेर के साथ अंतःक्रियाशीलता और यदि आप डब्ल्यूसीएफ डेटा सेवाओं का उपयोग कर रहे हैं तो आप इसे घंटों के मामले में लागू कर सकते हैं , सबसे अधिक दिन।

netflix.com पर एक नज़र डालें, उन्होंने इसे सही (IMHO) किया है।

संबंधित मुद्दे