अवलोकन
सोप एक मैसेजिंग प्रोटोकॉल है और संक्षेप में सिर्फ एक और एक्सएमएल भाषा है।
इसका उद्देश्य नेटवर्क पर डेटा एक्सचेंज है। इसकी चिंता इन आंकड़ों के समावेशन और उन्हें प्रेषण और प्राप्त करने के नियम हैं।
HTTP एक आवेदन प्रोटोकॉल है और SOAP संदेश HTTP पेलोड के रूप में रखा जाता है।
हालांकि HTTP का ओवरहेड है, लेकिन इसका लाभ यह है कि यह एक प्रोटोकॉल है जो फ़ायरवॉल, अच्छी तरह से समझने और व्यापक रूप से समर्थित है। इस प्रकार, पहले से ही तकनीक के माध्यम से वेब सेवाओं तक पहुंचा जा सकता है और इसका खुलासा किया जा सकता है।
SOAP संदेशों को आमतौर पर HTTP के माध्यम से आदान-प्रदान किया जाता है। हालांकि अन्य (एप्लिकेशन) प्रोटोकॉल का उपयोग करना संभव है, उदा। एसएमटीपी या एफ़टीपी, गैर-HTTP बाइंडिंग SOAP चश्मा द्वारा निर्दिष्ट नहीं हैं और WS-BP (interoperability spec) द्वारा समर्थित नहीं हैं।
आप कच्चे टीसीपी पर एसओएपी संदेशों का आदान-प्रदान कर सकते हैं लेकिन फिर आपके पास ऐसी वेब सेवाएं होंगी जो इंटरऑपरेबल नहीं हैं (डब्ल्यूएस-बीपी के अनुरूप नहीं)।
आजकल बहस है कि एसओएपी ओवरहेड क्यों है और HTTP (रीस्टफुल डब्ल्यूएस) पर डेटा नहीं भेजता है।
HTTPSOAP का उपयोग क्यों करें?
मैं और अधिक विस्तार में क्यों सोप के लिए HTTP का उपयोग करें, ओपी में प्रश्नों के उत्तरों पूछ की कोशिश करेंगे:
सभी सोप सबसे पहले एक डेटा कैप्सूलीकरण प्रारूप निर्धारित करता है और कहा कि कि है।
अब वेब में अधिकांश ट्रैफ़िक HTTP के माध्यम से है। HTTP हर जगह साहित्यिक है और सर्वर और ग्राहकों (अर्थात् ब्राउज़र) के एक अच्छी तरह से स्थापित बुनियादी ढांचे द्वारा समर्थित है। इसके अतिरिक्त यह एक बहुत अच्छी तरह से समझा प्रोटोकॉल है।
लोग हैं, जो साबुन बनाया है ताकि वे HTTP पर टनल किया जा सकता है
चश्मा वे किसी अन्य गैर- HTTP का उल्लेख नहीं है में यह तैयार बुनियादी ढांचे और
- SOAP संदेश डिजाइन किए गए थे उपयोग करना चाहता था बाध्यकारी लेकिन विशेष रूप से स्थानांतरण के लिए HTTP के रूप में HTTP का संदर्भ लें।
HTTP पर सुरंग करने से इसकी तेजी से गोद लेने में मदद मिलेगी और मदद मिलेगी। चूंकि HTTP का बुनियादी ढांचा पहले ही मौजूद है, इसलिए कंपनियों को किसी अन्य प्रकार के कार्यान्वयन के लिए अतिरिक्त पैसे खर्च नहीं करना पड़ेगा। इसके बजाय वे पहले से ही तैनात तकनीक का उपयोग कर वेब सेवाओं का पर्दाफाश और उपयोग कर सकते हैं।
विशेष रूप से जावा में एक वेब सेवा को सर्वलेट एंडपॉइंट या ईजेबी एंडपॉइंट के रूप में या तो तैनात किया जा सकता है। तो सभी अंतर्निहित नेटवर्क सॉकेट, धागे, धाराएं, HTTP लेनदेन इत्यादि कंटेनर द्वारा संभाले जाते हैं और डेवलपर केवल एक्सएमएल पेलोड पर केंद्रित होता है।
तो एक कंपनी के पास पोर्ट 80 में टॉमकैट या जेबॉस चल रहा है और वेब सेवा भी तैनात और सुलभ है। परिवहन परत पर प्रोग्रामिंग करने का कोई प्रयास नहीं है और मजबूत कंटेनर बाकी सब कुछ संभालता है।
आखिरकार फ़ायरवॉल कॉन्फ़िगर किए गए हैं कि HTTP ट्रैफ़िक को प्रतिबंधित न करने के लिए HTTP को प्राथमिकता देने का तीसरा कारण है।
चूंकि HTTP ट्रैफ़िक आमतौर पर अनुमति दी जाती है, इसलिए क्लाइंट/सर्वर का संचार बहुत आसान होता है और वेब सेवाएं HTTP सुरंग के परिणामस्वरूप नेटवर्क सुरक्षा अवरोधकों के मुद्दों के बिना काम कर सकती हैं।
SOAP XML = सादा पाठ है इसलिए फ़ायरवॉल HTTP निकाय की सामग्री का निरीक्षण कर सकते हैं और तदनुसार ब्लॉक कर सकते हैं। लेकिन इस मामले में उन्हें सामग्री के आधार पर एसओएपी को अस्वीकार करने या स्वीकार करने के लिए भी बढ़ाया जा सकता है। यह हिस्सा जो आपको परेशान करता है, वह वेब सेवाओं या एसओएपी से संबंधित नहीं है, और शायद आपको फ़ायरवॉल कैसे काम करता है इसके बारे में एक नया धागा शुरू करना चाहिए।
कहा करने के बाद कि, तथ्य यह है कि HTTP ट्रैफ़िक अक्सर अप्रतिबंधित है सुरक्षा के मुद्दों का कारण बनता है के बाद से फायरवॉल द्वारा-पारित कर दिया अनिवार्य रूप से कर रहे हैं, और यही वजह है आवेदन-द्वार में आते हैं।
लेकिन यह इस पोस्ट के लिए संबंधित नहीं है।
सारांश
तो HTTP का उपयोग कर के लिए कारणों योग करने के लिए:
- HTTP लोकप्रिय और सफल है।
- HTTP आधारभूत संरचना जगह है इसलिए वेब सेवाओं को तैनात करने के लिए कोई अतिरिक्त लागत नहीं है।
- फ़ायरवॉल के लिए HTTP यातायात खुला है, इसलिए नेटवर्क सुरक्षा के परिणामस्वरूप वेब सेवा कार्य करने में कोई समस्या नहीं है।
एक्सएमएल एक नेटवर्किंग प्रोटोकॉल, यह डेटा एन्कोडिंग नियमों का समूह होता है नहीं है सिर्फ एक आम बात है। – jball
कौन कहता है SOAP केवल HTTP पर काम करता है ?? –
ऐसा लगता है कि आपके वास्तविक प्रश्न हैं कि HTTP क्या है, यह किस उद्देश्य से कार्य करता है, और यह कैसे कार्य करता है। एक बार जब आप इसकी समझ प्राप्त कर लेंगे, तो एसओएपी कार्यान्वयन में HTTP के उपयोग के कारण आपको स्पष्ट होना चाहिए। – jball