web services tutorial
यह वेब सेवा ट्यूटोरियल महत्वपूर्ण शब्दावली के साथ एक वेब सेवा के आर्किटेक्चर, प्रकार और घटक को स्पष्ट करता है और SOAP बनाम कीट के बीच अंतर:
इस में पूरा एपीआई परीक्षण ट्यूटोरियल श्रृंखला , हम सब के बारे में पता लगाया एपीआई परीक्षण हमारे पिछले ट्यूटोरियल में। डब्लूएसडीएल और यूडीडीआई से परिचित होने के लिए इस ट्यूटोरियल के माध्यम से जाएं और वे वेब सेवा को कैसे स्टोर और परिभाषित करते हैं।
यह ट्यूटोरियल यह भी बताएगा कि जब ग्राहक एप्लिकेशन अनुरोध करता है तो वेब सेवा आंतरिक रूप से कैसे काम करती है। WSS, जो SOAP सेवाओं की एक और बहुत महत्वपूर्ण अवधारणा है, यहाँ भी समझाया गया है।
आप क्या सीखेंगे:
वेब सेवा परीक्षण में महत्वपूर्ण शब्दावली
वेब सेवाओं की खोज शुरू करने से पहले, हमें उन महत्वपूर्ण शर्तों से परिचित होना चाहिए जो वेब सेवा परीक्षण में उपयोग की जाती हैं।
चलो शुरू करते हैं!!
(1) अंतर
वेब सेवा 'वन कोड डिफरेंट एप्लिकेशन' का समर्थन करती हैं। इसका मतलब है कि विभिन्न प्लेटफार्मों में सभी अनुप्रयोगों के लिए एक सामान्य कोड।
इस प्रकार, इंटरऑपरेबिलिटी एक ऐसी प्रक्रिया है जो एक अलग प्लेटफॉर्म पर रहने वाले अन्य अनुप्रयोगों के साथ संवाद करने के लिए कई अनुप्रयोगों की सुविधा देती है।
# 2) प्रमाणीकरण और प्राधिकरण
ये मुख्य रूप से SOAP वेब सेवाओं में उपयोग किए जाते हैं। सामान्य शब्दों में, प्रमाणीकरण का मतलब कुछ को मान्य करना है जबकि प्राधिकरण का अर्थ है किसी चीज़ को एक्सेस करने का अधिकार देना / देना।
उदाहरण के लिए - अगर मेरे पास फेसबुक पेज है, तो मुझे फेसबुक के एक प्रमाणित उपयोगकर्ता के रूप में माना जा सकता है। जबकि, अगर आपको फेसबुक पर मेरी तस्वीरें देखने का अधिकार है तो आप एक अधिकृत उपयोगकर्ता हैं।
इन दोनों को मिलाकर हम कह सकते हैं कि 'सभी प्रमाणित उपयोगकर्ता जिनके पास संसाधनों तक पहुँच है उन्हें उन संसाधनों के लिए अधिकृत उपयोगकर्ता के रूप में जाना जाता है।'
यही बात वेब सर्विसेज में भी होती है यानी यूजर आईडी और पासवर्ड जिसका उपयोग टोकन जेनरेट करने के लिए किया जाता है, प्रमाणीकरण भाग को कवर करता है और यह टोकन जो वेबसर्वर को रिक्वेस्ट भेजने वाले हिस्से को रिक्वेस्ट भेजने में उपयोग किया जाएगा।
# 3) लूजली कपल्ड आर्किटेक्चर
वेब सेवाएँ Loosely Coupled Architecture पर आधारित हैं। इसका मतलब यह है कि वेब सर्विसेज का इंटरफेस प्रकृति में एक निश्चित समय के दौरान गतिशील (परिवर्तन) है। लेकिन ग्राहक के तर्क को सेवा के साथ बातचीत करते समय बदलना जरूरी नहीं है।
यह एक अधिक कुशल तरीके से कई सॉफ्टवेयर के एकीकरण की सुविधा प्रदान करता है। यदि यह कसकर युग्मित वास्तुकला था, तो प्रत्येक बार जब इंटरफ़ेस बदलता है, तो क्लाइंट तर्क को सेवा के साथ सिंक्रनाइज़ करने के लिए बदलना होगा।
# 4) कलाकारी
यह एक शब्द है जिसका उपयोग वेब सेवाओं में सूचना या डेटा को दर्शाने के लिए किया जाता है। यह संपूर्ण डेटा नहीं है, लेकिन एक जानकारी है जिसमें एक URL या URI, संदर्भ कुंजी, दस्तावेज़ कुंजी, एक पेलोड या सहायक चित्र शामिल हो सकते हैं।
# 5) एंड पॉइंट
यह एक बहुत ही सामान्य शब्द है जिसका उपयोग वेब सेवा के प्रत्येक अनुरोध में किया जाता है। यह पूरा URL है जो वेब सेवा के उदाहरण को हिट करता है।
उदाहरण के लिए - https://www.facebook.com/imsaket -> यह पूरा URL या समापन बिंदु है, जिसमें URL के रूप में facebook.com है और 'imsaket' विशिष्ट पते की विशिष्ट पहचान के लिए एक संदर्भ कुंजी के रूप में पारित किया गया है।
कैसे चलाने के लिए .torrent फ़ाइलें
# 6) बेरोजगार
यह क्लाइंट-सर्वर इंटरैक्शन में है, जिसमें यह कोई फर्क नहीं पड़ता है कि आपने कितनी बार सेवा की आवृत्ति को मारा है, और सर्वर हमेशा क्लाइंट को एक ही प्रतिक्रिया देगा।
# 7) मार्शलिंग और डेमर्सहॉलिंग
जैसा कि हम जानते हैं, एनकैप्सुलेशन एक ओओपीएस सिद्धांत है जिसे कोड और डेटा को एक में लपेटने के रूप में परिभाषित किया गया है। SOAP वेब सेवाओं में भी यही बात होती है। जब हम SOAP संदेश बनाने और सर्वर पर भेजने के लिए पेलोड (XML) में डेटा को लपेटते या एनकैप्सुलेट करते हैं, तो एनकैप्सुलेटिंग की इस प्रक्रिया को मार्शलिंग कहा जाता है।
Demarshalling, Marshalling का पारस्परिक है। सोप संदेश से डेटा और कोड (एक्सएमएल) को डीप्सुलेट करने या अलिखित करने की विधि को 'डेमर्सहॉलिंग' कहा जाता है।
एक वेब सेवा क्या है?
जैसा कि पहले चर्चा की गई है, वेब सेवाएँ ऐसी सेवाएँ हैं जो एक मशीन से दूसरे नेटवर्क पर सेवा करती हैं।
वेब सेवाओं का उदाहरण: AWS (Amazon Web Services) जो ऑनलाइन उपयोगकर्ताओं को Amazon.com और Amazon.in पर बेची गई विभिन्न वस्तुओं की कीमतों को देखने की अनुमति देता है
वेब सेवाओं के घटक
नीचे सूचीबद्ध वेब सेवाएँ के विभिन्न घटक हैं।
(1) SOAP
वेब सेवा सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल (SOAP) का उपयोग करती है जो XML को पेलोड या अनुरोध बॉडी के रूप में उपयोग करता है। यह है एक स्टेटफुल प्रोटोकॉल चूंकि विशिष्ट प्रकार के ऑपरेशन के लिए कोई स्वतंत्र तरीका नहीं है।
सभी अनुरोधों और प्रतिक्रियाओं को एक बार XML के माध्यम से किया जाता है और GET, PUT, POST या DELETE जैसे कोई स्वतंत्र तरीके स्पष्ट रूप से प्रदान नहीं किए जाते हैं।
# 2) डब्ल्यूएसडीएल
यह SOAP अनुरोध का उपयोग करता है वेब सेवाएँ विवरण भाषा (WSDL) जो वेब सेवा का एक बहुत ही उपयोगी घटक है।
यह परिभाषित करता है कि वेब सेवा वास्तव में कहां निवास करती है और विशिष्ट अनुरोध के लिए किस प्रकार की वेब सेवा को उठाया जाना है। यह वेब सेवा कार्यक्षमता का वर्णन करने वाली XML फ़ाइल का उपयोग करता है।
# 3) UDDI
एक और उपयोगी घटक है UDDI । यह सार्वभौमिक विवरण डिस्कवरी और एकीकरण के लिए खड़ा है। एक सेवा प्रदाता है जो वेब सेवा प्रदान करता है। इसलिए, एक विशेष सेवा प्रदाता के लिए, इस UDDI का उपयोग उन वेब सेवाओं का वर्णन, खोज और प्रकाशन के लिए किया जाता है।
UDDI एक क्लाइंट को पता लगाने देने के लिए ज़िम्मेदार है (UDDI WSDL के लिए एक रिपॉजिटरी प्रदान करता है) जहां WSDL की XML फ़ाइल स्थित है। यह एक वेब सेवा कैसे परिभाषित और वर्णित है।
# 4) एक्सएमएल-आरपीसी
यह एक्स्टेंसिबल मार्कअप लैंग्वेज के लिए है - रिमोट प्रोसीजर। वेब सेवा का एक और बहुत महत्वपूर्ण घटक एक्सएमएल - आरपीसी है जो पूरे सिस्टम में संदेश भेजने के लिए जिम्मेदार है। अनुरोध और प्रतिक्रियाएँ XML के रूप में हैं और HTTP POST के माध्यम से भेजे / प्राप्त किए जाते हैं।
XML-RPC की सबसे अच्छी विशेषता यह है कि एक अलग प्लेटफ़ॉर्म पर रहने वाला क्लाइंट एप्लिकेशन किसी भिन्न सर्वर से संचार कर सकता है। JSON-RPC नाम की कोई चीज है जिसे लेख के उत्तरार्ध में समझाया गया है क्योंकि यह वेब सेवा का एक घटक नहीं है।
एक वेब सेवा की वास्तुकला
वेब सेवा की वास्तुकला को निम्नलिखित चित्र में दर्शाया जा सकता है।
जैसा कि हम पहले से ही जानते हैं, एक विशिष्ट वेब सेवा वास्तुकला में तीन इकाइयाँ शामिल होती हैं अर्थात् एक क्लाइंट, एक वेब सर्वर और ऑपरेशन को अंजाम देने के लिए एक इंटरनेट। ऑपरेशन एक क्लाइंट-सर्वर आर्किटेक्चर में अनुरोध और प्रतिक्रिया के अलावा कुछ भी नहीं है।
एक क्लाइंट आमतौर पर उन सभी एप्लिकेशन या सॉफ्टवेयर सिस्टम का एक सेट होता है, जो वेब सेवा का अनुरोध करता है, जिससे वह सेवा उपभोक्ता बन जाता है।
एक वेब सर्वर सभी अनुप्रयोगों या सॉफ्टवेयर सिस्टम का एक सेट है जो वेब सेवा प्रदान करता है। प्रत्येक वेब सेवा को प्रदर्शन करने के लिए एक नेटवर्क की आवश्यकता होती है और इसका परिणाम इंटरनेट नामक तीसरी इकाई में होता है।
यह केवल एक वेब सेवा की वास्तुकला का अवलोकन है।
वेब सेवा का कार्य आरेख नीचे दिखाए गए तीन घटकों द्वारा परिभाषित किया गया है।
- सेवा अनुरोधकर्ता (खोजें)
- सेवा प्रदाता (प्रकाशित करें)
- सेवा रजिस्ट्री या रिपोजिटरी (बिंद) ()
यह SOAP सेवा की वास्तुकला में (आरेख के साथ विस्तार से) समझाया गया है।
व्यापार विश्लेषक साक्षात्कार प्रश्न और उत्तर
वेब सेवाओं के प्रकार
दो प्रकार की वेब सेवाओं के बारे में नीचे विस्तार से बताया गया है।
(1) SOAP सेवा
SOAP सेवा सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल के लिए है। SOAP सेवाएँ ऐसी राज्य सेवाएं हैं जो एक लिफाफा बनाने के लिए XML भाषा का उपयोग करती हैं। एक SOAP लिफाफे को दो भागों में वर्णित किया जा सकता है यानी एक एक है SOAP हेडर और बॉडी अन्य एक है मसविदा बनाना SOAP संदेश भेजने के लिए उपयोग किया जाता है।
इस SOAP हेडर में ऑथेंटिकेशन और ऑथराइजेशन होता है जो एक्सेस को ग्रांटेड करता है। शरीर अनुरोध के पेलोड खंड के अंतर्गत आता है जो वेब सेवा का वर्णन करने के लिए WSDL का उपयोग करता है और प्रोटोकॉल मुख्य रूप से HTTP (हाइपरटेक्स्ट ट्रांसमिशन प्रोटोकॉल) है।
वेब सेवा सुरक्षा
SOAP सेवाओं में एक SSL लेयर (सिक्योर सॉकेट लेयर) होता है, जो ट्रांसमिशन के दौरान किसी भी डेटा रिसाव से बचने के लिए ज़िम्मेदार है, और इस प्रकार एन्क्रिप्शन और डिक्रिप्शन प्रदान करता है।
इस बीच, SOAP सेवाएँ अधिक सुरक्षित हैं क्योंकि इसमें WSS (वेब सेवा सुरक्षा) भी है जो सेवा और अनुप्रयोग के बीच संचार के दौरान कोई विभाजन नहीं होने की गारंटी देता है।
जैसा कि हम सभी जानते हैं, प्रत्येक वेब सेवा (वेब एपीआई के विपरीत) को अपना संचालन करने के लिए एक नेटवर्क की आवश्यकता होती है। इस प्रकार, नेटवर्क से कनेक्ट होने पर सुरक्षा प्रदान करने के लिए वेब सेवाओं के लिए यह आवश्यक हो जाता है। इसलिए, संदेश स्थानांतरण के दौरान सुरक्षा सेवाओं को कवर करने के लिए वेब सेवाओं की तीन महत्वपूर्ण इकाइयाँ हैं।
- सत्यापन और प्राधिकरण (ऊपर पहले ही समझाया गया है)।
- गोपनीयता: यह पूरी तरह से एसएसएल पर निर्भर है जो एसओएपी लिफाफे के एन्क्रिप्शन और डिक्रिप्शन प्रदान करता है।
- नेटवर्क सुरक्षा: इसका अर्थ है कि सर्वर से प्राप्त सभी SOAP और XML - RPC प्रतिक्रियाएँ। उदाहरण के लिए, यदि आप POSTMAN या PARASOFT जैसे किसी भी वेब सेवा उपकरण को लेते हैं, तो आप पाएंगे कि HTTP हेडर प्रबंधक के तहत, सामग्री-प्रकार का मान सेट करने का विकल्प है। मान को एप्लिकेशन / JSON पर सेट किया जा सकता है ताकि यह सभी REST निकाले (क्योंकि SOAP सेवाएं HTTP शीर्ष लेख विकल्प का समर्थन नहीं करती हैं)। इस प्रकार, आप सामग्री-प्रकार पास कर सकते हैं: आवेदन / एक्सएमएल इन ए पेलोड XML के रूप में ही। यह SOAP और XML-RPC भी निकालेगा।
ये तीन कारक बाहरी हमलों से निपटने के लिए वेब सेवा सुरक्षा का गठन करते हैं।
एसओएपी सेवा की वास्तुकला
प्रत्येक SOAP सेवा तीन संस्थाओं पर निर्भर करती है जो अंततः SOAP सेवा की संरचना बनाती हैं।
- सेवा प्रदाता: सभी सॉफ्टवेयर सिस्टम या एप्लिकेशन जो एक हिस्सा है या वेब सेवा प्रदान करता है।
- सेवा अनुरोधकर्ता: सभी सॉफ्टवेयर सिस्टम या एप्लिकेशन जो सेवा प्रदाता से अनुरोध वेब सेवा का एक हिस्सा है।
- सेवा रजिस्ट्री: एक रजिस्ट्री या भंडार जहां वेब सेवा के बारे में सभी जानकारी सेवा प्रदाता द्वारा प्रदान की जाती है। (UDDI में पहले से ही चर्चा की गई)
व्याख्या
ये तीनों इकाइयाँ एक दूसरे के साथ एक सफल वेब सेवा क्रियान्वयन के लिए सहभागिता करती हैं। यह तीन चरणों में किया जाता है। पहला चरण है प्रकाशित करें () वह चरण जहाँ एक सेवा प्रदाता किसी वेब सेवा के बारे में सभी जानकारी सेवा रजिस्ट्री या रिपॉजिटरी में देता है।
दूसरा चरण है खोजें () जहाँ एक सेवा अनुरोध मुख्य रूप से क्लाइंट अनुप्रयोग वेब सेवा के बारे में विवरण भंडार से ढूँढता है (जिसमें WSDL XML फ़ाइल भी है)। अंतिम चरण है बाइंडिंग () जहां ग्राहक एप्लिकेशन या सेवा अनुरोधकर्ता वेब सेवा के अंतिम कार्यान्वयन के लिए सेवा प्रदाता के साथ सिंक्रनाइज़ करता है।
# 2) रेस्टफुल सर्विस
REST का अर्थ है प्रतिनिधि राज्य अंतरण जो a राज्यविहीन सर्विस।
jnlp फ़ाइल विंडोज़ 10 कैसे खोलें
इसे स्टेटलेस कहा जाता है क्योंकि वेब सर्वर क्लाइंट सत्र के बारे में कोई जानकारी संग्रहीत नहीं करता है (ग्राहक की अवधि से जुड़े होने तक और निष्पादन में समय अवधि) जिसका अर्थ है कि प्रत्येक अनुरोध प्रकार का इलाज किया जाता है और आसानी से GET जैसे अन्य इनबिल्ट तरीकों की मदद से किया जाता है, POST, CUSTOM (PUT), DELETE, HEAD इत्यादि।
दरअसल, ये विधियां SOAP में मौजूद नहीं हैं।
विधि या क्रिया
REST में प्रत्येक विधि का अपना महत्व है। नीचे दिए गए उनमें से प्रत्येक के बारे में ब्रीफिंग है।
- प्राप्त: इस विधि का उपयोग PUT या POST जैसी किसी भी विधि का उपयोग करके सर्वर को भेजी जाने वाली जानकारी को पुनः प्राप्त करने के लिए किया जाता है। यह एक अनुरोध निकाय नहीं है। सफल निष्पादन आपको 200 प्रतिक्रिया ऑब्जेक्ट देगा।
- पद: इस पद्धति का उपयोग अनुरोध निकाय, निर्दिष्ट URL, दस्तावेज़ कुंजी, संदर्भ कुंजी, आदि का उपयोग करके दस्तावेज़ या रिकॉर्ड बनाने के लिए किया जाता है। इसे GET विधि का उपयोग करके पुनर्प्राप्त किया जा सकता है। सफल निष्पादन आपको 201 प्रतिक्रिया देगा।
- लगाया हुआ: यह कस्टम विकल्प के तहत है जो POSTMAN या PARASOFT में उपलब्ध है। इस पद्धति का उपयोग किसी भी दस्तावेज़ या रिकॉर्ड को अद्यतन करने के लिए किया जाता है जो पहले से मौजूद है। सफल निष्पादन आपको 201 या 200 प्रतिसाद देगा।
- DELETE: इस विधि का उपयोग किसी भी रिकॉर्ड को हटाने के लिए किया जाता है। सफल निष्पादन आपको 204 प्रतिक्रिया (कोई सामग्री नहीं) देगा।
ध्यान दें: HTTP प्रतिक्रिया कोड इस बात पर निर्भर करता है कि डेवलपर्स कोड और समय पर कैसे हेरफेर किया जा सकता है। हमने सामान्य प्रतिक्रिया कोड सूचीबद्ध किए हैं जो हमें प्रत्येक विधि प्रकार से प्राप्त होते हैं।
आर्किटेक्चर ऑफ रेस्ट सर्विस
REST सेवा की वास्तुकला दो संस्थाओं पर निर्भर करती है यानी सेवा उपभोक्ता या अनुरोधकर्ता और सेवा प्रदाता। सेवा उपभोक्ता वह है जो वेब सेवा का लाभ उठाता है और सेवा प्रदाता सॉफ्टवेयर या सिस्टम का संग्रह है जो वेब सेवा प्रदान करता है।
क्लाइंट एप्लिकेशन जो आम तौर पर एक सेवा उपभोक्ता होता है वह REST, URL या URI, एक HTTP संस्करण और एक पेलोड (यदि विधि द्वारा समर्थित हो) का इनबिल्ट तरीकों का उपयोग करता है।
SOAP बनाम अन्य
यद्यपि इन दो प्रकार की वेब सेवाओं का उपयोग अनुरोध और प्रतिक्रिया को पूरा करने के लिए किया जाता है, लेकिन वे जिस तरह से काम करते हैं, उसमें पूरी तरह से अलग हैं।
उनके अंतर आपके संदर्भ के लिए नीचे सूचीबद्ध हैं।
- SOAP लिफाफे का उपयोग REST में किया जा सकता है लेकिन इसके विपरीत नहीं। जैसे SOAP में बनाया गया एक उपयोगकर्ता टोकन HTTP शीर्ष लेख प्रबंधक -> प्राधिकरण के तहत REST अनुरोध में पारित किया जा सकता है।
- SOAP आमतौर पर REST सेवाओं की तुलना में अधिक सुरक्षित है क्योंकि SOAP सेवाएं SSL से अलग WSS प्रदान करती हैं। यह SSL SOAP और REST दोनों में मौजूद है।
- SOAP RAP की तुलना में धीमी है क्योंकि XML डेटा प्रारूप के कारण अनुरोध प्रसंस्करण SOAP में अधिक समय लेता है। REST JSON का उपयोग करता है जो बहुत हल्के वजन वाला होता है और इस प्रकार यह तेज होता है।
- SOAP में कोई इनबिल्ट विधि नहीं है लेकिन REST में GET, PUT, POST इत्यादि हैं।
- SOAP स्टेटफुल है जबकि REST स्टेटलेस है।
- SOAP में अनुरोध और प्रतिक्रिया निकाय केवल XML डेटा प्रारूप का समर्थन करते हैं। REST में, अनुरोध और प्रतिक्रिया निकाय कई डेटा स्वरूपों जैसे JSON, XML, सादा पाठ, आदि का समर्थन करते हैं।
निष्कर्ष
इस वेब सेवा ट्यूटोरियल ने वेब सेवाओं की वास्तुकला, घटकों और प्रकारों के बारे में बताया।
हमने वेब सेवाओं से संबंधित अन्य महत्वपूर्ण अवधारणाओं और शब्दावली के साथ SOAP और REST सेवाओं के बीच अंतर के बारे में भी सीखा।
हमें उम्मीद है कि इस ट्यूटोरियल ने आपको वेब सेवाएँ समझने में मदद की है !!
PREV ट्यूटोरियल | अगले ट्यूटोरियल
अनुशंसित पाठ
- उदाहरणों के साथ अजगर डेटाइम ट्यूटोरियल
- Java SWING Tutorial: कंटेनर, कंपोनेंट्स एंड इवेंट हैंडलिंग
- HTML इंजेक्शन ट्यूटोरियल: उदाहरण और उदाहरण के साथ रोकथाम
- उदाहरणों के साथ यूनिक्स शैल स्क्रिप्टिंग ट्यूटोरियल
- सेलेनियम उदाहरणों के साथ पाठ ट्यूटोरियल द्वारा तत्व का पता लगाएं
- हाथों पर उदाहरण के साथ पायथन मेन फंक्शन ट्यूटोरियल
- उपकरण और उदाहरण के साथ जोड़ी परीक्षण या अखिल जोड़े परीक्षण ट्यूटोरियल
- उदाहरणों के साथ कॉन्फ़िगरेशन टेस्टिंग ट्यूटोरियल