WSDL, SOAP और REST क्या हैं?


153

WSDL क्या है ? यह SOAP से कैसे संबंधित है ? REST उस सब में कहाँ फिट बैठता है?


2
आप किस तरह के "उदाहरण" देख रहे हैं? जैसा कि मैंने कहा, यह कोई साधारण बात नहीं है कि आप "सरल" उदाहरण प्राप्त कर सकते हैं।
जॉन सॉन्डर्स

जवाबों:


180

एक WSDL एक XML दस्तावेज़ है जो एक वेब सेवा का वर्णन करता है। यह वास्तव में वेब सेवा विवरण भाषा के लिए है।

SOAP एक XML- आधारित प्रोटोकॉल है जो आपको अनुप्रयोगों के बीच एक विशेष प्रोटोकॉल (HTTP या SMTP हो सकता है) के बारे में जानकारी का आदान-प्रदान करने देता है। यह सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल के लिए है और सूचना को रिले करने के लिए अपने मैसेजिंग फॉर्मेट के लिए XML का उपयोग करता है।

REST नेटवर्क्ड सिस्टमों की एक स्थापत्य शैली है और इसका प्रतिनिधित्व प्रतिनिधि राज्य अंतरण के लिए है। यह स्वयं एक मानक नहीं है, लेकिन यह HTTP, URL, XML, आदि जैसे मानकों का उपयोग करता है।


4
मेरा मतलब एसएमटीपी या एचटीटीपी को प्रोटोकॉल के उदाहरणों के रूप में रखा जाता है जिन्हें एसओएपी का उपयोग किया जा सकता है। मेरा मतलब यह नहीं था कि HTTP एकमात्र ऐसा प्रोटोकॉल है जिसका उपयोग किया जा सकता है (केवल उदाहरण के रूप में इसका उपयोग कर रहा था)।
कीथ_ सी। पी।

7
रिप्रेजेंटेटिव स्टेट ट्रांसफर (REST) ​​एक वास्तुशिल्प शैली है जो बाधाओं को निर्दिष्ट करती है, जैसे कि समान इंटरफ़ेस, जो कि अगर किसी वेब सेवा पर लागू होती है, तो वांछनीय गुणों, जैसे प्रदर्शन, मापनीयता और परिवर्तनशीलता को प्रेरित करती है, जो सेवाओं को वेब पर सबसे अच्छा काम करने में सक्षम बनाती है। REST शैली में, डेटा और कार्यक्षमता को संसाधन माना जाता है और यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) का उपयोग करके एक्सेस किया जाता है। संसाधनों को सरल, अच्छी तरह से परिभाषित संचालन के एक सेट का उपयोग करके किया जाता है। यह क्लाइंट / सर्वर आर्किटेक्चर का अनुसरण करता है और इसे एक स्टेटलेस कम्युनिकेशन प्रोटोकॉल, आमतौर पर HTTP का उपयोग करने के लिए डिज़ाइन किया गया है।
राजाम

4
क्या WSDL में "D" "परिभाषा" के बजाय "विवरण" के लिए खड़ा नहीं है?
स्पार्कज

11
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language." यह वास्तव में यह नहीं बताता है कि यह क्या है ...
ओजोनुगवा जूड ओचलिफु

2
विकिपीडिया के अनुसार @Sparkzz:The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
Bochu

106

उदाहरण: एक सरल शब्दों में यदि आपके पास कैलकुलेटर की वेब सेवा है।

डब्लूएसडीएल: डब्लूएसडीएल उन कार्यों के बारे में बताता है जिन्हें आप ग्राहक को लागू या उजागर कर सकते हैं। उदाहरण के लिए: जोड़ें, हटाना, घटाना और इसी तरह।

SOAP: जहाँ SOAP का उपयोग करते हुए आप वास्तव में doDelete (), doSubtract (), doAdd () जैसे कार्य करते हैं। तो SOAP और WSDL सेब और संतरे हैं। हमें उनकी तुलना नहीं करनी चाहिए। इन दोनों की अपनी अलग कार्यक्षमता है।

हम SOAP और WSDL का उपयोग क्यों करते हैं: प्लेटफ़ॉर्म स्वतंत्र डेटा एक्सचेंज के लिए।

संपादित करें: एक सामान्य दिन से दिन जीवन उदाहरण के लिए:

डब्ल्यूएसडीएल: जब हम किसी रेस्तरां में जाते हैं तो हम मेनू आइटम देखते हैं, वे डब्ल्यूएसडीएल के हैं।

प्रॉक्सी कक्षाएं: अब मेनू आइटम देखने के बाद हम अपना माइंड बनाते हैं (ऑर्डर करने के लिए अपना दिमाग प्रोसेस करते हैं): तो, मूल रूप से हम WSDL डॉक्यूमेंट के आधार पर प्रॉक्सी क्लास बनाते हैं।

SOAP: तब जब हम वास्तव में मेनू के आधार पर भोजन का आदेश देते हैं : तो इसका मतलब है कि हम एसओएपी द्वारा की जाने वाली सेवा विधियों पर कॉल करने के लिए प्रॉक्सी कक्षाओं का उपयोग करते हैं। :)


38

जब भी कोई SOAP / WSDL का उल्लेख करता है, मुझे लगता है कि वस्तुओं और वर्गों को xml में परिभाषित किया गया है ...

"आप SOAP का उपयोग उसी तरह से करते हैं जैसा कि आप किसी भी PHP वर्ग में करते हैं। हालाँकि, इस मामले में वर्ग स्थानीय अनुप्रयोग फ़ाइल सिस्टम में मौजूद नहीं है, लेकिन http पर एक्सेस की गई दूरस्थ साइट पर है।" ... "अगर हम SOAP सेवा को सिर्फ एक अन्य PHP वर्ग के रूप में उपयोग करने के बारे में सोचते हैं तो WSDL दस्तावेज़ सभी उपलब्ध वर्ग विधियों और गुणों की एक सूची है।"

http://www.doublehops.com/2009/07/07/quick-tutorial-on-getting-started-with-soap-in-php/comment-page-1/

..और जब भी कोई आरईएसटी के बारे में बात करता है तो मैं HTTP के आदेशों (अनुरोध विधियों) जैसे POST, GET और DELETE के बारे में सोचता हूं


19

SOAP -> SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकल) मशीन से मशीन इंटरैक्शन के लिए बनाया गया एप्लीकेशन स्तर का प्रोटोकल है। प्रोटोकॉल मानक नियमों को परिभाषित करता है। सभी दल जो विशेष प्रोटोकॉल का उपयोग कर रहे हैं, उन्हें प्रोटोकॉल नियमों का पालन करना चाहिए। टीसीपी की तरह, यह ट्रांसपोर्ट लेयर पर अनइंस्टॉल होता है, एसओएपी प्रोटोकॉल को एप्लिकेशन लेयर (एसओएपी - आईआईएस 2, .Net का समर्थन करने वाला कोई भी एप्लिकेशन) समझा जाएगा।

डब्लूएसडीएल -> एसओएपी संदेश में सोपनेवेल्यूड-> साबुनैपियर और साबुनबॉडी शामिल हैं। यह परिभाषित नहीं करता है कि संदेश प्रारूप क्या होगा? सभी ट्रांसपोर्ट (HTTP, JMS) इसका समर्थन करते हैं? इस जानकारी के बिना, यह किसी भी ग्राहक के लिए कठिन है जो SOAP संदेश के निर्माण के लिए विशेष वेब सेवा का उपभोग करना चाहता है। यहां तक ​​कि अगर वे करते हैं, तो वे निश्चित नहीं होंगे, यह हर समय काम करेगा। डब्ल्यूएसडीएल बचाव है। WSDL (वेब ​​सेवा विवरण भाषा) SOAP संदेश के संचालन, संदेश प्रारूप और परिवहन विवरण को परिभाषित करता है।

REST -> REST (प्रतिनिधि राज्य स्थानांतरण) परिवहन पर आधारित है। SOAP के विपरीत जो क्रियाओं को लक्षित करता है, REST संसाधनों पर अधिक चिंता करता है। REST URL (उदाहरण -http: // {serverAddress} / कर्मचारी / कर्मचारीनंबर / 12345) का उपयोग करके संसाधनों का पता लगाता है और यह परिवहन प्रोटोकॉल (HTTP - GET, POST, PUT, DELETE, ...) पर निर्भर करता है संसाधनों पर प्रदर्शन किया जाए। REST सेवा URL के आधार पर संसाधन का पता लगाती है और परिवहन क्रिया के आधार पर कार्रवाई करती है। यह वास्तुशिल्प शैली और सम्मेलनों पर आधारित है।


16

आप कुछ जटिल समझने के लिए "बस" नहीं जा रहे हैं।

वेब सेवा का वर्णन करने के लिए WSDL एक XML- आधारित भाषा है। यह सेवा द्वारा उपयोग किए जाने वाले संदेशों, संचालन और नेटवर्क परिवहन जानकारी का वर्णन करता है। ये वेब सेवाएँ आमतौर पर SOAP का उपयोग करती हैं, लेकिन अन्य प्रोटोकॉल का उपयोग कर सकती हैं।

एक WSDL एक प्रोग्राम द्वारा पठनीय है, और इसलिए वेब सेवा को कॉल करने के लिए आवश्यक सभी या ग्राहक कोड का हिस्सा उत्पन्न करने के लिए उपयोग किया जा सकता है। यह SOAP आधारित वेब सेवाओं को "आत्म-वर्णन" कहने का मतलब है।

REST WSDL से संबंधित नहीं है।


11

SOAP का अर्थ है सिंपल (sic) ऑब्जेक्ट एक्सेस प्रोटोकॉल। यह XML पर HTTP पर भेजकर दूरस्थ वस्तुओं को दूरस्थ प्रक्रिया कॉल करने का एक तरीका होने का इरादा था।

डब्ल्यूएसडीएल वेब सेवा विवरण भाषा है। एंडपॉइंट के लिए '.wsdl' में समाप्त होने वाले अनुरोध के परिणामस्वरूप अनुरोध और प्रतिक्रिया का वर्णन करने वाले XML संदेश में परिणाम आएगा। यह सेवा और ग्राहक के बीच अनुबंध को समाप्त कर देता है।

REST, सेवाओं को संदेश भेजने के लिए HTTP का उपयोग करता है।

SOAP एक युक्ति है, REST एक शैली है।


2
-1: क्षमा करें, लेकिन मैं SOAP को RPC के साथ जोड़ने से असहमत हूं। संदेश-शैली सेवाओं के बारे में क्या? इसके अलावा, कोई मानक नहीं है जो कहता है कि .sdl या wsdl को समाप्त करने का अनुरोध एक WSDL उत्पन्न करेगा।
जॉन सॉन्डर्स

4
क्या आप कह रहे हैं कि आप SOAP के साथ RPC नहीं कर सकते हैं? मुझे पता है कि पूरे मानक को शामिल नहीं किया जा सकता है, लेकिन यह निश्चित रूप से मूल प्रेरणा थी। जहां तक ​​WSDL URL मानक का हिस्सा है या नहीं, मैं मानता हूं कि आप मेरे पास हैं। यह आमतौर पर जिस तरह से मैंने इसे देखा है, लेकिन मैं इसे जनादेश देने वाले मानक में कुछ भी उद्धृत नहीं कर सकता।
duffymo

1
आप इस तथ्य को भ्रमित कर रहे होंगे कि एसओएपी एक्सएमएल-आरपीसी से इस विचार के साथ लिया गया था कि एसओएपी मूल रूप से आरपीसी के रूप में अभिप्रेत था। फिर भी ध्यान दें कि शुरुआत से ही डब्ल्यूएसडीएल, आरपीसी शैली सेवाओं के अलावा दस्तावेज़-शैली सेवाओं का वर्णन करने में सक्षम था। यदि RPC SOAP और WSDL के पीछे मूल प्रेरणा थी, तो कोई यह उम्मीद करेगा कि दस्तावेज़-शैली सेवाएँ मूल मानक से अनुपस्थित रही होंगी।
जॉन सॉन्डर्स

6

विकिपीडिया का कहना है "वेब सेवाएँ विवरण भाषा एक XML- आधारित भाषा है जो वेब सेवाओं का वर्णन करने के लिए एक मॉडल प्रदान करती है"। दूसरा तरीका रखो, WSDL एक वेब सेवा के लिए है, क्योंकि javadoc एक java लाइब्रेरी में है।

WSDL के बारे में वास्तव में मीठी बात यह है कि सॉफ़्टवेयर WSDL का उपयोग करके क्लाइंट और सर्वर उत्पन्न कर सकता है।


4

एन्कोडिंग के संदर्भ में आरईएस हल्के-वजन वाला है, हल्के वजन वाले उपकरणों के लिए अधिक उपयोगी है अर्थात गैर सख्त एपीआई।

REST प्रारूप स्वतंत्र है। XML, HTML, JSON सभी विकल्प उपलब्ध हैं।

REST 2 पॉइंट मैसेज ट्रांसफर की क्षमता प्रदान करता है (आश्चर्य की बात नहीं है क्योंकि REST का प्रतिनिधित्व स्टेटिक ट्रांसफर के लिए है) जहाँ WSDL / SOAP इंटरैक्शन मल्टीपल पॉइंट मैसेज इंटरैक्शन है।

REST को XML संदेशों के लिए एक नए एक्सटेंशन की आवश्यकता नहीं है, जहाँ WSDL / SOAP में यह मामला है।

WSDL / SOAP कई परिवहन प्रोटोकॉल का उपयोग करता है, REST केवल HTTP पर निर्भर करता है। इसलिए WSDL / SOAP को एक RESTful तरीके की तरह इस्तेमाल किया जा सकता है, हालाँकि सरल अनुरोध अत्यधिक जटिल / भारी भारित हो सकते हैं।

एक साधारण सादृश्य: REST एक मोटोबॉय की तरह है जो आपके भोजन को आसान और त्वरित बनाता है। XML ने WSDL / SOAP को यूपीएस डिलीवरी, अधिक संरचित और गंभीर सामान की तरह विस्तारित किया लेकिन एक लागत के साथ आता है।



0

एक WSDL दस्तावेज़ एक webservice का वर्णन करता है। यह इन प्रमुख तत्वों का उपयोग करते हुए सेवा के स्थान और सेवा के तरीकों को निर्दिष्ट करता है: प्रत्येक ऑपरेशन के लिए वेबबेस सेवा के तत्वों का उपयोग करने वाले डेटा प्रकार उन कार्यों का वर्णन करते हैं जो प्रदर्शन किए जा सकते हैं और संदेश सक्रिय होते हैं

SOAP (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) एक मैसेजिंग प्रोटोकॉल है, जो ऐसे प्रोग्रामों की अनुमति देता है जो http और xml का उपयोग करके संचार करने के लिए असमान ऑपरेटिंग सिस्टम पर चलते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.