सबसे पहले, एक वेबसाइट और वेब एप्लिकेशन के बीच के अंतर को समझते हैं
एक वेबसाइट वेब पेजों का एक संग्रह है जो static होते हैं। यहां स्टेटिक का मतलब है कि डेटा या जानकारी हार्ड-कोडेड (hard coded) है और इसके लिए उपयोगकर्ता से किसी इनपुट या डेटाबेस के साथ संचार की आवश्यकता नहीं है। स्टेटिक वेबसाइट का उदाहरण कोई भी छोटी व्यावसायिक वेबसाइट हो सकती है जिसमें केवल सेवाएं और व्यापार से जुडी संपर्क जानकारी हो|
दूसरी ओर, वेब एप्लिकेशन dynamic वेबसाइट हैं जिन्हें अंतिम उपयोगकर्ता को प्रस्तुत किए जाने वाले डेटा या जानकारी के लिए डेटाबेस या backend सेवाओं के साथ लगातार संचार की आवश्यकता होती है। वेब एप्लिकेशन के उदाहरण हैं google.com, amazon.com, आदि।
क्या आपको लगता है कि gmail, uber जैसे बड़े बड़े एप्लिकेशन अपने सभी development के लिए single प्रोग्रामिंग भाषा का उपयोग करते होंगे? इसका जवाब है नहीं…
क्यूंकि ऐसी बड़ी वेब एप्लीकेशन के पीछे उपयोगकर्ताओं की मांगों (request) का सामना करने के लिए उनके डेटा केंद्रों (data center) पर हर सेकंड हजारों सेवाएं चल रही होती हैं। ये सेवाएं विभिन्न प्रोग्रामिंग भाषाओं में लिखे गए विभिन्न कार्यक्रमों को क्रियान्वित कर सकती हैं और यहां तक कि विभिन्न प्लेटफार्मों पर भी चल सकती हैं। चूंकि एक बड़े वेब एप्लिकेशन को विकसित करने में एक से अधिक प्रोग्रामिंग भाषाओँ और तकनीकों का उपयोग किया जाता है, इसलिए आपको आश्चर्य हो सकता है कि विभिन्न भाषाओं में लिखे गए ये विभिन्न प्रोग्राम एक दूसरे के साथ कैसे संवाद करते हैं। यदि प्रत्येक भाषा का अपना syntax और चीजों की व्याख्या करने का अलग अलग तरीका होता है, तो वे कैसे समझते हैं कि विभिन्न एप्लीकेशन में लिखे गए प्रोग्राम संवाद करना चाहते हैं।
क्या कोई एक मानक (standard) तरीका है जिससे सभी अलग-अलग प्रोग्राम एक दूसरे के साथ संवाद करने के लिए उपयोग कर सकते हैं? (जैसे प्रत्येक देश की अपनी मूल भाषाएं होती हैं, लेकिन वे अपने देश के बाहर किसी से भी संवाद करने के लिए अंग्रेजी का उपयोग कर सकते हैं)
उत्तर है, हाँ। और इसे ही हम वेब सेवा (Web Services) कहते हैं।
What is Web Services?
वेब सेवा (Web Services) कुछ मानक प्रोटोकॉल/विधि (standard protocol) का उपयोग करके वेब पर विभिन्न अनुप्रयोगों के बीच संचार को सक्षम बनाती है। वेब सेवाओं का उपयोग करते हुए, दो अलग-अलग एप्लिकेशन एक-दूसरे से बात कर सकते हैं और सूचनाओं का आदान-प्रदान कर सकते हैं।
वेब सर्विसेज (web services) सॉफ्टवेयर कंपोनेंट्स (software components) होते है | जिन्हें किसी स्टैण्डर्ड वेब प्रोटोकॉल (standard web protocol) यथा HTTP के माध्यम से access किया जा सकता है अर्थात् रिमोटली (remotely) कॉल (call) किया जा सकता है | वास्तव में वेब सर्विसेज (web services), डिस्ट्रिब्यूटेड सॉफ्टवेयर कम्पोनेंट्स (distributed software components) होते है, जो प्लेटफार्म इंडिपेंडेंट (platform independent) और प्रोग्रामिंग लैंग्वेज इंडिपेंडेंट(programming language independent) होते है, जिनका प्राथमिक कार्य एप्लीकेशन-टू-एप्लीकेशन कम्युनिकेशन (application-to-application communication) की सक्षमता प्रदान करना है|
यहाँ प्लेटफार्म इंडिपेंडेंट (platform independent) का तात्पर्य यह है की वैसे एप्लीकेशन जो किसी भी प्लेटफार्म पर execute हो सकती है फिर चाहे वह कोई भी ऑपरेटिंग system हो या कोई भी device हो और ऐसी services को इन्टरनेट के माध्यम से रिमोटली (remotely) किसी भी रिमोट साइट (remote site) से access कर सकते है| वेब सर्विसेज (web services) का प्रयोग इन्फॉर्मेशन को न केवल एक वेब सर्वर (web server) से दूसरे वेब सर्वर (web server) पर ट्रांसमिट (transmit) करने के लिए किया जा सकता है | अतः एक वेब सर्विस (web service) का प्रयोग किसी नेटवर्क में विभिन्न प्रकार के डाटा जैसे, डॉक्यूमेंट (documents), डाटासेट्स (datasets), कस्टम ऑब्जेक्ट्स (custom objects) और बाइनरी डाटा (binary data) को ट्रांसमिट (transmit) करने के लिए भी किया जा सकता है| यह नेटवर्क एक लोकल नेटवर्क या फिर इन्टरनेट (internet) हो सकता है|
संक्षिप्त में अगर कहें तो कोई भी सेवा (service) वेब सर्विस कहलाएगी जो −
- इंटरनेट या निजी (इंट्रानेट) नेटवर्क पर उपलब्ध है
- एक मानकीकृत XML संदेश प्रणाली का उपयोग करता है
- किसी एक ऑपरेटिंग सिस्टम या प्रोग्रामिंग भाषा से बंधा नहीं है
- एक सामान्य XML व्याकरण के माध्यम से स्व-वर्णन कर रहा है
- एक साधारण खोज तंत्र के माध्यम से खोजा जा सकता है
Web Services की विशेषताएं (Characteristics of Web Services)
- ASP.NET 2.0 में web-services को प्रदान करने वाली सभी सुविधाएँ है|
- Web-services ऐसी जानकारी उपलब्ध कराने की एक method है, जिसे Web पर किसी भी developer के application तक पहुँचाया जा सकता है।
- web-services information की एक library से मिलकर बनी होती हैं|
- Web-service एक local web application नहीं है न तो इसे web pages के रूप में प्रस्तुत किया जाता है, न ही निष्पादन योग्य फ़ाइलों (.exe) के रूप में; यह एक user interface की तरह है।
- Web-service में निहित जानकारी को XML document (दूसरे शब्दों में, plain text) के रूप में wrap किया जाता है।
- Web-services SOAP जैसे open protocol का उपयोग करके communicate करती हैं|
- Web-services self-contained और self-describing नेचर की services होती हैं।
- HTTP और XML Web-services का आधार है।
- Web-services को web पर प्रकाशित (published), खोजा (found) और उपयोग (use) किया जा सकता है|
- Web-services XML का उपयोग data को code और decode करने के लिए करती हैं, और SOAP जैसे open protocol का उपयोग web-services को transport करने के लिए किया जाता है|
वेब सर्विस के लाभ (Benefit of Web Services)
- Web Developer आसानी से web services का उपयोग कर सकते हैं और उन्हें web applications में एकीकृत कर सकते हैं।
- Code duplication को कम करके Web services developer के समय को बचाती हैं|
Web-services को उपयोग करने का तरीका (How to use web services)
Web-services का उपयोग दो तरीकों में से एक में किया जा सकता है
- आप Web services को create कर सकते है और उन्हें web पर डालकर, दूसरे developers और दूसरी applications के बीच साझा किया जा सकता है|
- आप web service की खोज कर सकते हैं जिसे अपने स्वयं के application में जोड़ा जा सकता है। (वे उस संबंध में plugins के समान हैं।)
Web Services के घटक (Components of Web Services)
Web-services के साथ जो कुछ भी किया जाता है वह सब मानकीकृत (standardized) होता है|
- Transmission method (web services को transmit करने की method)
- Web-services को wrap या bind up करने के लिए उपयोग की जाने वाली method
- जिस method के द्वारा web service को परिभाषित किया जाये|
उपरोक्त सभी कार्यो के साथ W3C standards जुड़ा हुआ होता है, और ये सभी standard XML पर आधारित होते हैं। इसलिए वे quick और डाउनलोड करने में और उपयोग करने में भी आसान होते हैं|