WebService क्या है?
वेब सेवा वह तंत्र या संचार माध्यम है जिसके माध्यम से दो एप्लिकेशन / मशीनें अपने अंडरलाइन आर्किटेक्चर और तकनीक के बावजूद डेटा का आदान-प्रदान करेंगे।
वेब सेवा परीक्षण क्या है?
वेब सेवा परीक्षण एक प्रकार का सॉफ्टवेयर परीक्षण है जो वेब सेवाओं को मान्य करता है। वेब सेवा परीक्षण का उद्देश्य एपीआई (एप्लिकेशन प्रोग्राम इंटरफ़ेस) की कार्यक्षमता, विश्वसनीयता, प्रदर्शन और सुरक्षा की जांच करना है। वेब सेवा परीक्षण कुछ मामलों में इकाई परीक्षण के समान है। आप मैन्युअल रूप से एक वेबबेस सेवा का परीक्षण कर सकते हैं या अपना स्वयं का स्वचालन कोड बना सकते हैं या पोस्टमैन की तरह ऑफ-द-शेल्फ स्वचालन उपकरण का उपयोग कर सकते हैं।
WebService की आवश्यकता क्यों है?
सामान्य तौर पर, सॉफ्टवेयर एप्लिकेशन को मानव द्वारा उपभोग किए जाने के लिए विकसित किया जाता है, जहां एक व्यक्ति एक सॉफ्टवेयर सेवा के लिए अनुरोध भेजता है जो मानव पठनीय प्रारूप में एक प्रतिक्रिया देता है।
तकनीक के आधुनिक युग में यदि आप एक ऐसा सॉफ्टवेयर एप्लिकेशन बनाना चाहते हैं, जिसमें आपको स्क्रैच से प्रत्येक और हर चीज के निर्माण की आवश्यकता न हो। बहुत सारी रेडीमेड सेवाएं उपलब्ध हैं जिन्हें आप अपने आवेदन में प्लग कर सकते हैं और आप अपने आवेदन में उन सेवाओं को प्रदान करना शुरू कर सकते हैं।
उदाहरण के लिए, आप मौसम पूर्वानुमान की जानकारी प्रदर्शित करना चाहते हैं जिसे आपको अपने आवेदन में डेटा एकत्र करने, संसाधित करने और प्रस्तुत करने की आवश्यकता नहीं है। आप ऐसे लोगों से सेवाएँ खरीद सकते हैं जो पहले से ही इस तरह के डेटा के प्रसंस्करण और प्रकाशन में अच्छी तरह से स्थापित हैं।
वेब सेवाएं हमें इस प्रकार के कार्यान्वयन करने की अनुमति देती हैं।
एक उदाहरण के रूप में, निम्न वेब सेवा पर विचार करें
http://www.webservicex.net/stockquote.asmx?op=GetQuote
यह एक कंपनी के लिए शेयर मूल्य देता है।
आइए Google के लिए शेयर का मूल्य खोजें (प्रतीक: GOOG)
प्रतिक्रिया XML स्टॉक मूल्य देता है।
यह WebService SOAP या HTTP प्रोटोकॉल का उपयोग करके एक सॉफ्टवेयर एप्लिकेशन द्वारा बुलाया जा सकता है।
वेब सेवा प्रोटोकॉल
वेब सेवाओं को विभिन्न तरीकों से लागू किया जा सकता है, लेकिन निम्नलिखित दो लोकप्रिय कार्यान्वयन दृष्टिकोण हैं।
- SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल)
- बाकी (प्रतिनिधि राज्य स्थानांतरण वास्तुकला)
साबुन
SOAP एक मानक प्रोटोकॉल है जिसे वेब सेवा अनुरोधों और प्रतिक्रियाओं को भेजने और प्राप्त करने के लिए W3C मानक द्वारा परिभाषित किया गया है।
SOAP अनुरोध भेजने और प्राप्त करने के लिए XML प्रारूप का उपयोग करता है और इसलिए डेटा प्लेटफ़ॉर्म स्वतंत्र डेटा है। प्रदाता अनुप्रयोगों और SOAP लिफाफे के भीतर आवेदन प्राप्त करने के बीच SOAP संदेशों का आदान-प्रदान किया जाता है।
चूंकि SOAP सरल http ट्रांसपोर्ट प्रोटोकॉल का उपयोग करता है, इसलिए इसके संदेश फ़ायरवॉल द्वारा ब्लॉक नहीं किए जाते हैं।
आराम
आरईएस का अर्थ है, स्टेटिकेशनल ट्रांसफर; यह एक आर्किटेक्चर है जो आमतौर पर HTTP पर चलता है। आरईएसटी स्टाइल ग्राहकों और सेवाओं के बीच की बातचीत पर जोर देती है, जो सीमित संख्या में परिचालन द्वारा बढ़ाए जाते हैं। REST SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) का एक विकल्प है और अनुरोध के लिए XML का उपयोग करने के बजाय REST कुछ मामलों में सरल URL का उपयोग करता है। SOAP के विपरीत, RESTFUL एप्लिकेशन मेटा-जानकारी को ले जाने के लिए HTTP बिल्ड इन हेडर का उपयोग करता है।
ऐसे विभिन्न कोड हैं जो यह निर्धारित करने के लिए REST का उपयोग करते हैं कि उपयोगकर्ता के पास API तक पहुंच है या कोड 200 या 201 की तरह नहीं है, प्रतिक्रिया बॉडी के साथ सफल इंटरैक्शन इंगित करता है जबकि 400 एक खराब अनुरोध या यूआरआई सिस्टम में एपीआई से मेल नहीं खाने का अनुरोध करता है। सभी एपीआई अनुरोध पैरामीटर और विधि पैरामीटर पोस्ट या जीएसटी चर के माध्यम से भेजे जा सकते हैं ।
रेस्ट API, WebServices API टेस्टिंग के लिए XML और JSON दोनों फॉर्मेट को सपोर्ट करता है। यह आमतौर पर मोबाइल और वेब ऐप के लिए पसंद किया जाता है क्योंकि यह ऐप को तेज और स्मूथ बनाता है
डबल्यूएसडीएल
WSDL (वेब सेवा विवरण भाषा) एक XML आधारित भाषा है जिसका उपयोग वेब सेवा द्वारा दी जाने वाली सेवाओं का वर्णन करने के लिए किया जाएगा।
डब्लूएसडीएल एक्सएमएल प्रारूप में विशेष वेब सेवा द्वारा पेश किए गए सभी कार्यों का वर्णन करता है। यह यह भी परिभाषित करता है कि सेवाओं को कैसे कहा जा सकता है, अर्थात हमें किस तरह का इनपुट मूल्य प्रदान करना है और प्रत्येक प्रकार की सेवा के लिए जो प्रतिक्रिया उत्पन्न होने वाली है उसका प्रारूप क्या होगा।
वेब सेवा का परीक्षण कैसे करें?
वेब सेवा का परीक्षण करने के लिए, आप कर सकते हैं
- मैन्युअल रूप से परीक्षण करें
- अपना स्वयं का स्वचालन कोड बनाएँ
- सोपुई जैसे ऑफ-द-शेल्फ स्वचालन उपकरण का उपयोग करें।
वेब सेवा स्वचालन परीक्षण में निम्नलिखित चरण शामिल हैं -
- डब्लूएसडीएल फ़ाइल को समझें
- उन कार्यों को निर्धारित करें जो विशेष रूप से वेब सेवा प्रदान करता है
- XML अनुरोध प्रारूप निर्धारित करें जिसे हमें भेजने की आवश्यकता है
- प्रतिसाद XML स्वरूप निर्धारित करें
- अनुरोध भेजने और प्रतिक्रिया को मान्य करने के लिए एक उपकरण या लेखन कोड का उपयोग करना
मान लीजिए हम वेब सेवा का परीक्षण करना चाहते हैं जो मुद्रा रूपांतरण सुविधा प्रदान करती है। यह विभिन्न देशों की मुद्रा के बीच वर्तमान रूपांतरण दर होगी। इस सेवा का उपयोग हम अपने अनुप्रयोगों में मूल्यों को एक मुद्रा से दूसरी मुद्रा में परिवर्तित करने के लिए कर सकते हैं।
अब ऊपर दिए गए चरणों को देखें
चरण 1 से 4: WSDL को समझना और संचालन और XML स्वरूपों का निर्धारण करना
मुद्रा परिवर्तक WSDL फ़ाइल को देखा जा सकता है @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) जो मुद्रा परिवर्तक वेब सेवा विधियों के बारे में जानकारी देगा, जो इसका समर्थन करेगी, जिस पैरामीटर को हमें पास करने की आवश्यकता है और मापदंडों का प्रकार
… आदिचरण 5: अनुरोध भेजने और प्रतिक्रिया को मान्य करने के लिए एक उपकरण या लेखन कोड का उपयोग करना
SOAP वेब सेवा का परीक्षण करने के लिए बहुत सारे WebService टेस्ट उपकरण उपलब्ध हैं। SoapUI लोकप्रिय एपीआई उपकरण में से एक है जो हमें SOAP वेब सेवाओं का परीक्षण करने में मदद करेगा। वास्तव में आप किसी भी प्रोग्रामिंग भाषा का उपयोग कर सकते हैं जो HTTP पर वेब सेवा प्रदाता एप्लिकेशन को XML अनुरोध भेजने में सक्षम है और अपेक्षित परिणाम के विरुद्ध प्रतिक्रिया XML को पार्स और सत्यापित करने में सक्षम है। इस वेब सेवा परीक्षण ट्यूटोरियल में, हम वेब सेवा का परीक्षण करेंगे
- जावा का उपयोग करना
- साबुन का उपयोग करना
भाग 1) Apache Axis2 API (जावा) का उपयोग कर वेबसर्विस परीक्षण।
आमतौर पर वेब सेवा अनुरोध लेती है और एक्सएमएल प्रारूप में प्रतिक्रिया भेजती है।
अपाचे एक्सिस 2 एपीआई परियोजना एक जावा कार्यान्वयन एपीआई है, जिसका उपयोग सर्वर साइड (सेवा प्रदाता) और ग्राहक पक्ष (सेवा उपभोक्ता) दोनों के लिए वेब सेवाओं को बनाने के लिए किया जाएगा।
Axis2 SOAP संदेश भेजने में सक्षम है और SOAP संदेश प्राप्त और संसाधित करता है। हम वेब सेवा बनाने के लिए एपीआई का उपयोग करके एक छोटा जावा प्रोग्राम लिख सकते हैं। Axis2 जावा प्रोग्राम से WSDL उत्पन्न करेगा जिसका उपयोग वेब सेवा द्वारा दी जाने वाली सेवाओं के संचार के लिए किया जाएगा। हम WSDL फ़ाइल से जावा वर्ग (स्टब) को उत्पन्न करने के लिए उसी एक्सिस 2 का उपयोग कर सकते हैं जिसे हम वेब सेवा अनुरोध को उत्पन्न करने के लिए एक ग्राहक कार्यक्रम के रूप में उपयोग कर सकते हैं, जिससे सेवा समाप्ति बिंदु पर अनुरोध भेजा जा सके और प्रतिक्रिया को संसाधित किया जा सके।
- मूल रूप से हम एक सरल जावा प्रोग्राम बनाएंगे जिसमें हम स्टब क्लास को तुरंत इंस्टाल करेंगे।
- स्टब का उपयोग करके हम सभी आवश्यक जानकारी पास करके अनुरोध विधि लागू करेंगे।
- स्टब प्रोग्राम उस अनुरोध को XML अनुरोध प्रारूप में बदल देगा और इसे सेवा समाप्ति बिंदु भेजेगा जो अनुरोध को पढ़ेगा और अनुरोध को संसाधित करेगा और XML प्रारूप में प्रतिक्रिया भेजेगा।
- एक्सएमएल प्रतिक्रिया को स्टब द्वारा जावा वर्ग में बदल दिया जाएगा और वास्तविक कार्यक्रम में वापस आ जाएगा।
आइए उपरोक्त चरणों को विस्तार से देखें
चरण a) धुरी 2 एपीआई @ https://axis.apache.org/axis2/Java/core/download.cgi डाउनलोड करें और पर्यावरण चर 'AXIS2_HOME' सेट करें
चरण बी) सभी उत्पन्न कलाकृतियों को रखने के लिए एक फ़ोल्डर बनाएं
Ex: C: \ Axis \ Projects \ CurrencyConverter
चरण c) कमांड प्रॉम्प्ट खोलें और फ़ोल्डर संरचना पर नेविगेट करें जहां आप कलाकृतियों को उत्पन्न करना चाहते हैं और निम्नलिखित कमांड चलाएं जो स्टब्स उत्पन्न करेगा
% AXIS2_HOME% \ bin \ WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -db adb -s
चरण d) कमांड के सफलतापूर्वक चलने के बाद, आपको आवश्यक फ़ाइलों के साथ फ़ोल्डर दिखाई देगा।
चरण ई) इस वेब सेवा परीक्षण ट्यूटोरियल के अगले चरण में, हमें क्लाइंट प्रोग्राम बनाना होगा, जिसके माध्यम से हम जेनरेट किए गए स्टब्स का उपयोग करके वास्तविक अनुरोध भेजेंगे। ग्रहण खोलें और नई जावा परियोजना बनाएं और उस फ़ोल्डर का चयन करें जिसे हमने ऊपर बनाया है।
चरण f) प्रोजेक्ट बिल्ड पथ में सभी अक्ष 2 संबंधित जार जोड़ें, जो कि अक्ष 2 सॉफ्टवेयर फ़ोल्डर के लिबास फ़ोल्डर में होगा
(पूर्व के लिए: C: \ Axis \ ax2-1.6.2.2 \ lib)
चरण जी) एक नया जावा वर्ग बनाएं (उदा: Client.Java) और तुरंत स्टब ऑब्जेक्ट। स्टब ऑब्जेक्ट का उपयोग करके हम विशेष WebService के सभी समर्थित तरीकों को कॉल कर सकते हैं।
ग्राहक.जावा कार्यक्रमपैकेज org.apache.axis2.currencyconvertor;आयात org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;आयात org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateRadonse;आयात org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;पब्लिक क्लास क्लाइंट {सार्वजनिक स्थैतिक शून्य मुख्य (Java.lang.String args []) {प्रयत्न {// सर्विस एंड पॉइंट यूआरएल पास करके स्टब ऑब्जेक्ट बनाएंCurrencyConvertorStub stub = new CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConvertRate वह वर्ग है जिसका उपयोग हमें और मुद्रा से उल्लेख करने के लिए करना है// ConvertRate ऑब्जेक्ट कनवर्ज़न स्टेट ऑपरेशन के लिए पैरामीटर होगाकनवर्जनरेट रूपांतरणकन्वर्शनकन्वर्शन// ConvertRateResponse ऑब्जेक्ट बनाएँ, जिसका उपयोग प्रतिक्रिया को पकड़ने के लिए किया जा रहा है// स्टब ऑब्जेक्ट का उपयोग करके कनवर्ज़न स्टेट सेवा को कॉल करेंकनवर्ज़नरेट रिप्रसन रूपांतरण// हम ConvertRateResponse ऑब्जेक्ट का उपयोग कर सकते हैंSystem.out.println ("INR से USD में रूपांतरण दर: + कनवर्ज़न RateResponse.getConversionRateResult ());} पकड़ (अपवाद ई) {e.printStackTrace ();}}}
भाग 2) साबुन वेब सेवा का उपयोग करके परीक्षण कैसे करें
साबुनिया में
- फ़ाइल> नई साबुन परियोजना पर जाएं
- प्रोजेक्ट का नाम और WSDL URI स्थान दर्ज करें
- ओके पर क्लिक करें
- पहले अनुरोध का विस्तार करें और 'Request1' पर डबल क्लिक करें। यह XML प्रारूप में SOAP अनुरोध प्रदर्शित करेगा।
- मुद्रा से और मुद्रा में दर्ज करें
- सबमिट बटन पर क्लिक करें
- रिस्पॉन्स XML को राइट साइड पेन प्रदर्शित किया जाएगा।
जैसा कि आप निष्कर्ष निकाल सकते हैं, SoapUI जैसे वेब सेवा परीक्षण उपकरणों का उपयोग आपके वेब सेवा स्वचालन परीक्षण प्रयास को तेज करता है। इसलिए, हम सफल ट्यूटोरियल में हमारे सीखने का ध्यान केंद्रित करेंगे।
सारांश
- सॉफ्टवेयर अनुप्रयोग एक वेबस् सेवा का उपयोग करके एक-दूसरे के साथ संचार और आदान-प्रदान करते हैं
- SOAP और REST WebService बनाने के लिए 2 लोकप्रिय प्रोटोकॉल हैं
- SOAP XML आधारित डेटा एक्सचेंज का समर्थन करता है
- REST XML, Json या WebServices API परीक्षण के लिए सरल URL में डेटा के आदान-प्रदान का समर्थन करता है।
- WSDL XML आधारित भाषा है जिसका उपयोग वेब सेवा द्वारा दी जाने वाली सेवाओं का वर्णन करने के लिए किया जाएगा। एसओएपी को डब्ल्यूएसडीएल का उपयोग करके परिभाषित किया गया है।
- WebService का परीक्षण करने के लिए आप कर सकते हैं
- अपना कोड बनाएं। उदाहरण के लिए Java के लिए Axis2 API का उपयोग करें
- SoapUI जैसे WebService Test स्वचालन उपकरण का उपयोग करें
- SoapUI जैसे स्वचालन उपकरण आपके वेब सेवा स्वचालन परीक्षण प्रयासों को कूद जाएगा, Axx2 एपीआई का उपयोग कर अपने कोड बनाने की तुलना में कम कोडिंग प्रयास की आवश्यकता होगी
सामान्य प्रश्न
WebService और WebAPI के बीच अंतर क्या है?
वेब सेवा |
वेब एपीआई |
|
|
|
|
|
|
|
|
वेब एपीआई परीक्षण के बारे में अधिक जानें
यह वेब सेवा परीक्षण ट्यूटोरियल श्री नरेंद्र रेड्डी नुक्ला के योगदान से संभव हुआ है