वितरित वस्तु संचार: Difference between revisions
(Created page with "वितरित कंप्यूटिंग वातावरण में, वितरित वस्तु संचार वितरित वस्तुओ...") |
No edit summary |
||
Line 1: | Line 1: | ||
वितरित | वितरित अभिकलन परिसर में, [[वितरित वस्तु]] संचार वितरित वस्तुओं के बीच संचार का अनुभव करता है। मुख्य भूमिका वस्तुओं को डेटा तक पहुंचने और दूरस्थ वस्तुओं (गैर-स्थानीय [[कंप्यूटर डेटा भंडारण]] में रहने वाली वस्तुओं) पर [[विधि (कंप्यूटर प्रोग्रामिंग)|विधियों (कंप्यूटर प्रोग्रामिंग)]] को लागू करने की अनुमति देना है। सुदूरवर्ती वस्तुओं पर एक विधि का आह्वान करना सुदूरवर्ती उत्क्रियण प्रणाली (आरएमआई) या सुदूरवर्ती उत्क्रियण के रूप में जाना जाता है, और यह [[सुदूर प्रणाली संदेश|सुदूरवर्ती संदेश]] [[सुदूर प्रणाली संदेश|प्रणाली]] (आरपीसी) का [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |वस्तुओं अभिविन्यस्त प्रोग्रामिंग]] एनालॉग है। | ||
== [[ वर्ग ठूंठ ]] | == [[ वर्ग ठूंठ | वर्ग प्रतिपर्ण]] और [[रूपरेखा]] == | ||
संचार चैनल को | संचार चैनल को किस प्रकार लागू किया जाए, इस पर व्यापक रूप से उपयोग किए जाने वाले दृष्टिकोण को [[कक्षा का कंकाल|वर्ग प्रतिपर्ण]] और वर्ग रूपरेखा का उपयोग करके महसूस किया जाता है। वे जनित वस्तुएँ हैं जिनकी संरचना और व्यवहार चुने हुए संचार संदेशाचार पर निर्भर करते हैं, लेकिन सामान्य रूप से अतिरिक्त कार्यक्षमता प्रदान करते हैं जो नेटवर्क पर विश्वसनीय संचार सुनिश्चित करता है। | ||
आरएमआई में, एक प्रतिपर्ण (जो उपभोगता पर बिट है) को क्रमादेशक द्वारा एक [[इंटरफ़ेस (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग)|अंतरापृष्ठ (वस्तुओं -अभिविन्यस्त प्रोग्रामिंग)]] के रूप में परिभाषित किया गया है। आरएमआईसी (आरएमआई रूपांतरक) वर्ग प्रतिपर्ण बनाने के लिए इसका उपयोग करता है। प्रतिपर्ण टाइप जाँच प्रक्रिया करता है। रूपरेखा को एक वर्ग में परिभाषित किया गया है जो अंतरापृष्ठ प्रतिपर्ण (जावा) को लागू करता है।<ref>{{cite web |url=http://www-itec.uni-klu.ac.at/~harald/ds2001/rmi/rmi.html |title=जावा रिमोट मेथड इनवोकेशन (RMI) का परिचय|website=www-itec.uni-klu.ac.at |url-status=dead |archive-url=https://web.archive.org/web/20020326062030/http://www-itec.uni-klu.ac.at/~harald/ds2001/rmi/rmi.html |archive-date=2002-03-26}} </ref> | |||
[[Image:Distributed object communication.png]]जब कोई कॉलर कॉल किए गए | [[Image:Distributed object communication.png]] | ||
जब कोई कॉलर कॉल किए गए वस्तुओं पर सुदूरवर्ती कॉल करना चाहता है, तो वह अपने वर्ग प्रतिपर्ण के लिए अनुरोध करता है, जो सुदूरवर्ती वर्ग रूपरेखा के साथ संचार शुरू करता है। परिणाम स्वरुप , प्रतिपर्ण कॉलर तर्कों को नेटवर्क पर परिसेवक रूपरेखा तक पहुंचाता है। रूपरेखा तब प्राप्त डेटा को कॉल किए गए वस्तुओं को पास करता है, प्रतिक्रिया की प्रतीक्षा करता है और परिणाम को उपभोगता प्रतिपर्ण पर लौटाता है। ध्यान दें कि कॉल करने वाले और कॉल किए गए वस्तुओं के बीच कोई प्रत्यक्ष संचार नहीं है। | |||
अधिक विवरण में, संचार में कई चरण होते हैं: | अधिक विवरण में, संचार में कई चरण होते हैं: | ||
# कॉलर | # कॉलर प्रतिपर्ण द्वारा कार्यान्वित एक स्थानीय [[सबरूटीन]] को कॉल करता है | ||
# | # प्रतिपर्ण [[मार्शलिंग (कंप्यूटर विज्ञान)]] कॉल प्रकार और एक अनुरोध संदेश में इनपुट तर्क | ||
# | # उपभोगता प्रतिपर्ण नेटवर्क पर परिसेवक को संदेश भेजता है और वर्तमान निष्पादन [[ धागा (कंप्यूटर विज्ञान) |धागा (कंप्यूटर विज्ञान)]] को ब्लॉक करता है | ||
# | # परिसेवक रूपरेखा नेटवर्क से अनुरोध संदेश प्राप्त करता है | ||
# | # रूपरेखा अनुरोध संदेश से कॉल प्रकार को अनपैक करता है और कॉल की गई वस्तु पर सबरूटीन को देखता है | ||
# | # रूपरेखा मार्शलिंग (कंप्यूटर विज्ञान) प्रक्रिया तर्क | ||
# | # रूपरेखा सबरूटीन को कॉल की गई वस्तु पर निष्पादित करता है | ||
# कॉल की गई वस्तु एक संगणना करती है और परिणाम लौटाती है | # कॉल की गई वस्तु एक संगणना करती है और परिणाम लौटाती है | ||
# | # रूपरेखा आउटपुट तर्कों को प्रतिक्रिया संदेश में पैक करता है | ||
# | # रूपरेखा नेटवर्क पर उपभोगता को संदेश भेजता है | ||
# | # उपभोगता प्रतिपर्ण नेटवर्क से प्रतिक्रिया संदेश प्राप्त करता है | ||
# | # प्रतिपर्ण संदेश से आउटपुट तर्कों को अनपैक करता है | ||
# | # प्रतिपर्ण कॉलर को आउटपुट आर्ग्युमेंट पास करता है, निष्पादन थ्रेड (कंप्यूटर साइंस) जारी करता है और कॉलर तब निष्पादन में जारी रहता है | ||
इस वास्तुकला का लाभ यह है कि न तो कॉल करने वाले और न ही कॉल किए गए | इस वास्तुकला का लाभ यह है कि न तो कॉल करने वाले और न ही कॉल किए गए वस्तुओं को नेटवर्क से संबंधित तर्क को लागू करना पड़ता है। यह कार्यक्षमता, जो नेटवर्क पर विश्वसनीय संचार चैनल सुनिश्चित करती है, को वर्ग प्रतिपर्ण और वर्ग रूपरेखा परत में ले जाया गया है। | ||
== स्टब == | == स्टब == | ||
वितरित वस्तु संचार में भाग लेने वाले | वितरित वस्तु संचार में भाग लेने वाले उपभोगता साइड वस्तुओं को प्रतिपर्ण या प्रॉक्सी के रूप में जाना जाता है, और यह [[ प्रॉक्सी वस्तु |प्रॉक्सी वस्तु]] का एक उदाहरण है। | ||
प्रतिपर्ण उपभोगता साइड ऑब्जेक्ट्स के लिए गेटवे के रूप में कार्य करता है और इसके माध्यम से रूट किए गए परिसेवक साइड ऑब्जेक्ट्स के लिए सभी आउटगोइंग अनुरोध करता है। प्रतिपर्ण उपभोगता वस्तुओं कार्यक्षमता को लपेटता है और नेटवर्क लॉजिक जोड़कर उपभोगता और परिसेवक के बीच विश्वसनीय संचार चैनल सुनिश्चित करता है। चयनित संचार संदेशाचार के आधार पर प्रतिपर्ण को मैन्युअल रूप से लिखा जा सकता है या स्वचालित रूप से उत्पन्न किया जा सकता है। | |||
ठूंठ इसके लिए जिम्मेदार है: | ठूंठ इसके लिए जिम्मेदार है: | ||
* | * परिसेवक वर्ग रूपरेखा की ओर संचार शुरू करना | ||
* कॉलर | * कॉलर वस्तुओं से कॉल का अनुवाद करना | ||
* मापदंडों का मार्शलिंग (कंप्यूटर विज्ञान)। | * मापदंडों का मार्शलिंग (कंप्यूटर विज्ञान)। | ||
* कक्षा के ढांचे को सूचित करना कि कॉल को बुलाया जाना चाहिए | * कक्षा के ढांचे को सूचित करना कि कॉल को बुलाया जाना चाहिए | ||
* नेटवर्क पर | * नेटवर्क पर वर्ग रूपरेखा के लिए तर्क पारित करना | ||
* | * वर्ग रूपरेखा से प्रतिक्रिया का क्रमांकन | ||
* कॉल करने वाले को सूचित करना कि कॉल पूर्ण हो गई है | * कॉल करने वाले को सूचित करना कि कॉल पूर्ण हो गई है | ||
== | == रूपरेखा == | ||
वितरित वस्तु संचार में भाग लेने वाले | वितरित वस्तु संचार में भाग लेने वाले परिसेवक साइड वस्तुओं को रूपरेखा (या स्टब; शब्द यहाँ टाला गया) के रूप में जाना जाता है। | ||
एक | एक रूपरेखा परिसेवक साइड ऑब्जेक्ट्स के लिए गेटवे के रूप में कार्य करता है और आने वाले सभी उपभोगता अनुरोधों को इसके माध्यम से रूट किया जाता है। रूपरेखा | ||
परिसेवक वस्तुओं की कार्यक्षमता को लपेटता है और इसे उपभोगता के सामने उजागर करता है, इसके अतिरिक्त नेटवर्क लॉजिक जोड़कर उपभोगता और परिसेवक के बीच विश्वसनीय संचार चैनल सुनिश्चित करता है। चयनित संचार संदेशाचार के आधार पर स्केलेटन को मैन्युअल रूप से लिखा जा सकता है या स्वचालित रूप से उत्पन्न किया जा सकता है। | |||
रूपरेखा इसके लिए जिम्मेदार है: | |||
* | * वर्ग प्रतिपर्ण से आने वाले डेटा को परिसेवक वस्तुओं के लिए सही अप-कॉल में अनुवाद करना | ||
* प्राप्त आंकड़ों से तर्कों का क्रमांकन | * प्राप्त आंकड़ों से तर्कों का क्रमांकन | ||
* | * परिसेवक ऑब्जेक्ट्स के लिए तर्क पास करना | ||
* | * परिसेवक ऑब्जेक्ट्स से लौटाए गए मानों का मार्शलिंग (कंप्यूटर साइंस)। | ||
* नेटवर्क पर | * नेटवर्क पर उपभोगता वर्ग प्रतिपर्ण पर मान वापस भेजना | ||
== स्टब/ | == स्टब/रूपरेखा दृष्टिकोण का उपयोग कर प्रोटोकॉल == | ||
* [[पोर्टेबल वितरित वस्तुओं]] (पीडीओ) - [[ उद्देश्य सी ]] | * [[पोर्टेबल वितरित वस्तुओं]] (पीडीओ) - [[ उद्देश्य सी |उद्देश्य सी]] | ||
* [[कॉमन ऑब्जेक्ट रिक्वेस्ट ब्रोकर आर्किटेक्चर]] (CORBA) - अंतर-भाषा | * [[कॉमन ऑब्जेक्ट रिक्वेस्ट ब्रोकर आर्किटेक्चर|कॉमन वस्तुओं रिक्वेस्ट ब्रोकर आर्किटेक्चर]] (CORBA) - अंतर-भाषा | ||
* [[ जावा दूरस्थ विधि मंगलाचरण ]] (जावा आरएमआई) - जावा | * [[ जावा दूरस्थ विधि मंगलाचरण | जावा दूरस्थ विधि मंगलाचरण]] (जावा आरएमआई) - जावा | ||
* [[वितरित घटक वस्तु मॉडल]] (DCOM) - Microsoft, अंतर-भाषा | * [[वितरित घटक वस्तु मॉडल]] (DCOM) - Microsoft, अंतर-भाषा | ||
*:(ध्यान दें कि | *:(ध्यान दें कि प्रतिपर्ण को प्रॉक्सी कहा जाता है और रूपरेखा को प्रतिपर्ण कहा जाता है<ref>[http://msdn.microsoft.com/en-us/library/ms692621%28VS.85%29.aspx MSDN: Marshalling details.]</ref>) | ||
* .NET रीमोटिंग - Microsoft, अंतर-भाषा | * .NET रीमोटिंग - Microsoft, अंतर-भाषा | ||
* [[डीडीऑब्जेक्ट्स]] - [[ बोरलैंड डेल्फी ]] | * [[डीडीऑब्जेक्ट्स]] - [[ बोरलैंड डेल्फी |बोरलैंड डेल्फी]] | ||
* [[वितरित रूबी]] (DRb) - [[रूबी प्रोग्रामिंग भाषा]] | * [[वितरित रूबी]] (DRb) - [[रूबी प्रोग्रामिंग भाषा]] | ||
Line 69: | Line 71: | ||
==संदर्भ== | ==संदर्भ== | ||
{{Reflist}} | {{Reflist}} | ||
* Plášil, František and Stal, Michael. [http://dsrg.mff.cuni.cz/publications/FPLUSOBR.pdf "An Architectural View of Distributed Objects and Components in CORBA, Java | * Plášil, František and Stal, Michael. [http://dsrg.mff.cuni.cz/publications/FPLUSOBR.pdf "An Architectural View of Distributed Objects and Components in CORBA, Java आरएमआई, and COM/DCOM"], ''Software Concepts & Tools (vol. 19, no. 1)'', January, 1998. | ||
* Druschel, Peter [http://www.cs.rice.edu/~druschel/comp413/lectures/rmi-corba.html "Distributed Program Construction"] | * Druschel, Peter [http://www.cs.rice.edu/~druschel/comp413/lectures/rmi-corba.html "Distributed Program Construction"] | ||
* Farley, Jim. ''[https://web.archive.org/web/20080222033010/http://www.oreilly.com/catalog/javadc/chapter/ch03.html Java Distributed Computing]'', O'Reilly, January, 1998. | * Farley, Jim. ''[https://web.archive.org/web/20080222033010/http://www.oreilly.com/catalog/javadc/chapter/ch03.html Java Distributed Computing]'', O'Reilly, January, 1998. |
Revision as of 10:51, 19 May 2023
वितरित अभिकलन परिसर में, वितरित वस्तु संचार वितरित वस्तुओं के बीच संचार का अनुभव करता है। मुख्य भूमिका वस्तुओं को डेटा तक पहुंचने और दूरस्थ वस्तुओं (गैर-स्थानीय कंप्यूटर डेटा भंडारण में रहने वाली वस्तुओं) पर विधियों (कंप्यूटर प्रोग्रामिंग) को लागू करने की अनुमति देना है। सुदूरवर्ती वस्तुओं पर एक विधि का आह्वान करना सुदूरवर्ती उत्क्रियण प्रणाली (आरएमआई) या सुदूरवर्ती उत्क्रियण के रूप में जाना जाता है, और यह सुदूरवर्ती संदेश प्रणाली (आरपीसी) का वस्तुओं अभिविन्यस्त प्रोग्रामिंग एनालॉग है।
वर्ग प्रतिपर्ण और रूपरेखा
संचार चैनल को किस प्रकार लागू किया जाए, इस पर व्यापक रूप से उपयोग किए जाने वाले दृष्टिकोण को वर्ग प्रतिपर्ण और वर्ग रूपरेखा का उपयोग करके महसूस किया जाता है। वे जनित वस्तुएँ हैं जिनकी संरचना और व्यवहार चुने हुए संचार संदेशाचार पर निर्भर करते हैं, लेकिन सामान्य रूप से अतिरिक्त कार्यक्षमता प्रदान करते हैं जो नेटवर्क पर विश्वसनीय संचार सुनिश्चित करता है।
आरएमआई में, एक प्रतिपर्ण (जो उपभोगता पर बिट है) को क्रमादेशक द्वारा एक अंतरापृष्ठ (वस्तुओं -अभिविन्यस्त प्रोग्रामिंग) के रूप में परिभाषित किया गया है। आरएमआईसी (आरएमआई रूपांतरक) वर्ग प्रतिपर्ण बनाने के लिए इसका उपयोग करता है। प्रतिपर्ण टाइप जाँच प्रक्रिया करता है। रूपरेखा को एक वर्ग में परिभाषित किया गया है जो अंतरापृष्ठ प्रतिपर्ण (जावा) को लागू करता है।[1]
जब कोई कॉलर कॉल किए गए वस्तुओं पर सुदूरवर्ती कॉल करना चाहता है, तो वह अपने वर्ग प्रतिपर्ण के लिए अनुरोध करता है, जो सुदूरवर्ती वर्ग रूपरेखा के साथ संचार शुरू करता है। परिणाम स्वरुप , प्रतिपर्ण कॉलर तर्कों को नेटवर्क पर परिसेवक रूपरेखा तक पहुंचाता है। रूपरेखा तब प्राप्त डेटा को कॉल किए गए वस्तुओं को पास करता है, प्रतिक्रिया की प्रतीक्षा करता है और परिणाम को उपभोगता प्रतिपर्ण पर लौटाता है। ध्यान दें कि कॉल करने वाले और कॉल किए गए वस्तुओं के बीच कोई प्रत्यक्ष संचार नहीं है।
अधिक विवरण में, संचार में कई चरण होते हैं:
- कॉलर प्रतिपर्ण द्वारा कार्यान्वित एक स्थानीय सबरूटीन को कॉल करता है
- प्रतिपर्ण मार्शलिंग (कंप्यूटर विज्ञान) कॉल प्रकार और एक अनुरोध संदेश में इनपुट तर्क
- उपभोगता प्रतिपर्ण नेटवर्क पर परिसेवक को संदेश भेजता है और वर्तमान निष्पादन धागा (कंप्यूटर विज्ञान) को ब्लॉक करता है
- परिसेवक रूपरेखा नेटवर्क से अनुरोध संदेश प्राप्त करता है
- रूपरेखा अनुरोध संदेश से कॉल प्रकार को अनपैक करता है और कॉल की गई वस्तु पर सबरूटीन को देखता है
- रूपरेखा मार्शलिंग (कंप्यूटर विज्ञान) प्रक्रिया तर्क
- रूपरेखा सबरूटीन को कॉल की गई वस्तु पर निष्पादित करता है
- कॉल की गई वस्तु एक संगणना करती है और परिणाम लौटाती है
- रूपरेखा आउटपुट तर्कों को प्रतिक्रिया संदेश में पैक करता है
- रूपरेखा नेटवर्क पर उपभोगता को संदेश भेजता है
- उपभोगता प्रतिपर्ण नेटवर्क से प्रतिक्रिया संदेश प्राप्त करता है
- प्रतिपर्ण संदेश से आउटपुट तर्कों को अनपैक करता है
- प्रतिपर्ण कॉलर को आउटपुट आर्ग्युमेंट पास करता है, निष्पादन थ्रेड (कंप्यूटर साइंस) जारी करता है और कॉलर तब निष्पादन में जारी रहता है
इस वास्तुकला का लाभ यह है कि न तो कॉल करने वाले और न ही कॉल किए गए वस्तुओं को नेटवर्क से संबंधित तर्क को लागू करना पड़ता है। यह कार्यक्षमता, जो नेटवर्क पर विश्वसनीय संचार चैनल सुनिश्चित करती है, को वर्ग प्रतिपर्ण और वर्ग रूपरेखा परत में ले जाया गया है।
स्टब
वितरित वस्तु संचार में भाग लेने वाले उपभोगता साइड वस्तुओं को प्रतिपर्ण या प्रॉक्सी के रूप में जाना जाता है, और यह प्रॉक्सी वस्तु का एक उदाहरण है।
प्रतिपर्ण उपभोगता साइड ऑब्जेक्ट्स के लिए गेटवे के रूप में कार्य करता है और इसके माध्यम से रूट किए गए परिसेवक साइड ऑब्जेक्ट्स के लिए सभी आउटगोइंग अनुरोध करता है। प्रतिपर्ण उपभोगता वस्तुओं कार्यक्षमता को लपेटता है और नेटवर्क लॉजिक जोड़कर उपभोगता और परिसेवक के बीच विश्वसनीय संचार चैनल सुनिश्चित करता है। चयनित संचार संदेशाचार के आधार पर प्रतिपर्ण को मैन्युअल रूप से लिखा जा सकता है या स्वचालित रूप से उत्पन्न किया जा सकता है।
ठूंठ इसके लिए जिम्मेदार है:
- परिसेवक वर्ग रूपरेखा की ओर संचार शुरू करना
- कॉलर वस्तुओं से कॉल का अनुवाद करना
- मापदंडों का मार्शलिंग (कंप्यूटर विज्ञान)।
- कक्षा के ढांचे को सूचित करना कि कॉल को बुलाया जाना चाहिए
- नेटवर्क पर वर्ग रूपरेखा के लिए तर्क पारित करना
- वर्ग रूपरेखा से प्रतिक्रिया का क्रमांकन
- कॉल करने वाले को सूचित करना कि कॉल पूर्ण हो गई है
रूपरेखा
वितरित वस्तु संचार में भाग लेने वाले परिसेवक साइड वस्तुओं को रूपरेखा (या स्टब; शब्द यहाँ टाला गया) के रूप में जाना जाता है।
एक रूपरेखा परिसेवक साइड ऑब्जेक्ट्स के लिए गेटवे के रूप में कार्य करता है और आने वाले सभी उपभोगता अनुरोधों को इसके माध्यम से रूट किया जाता है। रूपरेखा परिसेवक वस्तुओं की कार्यक्षमता को लपेटता है और इसे उपभोगता के सामने उजागर करता है, इसके अतिरिक्त नेटवर्क लॉजिक जोड़कर उपभोगता और परिसेवक के बीच विश्वसनीय संचार चैनल सुनिश्चित करता है। चयनित संचार संदेशाचार के आधार पर स्केलेटन को मैन्युअल रूप से लिखा जा सकता है या स्वचालित रूप से उत्पन्न किया जा सकता है।
रूपरेखा इसके लिए जिम्मेदार है:
- वर्ग प्रतिपर्ण से आने वाले डेटा को परिसेवक वस्तुओं के लिए सही अप-कॉल में अनुवाद करना
- प्राप्त आंकड़ों से तर्कों का क्रमांकन
- परिसेवक ऑब्जेक्ट्स के लिए तर्क पास करना
- परिसेवक ऑब्जेक्ट्स से लौटाए गए मानों का मार्शलिंग (कंप्यूटर साइंस)।
- नेटवर्क पर उपभोगता वर्ग प्रतिपर्ण पर मान वापस भेजना
स्टब/रूपरेखा दृष्टिकोण का उपयोग कर प्रोटोकॉल
- पोर्टेबल वितरित वस्तुओं (पीडीओ) - उद्देश्य सी
- कॉमन वस्तुओं रिक्वेस्ट ब्रोकर आर्किटेक्चर (CORBA) - अंतर-भाषा
- जावा दूरस्थ विधि मंगलाचरण (जावा आरएमआई) - जावा
- वितरित घटक वस्तु मॉडल (DCOM) - Microsoft, अंतर-भाषा
- (ध्यान दें कि प्रतिपर्ण को प्रॉक्सी कहा जाता है और रूपरेखा को प्रतिपर्ण कहा जाता है[2])
- .NET रीमोटिंग - Microsoft, अंतर-भाषा
- डीडीऑब्जेक्ट्स - बोरलैंड डेल्फी
- वितरित रूबी (DRb) - रूबी प्रोग्रामिंग भाषा
यह भी देखें
- वस्तु अनुरोध दलाल
- वितरित वस्तु
संदर्भ
- ↑ "जावा रिमोट मेथड इनवोकेशन (RMI) का परिचय". www-itec.uni-klu.ac.at. Archived from the original on 2002-03-26.
- ↑ MSDN: Marshalling details.
- Plášil, František and Stal, Michael. "An Architectural View of Distributed Objects and Components in CORBA, Java आरएमआई, and COM/DCOM", Software Concepts & Tools (vol. 19, no. 1), January, 1998.
- Druschel, Peter "Distributed Program Construction"
- Farley, Jim. Java Distributed Computing, O'Reilly, January, 1998.
- Research Papers, Distributed Systems Research Group, Charles University Prague