Canonical protocol pattern
केनोनिकल प्रोटोकॉल एक डिजाइन पैटर्न है, जिसे सेवा-अभिविन्यास डिजाइन प्रतिमान के भीतर लागू किया जाता है, जो सेवाओं को एक सेवा सूची के भीतर, सेवाओं द्वारा उपयोग किए जाने वाले संचार प्रोटोकॉल को मानकीकृत करके एक दूसरे के साथ अंतर-संचालित करने का प्रयास करता है। यह संचार प्रोटोकॉल को पाटने की आवश्यकता को समाप्त करता है जब सेवाएँ विभिन्न संचार प्रोटोकॉल का उपयोग करती हैं। विभिन्न परियोजना दलों द्वारा विकसित तर्कसंगत सेवाएँ विभिन्न संचार तंत्रों पर आधारित हो सकती हैं। नतीजतन, एक सेवा सूची में सेवाओं के अलग-अलग सेट हो सकते हैं, जिनमें से प्रत्येक प्रोटोकॉल के एक अलग सेट के अनुरूप हो सकते हैं। जब अलग-अलग संचार प्रोटोकॉल वाली सेवाओं के पुनः उपयोग की बात आती है, तो किसी प्रकार के संचार सेतु तंत्र की आवश्यकता होती है। उदाहरण के लिए, जेएमएस मैसेजिंग प्रोटोकॉल का उपयोग करके विकसित की गई सेवाएं. नेट रिमोट का उपयोग करने वाली सेवाओं के साथ असंगत हैं, इसलिए इन दो प्रकार की सेवाओं का उपयोग करने के लिए, कुछ मिडलवेयर तकनीक की आवश्यकता होती है जो संचार प्रोटोकॉल असमानता को पाटती है। अतिरिक्त लागत के अलावा, इस तरह की ब्रिजिंग तकनीक का उपयोग विलंबता और संचार ओवरहेड को जोड़ता है। यह सेवा को पुनः प्रयोज्य और पुनर्संयोजन योग्य संसाधन से कम बनाता है और सेवा संयोजन डिजाइन सिद्धांत के दिशानिर्देशों के खिलाफ जाता है। एक सेवा सूची तैयार करने के लिए जहां सभी सेवाएं एक-दूसरे के साथ अंतर-संचालित हों ताकि उन्हें विभिन्न समाधानों में बनाया जा सके, कैनॉनिकल प्रोटोकॉल पैटर्न का अनुप्रयोग सेवाओं द्वारा उपयोग किए जाने वाले संचार प्रोटोकॉल को मानकीकृत करता है। जब सभी सेवाएँ एक ही संचार प्रोटोकॉल का उपयोग कर रही होती हैं, तो एक सेतु प्रौद्योगिकी की आवश्यकता समाप्त हो जाती है और सेवाओं के बीच संचार अधिक सुव्यवस्थित हो जाता है। उपयोग इस डिजाइन पैटर्न के अनुप्रयोग के लिए एक प्रौद्योगिकी वास्तुकला चुनने की आवश्यकता होती है जो एक सामान्य संचार ढांचा प्रदान करती है ताकि एक सूची में सभी सेवाएं एक ही संचार प्रोटोकॉल का उपयोग करके एक दूसरे के साथ संवाद कर सकें। यह इस बात पर निर्भर करता है कि सेवा सूची के भीतर सेवाओं का उपयोग कैसे किया जाएगा। यदि सेवाएँ केवल सेवा संयोजनों का हिस्सा बनने जा रही हैं जो हमेशा एक विशेष संचार प्रोटोकॉल का उपयोग करती हैं (दक्षता और सुरक्षा कारणों से), तो उस सेवा सूची के भीतर सभी सेवाओं को इस तरह के संचार प्रोटोकॉल पर बनाया जा सकता है, भले ही यह सबसे व्यापक रूप से उपयोग किया जाने वाला प्रोटोकॉल न हो। थॉमस एर्ल द्वारा कैनोनिकल प्रोटोकॉल पैटर्न इस सवाल का जवाब देता हैः "प्रोटोकॉल ब्रिजिंग से बचने के लिए सेवाओं को कैसे डिज़ाइन किया जा सकता है?" समस्या यह है कि विभिन्न संचार प्रौद्योगिकियों का समर्थन करने वाली सेवाएं अंतरसंचालनीयता से समझौता करती हैं, संभावित उपभोक्ताओं की मात्रा को सीमित करती हैं, और अवांछनीय प्रोटोकॉल ब्रिजिंग उपायों की आवश्यकता को पेश करती हैं। इसका समाधान वास्तुकला के लिए एक एकल संचार प्रौद्योगिकी को एकमात्र या प्राथमिक माध्यम के रूप में स्थापित करना है जिसके द्वारा सेवाएं बातचीत कर सकती हैं। इसलिए, सेवा सूची सीमा के भीतर उपयोग किए जाने वाले संचार प्रोटोकॉल (प्रोटोकॉल संस्करणों सहित) सभी सेवाओं के लिए मानकीकृत हैं (आरेख देखें)। सबसे परिपक्व और व्यापक रूप से उपयोग किए जाने वाले संचार तंत्रों में से एक वेब सेवा ढांचे द्वारा प्रदान किया जाता है। एक संचार ढांचे को चुनने के अलावा, वास्तविक संदेश प्रोटोकॉल को भी मानकीकृत करने की आवश्यकता है। उदाहरण के लिए, क्या वेब सेवाओं को एचटीटीपी पर एसओएपी का उपयोग करके या केवल आरईएसटीफुल सेवाओं का उपयोग करके बनाया गया है। इसी तरह, जब एस. ओ. ए. पी. आधारित वेब सेवाओं पर मानकीकरण किया जाता है, तो एस. ओ. ए. पी. प्रोटोकॉल के विशिष्ट संस्करण पर भी सहमति बनाने की आवश्यकता होती है। एस. ओ. ए. पी. वी. 1.1 या एस. ओ. ए. पी. वी. 1.2। विचार एक संचार प्रोटोकॉल पर मानकीकृत करने के लिए, प्रोटोकॉल की विशेषताओं की तुलना सुरक्षा, दक्षता और लेनदेन समर्थन सहित सेवा बातचीत आवश्यकताओं के साथ की जानी चाहिए। उदाहरण के लिए, वेब सेवाओं के मामले में, यदि किसी सेवा संयोजन के लिए स्पष्ट लेनदेन समर्थन की आवश्यकता होती है, तो आरईएसटीफुल सेवाओं का उपयोग करने की तुलना में एचटीटीपी पर एसओएपी एक बेहतर विकल्प होगा। कुछ मामलों में, सेवा के निर्माण के लिए उपयोग की जाने वाली तकनीक के आधार पर, विभिन्न प्रकार के सेवा उपभोक्ताओं (दोहरे प्रोटोकॉल डिजाइन पैटर्न) के लिए सेवा को सुलभ बनाने के लिए दो अलग-अलग प्रोटोकॉल का समर्थन करना संभव हो सकता है। उदाहरण के लिए, डब्ल्यू. सी. एफ. का उपयोग करके, उसी सेवा को एक ही समय में एच. टी. टी. पी. और टी. सी. पी./आई. पी. प्रोटोकॉल का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। एक संचार ढांचे का चयन करते समय, परिपक्वता, मापनीयता और किसी भी लाइसेंस लागत को ध्यान में रखने की आवश्यकता है क्योंकि एक प्रोटोकॉल का उपयोग करके सेवाओं का निर्माण करना जो निकट भविष्य में अप्रचलित होने वाला है, ऐसी सेवाओं की पुनः प्रयोज्य को प्रभावित करेगा और सेवा को फिर से डिजाइन करने के लिए काफी समय और प्रयासों की आवश्यकता होगी। संदर्भ टिप्पणियाँ स्रोत थॉमस एर्ल और अन्य (2009). एस. ओ. ए. डिजाइन पैटर्न। प्रेन्टिस हॉल। .. बाहरी लिंक एस. ओ. ए. अवधारणाएँ एस. ओ. ए. शर्तें शब्दावली एस. ओ. ए. डिजाइन पैटर्न सेवा-उन्मुख (बिजनेस कंप्यूटिंग)