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

उपरोक्त आरेख एक बहुत ही सरल दृष्टिकोण दिखाता है कि एक वेब सेवा वास्तव में कैसे काम करेगी। क्लाइंट एक सर्वर से अनुरोधों के माध्यम से वेब सेवा कॉल की एक श्रृंखला शुरू करेगा जो वास्तविक वेब सेवा की मेजबानी करेगा।
इन अनुरोधों को रिमोट प्रक्रिया कॉल के रूप में जाना जाता है। दूरस्थ प्रक्रिया कॉल (RPC) संबंधित वेब सेवा द्वारा होस्ट की गई विधियों के लिए की गई कॉल हैं।
एक उदाहरण के रूप में, अमेज़ॅन एक वेब सेवा प्रदान करता है जो amazon.com के माध्यम से ऑनलाइन बेचे जाने वाले उत्पादों की कीमतें प्रदान करता है। फ्रंट एंड या प्रेजेंटेशन लेयर .Net या जावा में हो सकता है लेकिन या तो प्रोग्रामिंग लैंग्वेज में वेब सेवा के साथ संवाद करने की क्षमता होगी।
एक वेब सेवा डिजाइन का मुख्य घटक वह डेटा है जो क्लाइंट और सर्वर के बीच स्थानांतरित होता है, और वह XML है। XML (एक्सटेंसिबल मार्कअप लैंग्वेज) HTML का एक समकक्ष है और इंटरमीडिएट भाषा को समझने में आसान है जिसे कई प्रोग्रामिंग भाषाओं द्वारा समझा जाता है।
इसलिए जब एप्लिकेशन एक दूसरे से बात करते हैं, तो वे वास्तव में XML में बात करते हैं। यह एक दूसरे से बात करने के लिए विभिन्न प्रोग्रामिंग भाषाओं में विकसित एप्लिकेशन के लिए एक सामान्य मंच प्रदान करता है।
अनुप्रयोगों के बीच XML डेटा भेजने के लिए वेब सेवाएं SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) के रूप में जानी जाने वाली किसी चीज़ का उपयोग करती हैं। डेटा सामान्य HTTP पर भेजा जाता है। वेब सेवा से एप्लिकेशन में भेजे जाने वाले डेटा को SOAP संदेश कहा जाता है। SOAP संदेश एक XML दस्तावेज़ के अलावा कुछ भी नहीं है। चूंकि दस्तावेज़ XML में लिखा गया है, इसलिए वेब सेवा पर कॉल करने वाले क्लाइंट एप्लिकेशन को किसी भी प्रोग्रामिंग भाषा में लिखा जा सकता है।
आपको वेब सेवा की आवश्यकता क्यों है?
आधुनिक दिन के व्यावसायिक अनुप्रयोग वेब-आधारित अनुप्रयोगों को विकसित करने के लिए विभिन्न प्रकार के प्रोग्रामिंग प्लेटफार्मों का उपयोग करते हैं। कुछ अनुप्रयोगों को जावा में विकसित किया जा सकता है, अन्य को .Net में, जबकि कुछ को कोणीय JS, Node.js, आदि में।
सबसे अधिक बार नहीं, इन विषम अनुप्रयोगों को उनके बीच होने के लिए किसी प्रकार के संचार की आवश्यकता होती है। चूंकि वे विभिन्न विकास भाषाओं का उपयोग करके बनाए गए हैं, इसलिए अनुप्रयोगों के बीच सटीक संचार सुनिश्चित करना वास्तव में मुश्किल हो जाता है।
यहीं पर वेब सेवाएँ आती हैं। वेब सेवाएँ एक सामान्य प्लेटफ़ॉर्म प्रदान करती हैं जो विभिन्न प्रोग्रामिंग भाषाओं पर निर्मित कई अनुप्रयोगों को एक दूसरे के साथ संवाद करने की क्षमता प्रदान करने की अनुमति देता है।
वेब सेवा का प्रकार
मुख्य रूप से दो प्रकार की वेब सेवाएँ हैं।
किसी वेब सेवा के पूरी तरह से कार्य करने के लिए, कुछ ऐसे घटक हैं जिनकी आवश्यकता है। वेब सेवा की प्रोग्रामिंग के लिए जो भी विकास भाषा का उपयोग किया जाता है, उसके बावजूद इन घटकों को प्रस्तुत करने की आवश्यकता है।
आइए इन घटकों को अधिक विस्तार से देखें।
SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल)
SOAP को ट्रांसपोर्ट-इंडिपेंडेंट मैसेजिंग प्रोटोकॉल के रूप में जाना जाता है। SOAP XML डेटा को SOAP संदेशों के रूप में स्थानांतरित करने पर आधारित है। प्रत्येक संदेश में कुछ होता है जिसे XML दस्तावेज़ के रूप में जाना जाता है। केवल XML दस्तावेज़ की संरचना एक विशिष्ट पैटर्न का अनुसरण करती है, लेकिन सामग्री नहीं। वेब सेवाओं और SOAP का सबसे अच्छा हिस्सा यह है कि इसका सभी HTTP के माध्यम से भेजा जाता है, जो मानक वेब प्रोटोकॉल है।
यहाँ एक SOAP संदेश है
नीचे दिए गए आरेख SOAP के माध्यम से संचार का एक सरल उदाहरण दिखाता है।

हम इस ट्यूटोरियल में SOAP पर विस्तार से चर्चा करेंगे।
WSDL (वेब सेवाओं का वर्णन भाषा)
यदि इसे नहीं पाया जा सकता है तो एक वेब सेवा का उपयोग नहीं किया जा सकता । वेब सेवा को लागू करने वाले ग्राहक को पता होना चाहिए कि वेब सेवा वास्तव में कहां रहती है।
दूसरे, क्लाइंट एप्लिकेशन को यह जानना होगा कि वेब सेवा वास्तव में क्या करती है, ताकि वह सही वेब सेवा को लागू कर सके। यह डब्ल्यूएसडीएल की मदद से किया जाता है, जिसे वेब सेवा विवरण भाषा के रूप में जाना जाता है। WSDL फ़ाइल फिर से एक XML- आधारित फ़ाइल है जो मूल रूप से क्लाइंट एप्लिकेशन को बताती है कि वेब सेवा क्या करती है। डब्लूएसडीएल दस्तावेज़ का उपयोग करके, क्लाइंट एप्लिकेशन यह समझने में सक्षम होगा कि वेब सेवा कहाँ स्थित है और इसका उपयोग कैसे किया जा सकता है।
वेब सेवा उदाहरण
WSDL फ़ाइल का एक वेब सेवा उदाहरण नीचे दिया गया है।
वेब सेवाओं के उपरोक्त WSDL घोषणा उदाहरणों के बारे में ध्यान देने योग्य महत्वपूर्ण पहलू इस प्रकार हैं:
- <संदेश> - वेब सेवा द्वारा निष्पादित प्रत्येक ऑपरेशन के लिए विभिन्न डेटा तत्वों को परिभाषित करने के लिए डब्ल्यूएसडीएल परिभाषा में संदेश पैरामीटर का उपयोग किया जाता है। इसलिए ऊपर दी गई वेब सेवाओं के उदाहरणों में, हमारे पास 2 संदेश हैं, जिन्हें वेब सेवा और क्लाइंट एप्लिकेशन के बीच आदान-प्रदान किया जा सकता है, एक है "TutorialRequest", और दूसरा "TutorialResponse" ऑपरेशन है। TutorialRequest में "TutorialID" नामक एक तत्व होता है जो टाइप स्ट्रिंग का होता है। इसी तरह, TutorialResponse ऑपरेशन में "TutorialName" नामक एक तत्व शामिल है जो एक प्रकार का स्ट्रिंग भी है।
-
- यह वास्तव में उस ऑपरेशन का वर्णन करता है जो वेब सेवा द्वारा किया जा सकता है, जिसे हमारे मामले में ट्यूटोरियल कहा जाता है। यह ऑपरेशन 2 संदेश ले सकता है; एक इनपुट संदेश है, और दूसरा आउटपुट संदेश है। - <बाध्यकारी> - इस तत्व में प्रोटोकॉल होता है जिसका उपयोग किया जाता है। तो हमारे मामले में, हम इसे http ( http://schemas.xmlsoap.org/soap/http ) का उपयोग करने के लिए परिभाषित कर रहे हैं । हम ऑपरेशन के निकाय के अन्य विवरण भी निर्दिष्ट करते हैं, जैसे नाम स्थान और क्या संदेश को एन्कोड किया जाना चाहिए।
हम "WDSL" पर इस ट्यूटोरियल में विस्तार से चर्चा करेंगे।
यूनिवर्सल विवरण, डिस्कवरी और एकीकरण (UDDI)
UDDI उन वेब सेवाओं का वर्णन, प्रकाशन और खोज करने के लिए एक मानक है जो किसी विशेष सेवा प्रदाता द्वारा प्रदान की जाती हैं। यह एक विनिर्देश प्रदान करता है जो वेब सेवाओं की जानकारी को होस्ट करने में मदद करता है।
अब हमने WSDL के बारे में पिछले विषय पर चर्चा की और इसमें वेब सेवा वास्तव में क्या करती है, इसकी जानकारी शामिल है। लेकिन वेब सेवा द्वारा दिए जाने वाले विभिन्न कार्यों को समझने के लिए एक ग्राहक एप्लिकेशन WSDL फ़ाइल का पता कैसे लगा सकता है? तो UDDI इसका उत्तर है और एक रिपॉजिटरी प्रदान करता है जिस पर WSDL फ़ाइलों को होस्ट किया जा सकता है। तो क्लाइंट एप्लिकेशन को UDDI तक पूरी पहुंच होगी, जो सभी WSDL फ़ाइलों वाले डेटाबेस के रूप में कार्य करता है।
जिस तरह एक टेलीफोन डायरेक्टरी में किसी विशेष व्यक्ति का नाम, पता और टेलीफोन नंबर होता है, उसी तरह यूडीडीआई रजिस्ट्री में वेब सेवा के लिए प्रासंगिक जानकारी होगी । ताकि एक क्लाइंट एप्लिकेशन को पता चल सके कि वह कहां पाया जा सकता है।
वेब सेवा लाभ
हम पहले से ही समझते हैं कि वेब सेवाएं पहले स्थान पर क्यों आईं, जो एक ऐसा मंच प्रदान करना था जो विभिन्न अनुप्रयोगों को एक दूसरे से बात करने की अनुमति दे सके।
लेकिन आइए वेब सेवाओं के लाभों की सूची देखें कि वेब सेवाओं का उपयोग करना क्यों महत्वपूर्ण है।
-
नेटवर्क पर व्यावसायिक कार्यशीलता को उजागर करना - एक वेब सेवा प्रबंधित कोड की एक इकाई है जो क्लाइंट एप्लिकेशन या अंतिम उपयोगकर्ताओं को कुछ प्रकार की कार्यक्षमता प्रदान करती है। यह कार्यक्षमता HTTP प्रोटोकॉल पर लागू की जा सकती है जिसका अर्थ है कि इसे इंटरनेट पर भी लागू किया जा सकता है। आजकल सभी एप्लिकेशन इंटरनेट पर हैं जो वेब सेवाओं के उद्देश्य को अधिक उपयोगी बनाता है। इसका मतलब है कि वेब सेवा इंटरनेट पर कहीं भी हो सकती है और आवश्यकतानुसार आवश्यक कार्यक्षमता प्रदान कर सकती है।
-
अनुप्रयोगों के बीच अंतर - वेब सेवाएं विभिन्न अनुप्रयोगों को एक दूसरे से बात करने और आपस में डेटा और सेवाओं को साझा करने की अनुमति देती हैं। सभी प्रकार के एप्लिकेशन एक दूसरे से बात कर सकते हैं। इसलिए विशिष्ट कोड लिखने के बजाय जिसे केवल विशिष्ट एप्लिकेशन द्वारा समझा जा सकता है, अब आप जेनेरिक कोड लिख सकते हैं जिसे सभी अनुप्रयोगों द्वारा समझा जा सकता है
-
एक मानकीकृत प्रोटोकॉल जिसे हर कोई समझता है - वेब सेवाएं संचार के लिए मानकीकृत उद्योग प्रोटोकॉल का उपयोग करती हैं। सभी चार लेयर्स (सर्विस ट्रांसपोर्ट, XML मैसेजिंग, सर्विस डिस्क्रिप्शन, और सर्विस डिस्कवरी लेयर्स) वेब प्रोटोकॉल प्रोटोकॉल स्टैक में अच्छी तरह से परिभाषित प्रोटोकॉल का उपयोग करता है।
-
संचार की लागत में कमी - वेब सेवाएं HTTP प्रोटोकॉल पर SOAP का उपयोग करती हैं, इसलिए आप वेब सेवाओं को लागू करने के लिए अपने मौजूदा कम लागत वाले इंटरनेट का उपयोग कर सकते हैं।
वेब सेवाएँ वास्तुकला
हर ढांचे को किसी न किसी तरह की वास्तुकला की जरूरत होती है ताकि यह सुनिश्चित हो सके कि संपूर्ण ढांचा वांछित है, इसी तरह वेब सेवाओं में भी। वेब सेवाएं आर्किटेक्चर नीचे दिए गए के रूप में तीन अलग-अलग भूमिकाओं के होते हैं:
- प्रदाता - प्रदाता वेब सेवा बनाता है और इसे क्लाइंट एप्लिकेशन को उपलब्ध कराता है जो इसका उपयोग करना चाहते हैं।
- अनुरोधक - एक अनुरोधकर्ता कुछ भी नहीं लेकिन क्लाइंट अनुप्रयोग है कि जरूरतों को एक वेब सेवा से संपर्क करने के लिए है। क्लाइंट एप्लिकेशन एक। नेट, जावा या किसी अन्य भाषा पर आधारित एप्लिकेशन हो सकता है जो वेब सेवा के माध्यम से किसी प्रकार की कार्यक्षमता की तलाश करता है।
- ब्रोकर - दलाल कुछ भी नहीं है, लेकिन आवेदन जो यूडीडीआई तक पहुंच प्रदान करता है। UDDI, जैसा कि पहले विषय में चर्चा की गई है, ग्राहक सेवा को वेब सेवा का पता लगाने में सक्षम बनाता है।
नीचे दिए गए चित्र में दिखाया गया है कि कैसे सेवा प्रदाता, सेवा अनुरोधकर्ता और सेवा रजिस्ट्री एक दूसरे के साथ बातचीत करते हैं।

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