सेवा उन्मुख संरचना
सॉफ्टवेयर इंजीनियरी में, सेवा उन्मुख संरचना (एसओए) वास्तुशिल्प शैली है जो अखंड डिजाइन के अतिरिक्त असतत सेवाओं पर केंद्रित है।[1] फलस्वरूप, यह सॉफ्टवेर डिज़ाइन के क्षेत्र में भी लागू होते है जहां नेटवर्क पर संचार प्रोटोकॉल के माध्यम से अन्य घटकों को एप्लीकेशन घटकों द्वारा सेवाएं प्रदान की जाती हैं। सेवा कार्यक्षमता की एक असतत इकाई है जिसे दूरस्थ रूप से अभिगम किया जा सकता है और उस पर कार्य किया जा सकता है और स्वतंत्र रूप से अद्यतन किया जा सकता है, जैसे क्रेडिट कार्ड स्टेटमेंट को ऑनलाइन पुनर्प्राप्त करना है। एसओए का उद्देश्य विक्रेताओं, उत्पादों और प्रौद्योगिकियों से स्वतंत्र होना भी है।[2]
सेवा उन्मुखीकरण सेवाओं और सेवा-आधारित विकास और सेवाओं के परिणामों के संदर्भ में सोचने की एक विधि है।[1]
एसओए की कई परिभाषाओं में से एक के अनुसार सेवा में चार गुण होते हैं:[3]
- यह तार्किक रूप से निर्दिष्ट परिणाम के साथ दोहराने योग्य व्यावसायिक गतिविधि का प्रतिनिधित्व सकते है।
- यह स्व-अंतर्विष्ट है।
- यह अपने उपभोक्ताओं के लिए एक काला कोष्ठ है, जिसका अर्थ है कि उपभोक्ता को सेवा के आंतरिक कार्यचालन के विषय में पता नहीं होना चाहिए।
- यह अन्य सेवाओं से बना हो सकता है।[4]
बड़े सॉफ्टवेयर एप्लीकेशनों की कार्यक्षमता प्रदान करने के लिए विभिन्न सेवाओं का उपयोग सेवा जाल के संयोजन के रूप में किया जा सकता है,[5] एक सिद्धांत एसओए अनुखंडीय प्रोग्रामन के साथ साझा सकते है। सेवा-उन्मुख संरचना वितरित, अलग से बनाए रखा और प्रस्तरीय सॉफ्टवेयर घटकों को एकीकृत करता है। यह प्रौद्योगिकियों और मानकों द्वारा सक्षम है, जो विशेष रूप से आईपी नेटवर्क पर नेटवर्क पर घटकों के संचार और सहयोग की सुविधा प्रदान करते हैं।
एसओए एक एपीआई (एप्लीकेशन प्रोग्रामन अंतराफलक), कंप्यूटर प्रोग्राम के विभिन्न भागों के बीच अंतराफलक या संचार प्रोटोकॉल के विचार से संबंधित है, जिसका उद्देश्य सॉफ्टवेयर के कार्यान्वयन और रखरखाव को सरल बनाना है। एक एपीआई को सेवा के रूप में माना जा सकता है, और एसओए संरचना जो सेवा को संचालित करने की अनुमति देता है।
अवलोकन
एसओए में, सेवाएँ प्रोटोकॉल का उपयोग करती हैं जो वर्णन करती हैं कि वे कैसे संदेश पास कर रहे हैं और विवरण मेटाडाटा का उपयोग करके संदेशों को पद व्याख्या कर रहे हैं। यह मेटाडेटा सेवा की कार्यात्मक विशेषताओं और सेवा की गुणवत्ता विशेषताओं दोनों का वर्णन करता है। सेवा-उन्मुख संरचना का उद्देश्य उपयोगकर्ताओं को उन एप्लीकेशनों को बनाने के लिए कार्यक्षमता के बड़े भाग को संयोजित करने की अनुमति देना है जो पूर्ण रूप से वर्तमान सेवाओं से बनाए गए हैं और उन्हें तदर्थ विधि से संयोजित करते हैं। सेवा अनुरोधकर्ता को सरल अंतराफलक प्रस्तुत करती है जो काले कोष्ठ के रूप में कार्य करने वाली अंतर्निहित जटिलता को दूर करती है। इसके अतिरिक्त उपयोगकर्ता इन स्वतंत्र सेवाओं को उनके आंतरिक कार्यान्वयन के विषय में सूचना के बिना भी अभिगम कर सकते हैं।[6]
अवधारणाओं को परिभाषित करना
संबंधित मूलमंत्र सेवा-उन्मुखीकरण सेवाओं के बीच अल्प युग्मन को बढ़ावा देता है। एसओए कार्यों को विशिष्ट इकाइयों, या सेवाओं में अलग करता है,[7] जो विकासक एक नेटवर्क पर पहुंच योग्य बनाते हैं ताकि उपयोगकर्ताओं को एप्लीकेशनों के उत्पादन में उन्हें गठबंधन और पुन: उपयोग करने की अनुमति मिल सके। ये सेवाएं और उनके संबंधित उपभोक्ता ठीक रूप से परिभाषित हैं, साझा प्रारूप में डेटा पास करके या दो या दो से अधिक सेवाओं के बीच गतिविधि का समन्वय करके एक दूसरे के साथ संवाद करते हैं।[8]
अक्टूबर, 2009 में सेवा-उन्मुख संरचना के लिए एक घोषणापत्र प्रकाशित किया गया था। यह छह मूल मूल्यों के साथ आया था जो इस प्रकार सूचीबद्ध हैं:
- तकनीकी रणनीति की तुलना में व्यावसायिक मूल्य को अधिक महत्व दिया जाता है।
- परियोजना-विशिष्ट लाभों की तुलना में रणनीतिक लक्ष्यों को अधिक महत्व दिया जाता है।
- कस्टम एकीकरण की तुलना में अंतस्थ अंतरप्रचालनीयता को अधिक महत्व दिया जाता है।
- विशिष्ट-उद्देश्य कार्यान्वयन की तुलना में साझा सेवाओं को अधिक महत्व दिया जाता है।
- अनुकूलन से अधिक नम्यता को महत्व दिया जाता है।
- प्रारंभिक पूर्णता की खोज की तुलना में विकासवादी शोधन को अधिक महत्व दिया जाता है।
एसओए को निरंतरता के भाग के रूप में देखा जा सकता है जो वितरित संगणना की प्राचीन अवधारणा से लेकर [7][9] एसओए के माध्यम से और मैशअप (वेब एप्लिकेशन हाइब्रिड), सास, और क्लाउड कम्प्यूटिंग (जो कुछ एसओए के परिणाम के रूप में देखते हैं) की कार्यप्रणाली तक है।[10]
सिद्धांत
सेवा-उन्मुख संरचना की यथार्थ संरचना से संबंधित कोई उद्योग मानक नहीं हैं, यद्यपि कई उद्योग स्रोतों ने अपने सिद्धांतों को प्रकाशित किया है। इनमें से कुछ में[11][12][13] निम्नलिखित सम्मिलित हैं:
- मानकीकृत सेवा अनुबंध[14]
- सेवाएं एक मानक संचार समझौते का पालन करती हैं, जैसा कि सेवाओं के दिए गए समूह के भीतर एक या अधिक सेवा-विवरण लेखों द्वारा सामूहिक रूप से परिभाषित किया गया है।
- सेवा संदर्भ स्वायत्तता (अल्प युग्मन का एक रूप)
- सेवाओं के बीच संबंध को इस स्तर तक कम कर दिया जाता है कि वे मात्र अपने अस्तित्व के विषय में जानते हैं।
- सेवा स्थान पारदर्शिता (अल्प युग्मन का एक रूप)
- सेवाओं को नेटवर्क के भीतर कहीं से भी कॉल किया जा सकता है कि यह स्थित है चाहे वह कहीं भी स्थित हो।
- सेवा दीर्घायु
- सेवाओं को लंबे समय तक रहने के लिए डिज़ाइन किया जाना चाहिए। जहां संभव हो सेवाओं को उपभोक्ताओं को बदलने के लिए बाध्य करने से बचना चाहिए यदि उन्हें नवीन सुविधाओं की आवश्यकता नहीं है, यदि आप आज किसी सेवा को कॉल करते हैं तो आप कल उसी सेवा को कॉल करने में सक्षम होंगे।
- सेवा अमूर्त
- सेवाएं काले कोष्ठ के रूप में कार्य करती हैं, अर्थात उनका आंतरिक तर्क उपभोक्ताओं से छिपा होता है।
- सेवा स्वायत्तता सिद्धांत
- सेवाएँ स्वतंत्र होती हैं और डिज़ाइन-अवधि और कार्य अवधि के दृष्टिकोण से उनके द्वारा संपुटित की जाने वाली कार्यक्षमता को नियंत्रित करती हैं।
- सेवा अराष्टिकता सिद्धांत
- सेवाएँ राज्यविहीन हैं, जो या तो अनुरोधित मान लौटाती हैं या एक अपवाद देती हैं इसलिए संसाधन उपयोग को कम करती हैं।
- सेवा कमिकार्ययता सिद्धांत
- यह सुनिश्चित करने का सिद्धांत कि सेवाओं का पर्याप्त आकार और कार्यक्षेत्र हो। उपयोगकर्ता को सेवा द्वारा प्रदान की जाने वाली कार्यक्षमता प्रासंगिक होनी चाहिए।
- सेवा सामान्यीकरण
- अतिरेक को कम करने के लिए सेवाओं को विघटित या समेकित (सामान्यीकृत) किया जाता है। कुछ में, यह नहीं किया जा सकता है। ये ऐसी स्थिति हैं जहां निष्पादन अनुकूलन, पहुंच और एकत्रीकरण की आवश्यकता होती है।[15]
- सेवा रचना सिद्धांत
- सेवाओं का उपयोग अन्य सेवाओं की रचना के लिए किया जा सकता है।
- सेवा खोज
- सेवाओं को संचारी मेटा डेटा के साथ पूरक किया जाता है जिसके द्वारा उन्हें प्रभावी रूप से खोजा और समझा जा सकता है।
- सेवा पुन: प्रयोज्य सिद्धांत
- कोड के पुन: उपयोग को बढ़ावा देने के लिए तर्क को विभिन्न सेवाओं में विभाजित किया गया है।
- सेवा संपुटीकरण (कंप्यूटर विज्ञान)
- कई सेवाएँ जो प्रारंभ में एसओए के अंतर्गत योजनाबद्ध नहीं थीं, संक्षिप्त हो सकती हैं या एसओए का भाग बन सकती हैं।
प्रतिरूप
प्रत्येक एसओए रचक खंड तीन में से कोई भी भूमिका निभा सकता है:
- सेवा प्रदाता
- यह एक वेब सेवा बनाता है और इसकी सूचना सेवा पंजीकरण को प्रदान सकते है। प्रत्येक प्रदाता इस बात पर चर्चा सकते है कि कैसे और क्यों जैसे किस सेवा को प्रदर्शित करना है, किसे अधिक महत्व देना है: सुरक्षा या सरल उपलब्धता, किस मूल्य पर सेवा की प्रस्तुति की जाए और बहुत कुछ। प्रदाता को यह भी निर्धारित करना होगा कि दी गई मध्यस्थ सेवा के लिए सेवा को किस श्रेणी में सूचीबद्ध किया जाना चाहिए[16] और सेवा का उपयोग करने के लिए किस प्रकार के व्यापारिक भागीदार अनुबंधों की आवश्यकता है।
- सेवा मध्यस्थ, सेवा पंजीकरण या सेवा कोष
- इसकी मुख्य कार्यक्षमता किसी भी संभावित अनुरोधकर्ता को वेब सेवा से संबंधित सूचना उपलब्ध कराना है। जो भी मध्यस्थ को लागू सकते है वह मध्यस्थ का कार्यक्षेत्र निर्धारित सकते है। सार्वजनिक मध्यस्थ कहीं भी और प्रत्येक स्थान पर उपलब्ध हैं, परन्तु व्यक्तिगत मध्यस्थ मात्र सीमित मात्रा में जनता के लिए उपलब्ध हैं। यूडीडीआई एक प्रारंभिक, अब सक्रिय रूप से समर्थित प्रयत्न नहीं था, वेब सेवा खोज प्रदान करने का प्रयत्न था।
- सेवा निवेदक/उपभोक्ता
- यह विभिन्न खोज कार्यों का उपयोग करके मध्यस्थ पंजीकरण में प्रविष्टियों का पता लगाता है और फिर सेवा प्रदाता को अपनी वेब सेवाओं में से एक का आह्वान करने के लिए बाध्य सकते है। सेवा-उपभोक्ताओं को जिस भी सेवा की आवश्यकता होती है, उसे मध्यस्थों में लेना होता है, उसे संबंधित सेवा से जोड़ना होता है और फिर उसका उपयोग करना होता है। यदि सेवा एकाधिक सेवाएं प्रदान करती है तो वे एकाधिक सेवाओं तक पहुंच सकते हैं।
सेवा उपभोक्ता-प्रदाता संबंध मानकीकृत सेवा अनुबंध द्वारा नियंत्रित होता है,[17] जिसमें व्यावसायिक भाग, कार्यात्मक भाग और एक तकनीकी भाग होता है।
सेवा संरचना प्रतिरूप में दो व्यापक, उच्च-स्तरीय स्थापत्य शैली हैं: सेवा कोरियोग्राफी और सेवा आयोजन। निचले स्तर के उद्यम एकीकरण प्रतिरूप जो किसी विशेष वास्तुशिल्प शैली से बंधे नहीं हैं, एसओए डिजाइन में प्रासंगिक और योग्य बने रहेंगे।[18][19][20]
कार्यान्वयन दृष्टिकोण
सेवा-उन्मुख संरचना को वेब सेवाओं या सूक्ष्म सेवा के साथ लागू किया जा सकता है।[21] यह कार्यात्मक रचक खंड को मानक इंटरनेट प्रोटोकॉल पर सुलभ बनाने के लिए किया जाता है जो प्लेटफॉर्म और प्रोग्रामन भाषाओं से स्वतंत्र हैं। ये सेवाएं या तो नवीन एप्लीकेशनों का प्रतिनिधित्व कर सकती हैं या उन्हें नेटवर्क-सक्षम बनाने के लिए वर्तमान धरोहर प्रणाली के चारों ओर मात्र आवरण।[22]
कार्यान्वयनकर्ता सामान्यतः वेब सेवा मानकों का उपयोग करके एसओए का निर्माण करते हैं। एक उदाहरण एसओएपी है, जिसने 2003 में डब्ल्यू3सी के संस्करण 1.2 की संस्तुति के बाद व्यापक उद्योग स्वीकृति प्राप्त की है[23] (विश्व व्यापी वेब संघ)। ये मानक (वेब सेवा विनिर्देशों की सूची के रूप में भी संदर्भित) अधिक अंतर-क्षमता और अभिबद्ध से सांपातिक विक्रेता सॉफ़्टवेयर के लिए कुछ सुरक्षा प्रदान करते हैं। यद्यपि, कोई अन्य सेवा-आधारित तकनीक, जैसे जिनि, कोरबा, इंटरनेट संचार इंजन, प्रतिनिधित्ववादी स्थिति में स्थानांतरण या जीआरपीसी का उपयोग करके भी एसओए को लागू कर सकते है।
संरचना विशिष्ट तकनीकों से स्वतंत्र रूप से कार्य कर सकते हैं और इसलिए तकनीकों की विस्तृत श्रृंखला का उपयोग करके कार्यान्वित किया जा सकता है, जिनमें निम्न सम्मिलित हैं:
- डब्ल्यूएसडीएल और एसओएपी पर आधारित वेब सेवाएं
- संदेश प्रेषण, उदाहरण के लिए एक्टिवएमक्यू, जेएमएस, रैबिटएमक्यू के साथ
- रेस्टफुल एचटीटीपी, प्रतिनिधित्ववादी स्थिति में स्थानांतरण (आरईएसटी) के साथ अपनी स्वयं की बाधा-आधारित स्थापत्य शैली का गठन सकते है
- ओपीसी यूनिफाइड संरचना
- इंटरनेट संचार इंजन
- विंडोज संचार संस्थान (माइक्रोसॉफ्ट की वेब सेवाओं का कार्यान्वयन, डब्ल्यूसीएफ का एक भाग)
- अपाचे थ्रिफ्ट
- जीआरपीसी
- सोर्सेर
कार्यान्वयन इनमें से एक या अधिक प्रोटोकॉल का उपयोग कर सकते हैं और उदाहरण के लिए, एसओए अवधारणा के अनुरूप प्रक्रियाओं के बीच परिभाषित अंतराफलक विनिर्देश के बाद डेटा संचार करने के लिए फ़ाइल-प्रणाली तंत्र का उपयोग कर सकते हैं। कुंजी परिभाषित अंतराफलक के साथ स्वतंत्र सेवाएं हैं जिन्हें अपने कार्यों को एक मानक विधि से करने के लिए बुलाया जा सकता है, बिना किसी सेवा के कॉलिंग एप्लिकेशन के पूर्वज्ञान के बिना, और एप्लिकेशन के बिना या सेवा वस्तुतः अपने कार्यों को कैसे करती है, इसके ज्ञान की आवश्यकता के बिना। एसओए उन एप्लीकेशनों के विकास को सक्षम बनाता है जो शिथिल युग्मित और अंतःक्रियात्मक सेवाओं के संयोजन से निर्मित होते हैं।
ये सेवाएं एक सुव्यवस्थित परिभाषा (या अनुबंध, उदाहरण के लिए, डब्लूएसडीएल) के आधार पर अंतर-संचालित करती हैं जो अंतर्निहित प्लेटफॉर्म और प्रोग्रामन भाषा से स्वतंत्र है। अंतराफलक परिभाषा भाषा-विशिष्ट सेवा की सूचना छिपाना। इसलिए एसओए-आधारित प्रणालियाँ विकास तकनीकों और प्लेटफार्मों (जैसे जावा, .NET, आदि) से स्वतंत्र रूप से कार्य कर सकती हैं। .NET प्लेटफॉर्म पर चलने वाली C# में लिखी गई सेवाएं और जावा प्लेटफॉर्म, उद्यम संस्करण प्लेटफॉर्म पर चलने वाली जावा में लिखी गई सेवाएं, उदाहरण के लिए, दोनों को सामान्य समग्र एप्लिकेशन (या ग्राहक) द्वारा उपभोग किया जा सकता है। किसी भी प्लेटफ़ॉर्म पर चलने वाले एप्लिकेशन दूसरे पर चलने वाली सेवाओं का उपयोग वेब सेवाओं के रूप में भी कर सकते हैं जो पुन: उपयोग की सुविधा प्रदान करती हैं। प्रबंधित परिवेश कोबोल धरोहर प्रणाली को भी लपेट सकते हैं और उन्हें सॉफ़्टवेयर सेवाओं के रूप में प्रस्तुत कर सकते हैं।.[24]
बीपीईएल जैसी उच्च-स्तरीय प्रोग्रामन भाषाएं और डब्ल्यूएस-सीडीएल और डब्लूएस-समन्वय जैसे विनिर्देश सेवा अवधारणा का विस्तार करते हैं, जो ठीक- रेणुकृत सेवाओं के आयोजन को अधिक अपरिष्कृत रेणुकृत वाली व्यावसायिक सेवाओं में परिभाषित करने और समर्थन करने की एक विधि प्रदान करते हैं, जो शिल्पकार बदले में कर सकते हैं। समग्र एप्लीकेशनों या उद्यम पोर्टल में कार्यान्वित कार्यप्रवाह और व्यावसायिक प्रक्रियाओं में सम्मिलित करें।
सेवा-उन्मुख मॉडलिंग एक एसओए संरचना है जो विभिन्न विषयों की पहचान करता है जो एसओए चिकित्सकों को उनकी सेवा-उन्मुख गुण की अवधारणा, विश्लेषण, डिजाइन और वास्तुकार करने के लिए मार्गदर्शन करता है। सेवा उन्मुख मॉडलिंग संरचना (एसओएमएफ) मॉडलिंग भाषा और कार्य संरचना या प्रतिचित्र प्रदान करता है जो सफल सेवा-उन्मुख मॉडलिंग दृष्टिकोण में योगदान करने वाले विभिन्न घटकों को दर्शाता है। यह उन प्रमुख अवयवों को दिखाता है जो सेवा विकास योजना के क्या करें रूप की पहचान करते हैं। मॉडल चिकित्सकों को एक परियोजना योजना तैयार करने और सेवा-उन्मुख पहल के ऐतिहासिक पहचान करने में सक्षम बनाता है। एसओएमएफव्यवसाय और आईटी संगठनों के बीच संरेखण को संबोधित करने के लिए सामान्य मॉडलिंग संकेतन भी प्रदान सकते है।
संगठनात्मक लाभ
कुछ उद्यम वास्तुकारों का मानना है कि एसओए व्यवसायों को बाजार की स्थितियों को बदलने के लिए अधिक तीव्रता से और अधिक लागत प्रभावी रूप से प्रतिक्रिया करने में सहायता कर सकते है।[26] संरचना की यह शैली सूक्ष्म (कक्षाओं) स्तर के अतिरिक्त समष्टि (सेवा) स्तर पर पुन: उपयोग को बढ़ावा देती है। यह वर्तमान आईटी (धरोहर) गुण के साथ-और उनके उपयोग को भी सरल बना सकते है।
एसओए के साथ, विचार यह है कि संगठन किसी समस्या को समग्र रूप से देख सकते है। एक व्यवसाय का अधिक समग्र नियंत्रण होता है। सैद्धांतिक रूप से विकासक का समूह नहीं होगा जो भी उपकरण समूह उन्हें प्रसन्न कर सकते है। बल्कि इसके अतिरिक्त वे एक ऐसे मानक के अनुसार कोडन करेंगे जो व्यवसाय के भीतर निर्धारित है। वे उद्यम-व्यापी एसओए भी विकसित कर सकते हैं जो व्यवसाय-उन्मुख आधारभूत संरचना को समाहित करता है। एसओए को कार चालकों के लिए दक्षता प्रदान करने वाली राजमार्ग प्रणाली के रूप में भी चित्रित किया गया है। स्थिति यह है कि यदि सभी के समीप एक कार है, परन्तु कहीं भी कोई राजमार्ग नहीं है, तो काम सीमित और असंगठित होंगी, कहीं भी शीघ्रता या कुशलता से पहुंचने की प्रयत्न में। वेब सेवाओं के आईबीएम के उपाध्यक्ष माइकल लीबो का कहना है कि एसओए राजमार्गों का निर्माण सकते है।[27]
कुछ स्थितियों में, एसओए को एक क्रांति के अतिरिक्त वास्तु विकास के रूप में माना जा सकता है। यह पूर्व सॉफ़्टवेयर संरचना के कई सर्वोत्तम अभ्यासों को प्रग्रहण सकते है। संचार प्रणालियों में, उदाहरण के लिए, नेटवर्क में अन्य उपकरणों से बात करने के लिए वस्तुतः स्थिर बंधन का उपयोग करने वाले हलों का थोड़ा विकास हुआ है। एसओए दृष्टिकोण अपनाने से, ऐसी प्रणालियाँ ठीक रूप से परिभाषित, अत्यधिक अंतर-संचालनीय अंतराफलक के महत्व पर बल देने के लिए स्वयं को स्थिति में ला सकती हैं। एसओए के अन्य पूर्ववर्तियों में, कोरबा में, उदाहरण के लिए घटक-आधारित सॉफ़्टवेयर इंजीनियरी और दूरस्थ वस्तुओं का वस्तु-उन्मुख विश्लेषण और डिज़ाइन (ओओएडी) सम्मिलित हैं।
सेवा में मात्र सुव्यवस्थित रूप से परिभाषित अंतराफलक के माध्यम से उपलब्ध कार्यक्षमता की स्वचलित इकाई सम्मिलित होती है। सेवाएँ कुछ प्रकार के नैनो-उद्यम हो सकती हैं जिनका उत्पादन और संशोधन करना सरल है। अधीनस्थ सेवाओं के समन्वित कार्य के रूप में निर्मित महा-निगमों में भी सेवाएँ हो सकती हैं।
सेवाओं के कार्यान्वयन को बड़ी परियोजनाओं से अलग परियोजनाओं के रूप में मानने के कारणों में सम्मिलित हैं:
- पृथक्करण व्यवसाय की अवधारणा को बढ़ावा देता है कि संगठन में सामान्यतः बड़ी और मंद गति से चलने वाली परियोजनाओं से सेवाओं को शीघ्रता और स्वतंत्र रूप से वितरित किया जा सकता है। व्यवसाय सेवाओं पर कॉल करने वाले प्रणाली और सरलीकृत उपयोगकर्ता अंतराफलक को समझना प्रारम्भ सकते है। यह स्फूर्ति का अभिभाषण करता है। कहने का तात्पर्य यह है कि यह व्यावसायिक नवाचारों को बढ़ावा देता है और समय-समय पर बाजार को गति देता है।[28]
- पृथक्करण उपभोग करने वाली परियोजनाओं से सेवाओं को अलग करने को बढ़ावा देता है। यह ठीक डिज़ाइन को प्रोत्साहित सकते है क्योंकि सेवा को यह जाने बिना डिज़ाइन किया गया है कि इसके उपभोक्ता कौन हैं।
- सेवा के लेख़ीकरण और परीक्षण कलाकृतियों को बड़ी परियोजना के विवरण में अंतःस्थापित नहीं किया गया है। यह महत्वपूर्ण है जब सेवा को बाद में पुन: उपयोग करने की आवश्यकता हो।
एसओए अप्रत्यक्ष रूप से परीक्षण को सरल बनाने का प्रतिज्ञा करता है। सेवाएं पूर्ण रूप से प्रलेखित अंतराफलक के साथ स्वायत्त, राज्यविहीन हैं, और कार्यान्वयन की आड़ी काट चिंताओं से अलग हैं। यदि किसी संगठन के समीप उचित रूप से परिभाषित परीक्षण डेटा है, तो संबंधित प्रतिपर्ण बनाया जाता है जो सेवा के निर्माण के समय परीक्षण डेटा पर प्रतिक्रिया सकते है। सेवा के लिए प्रतिगमन परीक्षण, लिपियों, डेटा और प्रतिक्रियाओं का पूर्ण समूह भी प्रग्रहण किया जाता है। सेवाओं को कॉल करने वाली सेवाओं के अनुरूप वर्तमान प्रतिपर्ण का उपयोग करके सेवा को 'काले कोष्ठ' के रूप में परीक्षण किया जा सकता है। परीक्षण वातावरण का निर्माण किया जा सकता है जहां आदिम और क्षेत्र से बाहर सेवाएं प्रतिपर्ण हैं, जबकि जाल का शेष पूर्ण सेवाओं का परीक्षण परिनियोजन है। जैसा कि प्रत्येक अंतराफलक पूर्ण रूप से प्रतिगमन परीक्षण प्रलेखन के अपने पूर्ण समूह के साथ प्रलेखित है, परीक्षण सेवाओं में समस्याओं की पहचान करना सरल हो जाता है। परीक्षण मात्र यह प्रमाणित करने के लिए विकसित होते है कि परीक्षण सेवा अपने प्रलेखन के अनुसार संचालित होती है, और पर्यावरण के भीतर सभी सेवाओं के लेख़ीकरण और परीक्षण स्थितियों में अंतराल ढूंढती है। इदम्पोटेंट सेवाओं की डेटा स्थिति का प्रबंधन करना ही एकमात्र जटिलता है।
किसी सेवा को उस स्तर तक प्रलेखित करने में सहायता के लिए उदाहरण उपयोगी सिद्ध हो सकते हैं जहां वह उपयोगी हो जाती है। जावा सामुदायिक प्रक्रिया के भीतर कुछ एपीआई के लेख ठीक उदाहरण प्रदान करते हैं। चूंकि ये संपूर्ण हैं, कर्मचारी सामान्यतः मात्र महत्वपूर्ण उपसमुच्चय का उपयोग करेंगे। जेएसआर-89 के भीतर 'ossjsa.pdf' फ़ाइल ऐसी फ़ाइल का उदाहरण है।[29]
आलोचना
एसओए को वेब सेवाओं के साथ मिला दिया गया है;[30] यद्यपि, एसओए शैली को सम्मिलित करने वाले प्रतिरूप को लागू करने के लिए वेब सेवाएँ मात्र एक विकल्प हैं। दूरस्थ प्रक्रिया कॉल (आरपीसी) के देशी या बाइनरी रूपों की अनुपस्थिति में, एप्लीकेशन अधिक मंद गति से चल सकते हैं और लागत बढ़ाने के लिए अधिक प्रसंस्करण शक्ति की आवश्यकता होती है। अधिकांश कार्यान्वयन इन बँधा खर्च को लागू करते हैं, परन्तु एसओए को प्रौद्योगिकियों (उदाहरण के लिए, जावा व्यवसाय एकीकरण (जेबीआई), विंडोज संचार संस्थान (डब्ल्यूसीएफ) और डेटा वितरण सेवा (डीडीएस)) का उपयोग करके लागू किया जा सकता है, जो दूरस्थ प्रक्रिया कॉल या एक्सएमएल या जेएसओएन के माध्यम से अनुवाद पर निर्भर नहीं है। इसी समय, उभरती विवृत स्त्रोत एक्सएमएल पार्सिंग प्रौद्योगिकियां (जैसे वीटीडी-एचएमएल) और विभिन्न एक्सएमएल-संगत बाइनरी प्रारूपों ने एसओए निष्पादन में अत्यधिक संशोधन करने का प्रतिज्ञा किया है।[31][32][33]
स्टेटफुल सेवाओं के लिए उपभोक्ता और प्रदाता दोनों को समान उपभोक्ता-विशिष्ट संदर्भ साझा करने की आवश्यकता होती है, जो या तो प्रदाता और उपभोक्ता के बीच आदान-प्रदान संदेशों में सम्मिलित या संदर्भित होते है। इस बाधा में यह कमी है कि यदि सेवा प्रदाता को प्रत्येक उपभोक्ता के लिए साझा संदर्भ बनाए रखने की आवश्यकता होती है तो यह सेवा प्रदाता की समग्र मापनीयता को कम कर सकते है। यह सेवा प्रदाता और एक उपभोक्ता के बीच युग्मन को भी बढ़ाता है और सेवा प्रदाताओं को बदलने को और अधिक कठिन बना देता है।[34] अंतत:, कुछ आलोचकों का मानना है कि एसओए सेवाएं अभी भी उन एप्लीकेशनों द्वारा सीमित हैं जिनका वे प्रतिनिधित्व करते हैं।[35]
सेवा-उन्मुख संरचना द्वारा सामना की जाने वाली प्राथमिक आक्षेप मेटाडेटा का प्रबंधन है। एसओए पर आधारित वातावरण में कई सेवाएँ सम्मिलित हैं जो कार्य करने के लिए एक दूसरे के बीच संचार करती हैं। इस तथ्य के कारण कि डिज़ाइन में संयोजन में कार्य करने वाली कई सेवाएँ सम्मिलित हो सकती हैं, एक एप्लिकेशन लाखों संदेश उत्पन्न कर सकते है। आगे की सेवाएं विभिन्न संगठनों या यहां तक कि प्रतिस्पर्धी फर्मों से संबंधित हो सकती हैं जो एक विशाल विश्वास की स्थिति बना रही हैं। इस प्रकार एसओए संचालन वस्तुओं की योजना में आता है।[36]
एसओए द्वारा सामना की जाने वाली एक और बड़ी समस्या एक समान परीक्षण संरचना की कमी है। ऐसे कोई उपकरण नहीं हैं जो सेवा-उन्मुख संरचना में इन सेवाओं के परीक्षण के लिए आवश्यक सुविधाएँ प्रदान करते हों। कठिनाई के प्रमुख कारण हैं:[37]
- विषमता और हल की जटिलता।
- स्वायत्त सेवाओं के एकीकरण के कारण परीक्षण संयोजनों का विशाल समूह।
- विभिन्न और प्रतिस्पर्धी विक्रेताओं से सेवाओं का समावेश।
- नवीन सुविधाओं और सेवाओं की उपलब्धता के कारण सेवा के रूप में प्लेटफॉर्म निरंतर बदल रहा है।
विस्तार और प्रकार
घटना-संचालित संरचना
एप्लिकेशन प्रोग्रामन अंतराफलक
एप्लिकेशन प्रोग्रामन अंतराफलक (एपीआई) ऐसी संरचना हैं जिनके माध्यम से विकासक वेब एप्लिकेशन के साथ परस्पर प्रभाव डाल सकते हैं।
वेब 2.0
टिम ओ'रेली ने वेब 2.0 शब्द को वेब-आधारित एप्लीकेशनों के कथित, तीव्रता से बढ़ते समूह का वर्णन करने के लिए गढ़ा।[38] एक विषय जिसने व्यापक समावेशन का अनुभव किया है, उसमें वेब 2.0 और सेवा-उन्मुख संरचना के बीच संबंध सम्मिलित है।[which?]
एसओए समान रूप से परिभाषित अंतराफलक के साथ सेवाओं में एप्लिकेशन तर्क को संपुटित करने और खोज तंत्र के माध्यम से इन्हें सार्वजनिक रूप से उपलब्ध कराने का दर्शन है। जटिलता-छिपाने और पुन: उपयोग की धारणा, परन्तु शिथिल युग्मन सेवाओं की अवधारणा ने भी शोधकर्ताओं को दो दर्शन, एसओए और वेब 2.0, और उनके संबंधित एप्लीकेशनों के बीच समानता पर विस्तार करने के लिए प्रेरित किया है। कुछ लोगों का तर्क है कि वेब 2.0 और एसओए में महत्वपूर्ण रूप से भिन्न अवयव हैं और इस प्रकार समानांतर दर्शन नहीं माना जा सकता है, जबकि अन्य दो अवधारणाओं को पूरक मानते हैं और वेब 2.0 को वैश्विक एसओए मानते हैं।[39]
वेब 2.0 और एसओए के दर्शन अलग-अलग उपयोगकर्ता की आवश्यकताओं को पूर्ण करते हैं और इस प्रकार डिजाइन और वास्तविक संसार के एप्लीकेशनों में उपयोग की जाने वाली तकनीकों के संबंध में मतभेदों को प्रदर्शित करते हैं। यद्यपि, as of 2008[update], उपयोग-स्थितियों ने वेब 2.0 और एसओए दोनों की तकनीकों और सिद्धांतों के संयोजन की क्षमता का निष्पादन किया।[39]
सूक्ष्म सेवा
सूक्ष्म सेवा वितरित संगणना के निर्माण के लिए उपयोग की जाने वाली सेवा-उन्मुख संरचना की एक आधुनिक व्याख्या है। सूक्ष्म सेवा संरचना में सेवाएं[40] प्रक्रिया (संगणना) हैं जो एक लक्ष्य को पूर्ण करने के लिए कंप्यूटर नेटवर्क पर एक दूसरे के साथ संवाद करती हैं। ये सेवाएं प्रौद्योगिकी अज्ञेय संचार प्रोटोकॉल का उपयोग करती हैं,[41] जो भाषा और संरचना के चुनाव को समाहित करने में सहायता करते हैं, जिससे उनकी पसंद सेवा के लिए एक आंतरिक चिंता बन जाती है। सूक्ष्म सेवा एसओए के लिए नवीन प्रस्तुति और कार्यान्वयन दृष्टिकोण है, जो 2014 से (और देवऑप्स के प्रारम्भ के बाद) लोकप्रिय हो गया है, और जो निरंतर प्रस्तरीय और अन्य सफुर्तिमान कार्यप्रणाली पर भी बल देता है।[42]
सूक्ष्म सेवा की कोई एक सामान्य रूप से स्वीकृत परिभाषा नहीं है। निम्नलिखित विशेषताओं और सिद्धांतों को साहित्य में पाया जा सकता है:
- सूक्ष्मकणी अंतराफलक (स्वतंत्र रूप से प्रस्तरीय योग्य सेवाओं के लिए),
- व्यवसाय-संचालित विकास (जैसे डोमेन-संचालित डिज़ाइन),
- आदर्श क्लाउड एप्लिकेशन संरचना,
- बहुभाषाविद प्रोग्रामन और दृढ़ता,
- हल्के पात्र परिनियोजन,
- विकेंद्रीकृत निरंतर वितरण, और
- समग्र सेवा अनुवीक्षण के साथ देवऑप्स।
अन्योन्य क्रियात्मक एप्लीकेशनों के लिए सेवा-उन्मुख संरचना
वास्तविक समय प्रतिक्रिया समय की आवश्यकता वाले अन्योन्य क्रियात्मक एप्लिकेशन, उदाहरण के लिए कम-विलंबता अन्योन्य क्रियात्मक 3डी एप्लिकेशन, इस प्रकार के एप्लीकेशनों की विशिष्ट आवश्यकताओं को संबोधित करने वाले विशिष्ट सेवा उन्मुख संरचना का उपयोग कर रहे हैं। इनमें निम्न-विलंबता अनुकूलित वितरित संगणना और संचार के साथ-साथ संसाधन और उदाहरण प्रबंधन सम्मिलित हैं।[43][44][45]
यह भी देखें
- एप्लिकेशन प्रोग्रामन अंतरफलक
- अल्प युग्मन
- ओएसिस एसओए संदर्भ मॉडल
- सेवा कमिकार्ययता सिद्धांत
- एसओए संचालन
- सॉफ़्टवेयर वास्तुशिल्प
- सेवा उन्मुख संचार (एसओसी)
- एप्लीकेशनों का सेवा-उन्मुख विकास
- सेवा-उन्मुख वितरित एप्लीकेशन
- वेब एप्लिकेशन विवरण भाषा
संदर्भ
- ↑ 1.0 1.1 "SOA Source Book - What Is SOA?". collaboration.opengroup.org. Retrieved 2021-03-30.
- ↑ "Chapter 1: Service Oriented Architecture (SOA)". msdn.microsoft.com. Archived from the original on July 7, 2017. Retrieved September 21, 2016.
- ↑ "सेवा-उन्मुख वास्तुकला मानक - द ओपन ग्रुप". www.opengroup.org.
- ↑ "What Is SOA?". www.opengroup.org. Archived from the original on August 19, 2016. Retrieved September 21, 2016.
- ↑ Velte, Anthony T. (2010). Cloud Computing: A Practical Approach. McGraw Hill. ISBN 978-0-07-162694-1.
- ↑ "एक सेवा-उन्मुख वास्तुकला की ओर पलायन, भाग 1". 2008-12-09. Archived from the original on December 9, 2008. Retrieved 2016-09-21.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ↑ 7.0 7.1 Michael Bell (2008). "Introduction to Service-Oriented Modeling". Service-Oriented Modeling: Service Analysis, Design, and Architecture. Wiley & Sons. p. 3. ISBN 978-0-470-14111-3.
- ↑ Michael Bell (2010). सेवा-उन्मुख खोज और विश्लेषण के लिए SOA मॉडलिंग पैटर्न. Wiley & Sons. p. 390. ISBN 978-0-470-48197-4.
- ↑ Thomas Erl (June 2005). About the Principles. Serviceorientation.org
- ↑ "Application Platform Strategies Blog: SOA is Dead; Long Live Services". Apsblog.burtongroup.com. January 5, 2009. Archived from the original on January 15, 2009. Retrieved August 13, 2012.
- ↑ Yvonne Balzer Improve your SOA project plans, IBM, July 16, 2004
- ↑ Microsoft Windows Communication Foundation team (2012). "सेवा उन्मुख डिजाइन के सिद्धांत". msdn.microsoft.com. Retrieved September 3, 2012.
- ↑ Principles by Thomas Erl of SOA Systems Inc. eight specific service-orientation principles
- ↑ "4.4 Guidelines for Using Web Service Contract Technologies - Anatomy of a Web Service Contract". InformIT. 2021-06-11. Retrieved 2021-09-09.
- ↑ Tony Shan (2004). "Building a service-oriented e Banking platform". IEEE International Conference on Services Computing, 2004. (SCC 2004). Proceedings. 2004. pp. 237–244. doi:10.1109/SCC.2004.1358011. ISBN 978-0-7695-2225-8. S2CID 13156128.2004
- ↑ Duan, Yucong; Narendra, Nanjangud; Du, Wencai; Wang, Yongzhi; Zhou, Nianjun (2014). "Exploring Cloud Service Brokering from an Interface Perspective". 2014 IEEE International Conference on Web Services. IEEE. pp. 329–336. doi:10.1109/ICWS.2014.55. ISBN 978-1-4799-5054-6. S2CID 17957063.
- ↑ Duan, Yucong (2012). "A Survey on Service Contract". 2012 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. IEEE. pp. 805–810. doi:10.1109/SNPD.2012.22. ISBN 978-1-4673-2120-4. S2CID 1837914.
- ↑ Olaf Zimmermann, Cesare Pautasso, Gregor Hohpe, Bobby Woolf (2016). "उद्यम एकीकरण पैटर्न का एक दशक". IEEE Software. 33 (1): 13–19. doi:10.1109/MS.2016.11.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ↑ Rotem-Gal-Oz, Arnon (2012). एसओए पैटर्न. Manning Publications. ISBN 978-1933988269.
- ↑ Julisch, Klaus; Suter, Christophe; Woitalla, Thomas; Zimmermann, Olaf (2011). "Compliance by design – Bridging the chasm between auditors and IT architects" (PDF). Computers & Security. 30 (6–7): 410–426. CiteSeerX 10.1.1.390.3652. doi:10.1016/j.cose.2011.03.005.
- ↑ Brandner, M., Craes, M., Oellermann, F., Zimmermann, O., Web Services-Oriented Architecture in Production in the Finance Industry, Informatik-Spektrum 02/2004, Springer-Verlag, 2004
- ↑ "ववव.ीबम.कॉम". IBM. Retrieved 2016-09-10.
{{cite web}}
: Check|url=
value (help) - ↑ "SOAP Version 1.2 の公開について (W3C 勧告)" (in 日本語). W3.org. Retrieved August 13, 2012.
- ↑ Okishima, Haruhiru (2006). ". "कोबोल संपत्तियों का उपयोग करने वाले सिस्टम आर्किटेक्चर का केस स्टडी"" (PDF).
- ↑ Enterprise SOA. Prentice Hall, 2005
- ↑ Christopher Koch A New Blueprint For The Enterprise Archived January 16, 2009, at the Wayback Machine, CIO Magazine, March 1, 2005
- ↑ Elizabeth Millard (January 2005). "Building a Better Process". Computer User. Page 20.
- ↑ Brayan Zimmerli (November 11, 2009) Business Benefits of SOA, University of Applied Science of Northwestern Switzerland, School of Business
- ↑ JSR-000089 OSS Service Activation API Specification 1.0 Final Release. sun.com
- ↑ Joe McKendrick. "Bray: SOA too complex; 'just vendor BS'". ZDNet.
- ↑ Jimmy Zhang (February 20, 2008) "Index XML Documents with VTD-XML" Archived July 4, 2008, at the Wayback Machine. XML Journal.
- ↑ Jimmy Zhang (August 5, 2008) "i-Technology Viewpoint: The Performance Woe of Binary XML" Archived January 9, 2020, at the Wayback Machine. Microservices Journal.
- ↑ Jimmy Zhang (January 9, 2008) "Manipulate XML Content the Ximple Way" Archived July 30, 2017, at the Wayback Machine. devx.com.
- ↑ "कारण SOA स्थायी सॉफ़्टवेयर प्रदान नहीं कर रहा है". jpmorgenthal.com. June 19, 2009. Retrieved June 27, 2009.
- ↑ "SOA सेवाएं अभी भी उन अनुप्रयोगों द्वारा विवश हैं जिनका वे प्रतिनिधित्व करते हैं". zdnet.com. June 27, 2009. Retrieved June 27, 2009.
- ↑ "शासन परत". www.opengroup.org. Retrieved 2016-09-22.
- ↑ "How to Efficiently Test Service Oriented Architecture | WSO2 Inc". wso2.com. Retrieved 2016-09-22.
- ↑ "What Is Web 2.0". Tim O'Reilly. September 30, 2005. Retrieved June 10, 2008.
- ↑ 39.0 39.1 Christoph Schroth; Till Janner (2007). "Web 2.0 and SOA: Converging Concepts Enabling the Internet of Services". IT Professional. 9 (3): 36–41. doi:10.1109/MITP.2007.60. S2CID 2859262. Retrieved February 23, 2008.
- ↑ Dragoni, Nicola; Giallorenzo, Saverio; Alberto Lluch Lafuente; Mazzara, Manuel; Montesi, Fabrizio; Mustafin, Ruslan; Safina, Larisa (2016). "Microservices: yesterday, today, and tomorrow". arXiv:1606.04036v1 [cs.SE].
- ↑ James Lewis and Martin Fowler. "माइक्रोसर्विसेज".
- ↑ Balalaie, A.; Heydarnoori, A.; Jamshidi, P. (2016-05-01). "Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture" (PDF). IEEE Software. 33 (3): 42–52. doi:10.1109/MS.2016.64. hdl:10044/1/40557. ISSN 0740-7459. S2CID 18802650.
- ↑ Frank Glinka; Allaithy Raed (2009). "अत्यधिक संवादात्मक वितरित अनुप्रयोगों के लिए एक सेवा-उन्मुख इंटरफ़ेस". European Conference on Parallel Processing. Lecture Notes in Computer Science. 6043: 266–277. doi:10.1007/978-3-642-14122-5_31. ISBN 978-3-642-14121-8. Retrieved 2021-02-09.
- ↑ Dieter Hildebrandt; Jan Klimke (2011). "Service-oriented interactive 3D visualization of massive 3D city models on thin clients". COM.Geo '11: Proceedings of the 2nd International Conference on Computing for Geospatial Research & Applications. COM.Geo '11: 1. doi:10.1145/1999320.1999326. ISBN 9781450306812. S2CID 53246415. Retrieved 2021-02-09.
- ↑ Mahy Aly; Michael Franke (2016). "सेवा उन्मुख इंटरएक्टिव मीडिया (SOIM) इंजन अनुकूलित संसाधन साझाकरण द्वारा सक्षम". 2016 IEEE Symposium on Service-Oriented System Engineering (SOSE): 231–237. doi:10.1109/SOSE.2016.47. hdl:1854/LU-7215326. ISBN 978-1-5090-2253-3. S2CID 9511734. Retrieved 2021-02-09.
- Mauro, Christian; Leimeister, Jan Marco; Krcmar, Helmut (January 2010). "Service Oriented Device Integration - An Analysis of SOA Design Patterns" (PDF). 2010 43rd Hawaii International Conference on System Sciences: 1–10. doi:10.1109/HICSS.2010.336. ISBN 978-1-4244-5509-6. S2CID 457705.