संदेश-उन्मुख मध्यस्थ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

एमक्यू दूरमिति परिवहन (एमक्यूटीटी) ओएसिस संगठन द्वारा समर्थित एक आईएसओ मानक (आईएसओ/आईईसी पीआरएफ 20922) है। यह एम2एम/आईओटी संदर्भों में संचार के लिए उपयुक्त टीसीपी/आईपी के शीर्ष पर एक सरल प्रकाशित/सदस्यता विश्वसनीय संदेश परिवहन प्रोटोकॉल प्रदान करता है जहां एक छोटे कोड पदचिह्न की आवश्यकता होती है और/या नेटवर्क बैंड विस्तार लाभांश पर होता है।

वस्तु प्रबंधन समूह की डेटा वितरण सेवा(डीडीएस) संदेश-उन्मुख प्रकाशन-सदस्यता प्रतिमान प्रदान करता है। प्रकाशित/सदस्यता (पी/एस) मध्यस्थ मानक प्रदान करता है जिसका उद्देश्य मापनीय, तात्क्षणिक, विश्वसनीय, उच्च निष्पादन और प्रकाशकों और ग्राहकों के बीच अंतर-संचालित डेटा विनिमय को सक्षम करना है। मानक सी++, सी++11, सी, एडीए, जावा और रूबी को अंतरफलक प्रदान करता है।

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

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

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

रुझान

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

यह भी देखें

 * उद्यम एकीकरण प्रतिमान (पुस्तक)
 * एंटरप्राइज़ संदेश प्रेषण प्रणाली
 * उद्यम सेवा बस
 * प्रवाह आधारित प्रोग्रामन