rest - प्रतिनिधि राज्य हस्तांतरण(आरईएसटी) और सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल(एसओएपी)




soap (10)

क्या कोई समझा सकता है कि REST क्या है और सादे अंग्रेजी में SOAP क्या है? और वेब सेवा कैसे काम करती है?


एसओएपी और आरईएसटी के बारे में सरल स्पष्टीकरण

एसओएपी - "सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल"

एसओएपी इंटरनेट पर संदेशों को स्थानांतरित करने, या जानकारी की थोड़ी मात्रा में स्थानांतरित करने का एक तरीका है। एसओएपी संदेशों को एक्सएमएल में स्वरूपित किया जाता है और आमतौर पर HTTP (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल) का उपयोग करके भेजा जाता है।

बाकी - प्रतिनिधि राज्य हस्तांतरण

बाकी क्लाइंट और सर्वर के बीच डेटा भेजने और प्राप्त करने का एक आसान तरीका है और इसमें बहुत से मानकों को परिभाषित नहीं किया गया है। आप JSON, XML या यहां तक ​​कि सादा पाठ के रूप में डेटा भेज और प्राप्त कर सकते हैं। एसओएपी की तुलना में यह हल्का भारित है।


SOAPbased वेब सेवाएं संक्षेप में, SOAPbased सेवा मॉडल दुनिया को समानांतर सहकर्मियों के पारिस्थितिकी तंत्र के रूप में देखता है जो एक-दूसरे को नियंत्रित नहीं कर सकता है, लेकिन प्रकाशित अनुबंधों का सम्मान करके एक साथ काम करना है। यह गन्दा असली दुनिया का एक वैध मॉडल है, और मेटाडाटा आधारित अनुबंध एसओएपी सेवा इंटरफेस बनाते हैं।

हम अभी भी एसएमएपी को एक्सएमएल आधारित रिमोट प्रक्रिया कॉल के साथ जोड़ सकते हैं, लेकिन एसओएपीबीज्ड वेब सर्विसेज टेक्नोलॉजी एक लचीला और शक्तिशाली संदेश मॉडल में उभरा है।

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

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

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

एसओएपी की तुलना में आरईएसटी बहुत कम "हेवीवेट" है।

वेब सेवा का काम


एसओएपी और आरईएसटी दोनों अलग-अलग प्रणालियों के लिए एक दूसरे से बात करने के तरीकों का संदर्भ देते हैं।

REST यह उन तकनीकों का उपयोग करता है जो आपके ब्राउज़र के वेब सर्वर के साथ संचार के समान होते हैं: वेब पेज का अनुरोध करने के लिए GET का उपयोग करके, फॉर्म फ़ील्ड्स में पोस्ट करना आदि।

एसओएपी कुछ समान प्रदान करता है लेकिन एक्सएमएल के ब्लॉक को आगे भेजकर सबकुछ करता है। एसओएपी का एक अन्य महत्वपूर्ण घटक डब्लूएसडीएल है जो एक एक्सएमएल दस्तावेज़ है जो बताता है कि कौन से फ़ंक्शंस और डेटा तत्व समर्थित हैं। डब्ल्यूएसडीएल का प्रयोग प्रोग्रामेटिक रूप से "खोज" करने के लिए किया जा सकता है कि कौन से फ़ंक्शंस समर्थित हैं और प्रोग्रामिंग कोड स्टब्स जेनरेट करने के लिए भी।


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


खैर मैं दूसरे प्रश्न से शुरू करूंगा: वेब सेवाएं क्या हैं? , ज़ाहिर कारणों की वजह से।

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

निम्नलिखित लिंक आरईएसटी और एसओएपी के बारे में एक बेहद स्पष्ट तरीके से कहता है।

एसईएपी बनाम आरईएसटी

यदि आप यह भी जानना चाहते हैं कि (आरईएसटी या एसओएपी) क्या चुनना है, तो इसके माध्यम से जाने का और अधिक कारण!


दोनों विधियों का उपयोग कई बड़े खिलाड़ियों द्वारा किया जाता है। यह वरीयता का मामला है। मेरी वरीयता आरईएसटी है क्योंकि इसका उपयोग करना और समझना आसान है।

सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल (एसओएपी):

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

प्रतिनिधि राज्य हस्तांतरण (आरईएसटी):

  • आरईटीटी को HTTP से अधिक नहीं होना चाहिए, लेकिन नीचे दिए गए मेरे अधिकांश बिंदुओं में HTTP पूर्वाग्रह होगा।
  • आरईएसटी बहुत हल्का है, यह कहते हैं कि एक मिनट प्रतीक्षा करें, हमें इस जटिलता की आवश्यकता नहीं है जिसे एसओएपी बनाया गया है।
  • आम तौर पर सब कुछ बताते हुए एक बड़े एक्सएमएल प्रारूप के बजाय सामान्य HTTP विधियों का उपयोग करता है। उदाहरण के लिए संसाधन प्राप्त करने के लिए आप HTTP GET का उपयोग करते हैं, सर्वर पर संसाधन डालने के लिए आप HTTP PUT का उपयोग करते हैं। सर्वर पर संसाधन को हटाने के लिए आप HTTP DELETE का उपयोग करते हैं।
  • आरईएसटी एक बहुत ही सरल है कि यह सर्वर पर संसाधनों को अद्यतन करने के लिए HTTP GET, POST और PUT विधियों का उपयोग करता है।
  • आरईएसटी आमतौर पर संसाधन ओरिएंटेड आर्किटेक्चर (आरओए) के साथ सबसे अच्छा उपयोग किया जाता है। सोचने के इस तरीके में सब कुछ एक संसाधन है, और आप इन संसाधनों पर काम करेंगे।
  • जब तक आपकी प्रोग्रामिंग भाषा में एक HTTP लाइब्रेरी है, और अधिकांश करते हैं, तो आप बहुत आसानी से एक आरईएसटी HTTP प्रोटोकॉल का उपभोग कर सकते हैं।
  • बाइनरी डेटा या बाइनरी संसाधनों को उनके अनुरोध पर आसानी से पहुंचाया जा सकता है।

गूगल पर आरईएसटी बनाम एसओएपी पर अंतहीन बहसें हैं।

मेरा पसंदीदा यह है । 27 नवंबर 2013 को अपडेट करें: पॉल प्रेस्कोड की साइट ऑफ़लाइन हो गई प्रतीत होती है और यह आलेख अब उपलब्ध नहीं है, हालांकि प्रतियां वेबैक मशीन पर या CiteSeerX पर पीडीएफ के रूप में CiteSeerX


मुझे लगता है कि यह इतना आसान है जितना मैं इसे समझा सकता हूं। कृपया, किसी को भी सही करने या इसमें जोड़ने के लिए आपका स्वागत है।

एसओएपी एक संदेश प्रारूप है जो डिस्कनेक्ट सिस्टम (जैसे इंटरनेट पर) द्वारा सूचना / डेटा का आदान-प्रदान करने के लिए उपयोग किया जाता है। यह एक्सएमएल संदेशों के साथ आगे और आगे जाता है।

वेब सेवाएं एसओएपी संदेशों को प्रेषित या प्राप्त करती हैं। वे किस भाषा में लिखे गए हैं, इस पर निर्भर करते हुए वे अलग-अलग काम करते हैं।


यह सबसे सरल व्याख्या है जिसे आप कभी भी पा सकते हैं।

यह आलेख एक पति को पत्नी कथा में ले जाता है, जहां पति शुद्ध पत्नी के शब्दों में आरईएसटी के बारे में अपनी पत्नी को बताता है। जरूर पढ़े!

how-i-explained-rest-to-my-wife (मूल लिंक)
how-i-explained-rest-to-my-wife (2013-07-19 कामकाजी लिंक)


आराम

मैं समझता हूं कि आरईएसटी का मुख्य विचार बेहद सरल है। हमने वर्षों से वेब ब्राउज़र का उपयोग किया है और हमने देखा है कि कितनी आसान, लचीली, प्रदर्शन, आदि वेबसाइटें हैं। एचटीएमएल साइटें हाइपरलिंक और फॉर्म का उपयोग उपयोगकर्ता इंटरैक्शन के प्राथमिक माध्यम के रूप में करती हैं। उनका मुख्य लक्ष्य हमें, ग्राहकों को केवल उन लिंक को जानने की अनुमति देना है जिन्हें हम वर्तमान स्थिति में उपयोग कर सकते हैं । और आरईएसटी बस कहता है 'क्यों हमारे आवेदन के माध्यम से मानव ग्राहकों की बजाय कंप्यूटर चलाने के लिए एक ही सिद्धांत का उपयोग नहीं करते?' इसे डब्ल्यूडब्ल्यूडब्ल्यू बुनियादी ढांचे की शक्ति के साथ संयोजित करें और आपको महान वितरित अनुप्रयोगों के निर्माण के लिए एक हत्यारा उपकरण मिल जाएगा।

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

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

दुर्भाग्यवश, ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm को छोड़कर, वेब पर आरईएसटी पर सही जानकारी ढूंढना मुश्किल है। (वह वह है जिसने आरईएसटी ली है)। मैं 'अभ्यास में आरईएसटी' पुस्तक की सिफारिश करता हूं क्योंकि यह एसओएपी से आरईएसटी में विकसित होने के तरीके पर एक व्यापक चरण-दर-चरण ट्यूटोरियल देता है।

साबुन

यह आरपीसी (रिमोट प्रोसेस कॉल) आर्किटेक्चर शैली के संभावित रूपों में से एक है। संक्षेप में, यह केवल एक तकनीक है जो ग्राहकों को सेवा सीमाओं (नेटवर्क, प्रक्रियाओं, आदि) के माध्यम से सर्वर के कॉल विधियों की अनुमति देती है जैसे कि वे स्थानीय तरीकों को बुला रहे थे। बेशक, यह वास्तव में गति, विश्वसनीयता और इतने पर स्थानीय तरीकों को कॉल करने से अलग है, लेकिन विचार यह आसान है।

तुलना

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

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

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

अद्यतन करें

मेरे अनुभव ने अप्रत्याशित रूप से एसओएपी की तुलना में अधिक कठिन होने के लिए आरईएसटी विकास दिखाया है। कम से कम .NET के लिए। जबकि एएसपी.नेट वेब एपीआई जैसे महान ढांचे हैं, वहां कोई टूलिंग नहीं है जो स्वचालित रूप से क्लाइंट-साइड प्रॉक्सी उत्पन्न करेगी। 'वेब सेवा संदर्भ जोड़ें' या 'डब्ल्यूसीएफ सेवा संदर्भ जोड़ें' जैसी कुछ भी नहीं। किसी को हाथ से सभी धारावाहिक और सेवा पूछताछ कोड लिखना है। और आदमी, यह बहुत सारे बॉयलरप्लेट कोड है। मुझे लगता है कि आरईएसटी विकास को प्रत्येक विकास मंच के लिए डब्लूएसडीएल और टूलिंग कार्यान्वयन के समान कुछ चाहिए। वास्तव में, ऐसा लगता है कि एक अच्छी जमीन है: डब्ल्यूएडीएल या डब्लूएसडीएल 2.0 , लेकिन मानकों में से कोई भी अच्छी तरह से समर्थित नहीं है।

अपडेट (जनवरी 2016)

आरईएसटी एपीआई परिभाषा के लिए अब विभिन्न प्रकार के टूल्स हैं । मेरी निजी वरीयता वर्तमान में RAML

वेब सेवा कैसे काम करती है

खैर, यह एक बहुत व्यापक सवाल है, क्योंकि यह विशिष्ट वेब सेवा में उपयोग की जाने वाली वास्तुकला और तकनीक पर निर्भर करता है। लेकिन आम तौर पर, एक वेब सेवा वेब पर बस कुछ एप्लिकेशन है जो ग्राहकों से अनुरोध स्वीकार कर सकती है और प्रतिक्रियाएं वापस कर सकती है। यह वेब के संपर्क में है, इस प्रकार यह एक वेब सेवा है, और यह आमतौर पर 24/7 उपलब्ध है, यही कारण है कि यह एक सेवा है । बेशक, यह अपने ग्राहकों के लिए कुछ समस्या हल करता है (अन्यथा कोई भी कभी भी वेब सेवा का उपयोग क्यों करेगा)।


एसओएपी - सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल एक प्रोटोकॉल है !

आरईएसटी - प्रतिनिधिमंडल राज्य हस्तांतरण एक वास्तुशिल्प शैली है !

SOAP एक एक्सएमएल प्रोटोकॉल है जो संदेशों को स्थानांतरित करने के लिए उपयोग किया जाता है, आमतौर पर HTTP पर

REST और SOAP तर्कसंगत रूप से परस्पर अनन्य नहीं हैं। एक विश्वसनीय वास्तुकला HTTP या SOAP या कुछ अन्य संचार प्रोटोकॉल का उपयोग कर सकती है। REST वेब के लिए अनुकूलित है और इस प्रकार HTTP एक आदर्श विकल्प है। रॉय फील्डिंग के पेपर में HTTP पर एकमात्र प्रोटोकॉल भी चर्चा की गई है।

हालांकि आरईएसटी और एसओएपी स्पष्ट रूप से बहुत अलग हैं, सवाल इस तथ्य को उजागर करता है कि REST और HTTP अक्सर उपयोग में लाया जाता है। यह मुख्य रूप से HTTP की सादगी और रीस्टफुल सिद्धांतों के लिए इसकी प्राकृतिक मानचित्रण के कारण है।

मौलिक रीस्ट सिद्धांतों

ग्राहक-सर्वर संचार

क्लाइंट-सर्वर आर्किटेक्चर में चिंताओं का एक बहुत ही अलग अलगाव है। रीस्टफुल शैली में बनाए गए सभी एप्लिकेशन प्रिंसिपल में क्लाइंट-सर्वर भी होना चाहिए।

राज्यविहीन

सर्वर के प्रत्येक ग्राहक अनुरोध के लिए आवश्यक है कि इसकी स्थिति पूरी तरह से प्रदर्शित हो। सर्वर किसी भी सर्वर संदर्भ या सर्वर सत्र स्थिति के बिना क्लाइंट अनुरोध को पूरी तरह से समझने में सक्षम होना चाहिए। यह इस प्रकार है कि सभी राज्य को ग्राहक पर रखा जाना चाहिए। हम बाद में अधिक विस्तार से स्टेटलेस प्रतिनिधित्व पर चर्चा करेंगे।

संचित करने योग्य

कैश की बाधाओं का उपयोग किया जा सकता है, इस प्रकार प्रतिक्रिया डेटा को कैशबल या गैर-कैच करने योग्य के रूप में चिह्नित किया जा सकता है। कैशबल के रूप में चिह्नित कोई भी डेटा उसी बाद के अनुरोध की प्रतिक्रिया के रूप में पुन: उपयोग किया जा सकता है।

वर्दी इंटरफेस

सभी घटकों को एक वर्दी इंटरफेस के माध्यम से बातचीत करनी चाहिए। चूंकि सभी घटक इंटरैक्शन इस इंटरफेस के माध्यम से होता है, विभिन्न सेवाओं के साथ बातचीत बहुत सरल है। इंटरफ़ेस वही है! इसका मतलब यह भी है कि कार्यान्वयन में परिवर्तन अलगाव में किया जा सकता है। ऐसे परिवर्तन, मौलिक घटक बातचीत को प्रभावित नहीं करेंगे क्योंकि वर्दी इंटरफ़ेस हमेशा अपरिवर्तित होता है। एक नुकसान यह है कि आप इंटरफ़ेस से फंस गए हैं। यदि इंटरफ़ेस को बदलकर किसी विशिष्ट सेवा को ऑप्टिमाइज़ेशन प्रदान किया जा सकता है, तो आप भाग्य से बाहर हैं क्योंकि आरईएसटी इस पर प्रतिबंध लगाता है। चमकदार तरफ, हालांकि, आरईएसटी को वेब के लिए अनुकूलित किया गया है, इसलिए HTTP पर आरईएसटी की अविश्वसनीय लोकप्रियता!

उपरोक्त अवधारणाएं आरईएसटी की परिभाषित विशेषताओं का प्रतिनिधित्व करती हैं और वेब सेवाओं जैसे अन्य आर्किटेक्चर से आरईएसटी आर्किटेक्चर को अलग करती हैं। यह ध्यान रखना उपयोगी है कि एक आरईएसटी सेवा एक वेब सेवा है, लेकिन एक वेब सेवा जरूरी नहीं है कि एक आरईएसटी सेवा हो।

आरईएसटी और उपरोक्त उल्लिखित गोलियों पर अधिक जानकारी के लिए आरईएसटी डिजाइन प्रिंसिपल पर इस ब्लॉग post को देखें।







soap