वेब सर्विस

From Vigyanwiki
Revision as of 12:25, 25 February 2023 by alpha>Indicwiki (Created page with "{{Short description|Service offered between electronic devices via the internet}} एक वेब सेवा (डब्लूएस) या तो है: * एक इल...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

एक वेब सेवा (डब्लूएस) या तो है:

  • एक इलेक्ट्रॉनिक डिवाइस द्वारा किसी अन्य इलेक्ट्रॉनिक डिवाइस को दी जाने वाली सेवा, इंटरनेट के माध्यम से एक दूसरे के साथ संचार करना, या
  • कंप्यूटर डिवाइस पर चलने वाला सर्वर, नेटवर्क पर किसी विशेष पोर्ट पर अनुरोधों को सुनना, वेब दस्तावेज़ों (हाइपरटेक्स्ट परहस्त शिष्टाचार , JSON, XML, इमेज) परोसना।

वेब सेवा में वेब शब्द का प्रयोग एक मिथ्या नाम है। वेब सेवाएँ वर्ल्ड वाइड वेब (WWW) का उपयोग नहीं करती हैं, जो इंटरनेट पर चलने वाला एक मानव उपयोगकर्ता इंटरफ़ेस है, बल्कि WWW प्रोटोकॉल का उपयोग करके इंटरनेट पर चलने वाली मशीन-टू-मशीन सेवा है।

एक वेब सेवा में, हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल जैसी वेब तकनीक का उपयोग मशीन-पठनीय फ़ाइल स्वरूपों जैसे XMLHttpRequest और JSON को स्थानांतरित करने के लिए किया जाता है।

व्यवहार में, एक वेब सेवा आमतौर पर एक डेटाबेस सर्वर को एक ऑब्जेक्ट डेटाबेस | ऑब्जेक्ट-ओरिएंटेड वेब-आधारित इंटरफ़ेस प्रदान करती है, उदाहरण के लिए किसी अन्य वेब सर्वर द्वारा उपयोग किया जाता है, या एक मोबाइल ऐप विकास द्वारा, जो एंड-यूज़र को एक यूजर इंटरफेस प्रदान करता है। कई संगठन जो प्रारूपित HTML पृष्ठों में डेटा प्रदान करते हैं, वे उस डेटा को अपने सर्वर पर XML या JSON के रूप में भी प्रदान करते हैं, अक्सर वेब सिंडिकेशन की अनुमति देने के लिए एक वेब सेवा के माध्यम से। एंड-यूज़र को दिया जाने वाला एक अन्य एप्लिकेशन मैशप (वेब ​​एप्लिकेशन हाइब्रिड) हो सकता है, जहां एक वेब सर्वर विभिन्न मशीनों पर कई वेब सेवाओं का उपभोग करता है और सामग्री को एक उपयोगकर्ता इंटरफ़ेस में संकलित करता है।

वेब सेवाएं (जेनेरिक)

अतुल्यकालिक जावास्क्रिप्ट और एक्सएमएल

अतुल्यकालिक जावास्क्रिप्ट और XML (AJAX) वेब सेवाओं के लिए एक प्रमुख तकनीक है। HTTP सर्वर, जावास्क्रिप्ट क्लाइंट और प्लेन ओल्ड XML (SOAP और W3C वेब सेवाओं से अलग) के संयोजन से विकसित होकर, अब इसे अक्सर JSON वेब टोकन के साथ-साथ, या XML के बजाय उपयोग किया जाता है।

बाकी

प्रतिनिधि राज्य हस्तांतरण (आरईएसटी) अच्छी तरह से व्यवहार वाली वेब सेवाओं के लिए एक वास्तुकला है जो इंटरनेट पैमाने पर काम कर सकता है।

2004 के एक दस्तावेज़ में, W3C निम्नलिखित REST को वेब सेवाओं की प्रमुख विशिष्ट विशेषता के रूप में सेट करता है:

We can identify two major classes of Web services:

  • REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of stateless operations; and
  • arbitrary Web services, in which the service may expose an arbitrary set of operations.
    — W3C, Web Services Architecture[1]

वेब सेवाएं जो मार्कअप भाषाओं का प्रयोग करती हैं

ऐसी कई वेब सेवाएँ हैं जो मार्कअप भाषाओं का उपयोग करती हैं:

वेब एपीआई

एक वेब एपीआई वेब सेवाओं में एक विकास है जहां सरल प्रतिनिधित्व राज्य हस्तांतरण (आरईएसटी) आधारित संचार पर जोर दिया जा रहा है।[2] रेस्टफुल एपीआई को अपने इंटरफेस का समर्थन करने के लिए XML- आधारित वेब सेवा प्रोटोकॉल (SOAP और WSDL) की आवश्यकता नहीं होती है।

W3C वेब सेवाएं

W3C वेब सेवाओं के संबंध में, W3C ने एक वेब सेवा को इस प्रकार परिभाषित किया:

A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other web-related standards.

— W3C, Web Services Glossary[3]

W3C वेब सेवाएँ HTTP प्रोटोकॉल पर SOAP का उपयोग कर सकती हैं, जिससे EDI/B2B जैसे मालिकाना समाधानों की तुलना में इंटरनेट पर कम खर्चीला (अधिक कुशल) इंटरैक्शन हो सकता है। HTTP पर SOAP के अलावा, वेब सेवाओं को फाइल ट्रांसफर प्रोटोकॉल जैसे अन्य विश्वसनीय परिवहन तंत्रों पर भी लागू किया जा सकता है। 2002 के एक दस्तावेज़ में, वेब सर्विसेज आर्किटेक्चर वर्किंग ग्रुप ने एक वेब सर्विसेज आर्किटेक्चर को परिभाषित किया, जिसके लिए एक वेब सर्विस के मानकीकृत कार्यान्वयन की आवश्यकता थी।

स्पष्टीकरण

वेब सेवा संरचना: सेवा प्रदाता UDDI को WSDL फ़ाइल भेजता है। सेवा निवेदक UDDI से यह पता लगाने के लिए संपर्क करता है कि उसके लिए आवश्यक डेटा का प्रदाता कौन है, और फिर वह SOAP प्रोटोकॉल का उपयोग करके सेवा प्रदाता से संपर्क करता है। सेवा प्रदाता सेवा अनुरोध को मान्य करता है और SOAP प्रोटोकॉल का उपयोग करके XML फ़ाइल में संरचित डेटा भेजता है। सेवा अनुरोधकर्ता द्वारा XSD फ़ाइल का उपयोग करके इस XML फ़ाइल को फिर से सत्यापित किया जाएगा।

वेब सेवा शब्द इंटरनेट प्रोटोकॉल बैकबोन पर XML, SOAP, WSDL और UDDI खुले मानकों का उपयोग करके वेब-आधारित अनुप्रयोगों को एकीकृत करने के एक मानकीकृत तरीके का वर्णन करता है। XML एक डेटा प्रारूप है जिसका उपयोग डेटा को समाहित करने और उसके चारों ओर मेटाडेटा प्रदान करने के लिए किया जाता है, SOAP का उपयोग डेटा को स्थानांतरित करने के लिए किया जाता है, WSDL का उपयोग उपलब्ध सेवाओं का वर्णन करने के लिए किया जाता है और UDDI सूचीबद्ध करता है कि कौन सी सेवाएँ उपलब्ध हैं।

एक वेब सेवा एक नेटवर्क पता दो इलेक्ट्रॉनिक उपकरणों के बीच संचार का एक तरीका है। यह एक सॉफ्टवेयर फ़ंक्शन है जो वेब पर एक नेटवर्क पते पर प्रदान किया जाता है, जिसमें यूटिलिटी कंप्यूटिंग की अवधारणा के अनुसार सेवा हमेशा चालू रहती है।

कई संगठन प्रबंधन के लिए कई सॉफ्टवेयर सिस्टम का उपयोग करते हैं।[citation needed] विभिन्न सॉफ्टवेयर प्रणालियों को अक्सर एक दूसरे के साथ डेटा का आदान-प्रदान करने की आवश्यकता होती है, और एक वेब सेवा संचार की एक विधि है जो दो सॉफ्टवेयर सिस्टमों को इंटरनेट पर इस डेटा का आदान-प्रदान करने की अनुमति देती है। सॉफ़्टवेयर सिस्टम जो डेटा का अनुरोध करता है उसे सेवा अनुरोधकर्ता कहा जाता है, जबकि सॉफ़्टवेयर सिस्टम जो अनुरोध को संसाधित करता है और डेटा प्रदान करता है उसे सेवा प्रदाता कहा जाता है।

विभिन्न सॉफ़्टवेयर विभिन्न प्रोग्रामिंग भाषाओं का उपयोग कर सकते हैं, और इसलिए डेटा विनिमय की एक विधि की आवश्यकता है जो किसी विशेष प्रोग्रामिंग भाषा पर निर्भर न हो। हालाँकि, अधिकांश प्रकार के सॉफ़्टवेयर XML टैग की व्याख्या कर सकते हैं। इस प्रकार, वेब सेवाएँ डेटा विनिमय के लिए XML फ़ाइलों का उपयोग कर सकती हैं।

विभिन्न प्रणालियों के साथ संचार के नियमों को परिभाषित करने की आवश्यकता है, जैसे:

  • कैसे एक सिस्टम दूसरे सिस्टम से डेटा का अनुरोध कर सकता है।
  • डेटा अनुरोध में किन विशिष्ट मापदंडों की आवश्यकता होती है।
  • उत्पादित डेटा की संरचना क्या होगी। (आम तौर पर, डेटा का आदान-प्रदान XML फ़ाइलों में किया जाता है, और XML फ़ाइल की संरचना को .xsd फ़ाइल के विरुद्ध मान्य किया जाता है।)
  • समस्या निवारण को आसान बनाने के लिए संचार के लिए एक निश्चित नियम का पालन नहीं करने पर कौन से त्रुटि संदेश प्रदर्शित करने हैं।

संचार के इन सभी नियमों को वेब सर्विसेज डिस्क्रिप्शन लैंग्वेज (वेब ​​सर्विसेज डिस्क्रिप्शन लैंग्वेज) नामक एक फाइल में परिभाषित किया गया है, जिसमें एक .wsdl विस्तार। (स्वायत्त वेब सेवाओं के प्रस्ताव (एडब्ल्यूएस) अधिक लचीली वेब सेवाओं को विकसित करना चाहते हैं जो सख्त नियमों पर भरोसा नहीं करते हैं।[lower-alpha 1])

यूनिवर्सल डिस्क्रिप्शन डिस्कवरी एंड इंटीग्रेशन (यूनिवर्सल डिस्क्रिप्शन, डिस्कवरी और इंटीग्रेशन) नामक एक निर्देशिका परिभाषित करती है कि किस प्रकार के डेटा के लिए किस सॉफ्टवेयर सिस्टम से संपर्क किया जाना चाहिए। इसलिए जब एक सॉफ्टवेयर सिस्टम को एक विशेष रिपोर्ट/डेटा की आवश्यकता होती है, तो वह यूडीडीआई के पास जाएगा और यह पता लगाएगा कि वह डेटा प्राप्त करने के लिए किन अन्य प्रणालियों से संपर्क कर सकता है। एक बार जब सॉफ्टवेयर सिस्टम को पता चल जाता है कि उसे किन अन्य प्रणालियों से संपर्क करना चाहिए, तो वह SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) नामक एक विशेष प्रोटोकॉल का उपयोग करके उस सिस्टम से संपर्क करेगा। सेवा प्रदाता प्रणाली पहले WSDL फ़ाइल का हवाला देकर डेटा अनुरोध को मान्य करेगी, और फिर अनुरोध को संसाधित करेगी और SOAP प्रोटोकॉल के तहत डेटा भेजेगी।

स्वचालित डिजाइन के तरीके

सेवा-उन्मुख वास्तुकला में वेब सेवाएँ।

स्वचालित उपकरण वेब सेवा के निर्माण में सहायता कर सकते हैं। WSDL का उपयोग करने वाली सेवाओं के लिए, मौजूदा कक्षाओं (एक बॉटम-अप मॉडल) के लिए या तो स्वचालित रूप से WSDL उत्पन्न करना संभव है या मौजूदा WSDL (एक टॉप-डाउन मॉडल) दिए गए वर्ग कंकाल को उत्पन्न करना संभव है।

  • बॉटम-अप मॉडल का उपयोग करने वाला एक डेवलपर पहले (कुछ प्रोग्रामिंग भाषा में) लागू करने वाली कक्षाओं को लिखता है और फिर वेब सेवा के रूप में इन कक्षाओं के तरीकों को उजागर करने के लिए WSDL जनरेटिंग टूल का उपयोग करता है। यह विकसित करना आसान है लेकिन यदि मूल वर्ग लगातार परिवर्तन के अधीन हैं तो इसे बनाए रखना कठिन हो सकता है।[5]
  • टॉप-डाउन मॉडल का उपयोग करने वाला एक डेवलपर पहले डब्लूएसडीएल दस्तावेज़ लिखता है और फिर आवश्यक रूप से पूरा करने के लिए क्लास कंकाल का उत्पादन करने के लिए एक कोड जनरेटिंग टूल का उपयोग करता है। इस मॉडल को आम तौर पर अधिक कठिन माना जाता है लेकिन यह क्लीनर डिजाइन तैयार कर सकता है और आम तौर पर परिवर्तन के लिए अधिक प्रतिरोधी होता है। जब तक प्रेषक और रिसीवर के बीच संदेश प्रारूप नहीं बदलते हैं, तब तक प्रेषक और रिसीवर में परिवर्तन स्वयं वेब सेवा को प्रभावित नहीं करते हैं। तकनीक को पहले अनुबंध के रूप में भी जाना जाता है क्योंकि डब्लूएसडीएल (या प्रेषक और रिसीवर के बीच अनुबंध) शुरुआती बिंदु है।[6]
  • सबसेट WSDL (SWSDL) का उपयोग करने वाला डेवलपर[7] (यानी मूल डब्लूएसडीएल में सबसेट ऑपरेशन के साथ एक डब्लूएसडीएल) वेब सेवा परीक्षण और टॉप-डाउन विकास कर सकता है।

आलोचना

नॉन-रेस्टफुल वेब सेवाओं के आलोचक अक्सर शिकायत करते हैं कि वे बहुत जटिल हैं[8] और विशिष्ट ओपन-सोर्स मॉडल कार्यान्वयन के बजाय बड़े सॉफ़्टवेयर विक्रेताओं या इंटीग्रेटर्स पर आधारित है।

संदेश प्रारूप के रूप में XML के वेब सेवाओं के उपयोग और लिफाफा और परिवहन में SOAP/HTTP के कारण प्रदर्शन के बारे में भी चिंताएं हैं।[9]


वेब सेवाओं का प्रतिगमन परीक्षण

डब्लूएसडीएल पार्सिंग की मदद से वेब सेवाओं का कार्यात्मक और गैर-कार्यात्मक परीक्षण किया जाता है। अपग्रेड सॉफ़्टवेयर में किए गए परिवर्तनों की पहचान करके प्रतिगमन परीक्षण किया जाता है। वेब सेवा प्रतिगमन परीक्षण आवश्यकताओं को तीन अलग-अलग तरीकों से वर्गीकृत किया जा सकता है, अर्थात्, डब्लूएसडीएल में परिवर्तन, कोड में परिवर्तन, और संचालन के चयनात्मक पुन: परीक्षण। हम उपसमुच्चय डब्लूएसडीएल के तीन मध्यवर्ती रूपों में उपरोक्त तीन जरूरतों को पकड़ सकते हैं,[7]अर्थात्, अंतर WSDL (DWSDL), यूनिट WSDL (UWSDL), और कम WSDL (RWSDL), क्रमशः। इन तीन सबसेट डब्लूएसडीएल को फिर संयुक्त डब्लूएसडीएल (सीडब्ल्यूएसडीएल) बनाने के लिए जोड़ा जाता है जिसे आगे वेब सेवा के प्रतिगमन परीक्षण के लिए उपयोग किया जाता है। यह ऑटोमेटेड वेब सर्विस चेंज मैनेजमेंट (एडब्ल्यूएससीएम) में मदद करेगा।[10]पुराने परीक्षण सूट से कम परीक्षण सूट बनाने के लिए प्रासंगिक परीक्षण मामलों का चयन करके। [11] सोपयूआई, ओरेकल एप्लीकेशन टेस्टिंग सूट (ओएटीएस) जैसे कई टेस्ट ऑटोमेशन टूल्स का उपयोग करके वेब सेवाओं के परीक्षण को भी स्वचालित किया जा सकता है।[12][13] एकीकृत कार्यात्मक परीक्षण, सेलेनियम, आदि।

वेब सेवा परिवर्तन प्रबंधन

वेब सेवा में किए गए परिवर्तनों को पकड़ने और विज़ुअलाइज़ेशन से संबंधित कार्य। परिवर्तनों का विज़ुअलाइज़ेशन और गणना मध्यवर्ती कलाकृतियों (सबसेट WSDL) के रूप में की जा सकती है।[7]परिवर्तन प्रभाव की गणना पर अंतर्दृष्टि परीक्षण, टॉप-डाउन विकास और प्रतिगमन परीक्षण को कम करने में सहायक है। एडब्ल्यूएससीएम[10] एक उपकरण है जो एक डब्लूएसडीएल फ़ाइल में सबसेट डब्लूएसडीएल बनाने के लिए सबसेट ऑपरेशंस की पहचान कर सकता है।

वेब सेवाओं की खोज और खोज

जबकि UDDI का उद्देश्य एक सेवा निर्देशिका के रूप में सेवा करना और वेब सेवाओं की खोज का साधन बनना था, कई विक्रेताओं ने 2005-2008 के बीच अपने UDDI समाधान या रिपॉजिटरी को बंद कर दिया, जिसमें Microsoft, SAP, IBM, अन्य शामिल थे।[14][15] WWW2008 सम्मेलन (बीजिंग, चीन) में प्रकाशित एक प्रमुख अध्ययन[16] SOAP-आधारित वेब सेवाओं की स्थिति प्रस्तुत की और निष्कर्ष निकाला कि अध्ययन के समय उपलब्ध SOAP-आधारित वेब सेवाओं में से केवल 63% ही वास्तव में सक्रिय थीं या उन्हें लागू किया जा सकता था। अध्ययन में यह भी पाया गया कि डिजाइन जटिलता के कारण यूडीडीआई जैसी सेवा रजिस्ट्रियों की तुलना में खोज इंजन वेब सेवाओं की खोज के लिए एक आदर्श स्रोत बन रहे थे।[17]


यह भी देखें

टिप्पणियाँ

  1. Compare: Oya 2008, "Under the current Web Services, […] stakeholder systems must follow the predefined rules for a particular business service including those about business protocols to send/receive messages and about system operation. […] More flexible mechanism is desired where freely built and autonomously running systems can exchange business messages without pre-agreed strict rules. We call it Autonomous Web Services (AWS) and proposed the framework called Dynamic Model Harmonization (DMH) with its algorithm, which dynamically adjusts different business process models between systems […]."[4]


संदर्भ

  1. "Web Services Architecture § Relationship to the World Wide Web and REST Architectures". W3C. Retrieved 11 November 2017.
  2. Benslimane, D.; Dustdar, S.; Sheth, A. (2008). "Services Mashups: The New Generation of Web Applications". IEEE Internet Computing. 10 (5): 13–15. doi:10.1109/MIC.2008.110. S2CID 8124905.
  3. "Web Services Glossary § Web service". W3C. 11 February 2004. Retrieved 24 January 2017.
  4. Oya, Makoto (2008-09-02). "Autonomous Web Services Based on Dynamic Model Harmonization". In Oya, Makoto; Uda, Ryuya; Yasunobu, Chizuko (eds.). Towards Sustainable Society on Ubiquitous Networks: The 8th IFIP Conference on E-Business, E-Services, and E-Society (I3E 2008), September 24 – 26, 2008, Tokyo, Japan. IFIP Advances in Information and Communication Technology. Vol. 286. Springer Science & Business Media (published 2008). p. 139. ISBN 9780387856902. Retrieved 2015-08-19.
  5. "नीचे-ऊपर वेब सेवाएँ बनाना". Eclipse. Retrieved 11 November 2017.
  6. "टॉप-डाउन वेब सेवाएँ बनाना". Eclipse. Retrieved 11 November 2017.
  7. 7.0 7.1 7.2 Chaturvedi, Animesh (2014). विश्लेषण के लिए सबसेट सेवा तक पहुँचने के लिए WSDL को सब्सक्राइब करें. 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. p. 688. doi:10.1109/CloudCom.2014.149. ISBN 978-1-4799-4093-6.
  8. Bray, Tim (2004-10-28). "डब्ल्यूएस-पेजकाउंट". TBray.org. Retrieved 2011-04-22.
  9. Gray, N. A. B. (2005). "Performance of Java Middleware – Java RMI, JAX-RPC, and CORBA". University of Wollongong: 31–39. The results presented in this paper show that the nature of response data has a greater impact on relative performance than has been allowed for in most previous studies.
  10. 10.0 10.1 Chaturvedi, Animesh (2014). स्वचालित वेब सेवा परिवर्तन प्रबंधन AWSCM - एक उपकरण. 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. p. 715. doi:10.1109/CloudCom.2014.144. ISBN 978-1-4799-4093-6.
  11. Chaturvedi, Animesh; Gupta, Atul (2013). वेब सेवाओं के कुशल प्रतिगमन परीक्षण करने के लिए एक उपकरण-समर्थित दृष्टिकोण. 2013 IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems. p. 50. doi:10.1109/MESOCA.2013.6632734. ISBN 978-1-4673-4889-8.
  12. Oracle Application Testing Suite
  13. Web Services Testing using Oracle Application Testing Suite
  14. Krill, Paul (2005-12-16). "Microsoft, IBM, SAP ने UDDI रजिस्ट्री प्रयास को बंद कर दिया". InfoWorld (in English). Retrieved 2022-05-28.
  15. QuinnRadich. "Removal of UDDI Services from Server Operating System - Win32 apps". docs.microsoft.com (in English). Retrieved 2022-05-28.
  16. "WWW2008 - WWW 2008: 17th International World Wide Web Conference (Welcome)" (in English). Retrieved 2022-05-28.
  17. Al-Masri, Eyhab; Mahmoud, Qusay H. (2008-04-21). "वर्ल्ड वाइड वेब पर वेब सेवाओं की जांच करना". Proceedings of the 17th international conference on World Wide Web. WWW '08. New York, NY, USA: Association for Computing Machinery: 795–804. doi:10.1145/1367497.1367605. ISBN 978-1-60558-085-2.


बाहरी संबंध