दूरस्थ प्रक्रिया कॉल और वेब सेवा के बीच अंतर क्या है?


80

क्या RPC और वेब सेवा की कोई स्पष्ट परिभाषा है? एक त्वरित विकिपीडिया खोज शो:

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

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

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

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

जवाबों:


60

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

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


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

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

@schlamar क्या वेब सेवा का आरपीसी से कोई लेना-देना है? यदि हाँ, तो क्या हमारे पास वेब सेवा वातावरण में क्लाइंट और सर्वर स्टब्स हैं?
ओवरएक्सचेंज

9

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

------------------------------------------------------------------------------
| Category             |    RPC              |    Web Services
------------------------------------------------------------------------------
|Operation's Location  | On top of TCP       | on top of HTTP Protocol
------------------------------------------------------------------------------
|Data format           | Binary              | Text, XML, JSON, ect.
------------------------------------------------------------------------------
|Speed                 | Slow (Marshalling)  | Fast
------------------------------------------------------------------------------

मैंने आरपीसी और वेब सेवाओं के विवरण का उल्लेख नहीं किया है, क्योंकि आप उन्हें दूसरों के उत्तर में स्पष्ट रूप से देखते हैं।


4

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


कृपया अंग्रेजी में सुधार करें। समझ नहीं सकते
मोहित शाह

1

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

विशेष रूप से WSDL सूचना के कई महत्वपूर्ण टुकड़े प्रदान करता है:

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

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