Web Services Kya Hai




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

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

ये एप्लिकेशन स्थानीय वितरित या वेब-आधारित हो सकती हैं. वेब सेवाएं खुले मानकों जैसे टीसीपी / आईपी HTTP जावा, एचटीएमएल और एक्सएमएल के शीर्ष पर बनाई गई है.

वेब सेवाएं मे तीन प्रमुख भाग होते है

  • SOAP

  • WSDL

  • UDDI

SOAP − SOAP सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल के लिए एक संक्षिप्त शब्द है. SOAP वेब सेवाओं तक पहुंचने के लिए एक एक्सएमएल आधारित प्रोटोकॉल होता है. SOAP अनुप्रयोगों के बीच संचार के लिए एक डब्ल्यू 3 सी अनुशंसा करता है. SOAP पर एक्सएमएल आधारित है इसलिए यह मंच स्वतंत्र और स्वतंत्र भाषा है. दूसरे शब्दों मे इसका उपयोग Java Net या PHP भाषा के साथ किसी भी मंच पर किया जा सकता है.

WSDL − WSDL वेब सेवा विवरण भाषा के लिए एक संक्षिप्त शब्द है. WSDL एक एक्सएमएल दस्तावेज़ है जिसमें वेब सेवाओं जैसे method name, method parameter और इसे कैसे एक्सेस किया जा सकता है. WSDL UDDI का एक हिस्सा है यह वेब सेवा अनुप्रयोगों के बीच एक इंटरफेस के रूप में कार्य करता है. WSDL को wiz-dull के रूप मे उच्चारण किया जाता है.

UDDI − UDDI यूनिवर्सल विवरण, डिस्कवरी और एकीकरण के लिए एक संक्षिप्त शब्द है. UDDI वेब सेवाओं का वर्णन, खोज और एकीकृत करने के लिए एक एक्सएमएल आधारित फ्रेमवर्क है. UDDI WSDL द्वारा वर्णित वेब सेवा इंटरफेस की एक निर्देशिका है जिसमें वेब सेवाओं के बारे में जानकारी शामिल होती है.

जावा वेब सेवाएं दो मुख्य जावा वेब सेवाओं की अवधारणाओ और उदाहरण प्रदान करता है JAX-WS और JAX-RS. जावा वेब सेवा एप्लिकेशन को अन्य प्रोग्रामिंग भाषाओं जैसे .Net और PHP द्वारा एक्सेस किया जा सकता है. जावा वेब सेवाएं WSDL वेब सेवा विवरण भाषा के माध्यम से संपर्क करता है. जावा वेब सेवा एप्लिकेशन कोड लिखने के दो तरीके प्रदान करता हैं SOAP और RESTful.

वेब सेवाएं के लिए सुरक्षा बहुत महत्वपूर्ण होती है. हालांकि न तो एक्सएमएल-आरपीसी और न ही एसओएपी विनिर्देशों मे कोई स्पष्ट सुरक्षा या प्रमाणीकरण आवश्यकताएं होती है. वेब सेवाएं के साथ तीन विशिष्ट सुरक्षा मुद्दों है. जैसे कि Confidentiality, Authentication, Network Security.

Confidentiality

एक एकल वेब सेवा में अनुप्रयोगों की एक श्रृंखला हो सकती है. उदाहरण के लिए एक बड़ी सेवा तीन अन्य अनुप्रयोगों की सेवाओं को एक साथ जोड़ सकती है. इस मामले मे एसएसएल पर्याप्त नहीं है. संदेशों को सेवा पथ के साथ प्रत्येक नोड पर एन्क्रिप्ट किया जाना चाहिए और प्रत्येक नोड श्रृंखला में संभावित कमजोर लिंक का प्रतिनिधित्व करता है. वर्तमान मे इस मुद्दे पर कोई सहमति नहीं है लेकिन एक वादा समाधान W3C एक्सएमएल एन्क्रिप्शन मानक है. यह मानक पूरे एक्सएमएल दस्तावेजों को एन्क्रिप्ट करने और डिक्रिप्ट करने या सिर्फ एक एक्सएमएल दस्तावेज़ के हिस्सों को डीक्रिप्ट करने के लिए एक ढांचा प्रदान करता है.

Authentication

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

Network Security

वर्तमान में इस समस्या का कोई आसान जवाब नहीं है और यह बहुत बहस का विषय रहा है. अभी के लिए यदि आप वास्तव में एसओएपी या एक्सएमएल-आरपीसी संदेशों को फ़िल्टर करने का इरादा रखते है तो एक संभावना है कि वे सभी HTTP POST अनुरोधों को फ़िल्टर करें जो उनकी सामग्री प्रकार को टेक्स्ट / एक्सएमएल पर सेट करते है. एक और विकल्प SOAP Action HTTP शीर्षलेख विशेषता फ़िल्टर करना है. फ़ायरवॉल विक्रेता वर्तमान में वेब सेवा यातायात को फ़िल्टर करने के लिए स्पष्ट रूप से डिज़ाइन किए गए टूल विकसित कर रहे है.