2010-06-12 8 views
60

के बीच का अंतर है वहाँ आरपीसी और वेब सेवा के बारे में कोई स्पष्ट परिभाषा है? एक त्वरित विकिपीडिया खोज से पता चलता:क्या दूरस्थ प्रक्रिया कॉल और वेब सेवा

आरपीसी: रिमोट प्रक्रिया कॉल (RPC) एक इंटर प्रक्रिया संचार प्रौद्योगिकी (कि को कारण एक सबरूटीन या प्रक्रिया के लिए एक कंप्यूटर प्रोग्राम एक और पता स्थान में निष्पादित की अनुमति देता है आमतौर पर प्रोग्रामर स्पष्ट रूप से इस दूरदराज के बातचीत के लिए विवरण कोडिंग के बिना एक साझा नेटवर्क पर अन्य कंप्यूटर) पर।

वेब सेवा: वेब सेवाओं आम तौर पर एप्लीकेशन प्रोग्रामिंग इंटरफेस (एपीआई) या वेब एपीआई कि हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल के माध्यम से पहुँचा और एक रिमोट प्रणाली का अनुरोध किया सेवाओं की मेजबानी पर क्रियान्वित कर रहे हैं कर रहे हैं। वेब सेवाओं दो शिविरों में से एक में आती हैं: बिग वेब सेवाएं [1] और RESTful वेब सेवाओं।

मैं स्पष्ट नहीं हूं कि दोनों चीजों के बीच वास्तविक अंतर क्या है। ऐसा लगता है कि एक चीज आरपीसी से संबंधित हो सकती है और एक ही समय में वेब सेवा की तरह है।

वेब सेवा आरपीसी के एक उच्च स्तर प्रतिनिधित्व है?

उत्तर

45

क्या वेब सेवा उच्च स्तर आरपीसी का प्रतिनिधित्व है?

हाँ, यह है। एक वेब सेवा आरपीसी का एक विशिष्ट कार्यान्वयन है। अपने निम्नतम स्तर पर, सभी वेब सेवा एक सॉकेट से कनेक्ट हो रही है, एक दूरस्थ स्थान में निष्पादित एक पेलोड भेजने पर बातचीत करने के लिए HTTP प्रोटोकॉल का उपयोग करके (यह सभी कंप्यूटर के लिए भी एक ही कंप्यूटर पर हो सकता है)। ये सभी अवशेष इसके मूल आरपीसी पर हैं।

+1

वेन क्या लिखा है के अलावा एक वेब सेवा के आगे विशेषताओं: एक RPC के एक मंच स्वतंत्र तरीके की अनुमति देता है, खोज योग्य और स्वयं का वर्णन (एक Win32 आरपीसी के साथ तुलना करें कि) है। – Alex

+4

नहीं, यह सही नहीं है। आरपीसी एक वेब सेवा की एक वास्तुकला शैली है। एक विकल्प आरईएसटी होगा। संदर्भ: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5339611 – schlamar

+0

@schlamar वेब सेवा आरपीसी से कोई लेना देना है? यदि हां, तो क्या हमारे पास वेब सेवा वातावरण में क्लाइंट और सर्वर स्टब्स हैं? – overexchange

1

• एक्सएमएल का उपयोग करके स्थानांतरण के लिए डेटा स्वरूपित किया गया है, मार्शलिंग, अनारशलिंग, और अन्य डेवलपर द्वारा कोडित अन्य अनुवाद-संबंधित आवश्यकताओं को सुधारने या समाप्त करने के लिए डेटा स्वरूपित किया गया है। • डेटा HTTP या SMTP जैसे मानकीकृत प्रोटोकॉल का उपयोग करके पारित किया गया है, जिसने अच्छी तरह से परिभाषित मानकों को प्रकाशित किया है। • अंतर्निहित खुला सेवा एक ज्ञात स्वीकृत तंत्र, डब्लूएसडीएल का उपयोग करके अच्छी तरह परिभाषित है। • सेवाएं एक अच्छी तरह से परिभाषित मानक, यूडीडीआई, और अधिक उन्नत ईबीएक्सएमएल का उपयोग कर पाई जाती हैं।

• संदेशों कि दो समाप्ति बिंदुओं के बीच पारित कर रहे हैं इसके और तत्वों और उचित स्कीमा परिभाषाओं का उपयोग करने का प्रारूप की एक परिभाषा:

विशेष रूप से डबल्यूएसडीएल जानकारी के प्रमुख टुकड़े के एक नंबर प्रदान करता है। सेवा के शब्दों •: कैसे यह एक तुल्यकालिक अनुरोध/जबाब बनाने के लिए कहा जा सकता है, तुल्यकालिक जबाब-केवल या असमकालिक संवाद। • तत्व के माध्यम से सेवा का अंत बिंदु और परिवहन: यानी, जो सेवा प्रदान करता है। • तत्व के माध्यम से एक एन्कोडिंग, इस प्रकार सेवा का उपयोग किया जाता है।

4

दूरस्थ प्रक्रिया कॉल (RPC) और WebService, कार्यक्षमता की खातिर में दोनों parallely जाना। लेकिन इनकार करने के उनके रास्ते में एक सूक्ष्म अंतर है। एक वेब सेवा, किसी भी आवेदन द्वारा लाया जा सकता है, कार्यवाही के लिए HTTP प्रोटोकॉल और प्रकृति में अपने अंतर-संचालित से अधिक XML स्वरूप का उपयोग जबकि आरपीसी के मामले में समारोह बहु अनुप्रयोगों के द्वारा लागू किया जा सकता है तो यह वस्तु डाटा स्टोर करने की क्रमबद्धता के मार्ग का अनुसरण । यह टीसीपी प्रोटोकॉल पर बाइनरी प्रारूप का समर्थन करता है। एक बेहतर दृष्टिकोण हम, RPC कार्यप्रवाह संक्षिप्त कर सकते हैं जैसे हम उचित सॉकेट और संदेश के उचित प्रारूप के माध्यम से एक समारोह को क्रियान्वित कर रहे हैं, लेकिन ग्राहक में विशेष कार्य की वास्तविक अस्तित्व नहीं जानते में server.Even प्रदान की सॉकेट में नहीं हो सकता है वही सर्वर जिसमें फ़ंक्शन रहता है। लेकिन हर बार जब यह समारोह की तरह महसूस करता है तो स्थानीय में स्थित होता है। रिमोट सेवा में, समारोह रिमोट मशीन में रहता है और यह उचित प्रारूप और प्रोटोकॉल द्वारा लागू किया जा सकता है और यह अनुमापकता अनुमति देता है।