2009-12-23 19 views
124

के बीच क्या अंतर है XML Schema और WSDL के बीच क्या अंतर है?एक्सएसडी और डब्ल्यूएसडीएल

अंतर मैंने देखा कि WSDL में XSD और WSDL में हम संचालन की घोषणा कर सकते हैं, लेकिन XSD में नहीं। क्या वो सही है?

उत्तर

126

एक्सएसडी एक स्कीमा परिभाषित करता है जो एक XML दस्तावेज़ को कैसे संरचित किया जा सकता है इसकी परिभाषा है। आप यह जांचने के लिए इसका उपयोग कर सकते हैं कि दिया गया XML दस्तावेज़ मान्य है और स्कीमा में आपके द्वारा निर्धारित नियमों का पालन करता है।

डब्लूएसडीएल एक एक्सएमएल दस्तावेज़ है जो एक वेब सेवा का वर्णन करता है। यह दिखाता है कि कौन से परिचालन उपलब्ध हैं और उन परिचालनों को भेजने के लिए डेटा को कैसे संरचित किया जाना चाहिए।

डब्ल्यूएसडीएल दस्तावेज़ों में एक संबद्ध एक्सएसडी है जो दिखाता है कि डब्लूएसडीएल दस्तावेज़ में क्या वैध है।

+9

पाओलो उत्तर सही है। बस इसे बढ़ा रहा है। चूंकि डब्लूएसडीएल वास्तव में एक्सएमएल है और इसकी संरचना को मान्य करने के लिए एक्सएसडी हो सकता है या नहीं। एसोसिएटेड एक्सएसडी एक अलग फाइल हो सकती है और डब्लूएसडीएल में आयात किया जा सकता है या पूर्ण एक्सएसडी को टैग का उपयोग करके डब्लूएसडीएल फ़ाइल में इनलाइन एम्बेड किया जा सकता है। अधिक जानकारी के लिए http://www.ibm.com/developerworks/webservices/library/ws-tip-imports/ – supernova

+0

डब्लूएसडीएल @ http://schemas.xmlsoap.org/wsdl/ –

+0

के लिए आईबीएम एक्सएसडी यदि वे बहुत अधिक अलग चीजें हैं, तो यह क्यों है कि जब मैं नेटबीन्स में एक वेब सेवा बनाता हूं, तो मुझे एक ' स्वचालित रूप से यूआरएल में xsd = 1'? – CodyBugstein

8

एक्सएसडी दस्तावेज़ को सत्यापित करना है, और एक्सएमएल के बारे में मेटाडेटा है जबकि डब्ल्यूएसडीएल webservice स्थान और संचालन का वर्णन करना है।

3

एक्सएसडी (एक्सएमएल स्कीमा परिभाषा) तत्व को किसी XML दस्तावेज़ में परिभाषित करता है। इसका उपयोग यह सत्यापित करने के लिए किया जा सकता है कि xml दस्तावेज़ में तत्व उस वर्णन का पालन करते हैं जिसमें सामग्री को रखा जाना है। जबकि wsdl विशिष्ट प्रकार का XML दस्तावेज़ है जो वेब सेवा का वर्णन करता है। डब्ल्यूएसडीएल स्वयं एक्सएसडी का पालन करता है।

161

डबल्यूएसडीएल (वेब ​​सेवा विवरण भाषा) आपकी सेवा और इसके संचालन का वर्णन करता है - क्या सेवा कहा जाता है, जो तरीकों यह प्रदान करता है, किस तरह मापदंडों में की और वापसी मान इन तरीकों है?

यह सेवा के व्यवहार का विवरण है - यह कार्यक्षमता है।

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

यह डेटाटाइप का विवरण है और इस प्रकार सेवा के स्थिर गुण - यह डेटा के बारे में है।

+19

यह एक बेहतर जवाब है जो डब्लूएसडीएल के संदर्भ में एक्सएसडी को समझाता है और दोनों के बीच सिर्फ अंतर नहीं है। जोड़ने के लिए, टैग में एक्सएसडी परिभाषाएं डब्लूएसडीएल का हिस्सा हैं। – airboss

1

डब्लूएसडीएल - इसमें ऑपरेशन शामिल है जैसे एक webservice प्रदान करता है। और ये विधि सरल डेटा प्रकार जैसे इंट, फ्लोट इत्यादि और जटिल डेटा प्रकार जैसे ऑब्जेक्ट्स, वैक्टर, एरे इत्यादि स्वीकार कर सकती हैं, इसलिए इसे मैप करना xml डेटाटाइप xsd का उपयोग किया जाता है। और xsd पर आधारित उपयोगकर्ता जो विभिन्न प्लेटफ़ॉर्म से webservice को प्राप्त करना चाहता है, वह डेटा को उचित रूप से प्रदान कर सकता है।

संदर्भ: ayazroomy-java.blogspot.com webservice की मूल बातें पढ़ने के लिए।

42

एक्सएसडी: एक्सएमएल स्कीमा परिभाषा।

एक्सएमएल: एक्सटेन्सिबल मार्कअप भाषा।

डब्ल्यूएसडीएल: वेब सेवा परिभाषा भाषा।

मैं तकनीकी शर्तों में जवाब देने वाला नहीं हूं। मैं शुरुआती लोगों पर इस स्पष्टीकरण का लक्ष्य रख रहा हूं।

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

एक्सएसडी एक स्कीमा परिभाषा है। इसका मतलब यह है कि, यह उपयोगकर्ताओं को इस तरह के स्कीमा में अपना एक्सएमएल विकसित करने के लिए कह रहा है। कृपया नीचे दी गई छवियां देखें, और कृपया "लोड-ऑन-स्टार्टअप" तत्व और इसके प्रकार जो पूर्णांक है, के साथ बारीकी से देखें। एक्सएसडी छवि में आप देख सकते हैं कि यह "लोड-ऑन-स्टार्टअप" के लिए पूर्णांक मान है और इसलिए जब उपयोगकर्ता ने अपना एक्सएमएल बनाया है तो उन्होंने उस विशेष तत्व के लिए एक int मान पारित किया है। एक अनुस्मारक के रूप में, एक्सएसडी एक स्कीमा और शैली है जबकि एक्सएमएल एक अन्य अनुप्रयोग या सिस्टम के साथ संवाद करने के लिए एक रूप है। आपको एक्सएसडी देखना और एक्सएमएल को इस तरह से बनाना है या नहीं, यह किसी अन्य एप्लिकेशन या सिस्टम के साथ संवाद नहीं करेगा जिसे एक अलग तकनीक के साथ विकसित किया गया है। शिकागो में एक कंपनी टेक्सास में किसी कंपनी के लिए दिए गए एक्सएसडी प्रारूप में अपना एक्सएमएल लिखने या उत्पन्न करने के लिए एक्सएसडी टेम्पलेट प्रदान करती है। यदि टेक्सास में कंपनी एक्सएसडी में उल्लिखित उन नियमों या स्कीमा का पालन करने में विफल रही तो शिकागो में कंपनी से सही जानकारी की अपेक्षा करना असंभव है। उपरोक्त कहा गया कहानी के बाद ऐसा करने के लिए बहुत कुछ करना है, जो कि मैंने कहा था कि कुछ चीज़ों के लिए कोडिंग करते समय एक शौकिया या नौसिखिया को जानना है। यदि आप वास्तव में जानना चाहते हैं कि बाद में क्या होता है तो वरिष्ठ सॉफ्टवेयर इंजीनियरों के साथ बैठना बेहतर होता है, जिन्होंने वास्तव में वेब सेवाएं विकसित की हैं। अगला डब्लूएसडीएल आता है, कृपया छवियों का पालन करें और यह पता लगाने की कोशिश करें कि डब्लूएसडीएल कहाँ फिट होगा।

*************** ======== नीचे आंशिक है एक्सएमएल छवि ========== *************** XML image partial

*************** == ====== नीचे आंशिक XSD छवि ========== ***************

XSD image partial

है ***** ********** ======== नीचे आंशिक डब्लूएसडीएल छवि है ======= *************

WSDL image partial

मुझे पुस्तक नामक एक वेब सेवा के लिए नमूना डब्ल्यूएसडीएल बनाना पड़ा। नोट, यह एक एक्सएसडी है लेकिन आपको इसे डब्लूएसडीएल (वेब ​​सेवा परिभाषा भाषा) कहना है क्योंकि यह वेब सेवाओं के लिए बहुत विशिष्ट है। नीचे डब्लूएसडीएल (या दूसरे शब्दों में एक्सएसडी) बुक.जावा नामक कक्षा के लिए बनाया गया है और इसने एक एसओएपी सेवा बनाई है। एसओएपी वेब सेवा कैसे बनाई गई यह एक अलग विषय है। किसी को जावा क्लास लिखना होगा और उसे वेब सेवा के रूप में निष्पादित करने से पहले उपयोगकर्ता को यह सुनिश्चित करना होगा कि एक्सिस 2 एपीआई स्थापित है और वेब सेवा होस्ट करने के लिए टोमकैट जगह पर है।

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

मुझे आशा है कि विशेषज्ञ मेरे उत्तर में योगदान देंगे। एक्सएमएल, एक्सएसडी और फिर वेब सेवाओं पर काम करने के लिए नौसिखिया या नौसिखिया के लिए वास्तव में मुश्किल है।

+2

बहुत विस्तृत जानकारी। वास्तव में इसे पसंद आया। – Gendaful

+0

उपयोगी जानकारी। – 0991

0

यदि कोई समानता की तलाश में है, तो यह उत्तर उपयोगी हो सकता है।

डब्लूएसडीएल MySQL में 'शो टेबल स्थिति' कमांड की तरह है। यह सभी तत्वों को परिभाषित करता है (अनुरोध प्रकार, प्रतिक्रिया प्रकार, यूआरएल का प्रारूप हिट अनुरोध, आदि), जो एक्सएमएल का हिस्सा होना चाहिए। परिभाषा के अनुसार मेरा मतलब है: 1) अनुरोध या प्रतिक्रिया के नाम 2) इनपुट के रूप में क्या माना जाना चाहिए, आउटपुट के रूप में क्या माना जाना चाहिए।

एक्सएसडी MySQL में डीईएससी कमांड की तरह है। यह बताता है कि सभी चर और उनके प्रकार, एक अनुरोध और प्रतिक्रिया क्या है।

संबंधित मुद्दे