संदेश-उन्मुख मध्यस्थ: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Type of software or hardware infrastructure}} {{Multiple issues| {{more citations needed|date=March 2009}} {{disputed|date=June 2012}} }} संदेश-...")
 
No edit summary
Line 1: Line 1:
{{Short description|Type of software or hardware infrastructure}}
{{Short description|Type of software or hardware infrastructure}}संदेश-उन्मुख [[ मध्यस्थ |मध्यस्थ]] (एमओएम) वितरित प्रणाली के बीच संदेश भेजने और प्राप्त करने में सहायता करने वाला सॉफ़्टवेयर या हार्डवेयर अवसंरचना है। एमओएम [[मॉड्यूलर प्रोग्रामिंग]] को विषम प्लेटफार्मों पर वितरित करने की अनुमति देता है और कई [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] और [[नेटवर्क प्रोटोकॉल]] का विस्तार करने वाले विकासशील अनुप्रयोगों की जटिलता को कम करता है। मध्यस्थ एक वितरित संचार परत बनाता है जो [[अनुप्रयोग विकासक]] को विभिन्न ऑपरेटिंग प्रणाली और नेटवर्क इंटरफेस के विवरण से अलग करता है। [[एपीआई]] जो विभिन्न प्लेटफार्मों और नेटवर्कों में विस्तारित होते हैं, सामान्यतः एमओएम द्वारा प्रदान किए जाते हैं।<ref>Curry, Edward. 2004. [http://www.mendeley.com/download/public/1652511/4338215212/cce0f06f047faa57879a1fc36a8e8d6d754d2f6a/dl.pdf "Message-Oriented Middleware"]{{dead link|date=June 2017 |bot=InternetArchiveBot |fix-attempted=yes }}. In Middleware for Communications, ed. Qusay H Mahmoud, 1-28. Chichester, England: John Wiley and Sons. {{doi|10.1002/0470862084.ch1}}. {{ISBN|978-0-470-86206-3}}</ref>
{{Multiple issues|
{{more citations needed|date=March 2009}}
{{disputed|date=June 2012}}
}}


संदेश-उन्मुख [[ मध्यस्थ ]] (MOM) वितरित सिस्टम के बीच संदेश भेजने और प्राप्त करने में सहायता करने वाला सॉफ़्टवेयर या हार्डवेयर अवसंरचना है। एमओएम [[मॉड्यूलर प्रोग्रामिंग]] को विषम प्लेटफार्मों पर वितरित करने की अनुमति देता है और कई [[ऑपरेटिंग सिस्टम]] और [[नेटवर्क प्रोटोकॉल]] का विस्तार करने वाले विकासशील अनुप्रयोगों की जटिलता को कम करता है। मिडलवेयर एक वितरित संचार परत बनाता है जो [[अनुप्रयोग विकासक]] को विभिन्न ऑपरेटिंग सिस्टम और नेटवर्क इंटरफेस के विवरण से अलग करता है। [[एपीआई]] जो विभिन्न प्लेटफार्मों और नेटवर्कों में विस्तारित होते हैं, आमतौर पर एमओएम द्वारा प्रदान किए जाते हैं।<ref>Curry, Edward. 2004. [http://www.mendeley.com/download/public/1652511/4338215212/cce0f06f047faa57879a1fc36a8e8d6d754d2f6a/dl.pdf "Message-Oriented Middleware"]{{dead link|date=June 2017 |bot=InternetArchiveBot |fix-attempted=yes }}. In Middleware for Communications, ed. Qusay H Mahmoud, 1-28. Chichester, England: John Wiley and Sons. {{doi|10.1002/0470862084.ch1}}. {{ISBN|978-0-470-86206-3}}</ref>
यह मध्यस्थ परत सॉफ्टवेयर घटकों (अनुप्रयोगों, एंटरप्राइज़ जावाबीन्स , सेरवलेट्स, और अन्य घटकों) को अनुमति देता है जो स्वतंत्र रूप से विकसित किए गए हैं और जो एक दूसरे के साथ अन्तः क्रिया करने के लिए विभिन्न नेटवर्क प्लेटफॉर्म पर चलते हैं। विभिन्न नेटवर्क नोड पर वितरित एप्लिकेशन संवाद करने के लिए एप्लिकेशन इंटरफ़ेस का उपयोग करते हैं। इसके अतिरिक्त, एक प्रशासनिक इंटरफ़ेस प्रदान करके, परस्पर जुड़े अनुप्रयोगों की इस नवीन, आभासी प्रणाली को विश्वसनीय और सुरक्षित बनाया जा सकता है।<ref name="oracle">{{Cite book|title=संदेश उन्मुख मिडलवेयर|url=http://docs.oracle.com/cd/E19340-01/820-6424/aeraq/index.html }}</ref>
यह मिडलवेयर परत सॉफ्टवेयर घटकों (अनुप्रयोगों, एंटरप्राइज़ JavaBeans, servlets, और अन्य घटकों) को अनुमति देता है जो स्वतंत्र रूप से विकसित किए गए हैं और जो एक दूसरे के साथ बातचीत करने के लिए विभिन्न नेटवर्क प्लेटफॉर्म पर चलते हैं। विभिन्न नेटवर्क नोड्स पर वितरित एप्लिकेशन संवाद करने के लिए एप्लिकेशन इंटरफ़ेस का उपयोग करते हैं। इसके अलावा, एक प्रशासनिक इंटरफ़ेस प्रदान करके, परस्पर जुड़े अनुप्रयोगों की इस नई, आभासी प्रणाली को विश्वसनीय और सुरक्षित बनाया जा सकता है।<ref name="oracle">{{Cite book|title=संदेश उन्मुख मिडलवेयर|url=http://docs.oracle.com/cd/E19340-01/820-6424/aeraq/index.html }}</ref>
एमओएम सॉफ्टवेयर तत्व प्रदान करता है जो क्लाइंट/सर्वर आर्किटेक्चर के सभी संचार घटकों में रहता है और आमतौर पर क्लाइंट और सर्वर अनुप्रयोगों के बीच एसिंक्रोनस कॉल का समर्थन करता है। एमओएम क्लाइंट/सर्वर तंत्र की मास्टर-स्लेव प्रकृति की जटिलता के साथ एप्लिकेशन डेवलपर्स की भागीदारी को कम करता है।


== मिडलवेयर श्रेणियां ==
एमओएम सॉफ्टवेयर अवयव प्रदान करता है जो ग्राहक/सर्वर संरचना के सभी संचार घटकों में रहता है और सामान्यतः ग्राहक और सर्वर अनुप्रयोगों के बीच अतुल्यकालिक कॉल का समर्थन करता है। एमओएम ग्राहक/सर्वर तंत्र की मुख्य सेवक प्रकृति की जटिलता के साथ एप्लिकेशन विकासक की भागीदारी को कम करता है।


*[[सुदूर प्रणाली संदेश]] या आरपीसी-आधारित मिडलवेयर
== मध्यस्थ श्रेणियां ==
*ऑब्जेक्ट अनुरोध ब्रोकर या ओआरबी-आधारित मिडलवेयर
 
*संदेश उन्मुख मिडलवेयर या एमओएम-आधारित मिडलवेयर
*[[सुदूर प्रणाली संदेश]] या आरपीसी-आधारित मध्यस्थ
*वस्तु अनुरोध मध्यस्थ या ओआरबी-आधारित मध्यस्थ
*संदेश उन्मुख मध्यस्थ या एमओएम-आधारित मध्यस्थ
 
ये सभी मॉडल एक सॉफ्टवेयर घटक के लिए नेटवर्क पर दूसरे घटक के व्यवहार को प्रभावित करना संभव बनाते हैं। वे अलग हैं कि आरपीसी- और ओआरबी-आधारित मध्यस्थ दृढ़ता से युग्मित घटकों के प्रणाली बनाते हैं, जबकि एमओएम-आधारित प्रणाली घटकों के अल्प युग्मन की अनुमति देते हैं। आरपीसी- या ओआरबी-आधारित प्रणाली में, जब एक प्रक्रिया दूसरे को बुलाती है, तो उसे कुछ और करने से पहले कॉल की गई प्रक्रिया के वापस आने का प्रतीक्षा करना चाहिए। इन [[ तुल्यकालिक संदेश |तुल्यकालिक संदेश]] मॉडल में, मध्यस्थ आंशिक रूप से एक अधिक-श्रृंखलक के रूप में कार्य करता है, एक नेटवर्क पर कॉल की गई प्रक्रिया का पता लगाता है और प्रक्रिया के लिए क्रिया या विधि पैरामीटर पास करने के लिए और फिर परिणाम वापस करने के लिए नेटवर्क सेवाओं का उपयोग करता है।<ref name="oracle" />


ये सभी मॉडल एक सॉफ्टवेयर घटक के लिए नेटवर्क पर दूसरे घटक के व्यवहार को प्रभावित करना संभव बनाते हैं। वे अलग हैं कि आरपीसी- और ओआरबी-आधारित मिडलवेयर कसकर युग्मित घटकों के सिस्टम बनाते हैं, जबकि एमओएम-आधारित सिस्टम घटकों के ढीले युग्मन की अनुमति देते हैं। आरपीसी- या ओआरबी-आधारित प्रणाली में, जब एक प्रक्रिया दूसरे को बुलाती है, तो उसे कुछ और करने से पहले कॉल की गई प्रक्रिया के वापस आने का इंतजार करना चाहिए। इन [[ तुल्यकालिक संदेश ]] मॉडल में, मिडलवेयर आंशिक रूप से एक सुपर-लिंकर के रूप में कार्य करता है, एक नेटवर्क पर कॉल की गई प्रक्रिया का पता लगाता है और प्रक्रिया के लिए फ़ंक्शन या विधि पैरामीटर पास करने के लिए और फिर परिणाम वापस करने के लिए नेटवर्क सेवाओं का उपयोग करता है।<ref name=oracle/>




== लाभ ==
== लाभ ==


[[संदेश]]-आधारित संचार [[प्रोटोकॉल (कंप्यूटिंग)]] का उपयोग करने के केंद्रीय कारणों में संदेशों को प्रेषकों से प्राप्तकर्ताओं तक पहुंचाते समय स्टोर (बफर), मार्ग या संदेशों को बदलने की क्षमता शामिल है।
[[संदेश]]-आधारित संचार [[प्रोटोकॉल (कंप्यूटिंग)|प्रोटोकॉल ( संगणना)]] का उपयोग करने के केंद्रीय कारणों में संदेशों को प्रेषकों से प्राप्तकर्ताओं तक पहुंचाते समय संचय ( मध्यवर्ती), मार्ग या संदेशों को बदलने की क्षमता सम्मिलित है।


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


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


एमओएम में [[अनुप्रयोग प्रक्रिया सामग्री]] संचार सॉफ़्टवेयर की एक श्रेणी शामिल है जो आमतौर पर अनुरोध-प्रतिक्रिया आर्किटेक्चर के विपरीत विक्ट:एसिंक्रोनस [[ संदेश देना ]]|मैसेज-पासिंग पर निर्भर करती है। एसिंक्रोनस सिस्टम में, संदेश कतार अस्थायी भंडारण प्रदान करती है जब गंतव्य प्रोग्राम व्यस्त होता है या कनेक्ट नहीं होता है। इसके अलावा, अधिकांश अतुल्यकालिक MOM सिस्टम संदेश कतार के [[बैकअप]] के लिए स्थायी भंडारण प्रदान करते हैं। इसका मतलब है कि प्रेषक और रिसीवर को एक ही समय में नेटवर्क से कनेक्ट करने की आवश्यकता नहीं है ([[अतुल्यकालिक (कंप्यूटिंग)]]), और आंतरायिक कनेक्टिविटी के साथ समस्याएं हल हो जाती हैं। इसका अर्थ यह भी है कि यदि रिसीवर का आवेदन किसी भी कारण से विफल हो जाता है, तो प्रेषक अप्रभावित जारी रख सकते हैं, क्योंकि वे जो संदेश भेजते हैं, वे रिसीवर के पुनरारंभ होने पर बाद में प्रसंस्करण के लिए संदेश कतार में जमा हो जाएंगे।
एमओएम में [[अनुप्रयोग प्रक्रिया सामग्री]] संचार सॉफ़्टवेयर की एक श्रेणी सम्मिलित है जो सामान्यतः अनुरोध-प्रतिक्रिया संरचना के विपरीत विक्ट:अतुल्यकालिक [[ संदेश देना |संदेश प्रेषण]] पर निर्भर करती है। अतुल्यकालिक प्रणाली में, संदेश पंक्ति अस्थायी भंडारण प्रदान करती है जब गंतव्य प्रोग्राम व्यस्त होता है या संबद्ध नहीं होता है। इसके अतिरिक्त, अधिकांश अतुल्यकालिक एमओएम प्रणाली संदेश पंक्ति के [[बैकअप|पूर्तिकर]] के लिए स्थायी भंडारण प्रदान करते हैं। इसका अर्थ है कि प्रेषक और गृहीता को एक ही समय में नेटवर्क से संबद्ध करने की आवश्यकता नहीं है ([[अतुल्यकालिक (कंप्यूटिंग)|अतुल्यकालिक ( संगणना)]]), और आंतरायिक संबद्ध के साथ समस्याएं हल हो जाती हैं। इसका अर्थ यह भी है कि यदि गृहीता का आवेदन किसी भी कारण से विफल हो जाता है, तो प्रेषक अप्रभावित जारी रख सकते हैं, क्योंकि वे जो संदेश भेजते हैं, वे गृहीता के पुनरारंभ होने पर बाद में प्रसंस्करण के लिए संदेश पंक्ति में एकत्रित हो जाएंगे।


=== रूटिंग ===
=== अनुमार्गण ===
कई संदेश-उन्मुख मिडलवेयर कार्यान्वयन संदेश कतार प्रणाली पर निर्भर करते हैं। कुछ कार्यान्वयन रूटिंग लॉजिक को मैसेजिंग लेयर द्वारा प्रदान करने की अनुमति देते हैं, जबकि अन्य रूटिंग जानकारी प्रदान करने के लिए क्लाइंट एप्लिकेशन पर निर्भर करते हैं या दोनों प्रतिमानों के मिश्रण की अनुमति देते हैं। कुछ कार्यान्वयन [[ प्रसारण (नेटवर्किंग) ]] या [[ बहुस्त्र्पीय ]] डिस्ट्रीब्यूशन प्रतिमानों का उपयोग करते हैं।
कई संदेश-उन्मुख मध्यस्थ कार्यान्वयन संदेश पंक्ति प्रणाली पर निर्भर करते हैं। कुछ कार्यान्वयन अनुमार्गण तर्क को संदेश प्रेषण पटल द्वारा प्रदान करने की अनुमति देते हैं, जबकि अन्य अनुमार्गण जानकारी प्रदान करने के लिए ग्राहक एप्लिकेशन पर निर्भर करते हैं या दोनों प्रतिमानों के मिश्रण की अनुमति देते हैं। कुछ कार्यान्वयन [[ प्रसारण (नेटवर्किंग) |प्रसारण (नेटवर्किंग)]] या [[ बहुस्त्र्पीय |बहुस्त्र्पीय]] वितरण प्रतिमानों का उपयोग करते हैं।


=== परिवर्तन ===
=== परिवर्तन ===
संदेश-आधारित मिडलवेयर सिस्टम में, गंतव्य पर प्राप्त संदेश मूल रूप से भेजे गए संदेश के समान नहीं होना चाहिए। बिल्ट-इन इंटेलिजेंस के साथ एक एमओएम सिस्टम [[डेटा परिवर्तन]] संदेश और प्रेषक या प्राप्तकर्ता की आवश्यकताओं से मेल खाने के लिए रूट कर सकता है।<ref name="MOM">{{Cite web|url=http://www.edwardcurry.org/web_publications/curry_DEBS_04.pdf|title=E. Curry, D. Chambers, and G. Lyons, "Extending Message-Oriented Middleware using Interception", presented at Third International Workshop on Distributed Event-Based Systems (DEBS '04), ICSE '04, Edinburgh, Scotland, UK, 2004.|access-date=2011-08-09|archive-url=https://web.archive.org/web/20110726015301/http://www.edwardcurry.org/web_publications/curry_DEBS_04.pdf|archive-date=2011-07-26|url-status=dead}}</ref> रूटिंग और ब्रॉडकास्ट/मल्टीकास्ट सुविधाओं के संयोजन के साथ, एक एप्लिकेशन अपने स्वयं के मूल स्वरूप में एक संदेश भेज सकता है, और दो या दो से अधिक अन्य एप्लिकेशन अपने स्वयं के मूल स्वरूप में संदेश की एक प्रति प्राप्त कर सकते हैं। कई आधुनिक एमओएम सिस्टम परिष्कृत संदेश परिवर्तन (या मैपिंग) उपकरण प्रदान करते हैं जो [[सॉफ्टवेयर डेवलपर]]्स को एक साधारण [[ ग्राफिकल यूज़र इंटरफ़ेस ]] [[ खींचें और छोड़ें ]] ऑपरेशन के लिए लागू परिवर्तन नियम निर्दिष्ट करने की अनुमति देते हैं।
संदेश-आधारित मध्यस्थ प्रणाली में, गंतव्य पर प्राप्त संदेश मूल रूप से भेजे गए संदेश के समान नहीं होना चाहिए। अंतर्निहित आसूचना के साथ एक एमओएम प्रणाली [[डेटा परिवर्तन]] संदेश और प्रेषक या प्राप्तकर्ता की आवश्यकताओं से मेल खाने के लिए रूट कर सकता है।<ref name="MOM">{{Cite web|url=http://www.edwardcurry.org/web_publications/curry_DEBS_04.pdf|title=E. Curry, D. Chambers, and G. Lyons, "Extending Message-Oriented Middleware using Interception", presented at Third International Workshop on Distributed Event-Based Systems (DEBS '04), ICSE '04, Edinburgh, Scotland, UK, 2004.|access-date=2011-08-09|archive-url=https://web.archive.org/web/20110726015301/http://www.edwardcurry.org/web_publications/curry_DEBS_04.pdf|archive-date=2011-07-26|url-status=dead}}</ref> अनुमार्गण और प्रसारित/ बहुस्त्र्पीय सुविधाओं के संयोजन के साथ, एक एप्लिकेशन अपने स्वयं के मूल स्वरूप में एक संदेश भेज सकता है, और दो या दो से अधिक अन्य एप्लिकेशन अपने स्वयं के मूल स्वरूप में संदेश की एक प्रति प्राप्त कर सकते हैं। कई आधुनिक एमओएम प्रणाली परिष्कृत संदेश परिवर्तन (या प्रतिचित्रण) उपकरण प्रदान करते हैं जो [[सॉफ्टवेयर डेवलपर|सॉफ्टवेयर]] विकासक को एक साधारण [[ ग्राफिकल यूज़र इंटरफ़ेस |ग्राफिकल यूज़र इंटरफ़ेस]] [[ खींचें और छोड़ें |खींचें और छोड़ें]] संचालन के लिए लागू परिवर्तन नियम निर्दिष्ट करने की अनुमति देते हैं।


== नुकसान ==
== हानि ==


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


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


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


== मानक ==
== मानक ==
ऐतिहासिक रूप से, संदेश-उन्मुख मिडलवेयर के उपयोग को नियंत्रित करने वाले [[मानकीकरण]] की कमी थी जिससे समस्याएँ उत्पन्न हुई हैं। अधिकांश प्रमुख विक्रेताओं के अपने स्वयं के कार्यान्वयन हैं, प्रत्येक का अपना [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] (एपीआई) और प्रबंधन उपकरण हैं।
ऐतिहासिक रूप से, संदेश-उन्मुख मध्यस्थ के उपयोग को नियंत्रित करने वाले [[मानकीकरण]] की कमी थी जिससे समस्याएँ उत्पन्न हुई हैं। अधिकांश प्रमुख विक्रेताओं के अपने स्वयं के कार्यान्वयन हैं, प्रत्येक का अपना [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] (एपीआई) और प्रबंधन उपकरण हैं।


संदेश उन्मुख मिडलवेयर के लिए लंबे समय से चलने वाले मानकों में से एक एक्स/ओपन समूह का एक्सएटीएमआई विनिर्देश (वितरित लेनदेन प्रसंस्करण: एक्सएटीएमआई विशिष्टता) है जो इंटरप्रोसेस संचार के लिए एपीआई को मानकीकृत करता है। इस एपीआई के लिए ज्ञात कार्यान्वयन एटीआर बाल्टिक का एंड्यूरो/एक्स मिडलवेयर और [[ओरेकल कॉर्पोरेशन]] का [[ टक्सीडो (सॉफ्टवेयर) ]] है।
संदेश उन्मुख मध्यस्थ के लिए लंबे समय से चलने वाले मानकों में से एक एक्स/ओपन समूह का एक्सएटीएमआई विनिर्देश (वितरित लेनदेन प्रसंस्करण: एक्सएटीएमआई विशिष्टता) है जो इंटरप्रोसेस संचार के लिए एपीआई को मानकीकृत करता है। इस एपीआई के लिए ज्ञात कार्यान्वयन एटीआर बाल्टिक का एंड्यूरो/एक्स मध्यस्थ और [[ओरेकल कॉर्पोरेशन]] का [[ टक्सीडो (सॉफ्टवेयर) |टक्सीडो (सॉफ्टवेयर)]] है।


[[उन्नत संदेश कतारबद्ध प्रोटोकॉल]] (AMQP) एक स्वीकृत OASIS (संगठन) है<ref>[http://www.amqp.org/node/102 1.0 Becomes OASIS Standard]. AMQP (2012-10-31). Retrieved on 2014-05-23.</ref> और आईएसओ<ref>{{Cite web|url=http://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/06/49/64955.html|title=ISO/IEC 19464:2014|website=ISO}}</ref> मानक जो भाग लेने वाले अनुप्रयोग घटकों के बीच उपयोग किए जाने वाले प्रोटोकॉल और प्रारूपों को परिभाषित करता है, इसलिए कार्यान्वयन इंटरऑपरेबल हैं। AMQP का उपयोग लचीली रूटिंग योजनाओं के साथ किया जा सकता है, जिसमें [[पॉइंट-टू-पॉइंट (दूरसंचार)]] | पॉइंट-टू-पॉइंट, फैन-आउट (सॉफ़्टवेयर) | फैन-आउट, प्रकाशित/सदस्यता, और अनुरोध-प्रतिक्रिया जैसे सामान्य संदेश पैटर्न शामिल हैं। कि इन्हें जानबूझकर प्रोटोकॉल मानक के v1.0 से हटा दिया गया है, लेकिन रूटिंग के लिए विशेष कार्यान्वयन और/या अंतर्निहित नेटवर्क प्रोटोकॉल पर भरोसा करते हैं)। यह लेन-देन प्रबंधन, कतारबद्ध, वितरण, सुरक्षा, प्रबंधन, क्लस्टरिंग, संघ और विषम बहु-मंच समर्थन का भी समर्थन करता है। AMQP का उपयोग करने वाले जावा एप्लिकेशन आमतौर पर Java JMS में लिखे जाते हैं। अन्य कार्यान्वयन सी #, सी ++, पीएचपी, पायथन, रूबी और अन्य भाषाओं के लिए एपीआई प्रदान करते हैं।
[[उन्नत संदेश कतारबद्ध प्रोटोकॉल]] (AMQP) एक स्वीकृत OASIS (संगठन) है<ref>[http://www.amqp.org/node/102 1.0 Becomes OASIS Standard]. AMQP (2012-10-31). Retrieved on 2014-05-23.</ref> और आईएसओ<ref>{{Cite web|url=http://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/06/49/64955.html|title=ISO/IEC 19464:2014|website=ISO}}</ref> मानक जो भाग लेने वाले अनुप्रयोग घटकों के बीच उपयोग किए जाने वाले प्रोटोकॉल और प्रारूपों को परिभाषित करता है, इसलिए कार्यान्वयन इंटरऑपरेबल हैं। AMQP का उपयोग लचीली अनुमार्गण योजनाओं के साथ किया जा सकता है, जिसमें [[पॉइंट-टू-पॉइंट (दूरसंचार)]] | पॉइंट-टू-पॉइंट, फैन-आउट (सॉफ़्टवेयर) | फैन-आउट, प्रकाशित/सदस्यता, और अनुरोध-प्रतिक्रिया जैसे सामान्य संदेश पैटर्न सम्मिलित हैं। कि इन्हें जानबूझकर प्रोटोकॉल मानक के v1.0 से हटा दिया गया है, लेकिन अनुमार्गण के लिए विशेष कार्यान्वयन और/या अंतर्निहित नेटवर्क प्रोटोकॉल पर भरोसा करते हैं)। यह लेन-देन प्रबंधन, कतारबद्ध, वितरण, सुरक्षा, प्रबंधन, क्लस्टरिंग, संघ और विषम बहु-मंच समर्थन का भी समर्थन करता है। AMQP का उपयोग करने वाले जावा एप्लिकेशन सामान्यतः Java JMS में लिखे जाते हैं। अन्य कार्यान्वयन सी #, सी ++, पीएचपी, पायथन, रूबी और अन्य भाषाओं के लिए एपीआई प्रदान करते हैं।


[[ उच्च स्तरीय वास्तुकला ]] | हाई-लेवल आर्किटेक्चर (HLA IEEE 1516) सिमुलेशन इंटरऑपरेबिलिटी [[इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स]] और [[सिमुलेशन इंटरऑपरेबिलिटी मानक संगठन]] मानक का एक संस्थान है। यह सी ++ या जावा में एपीआई के माध्यम से प्रदान की जाने वाली सेवाओं के एक सेट को परिभाषित करता है। सेवाएं मॉड्यूलर फेडरेशन ऑब्जेक्ट मॉडल के आधार पर प्रकाशित/सदस्यता आधारित सूचना विनिमय की पेशकश करती हैं। तार्किक अनुकार समय के साथ-साथ तुल्यकालन बिंदुओं के आधार पर समन्वित डेटा विनिमय और अग्रिम समय के लिए भी सेवाएं हैं। अतिरिक्त सेवाएं स्वामित्व के हस्तांतरण, डेटा वितरण अनुकूलन और भाग लेने वाले संघों (सिस्टम) की निगरानी और प्रबंधन प्रदान करती हैं।
[[ उच्च स्तरीय वास्तुकला | उच्च स्तरीय वास्तुकला]] | हाई-लेवल संरचना (HLA IEEE 1516) सिमुलेशन अंतरप्रचालनीयता [[इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स]] और [[सिमुलेशन इंटरऑपरेबिलिटी मानक संगठन|सिमुलेशन अंतरप्रचालनीयता मानक संगठन]] मानक का एक संस्थान है। यह सी ++ या जावा में एपीआई के माध्यम से प्रदान की जाने वाली सेवाओं के एक सेट को परिभाषित करता है। सेवाएं मॉड्यूलर फेडरेशन वस्तु मॉडल के आधार पर प्रकाशित/सदस्यता आधारित सूचना विनिमय की पेशकश करती हैं। तार्किक अनुकार समय के साथ-साथ तुल्यकालन बिंदुओं के आधार पर समन्वित डेटा विनिमय और अग्रिम समय के लिए भी सेवाएं हैं। अतिरिक्त सेवाएं स्वामित्व के स्थानांतरण, डेटा वितरण अनुकूलन और भाग लेने वाले संघों (प्रणाली) की निरीक्षण और प्रबंधन प्रदान करती हैं।


[[एमक्यू टेलीमेट्री ट्रांसपोर्ट]] (MQTT) OASIS संगठन द्वारा समर्थित एक ISO मानक (ISO/IEC PRF 20922) है। यह M2M/IoT संदर्भों में संचार के लिए उपयुक्त TCP/IP के शीर्ष पर एक हल्का प्रकाशित/सदस्यता विश्वसनीय संदेश परिवहन प्रोटोकॉल प्रदान करता है जहां एक छोटे कोड पदचिह्न की आवश्यकता होती है और/या नेटवर्क बैंडविड्थ प्रीमियम पर होता है।
[[एमक्यू टेलीमेट्री ट्रांसपोर्ट]] (MQTT) OASIS संगठन द्वारा समर्थित एक ISO मानक (ISO/IEC PRF 20922) है। यह M2M/IoT संदर्भों में संचार के लिए उपयुक्त TCP/IP के शीर्ष पर एक हल्का प्रकाशित/सदस्यता विश्वसनीय संदेश परिवहन प्रोटोकॉल प्रदान करता है जहां एक छोटे कोड पदचिह्न की आवश्यकता होती है और/या नेटवर्क बैंडविड्थ प्रीमियम पर होता है।


वस्तु प्रबंधन समूह की [[डेटा वितरण सेवा]] | डेटा वितरण सेवा (डीडीएस) संदेश-उन्मुख प्रकाशन-सदस्यता पैटर्न प्रदान करता है। प्रकाशित/सदस्यता (पी/एस) मिडलवेयर मानक प्रदान करता है जिसका उद्देश्य स्केलेबल, रीयल-टाइम, भरोसेमंद, उच्च प्रदर्शन और प्रकाशकों और ग्राहकों के बीच इंटरऑपरेबल डेटा एक्सचेंजों को सक्षम करना है।<ref>Data Distribution Service for Real-time Systems (DDS), Object Management Group, version 1.2, January 2007</ref> मानक C++, C++11, C, Ada, Java और Ruby को इंटरफेस प्रदान करता है।
वस्तु प्रबंधन समूह की [[डेटा वितरण सेवा]] | डेटा वितरण सेवा (डीडीएस) संदेश-उन्मुख प्रकाशन-सदस्यता पैटर्न प्रदान करता है। प्रकाशित/सदस्यता (पी/एस) मध्यस्थ मानक प्रदान करता है जिसका उद्देश्य स्केलेबल, तात्क्षणिक, भरोसेमंद, उच्च निष्पादन और प्रकाशकों और ग्राहकों के बीच इंटरऑपरेबल डेटा एक्सचेंजों को सक्षम करना है।<ref>Data Distribution Service for Real-time Systems (DDS), Object Management Group, version 1.2, January 2007</ref> मानक C++, C++11, C, Ada, Java और Ruby को इंटरफेस प्रदान करता है।


एक्स्टेंसिबल मैसेजिंग एंड प्रेजेंस प्रोटोकॉल ([[एक्सएमपीपी]]) एक्सएमएल (एक्सटेंसिबल मार्कअप लैंग्वेज) पर आधारित संदेश-उन्मुख मिडलवेयर के लिए एक संचार प्रोटोकॉल है। एक्स्टेंसिबल होने के लिए डिज़ाइन किया गया, प्रोटोकॉल का उपयोग पब्लिश-सब्सक्राइब सिस्टम, वीओआईपी के लिए सिग्नलिंग, वीडियो, फाइल ट्रांसफर, गेमिंग, इंटरनेट ऑफ थिंग्स एप्लिकेशन जैसे स्मार्ट ग्रिड और सोशल नेटवर्किंग सेवाओं के लिए भी किया गया है। अधिकांश इंस्टेंट मैसेजिंग प्रोटोकॉल के विपरीत, XMPP को एक खुले मानक में परिभाषित किया गया है और यह विकास और अनुप्रयोग के एक खुले सिस्टम दृष्टिकोण का उपयोग करता है, जिसके द्वारा कोई भी XMPP सेवा को लागू कर सकता है और अन्य संगठनों के कार्यान्वयन के साथ इंटरऑपरेट कर सकता है। क्योंकि XMPP एक खुला प्रोटोकॉल है, कार्यान्वयन किसी भी सॉफ़्टवेयर लाइसेंस का उपयोग करके विकसित किया जा सकता है; हालांकि कई सर्वर, क्लाइंट और लाइब्रेरी कार्यान्वयन मुफ्त और ओपन-सोर्स सॉफ़्टवेयर के रूप में वितरित किए जाते हैं, कई फ्रीवेयर और मालिकाना सॉफ़्टवेयर कार्यान्वयन भी मौजूद हैं। इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) ने 2002 में एक IETF इंस्टेंट मैसेजिंग और उपस्थिति तकनीक के रूप में कोर प्रोटोकॉल को औपचारिक रूप देने के लिए एक XMPP वर्किंग ग्रुप का गठन किया। XMPP वर्किंग ग्रुप ने चार विनिर्देशों (RFC 3920, RFC 3921, RFC 3922, RFC 3923) का निर्माण किया, जिन्हें 2004 में प्रस्तावित मानकों के रूप में अनुमोदित किया गया था। 2011 में, RFC 3920 और RFC 3921 को क्रमशः RFC 6120 और RFC 6121 द्वारा RFC के साथ स्थानांतरित कर दिया गया था। 6122 XMPP एड्रेस फॉर्मेट को निर्दिष्ट करता है। IETF में मानकीकृत इन कोर प्रोटोकॉल के अलावा, XMPP Standards Foundation (पूर्व में Jabber Software Foundation) खुले XMPP एक्सटेंशन को विकसित करने में सक्रिय है। XMPP-आधारित सॉफ़्टवेयर, XMPP Standards Foundation के अनुसार, इंटरनेट पर व्यापक रूप से तैनात किया गया है, और रक्षा विभाग (DoD) की एकीकृत क्षमताओं की रूपरेखा के लिए आधार बनाता है।<ref>[http://www.disa.mil/Services/Network-Services/UCCO/~/media/Files/DISA/Services/UCCO/UCR2013/01_Framework_2013.pdf] {{webarchive|url=https://web.archive.org/web/20130523040719/http://www.disa.mil/Services/Network-Services/UCCO/~/media/Files/DISA/Services/UCCO/UCR2013/01_Framework_2013.pdf|date=May 23, 2013}}</ref>
एक्स्टेंसिबल संदेश प्रेषण एंड प्रेजेंस प्रोटोकॉल ([[एक्सएमपीपी]]) एक्सएमएल (एक्सटेंसिबल मार्कअप लैंग्वेज) पर आधारित संदेश-उन्मुख मध्यस्थ के लिए एक संचार प्रोटोकॉल है। एक्स्टेंसिबल होने के लिए डिज़ाइन किया गया, प्रोटोकॉल का उपयोग पब्लिश-सब्सक्राइब प्रणाली, वीओआईपी के लिए सिग्नलिंग, वीडियो, फाइल ट्रांसफर, गेमिंग, इंटरनेट ऑफ थिंग्स एप्लिकेशन जैसे स्मार्ट ग्रिड और सोशल नेटवर्किंग सेवाओं के लिए भी किया गया है। अधिकांश इंस्टेंट संदेश प्रेषण प्रोटोकॉल के विपरीत, XMPP को एक खुले मानक में परिभाषित किया गया है और यह विकास और अनुप्रयोग के एक खुले प्रणाली दृष्टिकोण का उपयोग करता है, जिसके द्वारा कोई भी XMPP सेवा को लागू कर सकता है और अन्य संगठनों के कार्यान्वयन के साथ इंटरऑपरेट कर सकता है। क्योंकि XMPP एक खुला प्रोटोकॉल है, कार्यान्वयन किसी भी सॉफ़्टवेयर लाइसेंस का उपयोग करके विकसित किया जा सकता है; हालांकि कई सर्वर, ग्राहक और लाइब्रेरी कार्यान्वयन मुफ्त और ओपन-सोर्स सॉफ़्टवेयर के रूप में वितरित किए जाते हैं, कई फ्रीवेयर और मालिकाना सॉफ़्टवेयर कार्यान्वयन भी मौजूद हैं। इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) ने 2002 में एक IETF इंस्टेंट संदेश प्रेषण और उपस्थिति तकनीक के रूप में कोर प्रोटोकॉल को औपचारिक रूप देने के लिए एक XMPP वर्किंग ग्रुप का गठन किया। XMPP वर्किंग ग्रुप ने चार विनिर्देशों (RFC 3920, RFC 3921, RFC 3922, RFC 3923) का निर्माण किया, जिन्हें 2004 में प्रस्तावित मानकों के रूप में अनुमोदित किया गया था। 2011 में, RFC 3920 और RFC 3921 को क्रमशः RFC 6120 और RFC 6121 द्वारा RFC के साथ स्थानांतरित कर दिया गया था। 6122 XMPP एड्रेस फॉर्मेट को निर्दिष्ट करता है। IETF में मानकीकृत इन कोर प्रोटोकॉल के अतिरिक्त, XMPP Standards Foundation (पूर्व में Jabber Software Foundation) खुले XMPP एक्सटेंशन को विकसित करने में सक्रिय है। XMPP-आधारित सॉफ़्टवेयर, XMPP Standards Foundation के अनुसार, इंटरनेट पर व्यापक रूप से तैनात किया गया है, और रक्षा विभाग (DoD) की एकीकृत क्षमताओं की रूपरेखा के लिए आधार बनाता है।<ref>[http://www.disa.mil/Services/Network-Services/UCCO/~/media/Files/DISA/Services/UCCO/UCR2013/01_Framework_2013.pdf] {{webarchive|url=https://web.archive.org/web/20130523040719/http://www.disa.mil/Services/Network-Services/UCCO/~/media/Files/DISA/Services/UCCO/UCR2013/01_Framework_2013.pdf|date=May 23, 2013}}</ref>
[[ चल देना ]]ई प्रोग्रामिंग वातावरण [[जावा संदेश सेवा]] (जावा संदेश सेवा) नामक एक मानक एपीआई प्रदान करता है, जिसे अधिकांश एमओएम विक्रेताओं द्वारा कार्यान्वित किया जाता है और इसका उद्देश्य विशेष एमओएम एपीआई कार्यान्वयन को छिपाना है; हालाँकि, JMS संदेशों के आदान-प्रदान के प्रारूप को परिभाषित नहीं करता है, इसलिए JMS सिस्टम इंटरऑपरेबल नहीं हैं।
[[ चल देना ]]ई प्रोग्रामिंग वातावरण [[जावा संदेश सेवा]] (जावा संदेश सेवा) नामक एक मानक एपीआई प्रदान करता है, जिसे अधिकांश एमओएम विक्रेताओं द्वारा कार्यान्वित किया जाता है और इसका उद्देश्य विशेष एमओएम एपीआई कार्यान्वयन को छिपाना है; हालाँकि, JMS संदेशों के आदान-प्रदान के प्रारूप को परिभाषित नहीं करता है, इसलिए JMS प्रणाली इंटरऑपरेबल नहीं हैं।


एक समान प्रयास सक्रिय रूप से विकसित [[ मामा खोलो ]] परियोजना के साथ है, जिसका उद्देश्य विशेष रूप से सी ग्राहकों को एक सामान्य एपीआई प्रदान करना है। हालांकि, इस समय (अगस्त 2012) यह पब-उप मिडलवेयर पर बाजार उन्मुख डेटा (जैसे स्टॉक कोट्स) को वितरित करने के लिए प्राथमिक रूप से उपयुक्त है।
एक समान प्रयास सक्रिय रूप से विकसित [[ मामा खोलो |मामा खोलो]] परियोजना के साथ है, जिसका उद्देश्य विशेष रूप से सी ग्राहकों को एक सामान्य एपीआई प्रदान करना है। हालांकि, इस समय (अगस्त 2012) यह पब-उप मध्यस्थ पर बाजार उन्मुख डेटा (जैसे स्टॉक कोट्स) को वितरित करने के लिए प्राथमिक रूप से उपयुक्त है।


== संदेश कतारबद्ध करना ==
== संदेश कतारबद्ध करना ==
{{see also|Message queuing service}}
{{see also|Message queuing service}}
संदेश कतारें वितरित अनुप्रयोगों के बीच सूचनाओं के आदान-प्रदान की अनुमति देती हैं। एक संदेश कतार मेमोरी या डिस्क स्टोरेज में रह सकती है। सेवा उपभोक्ता द्वारा संसाधित किए जाने तक संदेश कतार में रहते हैं। संदेश कतार के माध्यम से, एप्लिकेशन को स्वतंत्र रूप से लागू किया जा सकता है - उन्हें एक दूसरे की स्थिति जानने की आवश्यकता नहीं है, या इस संदेश को प्राप्त करने के लिए प्रतीक्षा करने की आवश्यकता को दूर करने के लिए प्रक्रियाओं को लागू करना जारी रखना है।<ref name="tutorialsto">{{Cite web|url=http://www.tutorialsto.com/software/engineering/middleware/message-oriented-middleware-and-the-websphere-mq-introduction.html|title=多彩网客户端:404錯誤提示的界面|website=www.tutorialsto.com}}</ref>
संदेश कतारें वितरित अनुप्रयोगों के बीच सूचनाओं के आदान-प्रदान की अनुमति देती हैं। एक संदेश पंक्ति मेमोरी या डिस्क संचयेज में रह सकती है। सेवा उपभोक्ता द्वारा संसाधित किए जाने तक संदेश पंक्ति में रहते हैं। संदेश पंक्ति के माध्यम से, एप्लिकेशन को स्वतंत्र रूप से लागू किया जा सकता है - उन्हें एक दूसरे की स्थिति जानने की आवश्यकता नहीं है, या इस संदेश को प्राप्त करने के लिए प्रतीक्षा करने की आवश्यकता को दूर करने के लिए प्रक्रियाओं को लागू करना जारी रखना है।<ref name="tutorialsto">{{Cite web|url=http://www.tutorialsto.com/software/engineering/middleware/message-oriented-middleware-and-the-websphere-mq-introduction.html|title=多彩网客户端:404錯誤提示的界面|website=www.tutorialsto.com}}</ref>




== रुझान ==
== रुझान ==
* उन्नत संदेश कतारबद्ध प्रोटोकॉल | उन्नत संदेश कतारबद्ध प्रोटोकॉल (AMQP) संदेश-उन्मुख मिडलवेयर के लिए एक खुला मानक अनुप्रयोग परत प्रोटोकॉल प्रदान करता है।<ref>OASIS AMQP version 1.0, sections 2.6.7-2.6.8". OASIS AMQP Technical Committee. Retrieved 18 June 2012.</ref>
* उन्नत संदेश कतारबद्ध प्रोटोकॉल | उन्नत संदेश कतारबद्ध प्रोटोकॉल (AMQP) संदेश-उन्मुख मध्यस्थ के लिए एक खुला मानक अनुप्रयोग परत प्रोटोकॉल प्रदान करता है।<ref>OASIS AMQP version 1.0, sections 2.6.7-2.6.8". OASIS AMQP Technical Committee. Retrieved 18 June 2012.</ref>
* वस्तु प्रबंधन समूह की डेटा वितरण सेवा| डेटा वितरण सेवा (DDS) ने मूल DDS विनिर्देशन में कई नए मानक जोड़े हैं। अधिक विवरण के लिए [https://web.archive.org/web/20130202055113/http://www.omg.org/technology/documents/dds_spec_catalog.htm OMG डेटा वितरण सेवा (DDS) विनिर्देशों की सूची] देखें।
* वस्तु प्रबंधन समूह की डेटा वितरण सेवा| डेटा वितरण सेवा (DDS) ने मूल DDS विनिर्देशन में कई नए मानक जोड़े हैं। अधिक विवरण के लिए [https://web.archive.org/web/20130202055113/http://www.omg.org/technology/documents/dds_spec_catalog.htm OMG डेटा वितरण सेवा (DDS) विनिर्देशों की सूची] देखें।
* [[एक्स्टेंसिबल मैसेजिंग और उपस्थिति प्रोटोकॉल]] XML (एक्सटेंसिबल मार्कअप लैंग्वेज) पर आधारित संदेश-उन्मुख मिडलवेयर के लिए एक संचार प्रोटोकॉल है।<ref>Johansson, Leif (April 18, 2005). "XMPP as MOM". Greater NOrdic MIddleware Symposium (GNOMIS). Oslo: University of Stockholm</ref>
* [[एक्स्टेंसिबल मैसेजिंग और उपस्थिति प्रोटोकॉल|एक्स्टेंसिबल संदेश प्रेषण और उपस्थिति प्रोटोकॉल]] XML (एक्सटेंसिबल मार्कअप लैंग्वेज) पर आधारित संदेश-उन्मुख मध्यस्थ के लिए एक संचार प्रोटोकॉल है।<ref>Johansson, Leif (April 18, 2005). "XMPP as MOM". Greater NOrdic MIddleware Symposium (GNOMIS). Oslo: University of Stockholm</ref>
* [[स्ट्रीमिंग टेक्स्ट ओरिएंटेड मैसेजिंग प्रोटोकॉल]] | स्ट्रीमिंग टेक्स्ट ओरिएंटेड मैसेजिंग प्रोटोकॉल (STOMP), जिसे पहले TTMP के नाम से जाना जाता था, एक सरल टेक्स्ट-आधारित प्रोटोकॉल है, जो एक इंटरऑपरेबल वायर फॉर्मेट प्रदान करता है जो STOMP क्लाइंट को प्रोटोकॉल का समर्थन करने वाले किसी भी संदेश ब्रोकर से बात करने की अनुमति देता है।<ref>[https://stomp.github.com//stomp-specification-1.2.html STOMP Protocol Specification, Version 1.2, 22 October 2012]</ref>
* [[स्ट्रीमिंग टेक्स्ट ओरिएंटेड मैसेजिंग प्रोटोकॉल|स्ट्रीमिंग टेक्स्ट ओरिएंटेड संदेश प्रेषण प्रोटोकॉल]] | स्ट्रीमिंग टेक्स्ट ओरिएंटेड संदेश प्रेषण प्रोटोकॉल (STOMP), जिसे पहले TTMP के नाम से जाना जाता था, एक सरल टेक्स्ट-आधारित प्रोटोकॉल है, जो एक इंटरऑपरेबल वायर फॉर्मेट प्रदान करता है जो STOMP ग्राहक को प्रोटोकॉल का समर्थन करने वाले किसी भी संदेश मध्यस्थ से बात करने की अनुमति देता है।<ref>[https://stomp.github.com//stomp-specification-1.2.html STOMP Protocol Specification, Version 1.2, 22 October 2012]</ref>
* एक अतिरिक्त प्रवृत्ति संदेश-उन्मुख मिडलवेयर कार्यों को हार्डवेयर में लागू होते हुए देखती है - आमतौर पर [[FPGA]]s या अन्य विशेष सिलिकॉन चिप्स।<ref>[http://advice.cio.com/ralph_frankel/are_you_soft_in_the_middle_the_future_of_enterprise_it_rests_in_hardware_applications?commentpage=1 Are You Soft in the Middle? The future of enterprise IT rests in hardware applications] {{webarchive|url=https://web.archive.org/web/20090209044943/http://advice.cio.com/ralph_frankel/are_you_soft_in_the_middle_the_future_of_enterprise_it_rests_in_hardware_applications?commentpage=1 |date=2009-02-09 }}</ref>
* एक अतिरिक्त प्रवृत्ति संदेश-उन्मुख मध्यस्थ कार्यों को हार्डवेयर में लागू होते हुए देखती है - सामान्यतः [[FPGA]]s या अन्य विशेष सिलिकॉन चिप्स।<ref>[http://advice.cio.com/ralph_frankel/are_you_soft_in_the_middle_the_future_of_enterprise_it_rests_in_hardware_applications?commentpage=1 Are You Soft in the Middle? The future of enterprise IT rests in hardware applications] {{webarchive|url=https://web.archive.org/web/20090209044943/http://advice.cio.com/ralph_frankel/are_you_soft_in_the_middle_the_future_of_enterprise_it_rests_in_hardware_applications?commentpage=1 |date=2009-02-09 }}</ref>




== यह भी देखें ==
== यह भी देखें ==
* [[उद्यम एकीकरण पैटर्न]] (पुस्तक)
* [[उद्यम एकीकरण पैटर्न]] (पुस्तक)
* [[ एंटरप्राइज़ मैसेजिंग सिस्टम ]]
* [[ एंटरप्राइज़ मैसेजिंग सिस्टम | एंटरप्राइज़ संदेश प्रेषण प्रणाली]]
* [[ उद्यम सेवा बस ]]
* [[ उद्यम सेवा बस ]]
* [[प्रवाह आधारित प्रोग्रामिंग]]
* [[प्रवाह आधारित प्रोग्रामिंग]]
Line 84: Line 81:




== बाहरी संबंध ==
== बाप्रत्येकी संबंध ==
* {{Cite book|title=Get started with IBM MQ |url=https://developer.ibm.com/series/badge-ibm-mq-developer-essentials/ }}
* {{Cite book|title=Get started with IBM MQ |url=https://developer.ibm.com/series/badge-ibm-mq-developer-essentials/ }}
[[Category: संदेश-उन्मुख मिडलवेयर | संदेश-उन्मुख मिडलवेयर ]] [[Category: एंटरप्राइज़ एप्लिकेशन एकीकरण]] [[Category: मध्यस्थ]] [[Category: प्रणाली अभियांत्रिकी]]  
[[Category: संदेश-उन्मुख मिडलवेयर | संदेश-उन्मुख मिडलवेयर ]] [[Category: एंटरप्राइज़ एप्लिकेशन एकीकरण]] [[Category: मध्यस्थ]] [[Category: प्रणाली अभियांत्रिकी]]  

Revision as of 11:58, 10 May 2023

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

यह मध्यस्थ परत सॉफ्टवेयर घटकों (अनुप्रयोगों, एंटरप्राइज़ जावाबीन्स , सेरवलेट्स, और अन्य घटकों) को अनुमति देता है जो स्वतंत्र रूप से विकसित किए गए हैं और जो एक दूसरे के साथ अन्तः क्रिया करने के लिए विभिन्न नेटवर्क प्लेटफॉर्म पर चलते हैं। विभिन्न नेटवर्क नोड पर वितरित एप्लिकेशन संवाद करने के लिए एप्लिकेशन इंटरफ़ेस का उपयोग करते हैं। इसके अतिरिक्त, एक प्रशासनिक इंटरफ़ेस प्रदान करके, परस्पर जुड़े अनुप्रयोगों की इस नवीन, आभासी प्रणाली को विश्वसनीय और सुरक्षित बनाया जा सकता है।[2]

एमओएम सॉफ्टवेयर अवयव प्रदान करता है जो ग्राहक/सर्वर संरचना के सभी संचार घटकों में रहता है और सामान्यतः ग्राहक और सर्वर अनुप्रयोगों के बीच अतुल्यकालिक कॉल का समर्थन करता है। एमओएम ग्राहक/सर्वर तंत्र की मुख्य सेवक प्रकृति की जटिलता के साथ एप्लिकेशन विकासक की भागीदारी को कम करता है।

मध्यस्थ श्रेणियां

  • सुदूर प्रणाली संदेश या आरपीसी-आधारित मध्यस्थ
  • वस्तु अनुरोध मध्यस्थ या ओआरबी-आधारित मध्यस्थ
  • संदेश उन्मुख मध्यस्थ या एमओएम-आधारित मध्यस्थ

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


लाभ

संदेश-आधारित संचार प्रोटोकॉल ( संगणना) का उपयोग करने के केंद्रीय कारणों में संदेशों को प्रेषकों से प्राप्तकर्ताओं तक पहुंचाते समय संचय ( मध्यवर्ती), मार्ग या संदेशों को बदलने की क्षमता सम्मिलित है।

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

अतुल्यकालिकता

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

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

अनुमार्गण

कई संदेश-उन्मुख मध्यस्थ कार्यान्वयन संदेश पंक्ति प्रणाली पर निर्भर करते हैं। कुछ कार्यान्वयन अनुमार्गण तर्क को संदेश प्रेषण पटल द्वारा प्रदान करने की अनुमति देते हैं, जबकि अन्य अनुमार्गण जानकारी प्रदान करने के लिए ग्राहक एप्लिकेशन पर निर्भर करते हैं या दोनों प्रतिमानों के मिश्रण की अनुमति देते हैं। कुछ कार्यान्वयन प्रसारण (नेटवर्किंग) या बहुस्त्र्पीय वितरण प्रतिमानों का उपयोग करते हैं।

परिवर्तन

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

हानि

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

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

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

मानक

ऐतिहासिक रूप से, संदेश-उन्मुख मध्यस्थ के उपयोग को नियंत्रित करने वाले मानकीकरण की कमी थी जिससे समस्याएँ उत्पन्न हुई हैं। अधिकांश प्रमुख विक्रेताओं के अपने स्वयं के कार्यान्वयन हैं, प्रत्येक का अपना अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) और प्रबंधन उपकरण हैं।

संदेश उन्मुख मध्यस्थ के लिए लंबे समय से चलने वाले मानकों में से एक एक्स/ओपन समूह का एक्सएटीएमआई विनिर्देश (वितरित लेनदेन प्रसंस्करण: एक्सएटीएमआई विशिष्टता) है जो इंटरप्रोसेस संचार के लिए एपीआई को मानकीकृत करता है। इस एपीआई के लिए ज्ञात कार्यान्वयन एटीआर बाल्टिक का एंड्यूरो/एक्स मध्यस्थ और ओरेकल कॉर्पोरेशन का टक्सीडो (सॉफ्टवेयर) है।

उन्नत संदेश कतारबद्ध प्रोटोकॉल (AMQP) एक स्वीकृत OASIS (संगठन) है[4] और आईएसओ[5] मानक जो भाग लेने वाले अनुप्रयोग घटकों के बीच उपयोग किए जाने वाले प्रोटोकॉल और प्रारूपों को परिभाषित करता है, इसलिए कार्यान्वयन इंटरऑपरेबल हैं। AMQP का उपयोग लचीली अनुमार्गण योजनाओं के साथ किया जा सकता है, जिसमें पॉइंट-टू-पॉइंट (दूरसंचार) | पॉइंट-टू-पॉइंट, फैन-आउट (सॉफ़्टवेयर) | फैन-आउट, प्रकाशित/सदस्यता, और अनुरोध-प्रतिक्रिया जैसे सामान्य संदेश पैटर्न सम्मिलित हैं। कि इन्हें जानबूझकर प्रोटोकॉल मानक के v1.0 से हटा दिया गया है, लेकिन अनुमार्गण के लिए विशेष कार्यान्वयन और/या अंतर्निहित नेटवर्क प्रोटोकॉल पर भरोसा करते हैं)। यह लेन-देन प्रबंधन, कतारबद्ध, वितरण, सुरक्षा, प्रबंधन, क्लस्टरिंग, संघ और विषम बहु-मंच समर्थन का भी समर्थन करता है। AMQP का उपयोग करने वाले जावा एप्लिकेशन सामान्यतः Java JMS में लिखे जाते हैं। अन्य कार्यान्वयन सी #, सी ++, पीएचपी, पायथन, रूबी और अन्य भाषाओं के लिए एपीआई प्रदान करते हैं।

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

एमक्यू टेलीमेट्री ट्रांसपोर्ट (MQTT) OASIS संगठन द्वारा समर्थित एक ISO मानक (ISO/IEC PRF 20922) है। यह M2M/IoT संदर्भों में संचार के लिए उपयुक्त TCP/IP के शीर्ष पर एक हल्का प्रकाशित/सदस्यता विश्वसनीय संदेश परिवहन प्रोटोकॉल प्रदान करता है जहां एक छोटे कोड पदचिह्न की आवश्यकता होती है और/या नेटवर्क बैंडविड्थ प्रीमियम पर होता है।

वस्तु प्रबंधन समूह की डेटा वितरण सेवा | डेटा वितरण सेवा (डीडीएस) संदेश-उन्मुख प्रकाशन-सदस्यता पैटर्न प्रदान करता है। प्रकाशित/सदस्यता (पी/एस) मध्यस्थ मानक प्रदान करता है जिसका उद्देश्य स्केलेबल, तात्क्षणिक, भरोसेमंद, उच्च निष्पादन और प्रकाशकों और ग्राहकों के बीच इंटरऑपरेबल डेटा एक्सचेंजों को सक्षम करना है।[6] मानक C++, C++11, C, Ada, Java और Ruby को इंटरफेस प्रदान करता है।

एक्स्टेंसिबल संदेश प्रेषण एंड प्रेजेंस प्रोटोकॉल (एक्सएमपीपी) एक्सएमएल (एक्सटेंसिबल मार्कअप लैंग्वेज) पर आधारित संदेश-उन्मुख मध्यस्थ के लिए एक संचार प्रोटोकॉल है। एक्स्टेंसिबल होने के लिए डिज़ाइन किया गया, प्रोटोकॉल का उपयोग पब्लिश-सब्सक्राइब प्रणाली, वीओआईपी के लिए सिग्नलिंग, वीडियो, फाइल ट्रांसफर, गेमिंग, इंटरनेट ऑफ थिंग्स एप्लिकेशन जैसे स्मार्ट ग्रिड और सोशल नेटवर्किंग सेवाओं के लिए भी किया गया है। अधिकांश इंस्टेंट संदेश प्रेषण प्रोटोकॉल के विपरीत, XMPP को एक खुले मानक में परिभाषित किया गया है और यह विकास और अनुप्रयोग के एक खुले प्रणाली दृष्टिकोण का उपयोग करता है, जिसके द्वारा कोई भी XMPP सेवा को लागू कर सकता है और अन्य संगठनों के कार्यान्वयन के साथ इंटरऑपरेट कर सकता है। क्योंकि XMPP एक खुला प्रोटोकॉल है, कार्यान्वयन किसी भी सॉफ़्टवेयर लाइसेंस का उपयोग करके विकसित किया जा सकता है; हालांकि कई सर्वर, ग्राहक और लाइब्रेरी कार्यान्वयन मुफ्त और ओपन-सोर्स सॉफ़्टवेयर के रूप में वितरित किए जाते हैं, कई फ्रीवेयर और मालिकाना सॉफ़्टवेयर कार्यान्वयन भी मौजूद हैं। इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) ने 2002 में एक IETF इंस्टेंट संदेश प्रेषण और उपस्थिति तकनीक के रूप में कोर प्रोटोकॉल को औपचारिक रूप देने के लिए एक XMPP वर्किंग ग्रुप का गठन किया। XMPP वर्किंग ग्रुप ने चार विनिर्देशों (RFC 3920, RFC 3921, RFC 3922, RFC 3923) का निर्माण किया, जिन्हें 2004 में प्रस्तावित मानकों के रूप में अनुमोदित किया गया था। 2011 में, RFC 3920 और RFC 3921 को क्रमशः RFC 6120 और RFC 6121 द्वारा RFC के साथ स्थानांतरित कर दिया गया था। 6122 XMPP एड्रेस फॉर्मेट को निर्दिष्ट करता है। IETF में मानकीकृत इन कोर प्रोटोकॉल के अतिरिक्त, XMPP Standards Foundation (पूर्व में Jabber Software Foundation) खुले XMPP एक्सटेंशन को विकसित करने में सक्रिय है। XMPP-आधारित सॉफ़्टवेयर, XMPP Standards Foundation के अनुसार, इंटरनेट पर व्यापक रूप से तैनात किया गया है, और रक्षा विभाग (DoD) की एकीकृत क्षमताओं की रूपरेखा के लिए आधार बनाता है।[7] चल देना ई प्रोग्रामिंग वातावरण जावा संदेश सेवा (जावा संदेश सेवा) नामक एक मानक एपीआई प्रदान करता है, जिसे अधिकांश एमओएम विक्रेताओं द्वारा कार्यान्वित किया जाता है और इसका उद्देश्य विशेष एमओएम एपीआई कार्यान्वयन को छिपाना है; हालाँकि, JMS संदेशों के आदान-प्रदान के प्रारूप को परिभाषित नहीं करता है, इसलिए JMS प्रणाली इंटरऑपरेबल नहीं हैं।

एक समान प्रयास सक्रिय रूप से विकसित मामा खोलो परियोजना के साथ है, जिसका उद्देश्य विशेष रूप से सी ग्राहकों को एक सामान्य एपीआई प्रदान करना है। हालांकि, इस समय (अगस्त 2012) यह पब-उप मध्यस्थ पर बाजार उन्मुख डेटा (जैसे स्टॉक कोट्स) को वितरित करने के लिए प्राथमिक रूप से उपयुक्त है।

संदेश कतारबद्ध करना

संदेश कतारें वितरित अनुप्रयोगों के बीच सूचनाओं के आदान-प्रदान की अनुमति देती हैं। एक संदेश पंक्ति मेमोरी या डिस्क संचयेज में रह सकती है। सेवा उपभोक्ता द्वारा संसाधित किए जाने तक संदेश पंक्ति में रहते हैं। संदेश पंक्ति के माध्यम से, एप्लिकेशन को स्वतंत्र रूप से लागू किया जा सकता है - उन्हें एक दूसरे की स्थिति जानने की आवश्यकता नहीं है, या इस संदेश को प्राप्त करने के लिए प्रतीक्षा करने की आवश्यकता को दूर करने के लिए प्रक्रियाओं को लागू करना जारी रखना है।[8]


रुझान

  • उन्नत संदेश कतारबद्ध प्रोटोकॉल | उन्नत संदेश कतारबद्ध प्रोटोकॉल (AMQP) संदेश-उन्मुख मध्यस्थ के लिए एक खुला मानक अनुप्रयोग परत प्रोटोकॉल प्रदान करता है।[9]
  • वस्तु प्रबंधन समूह की डेटा वितरण सेवा| डेटा वितरण सेवा (DDS) ने मूल DDS विनिर्देशन में कई नए मानक जोड़े हैं। अधिक विवरण के लिए OMG डेटा वितरण सेवा (DDS) विनिर्देशों की सूची देखें।
  • एक्स्टेंसिबल संदेश प्रेषण और उपस्थिति प्रोटोकॉल XML (एक्सटेंसिबल मार्कअप लैंग्वेज) पर आधारित संदेश-उन्मुख मध्यस्थ के लिए एक संचार प्रोटोकॉल है।[10]
  • स्ट्रीमिंग टेक्स्ट ओरिएंटेड संदेश प्रेषण प्रोटोकॉल | स्ट्रीमिंग टेक्स्ट ओरिएंटेड संदेश प्रेषण प्रोटोकॉल (STOMP), जिसे पहले TTMP के नाम से जाना जाता था, एक सरल टेक्स्ट-आधारित प्रोटोकॉल है, जो एक इंटरऑपरेबल वायर फॉर्मेट प्रदान करता है जो STOMP ग्राहक को प्रोटोकॉल का समर्थन करने वाले किसी भी संदेश मध्यस्थ से बात करने की अनुमति देता है।[11]
  • एक अतिरिक्त प्रवृत्ति संदेश-उन्मुख मध्यस्थ कार्यों को हार्डवेयर में लागू होते हुए देखती है - सामान्यतः FPGAs या अन्य विशेष सिलिकॉन चिप्स।[12]


यह भी देखें

संदर्भ

  1. Curry, Edward. 2004. "Message-Oriented Middleware"[permanent dead link]. In Middleware for Communications, ed. Qusay H Mahmoud, 1-28. Chichester, England: John Wiley and Sons. doi:10.1002/0470862084.ch1. ISBN 978-0-470-86206-3
  2. 2.0 2.1 संदेश उन्मुख मिडलवेयर.
  3. "E. Curry, D. Chambers, and G. Lyons, "Extending Message-Oriented Middleware using Interception", presented at Third International Workshop on Distributed Event-Based Systems (DEBS '04), ICSE '04, Edinburgh, Scotland, UK, 2004" (PDF). Archived from the original (PDF) on 2011-07-26. Retrieved 2011-08-09.
  4. 1.0 Becomes OASIS Standard. AMQP (2012-10-31). Retrieved on 2014-05-23.
  5. "ISO/IEC 19464:2014". ISO.
  6. Data Distribution Service for Real-time Systems (DDS), Object Management Group, version 1.2, January 2007
  7. [1] Archived May 23, 2013, at the Wayback Machine
  8. "多彩网客户端:404錯誤提示的界面". www.tutorialsto.com.
  9. OASIS AMQP version 1.0, sections 2.6.7-2.6.8". OASIS AMQP Technical Committee. Retrieved 18 June 2012.
  10. Johansson, Leif (April 18, 2005). "XMPP as MOM". Greater NOrdic MIddleware Symposium (GNOMIS). Oslo: University of Stockholm
  11. STOMP Protocol Specification, Version 1.2, 22 October 2012
  12. Are You Soft in the Middle? The future of enterprise IT rests in hardware applications Archived 2009-02-09 at the Wayback Machine


बाप्रत्येकी संबंध