json जेएसओएन, आरईएसटी, एसओएपी, डब्ल्यूएसडीएल, और एसओए: वे सभी एक साथ कैसे जुड़ते हैं




rest soap (2)

वर्तमान में कुछ परीक्षाएं कर रही हैं और मैं कुछ अवधारणाओं के माध्यम से संघर्ष कर रहा हूं। इन सभी को वास्तव में मेरे नोट्स में 'उल्लेख किया गया' है लेकिन मुझे वास्तव में समझ में नहीं आया कि वे सभी एक साथ कैसे जुड़े हुए हैं। जहां तक ​​मेरी समझ है:

एसओए - सेवा उपभोक्ताओं / प्रदाताओं को संवाद करने का एक समाधान। (जहां तक ​​मैं समझता हूं कि यह सब कुछ के लिए छतरी शब्द है)

डब्ल्यूएसडीएल - एक भाषा जो प्रदाता सेवा का वर्णन करती है।

एसओएपी - संदेश भेजने के लिए सेवाओं द्वारा उपयोग किए जाने वाले एक्सएमएल प्रोटोकॉल 'रैपर'। पैरामीटर प्रदान करने के लिए डब्ल्यूएसडीएल के साथ मिलकर काम करता है?

REST - एक डिज़ाइन पैटर्न जो फ़ंक्शन में SOAP के समान है लेकिन एक्सएमएल से बचाता है? (वास्तव में इस बारे में निश्चित नहीं है)

जेएसओएन - एक्सएमएल का एक विकल्प जो जावास्क्रिप्ट का उपयोग करता है? (इस बारे में निश्चित नहीं है)

इंटरनेट में चारों ओर देखकर यह स्पष्ट नहीं होता है कि ये सभी क्या हैं और वे कैसे जुड़ते हैं।


कल्पना करें कि आप एक वेब-एप्लिकेशन विकसित कर रहे हैं और आप एप्लिकेशन की प्रस्तुति से कार्यक्षमता को कम करने का निर्णय लेते हैं, क्योंकि यह अधिक स्वतंत्रता प्रदान करता है।

आप एक एपीआई बनाते हैं और दूसरों को इसके साथ-साथ अपने स्वयं के फ्रंट-एंड को भी लागू करने देते हैं। आपने अभी जो किया वह SOA पद्धति को लागू करता है, यानी वेब-सेवाओं का उपयोग करना।

वेब सेवाएं प्लेटफॉर्म और प्रोग्रामिंग भाषाओं से स्वतंत्र मानक इंटरनेट प्रोटोकॉल पर कार्यात्मक बिल्डिंग-ब्लॉक को सुलभ बनाती हैं।

इसलिए, आप बैक-एंड (वेब-सेवा) के बीच एक इंटरचेंज तंत्र तैयार करते हैं जो कुछ उपयोगी प्रसंस्करण और पीढ़ी करता है, और फ्रंट एंड (जो डेटा का उपभोग करता है), जो कुछ भी हो सकता है। (एक वेब, मोबाइल, या डेस्कटॉप एप्लिकेशन, या एक और वेब सेवा)। यहां एकमात्र सीमा यह है कि फ्रंट एंड एंड बैक एंड को "भाषा" बोलना चाहिए।

यही वह जगह है जहां एसओएपी और आरईएसटी आते हैं। वे मानक तरीके हैं जिन्हें आप वेब सेवा के साथ संवाद करना चाहते हैं।

साबुन:

SOAP आंतरिक रूप से डेटा भेजने के लिए आंतरिक रूप से एक्सएमएल का उपयोग करता है। एसओएपी संदेशों में कठोर संरचना होती है और प्रतिक्रिया एक्सएमएल को तब पार्स किया जाना चाहिए। डब्ल्यूएसडीएल एक विनिर्देश है कि कौन से अनुरोध किए जा सकते हैं, किस पैरामीटर के साथ, और वे क्या वापस आ जाएंगे। यह आपके एपीआई का एक पूर्ण विनिर्देश है।

आराम:

आरईएसटी एक डिजाइन अवधारणा है।

वर्ल्ड वाइड वेब आरईएसटी वास्तुशिल्प शैली के अनुरूप एक प्रणाली के सबसे बड़े कार्यान्वयन का प्रतिनिधित्व करता है।

यह एसओएपी के रूप में कठोर नहीं है। रीस्टफुल वेब-सर्विसेज मानक यूआरआई और webservice पर कॉल करने के तरीकों का उपयोग करते हैं। जब आप एक यूआरआई का अनुरोध करते हैं , तो यह किसी ऑब्जेक्ट का प्रतिनिधित्व देता है, जिसके बाद आप ऑपरेशन कर सकते हैं (जैसे प्राप्त करें, पुट, पोस्ट करें, हटाएं)। डेटा का प्रतिनिधित्व करने के लिए आप XML चुनने तक सीमित नहीं हैं, आप वास्तव में कुछ भी चुन सकते हैं (JSON शामिल)

फ़्लिकर का आरईएसटी एपीआई आगे बढ़ता है और आपको छवियों को भी वापस करने देता है।

जेएसओएन और एक्सएमएल, कार्यात्मक रूप से समकक्ष हैं, और या तो चुना जा सकता है। एक्सएमएल को बहुत वर्बोज़ के रूप में माना जाता है, और पार्स करना कठिन होता है, कई बार, डेटा जेएसओएन का उपयोग करके अधिक पर्याप्त रूप से प्रदर्शित किया जाता है। (जैसे क्रमबद्धता)

यह फिर भी एक विकल्प है।


डब्ल्यूएसडीएल : वेब सेवा विवरण भाषा के लिए खड़ा है

एसओएपी (सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल) में, जब आप वेब सेवा का उपयोग करते हैं और अपनी प्रोजेक्ट में एक वेब सेवा जोड़ते हैं, तो आपके क्लाइंट एप्लिकेशन को वेब सेवा फ़ंक्शन के बारे में पता नहीं होता है। आजकल यह किसी भी तरह का पुराना फैशन है और प्रत्येक प्रकार के विभिन्न क्लाइंट के लिए आपको विभिन्न WSDL फाइलों को लागू करना होगा। उदाहरण के लिए आप .Net और php क्लाइंट के लिए एक ही फ़ाइल का उपयोग नहीं कर सकते हैं। WSDL फ़ाइल में वेब सेवा कार्यों के बारे में कुछ विवरण हैं। इस फ़ाइल का प्रकार XMLSOAP REST लिए एक विकल्प है।

REST : प्रतिनिधि राज्य हस्तांतरण के लिए खड़ा है

यह एक और प्रकार की एपीआई सेवा है, ग्राहकों के लिए उपयोग करना वास्तव में आसान है। उन्हें WSDL फाइलों जैसे विशेष फ़ाइल एक्सटेंशन की आवश्यकता नहीं है। सीआरयूडी ऑपरेशन को विभिन्न HTTP Verbs द्वारा पढ़ा जा सकता है (पढ़ने के लिए प्राप्त करें, निर्माण के लिए POST, PUTCH या वांछित दस्तावेज़ को हटाने के लिए हटाएं), वे HTML प्रोटोकॉल पर आधारित हैं और अधिकांश बार प्रतिक्रिया JSON या XML प्रारूप। दूसरी ओर क्लाइंट एप्लिकेशन को सटीक पैरामीटर नामों और प्रकारों के माध्यम से संबंधित HTTP Verb को बिल्कुल कॉल HTTP Verb । परिभाषा के लिए विशेष फ़ाइल नहीं होने के कारण, WSDL तरह, यह एंडपॉइंट का उपयोग कर मैन्युअल रूप से नौकरी है। लेकिन यह एक बड़ा सौदा नहीं है क्योंकि अब हमारे पास क्लाइंट-साइड कार्यान्वयन उत्पन्न करने के लिए विभिन्न आईडीई के लिए बहुत सारे प्लगइन हैं।

एसओए : सेवा उन्मुख वास्तुकला के लिए खड़ा है

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

JSON : javascript Object Notation लिए खड़ा है

जब आप जावास्क्रिप्ट के लिए ऑब्जेक्ट को क्रमबद्ध करते हैं तो ऑब्जेक्ट प्रारूप का प्रकार JSON है। कल्पना करें कि आपके पास मानव वर्ग है:

class Human{
 string Name;
 string Family;
 int Age;
}

और आपके पास इस वर्ग से कुछ उदाहरण हैं:

Human h1 = new Human(){
  Name='Saman',
  Family='Gholami',
  Age=26
}

जब आप जेएसओएन को एच 1 ऑब्जेक्ट को क्रमबद्ध करते हैं तो परिणाम होता है:

  [h1:{Name:'saman',Family:'Gholami',Age:'26'}, ...]

javascript eval() फ़ंक्शन द्वारा इस प्रारूप का मूल्यांकन कर सकता है और इस JSON स्ट्रिंग से एक सहयोगी सरणी बना सकता है। मैंने पहले वर्णित अन्य अवधारणाओं की तुलना में यह एक अलग अवधारणा है।





soa