2008-09-17 21 views
67

मैंने कभी नहीं समझा है कि क्यों एक वेब सेवा कार्यान्वयन दूसरे पर एक का चयन करेगा। क्या एक्सएमएल-आरपीसी आमतौर पर पुराने सिस्टम में पाया जाता है? इसे समझने में कोई मदद की सराहना की जाएगी।एक्सएमएल-आरपीसी और एसओएपी के बीच क्या अंतर है?

उत्तर

74

मतभेद?

xml-rpc spec 1 पृष्ठ 6 पृष्ठों पर फिट बैठता है। एसओएपी 1.2 spec आपको एक 500 पेज रीम 44 पृष्ठों का खर्च आएगा।

SOAP अधिक शक्तिशाली है, और सॉफ़्टवेयर टूल विक्रेताओं (एमएसएफटी .NET, जावा एंटरप्राइज़ संस्करण, उस तरह की चीजों) द्वारा बहुत पसंद किया जाता है।

एसओएपी लंबे समय से (2001-2007ish) एसओए के लिए पसंद के प्रोटोकॉल के रूप में देखा गया था। एक्सएमएल-आरपीसी इतना नहीं है। आरईएसटी नया एसओए प्रिय है, हालांकि यह प्रोटोकॉल नहीं है।

SOAP अधिक वर्बोज़ है, लेकिन अधिक सक्षम है।

SOAP कुछ पुराने सामानों में समर्थित नहीं है। उदाहरण के लिए, क्लासिक एएसपी (जो मुझे मिल सकता है) के लिए कोई SOAP libs नहीं है।

SOAP पाइथन में अच्छी तरह से समर्थित नहीं है। एक्सएमएल-आरपीसी मानक लाइब्रेरी में पायथन में बहुत अच्छा समर्थन है।

सोप हालांकि यह इस तरह के structs, सूचियों, आदि के रूप में संरचनाओं हस्तांतरण कर सकते हैं,, दस्तावेज़ स्तर के स्थानांतरण का समर्थन करता है, जबकि XML-RPC मूल्यों हस्तांतरण के बारे में अधिक है

xm-RPC वास्तव में कार्यक्रम कार्यक्रम भाषा नास्तिक हस्तांतरण के बारे में है । यह मुख्य रूप से http/https पर चला जाता है। एसओएपी संदेश ईमेल पर भी जा सकते हैं।

xml-rpc अधिक unixy है। यह आपको चीजों को सरलता से करने देता है, और जब आप जानते हैं कि आप क्या कर रहे हैं, तो टर्मिनल टेक्स्ट एडिटर्स का उपयोग करते समय भी गुणवत्ता वेब सेवाओं को तैनात करना बहुत तेज़ है। इस तरह से एसओएपी करना एक चिड़ियाघर है; इसे संभव बनाने के लिए आपको वास्तव में एक अच्छा आईडीई चाहिए।

एसओएपी को जानना, अगर आप फॉच्र्युन 500 आईटी नौकरी के लिए इच्छुक हैं तो अपने रेज़्यूमे/सीवी पर बेहतर प्रदर्शन करेंगे।

xml-rpc में गैर-असीसी चरित्र सेट के साथ कुछ समस्याएं हैं।

संपादित: बस यह जोड़ना चाहता था कि एक्सएमएल-आरपीसी नामित पैरामीटर का समर्थन नहीं करता है। वे सही क्रम में होना चाहिए। SOAP के बारे में निश्चित नहीं है, लेकिन ऐसा सोचें।

+1

पायथन के साथ SOAP के लिए, ZSI पैकेज है। यह काफी अच्छा है, लेकिन आपको बिल्कुल एक wsdl की आवश्यकता है। – edomaur

+1

मुझे विश्वास है कि पुराने एसओएपी टूलकिट को "क्लासिक एएसपी" के लिए समर्थन मिला था। इस बिंदु पर, कोई भी COM घटक बनाने के लिए आपकी पसंदीदा .NET भाषा का उपयोग कर सकता है जो क्लाइंट एएसपी को एक आधुनिक वेब सेवा का उपभोग करने की अनुमति देता है, जो सेवा संदर्भ को लपेटता है। –

+0

@ मार्क हैरिसन और क्रिस्टोफर: आपका क्या मतलब है "एसओएपी करना एक चिड़ियाघर है"। क्षमा करें, मैं "चिड़ियाघर" शब्द को समझने में सक्षम नहीं था। कृपया इसका वर्णन करें ... – Saravanan

11

पर मतभेद पर एक बड़ा निबंध है, मैं, सोप और XML-RPC कॉल की वास्तविक शाब्दिक अभ्यावेदन को देखने के लिए शायद के साथ एक पर कब्जा कर लिए प्रोत्साहित करते हैं ईथर। संपूर्ण, "एक्सएमएल-आरपीसी सरल है" तर्क तब तक ज्यादा समझ में नहीं आता जब तक आप देखते हैं कि एसओएपी कॉल कितना अविश्वसनीय रूप से वर्बोज़ है। वहां बहुत सी लोकप्रिय वेब साइटें एसओएपी से बहुत दूर बैंडविड्थ की वजह से अपने एपीआई के रूप में दूर हो गईं, अगर लोग इसे बड़े पैमाने पर इस्तेमाल करना शुरू कर देते हैं तो इसका उपभोग होगा।

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