एक webservice और एक एपीआई के बीच अंतर क्या है? क्या अंतर डेटा को स्थानांतरित करने के लिए उपयोग किए जाने वाले प्रोटोकॉल से अधिक है? धन्यवाद।
एक webservice और एक एपीआई के बीच अंतर क्या है? क्या अंतर डेटा को स्थानांतरित करने के लिए उपयोग किए जाने वाले प्रोटोकॉल से अधिक है? धन्यवाद।
जवाबों:
एक एपीआई (एप्लीकेशन प्रोग्रामिंग इंटरफेस) वह साधन है जिसके द्वारा तीसरा पक्ष कोड लिख सकता है जो अन्य कोड के साथ इंटरफेस करता है। एक वेब सेवा एक प्रकार का एपीआई है, एक जो लगभग हमेशा HTTP पर संचालित होता है (हालांकि कुछ, SOAP की तरह, एसएमटीपी की तरह वैकल्पिक ट्रांसपोर्ट का उपयोग कर सकते हैं)। आधिकारिक W3C परिभाषा कहा गया है कि वेब सेवा जरूरी HTTP का उपयोग नहीं करते हैं, लेकिन यह लगभग हमेशा मामला है और आम तौर पर जब तक अन्यथा उल्लेख माना जाता है।
विशेष रूप से वेब सेवाओं के उदाहरणों के लिए, SOAP , REST और XML-RPC देखें । एक अन्य प्रकार के एपीआई के उदाहरण के लिए, एक स्थानीय मशीन पर उपयोग के लिए सी में लिखा गया है, लिनक्स कर्नेल एपीआई देखें ।
जहां तक प्रोटोकॉल जाता है, एक वेब सेवा एपीआई लगभग हमेशा HTTP (इसलिए वेब भाग) का उपयोग करता है, और निश्चित रूप से एक नेटवर्क पर संचार शामिल करता है। सामान्य तौर पर एपीआई संचार के किसी भी साधन का उपयोग कर सकते हैं जो वे चाहते हैं। लिनक्स कर्नेल एपीआई, उदाहरण के लिए, सिस्टम कॉल को कॉल करने के लिए व्यवधान का उपयोग करता है जिसमें उपयोगकर्ता स्थान से कॉल के लिए अपना एपीआई शामिल होता है।
असल में, एक webservice दो मशीनों के बीच संचार का एक तरीका है जबकि एक एपीआई एक उजागर परत है जो आपको किसी चीज़ के खिलाफ प्रोग्राम करने की अनुमति देता है।
आपके पास बहुत अच्छी तरह से एक एपीआई हो सकता है और उस एपीआई के साथ बातचीत करने का मुख्य तरीका एक webservice के माध्यम से है।
तकनीकी परिभाषाएँ (विकिपीडिया के सौजन्य) हैं:
एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) रूटीन, डेटा संरचनाओं, ऑब्जेक्ट क्लासेस और / या प्रोटोकॉल का एक सेट है जो अनुप्रयोगों के निर्माण का समर्थन करने के लिए पुस्तकालयों और / या ऑपरेटिंग सिस्टम सेवाओं द्वारा प्रदान किया जाता है।
एक वेब सेवा (वेब सेवा भी) W3C द्वारा परिभाषित की गई है "एक नेटवर्क पर इंटरऑपरेबल मशीन-टू-मशीन इंटरैक्शन का समर्थन करने के लिए डिज़ाइन किया गया एक सॉफ्टवेयर सिस्टम"
एक सामान्य अर्थ में एक वेब सेवा है HTTP पर एक एपीआई। वे अक्सर JSON या XML का उपयोग करते हैं, लेकिन कुछ अन्य दृष्टिकोण भी हैं।
एपीआई एक प्रकाशित इंटरफेस है जो परिभाषित करता है कि घटक ए घटक बी के साथ कैसे संचार करता है।
उदाहरण के लिए, डबलक्लिक में एक प्रकाशित जावा एपीआई है जो उपयोगकर्ताओं को अपने ऑनलाइन विज्ञापन अभियान के बारे में जानकारी प्राप्त करने के लिए डेटाबेस तालिकाओं से पूछताछ करने की अनुमति देता है।
उदाहरण के लिए कॉल GetNumberClicks (उपयोगकर्ता नाम)
एपीआई को लागू करने के लिए, आपको अपने वर्ग पथ में Doubleclick .jar फ़ाइल को जोड़ना होगा। कॉल स्थानीय है।
एक वेब सेवा एपीआई का एक रूप है जहां इंटरफ़ेस को डब्लूएसडीएल के माध्यम से परिभाषित किया गया है। यह HTTP पर एक इंटरफ़ेस की रिमोट कॉलिंग की अनुमति देता है।
अगर Doubleclick ने अपने इंटरफ़ेस को वेब सेवा के रूप में लागू किया, तो वे Tomcat के अंदर चल रहे Axis2 जैसी किसी चीज़ का उपयोग करेंगे।
दूरस्थ उपयोगकर्ता वेब सेवा को कॉल करेगा
उदाहरण के लिए GetNumberClicksWebService को कॉल करें (उपयोगकर्ता नाम)
और GetNumberClicksWebService सेवा GetNumberClicks को स्थानीय रूप से कॉल करेगी।
एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस), पूर्ण रूप से ही पता चलता है कि इसका एक इंटरफ़ेस जो आपको कुछ अन्य एप्लिकेशन के इंटरफ़ेस की सहायता या सहायता से आपके एप्लिकेशन के लिए प्रोग्राम करने की अनुमति देता है जो कुछ प्रकार की कार्यक्षमता को उजागर करता है जो आपके एप्लिकेशन के लिए उपयोगी है।
उदाहरण के लिए आपकी वेबसाइट पर अद्यतन मुद्रा विनिमय दरों को दिखाने के लिए कुछ तीसरे पक्ष के इंटरफेस की आवश्यकता होगी जब तक कि आप अपने स्वयं के डेटाबेस के लिए मुद्रा दरों और उसी के साथ नियमित अपडेट न करें। कार्यक्षमता का यह सेट तब होता है जब पहले से ही किसी और के साथ उपलब्ध होता है और जब वे इसे दूसरों के साथ साझा करना चाहते हैं, तो उन्हें दूसरों के साथ संवाद करने के लिए एक समापन बिंदु होना चाहिए जो इस तरह की बातचीत में रुचि रखते हैं, इसलिए वे इसे वेब के माध्यम से वेब पर तैनात करते हैं- सेवाएं। यह अंतिम बिंदु उनके आवेदन के इंटरफ़ेस के अलावा कुछ भी नहीं है जिसे आप एपीआई के खिलाफ प्रोग्राम कर सकते हैं।
वेब सेवा को वेब एप के रूप में सोचें। एपीआई अब एक सामान्य शब्द है, इसलिए वेब सेवा कार्यक्षमता से जुड़ा एक इंटरफेस है, जो आमतौर पर व्यवसाय से संबंधित है, जिसे आप विभिन्न प्रकार के प्रोटोकॉल से नेटवर्क से प्राप्त कर सकते हैं।
इस http://en.wikipedia.org/wiki/Web_service को देखें
जैसा कि उल्लेख किया गया है तब वेब एपीआई वेब सेवाओं में एक विकास है जो सबसे अधिक संभावना वेब 2.0 से संबंधित है, जबकि SOAP आधारित सेवाएं REST आधारित संचार द्वारा प्रतिस्थापित की जाती हैं। ध्यान दें कि REST सेवाओं के लिए XML, SOAP या WSDL सेवा-API परिभाषाओं की आवश्यकता नहीं होती है, इसलिए यह पारंपरिक वेब सेवा के लिए अलग है।
एक अन्य उदाहरण: google map api बनाम google दिशा api वेब सेवा, जबकि पूर्व (साइट पर डिलीवर) जावास्क्रिप्ट फ़ाइल साइट पर (जो तब नए कार्य करने के लिए एक एपीआई के रूप में इस्तेमाल की जा सकती है), बाद में एक रेस्ट वेब सेवा प्रदान करने वाली डेटा है ( json या xml प्रारूप में), जिसे संसाधित किया जा सकता है (लेकिन एपीआई अर्थ में उपयोग नहीं किया जाता है)।