2010-11-19 41 views
13

मेरे ज्ञान के अनुसार एपीआई और वेब सेवाओं का उपयोग अन्य वेबसाइटों से डेटा लाने के लिए किया जाता है।एपीआई और वेब सेवाओं के बीच क्या अंतर है?

तो उनके बीच क्या अंतर है?

कोई मदद!

संपादित

किसी कृपया यह उचित उदाहरण के साथ व्याख्या कर सकते हैं?

ट्विटर और फेसबुक एपीआई क्या है? क्या हम कह सकते हैं कि यह उनके डेटा तक पहुंचने के लिए सिर्फ एक समारोह या वेबसाइसेस है।

+0

... आप इसे ध्वनि बनाते हैं जैसे कि उन्हें परस्पर अनन्य होना चाहिए ... जब, एक साधारण काउंटर उदाहरण के रूप में, एक डब्लूएसडीएल/एसओएपी जनरेटर "वेब-सेवा" ले सकता है और "एपीआई एंड" उत्पन्न कर सकता है -पॉइंट "इसके लिए (खुलासा संचालन तक पहुंचने के लिए वेब-सेवा के बारे में एक रैपर)। –

उत्तर

5

एक एपीआई को वेब आधारित होने की आवश्यकता नहीं है।

वेब सेवाएं एक पूर्ण एपीआई से अपेक्षा की जाने वाली सभी परिचालनों को भी नहीं कर सकती हैं।

+0

वेब सेवा प्रोग्रामिंग भाषा अज्ञात नहीं है और एक एपीआई वेब सेवा के उपयोग की सुविधा के लिए पुस्तकालय के रूप में वेब सेवा का एक अवतार है? –

+0

@ एंड्रे - वेब सेवाएं आमतौर पर भाषा अज्ञेयवादी होती हैं (जब तक कि वे प्लेटफ़ॉर्म विशिष्ट बाइनरी क्रमबद्धता का उपयोग न करें) लेकिन आप उन्हें भाषा अज्ञेय एपीआई बनाने के लिए भी उपयोग कर सकते हैं। –

17

एक वेब सेवा HTTP कपड़ों में सिर्फ एक एपीआई है।

10

एक वेब सेवा किसी अन्य कंप्यूटर (मानव के बजाए) के प्रत्यक्ष उपयोग के लिए इंटरनेट पर कुछ वितरित की जाती है।

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

सिमरली, एक सर्वर एप्लिकेशन (उदाहरण के लिए जूमला) में एक PHP आधारित एपीआई हो सकती है जिसका उपयोग सर्वर के भीतर से किया जाता है - यानी। कोई वेब सेवा जरूरी नहीं है।

+4

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

3

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

उदाहरण के लिए, रूबी में FileUtils.rm नामक एक फ़ंक्शन है। यह एपीआई है; जब आप रूबी स्क्रिप्ट से फ़ंक्शन को कॉल कर रहे हैं, तो यह हमेशा वही दिखता है। फिर एपीआई के कार्यान्वयन है; वह कोड है जो वास्तव में फ़ाइल को हटा देता है - यह रूबी के प्रत्येक कार्यान्वयन में पूरी तरह से अलग दिख सकता है, लेकिन आप (आमतौर पर) इसकी परवाह नहीं करते हैं, क्योंकि आप केवल रूबी एपीआई से निपट रहे हैं।

5

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

एपीआई (जेएआर फाइलें या जावा में आरएमआई, .NET असेंबली, COM ऑब्जेक्ट्स, डीएलएल और एच) में सी/सी ++ में फाइलें, HTTP पर जेएसओएन, HTTP पर एक्सएमएल, कई घर- बनाई गई विधियां)।

वेब सेवाएं एपीआई को उजागर करने का एक और तरीका है, इस मामले में उजागर विधियों का वास्तविक निष्पादन आपके कंप्यूटर पर नहीं किया जाता है, लेकिन इंटरनेट पर किसी अन्य कंप्यूटर पर (वेब ​​पर - इसलिए नाम "वेब सर्विसेज")।

1

वेब एपीआई पर विकिपीडिया प्रविष्टि http://en.wikipedia.org/wiki/Api#Web_APIs पर देखें।

यह अच्छी तरह लिखा गया है, हालांकि अन्य लोग यहां क्या कहते हैं उससे काफी सहमत हैं।

6

सभी वेब सेवाएं एपीआई हैं, लेकिन सभी एपीआई वेब सेवाएं नहीं हैं। एक दूसरे का उप-समूह है।

2

इंटरनेट पर उपलब्ध वेबसाइटें। आप वास्तव में कक्षाओं के बिना जानकारी प्राप्त कर सकते हैं या यह जान सकते हैं कि यह http और साबुन प्रोटोकॉल का उपयोग करके कैसे काम करता है।

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

1

एपीआई वेब पर उजागर कर रहे हैं Webservices

4
  1. वेब सेवा HTTP में लिपटे एक API है।
  2. सभी वेब सेवाएं एपीआई हैं लेकिन एपीआई वेब सेवाएं नहीं हैं।
  3. वेब सेवा उन सभी परिचालनों को निष्पादित नहीं कर सकती है जो एक एपीआई करेगा।
  4. एक वेब सेवा को नेटवर्क की आवश्यकता होती है जबकि एपीआई को इसके संचालन के लिए नेटवर्क की आवश्यकता नहीं होती है।
-1
  1. सभी वेब सेवाओं API हैं लेकिन सभी API वेब सेवाओं नहीं हैं।

  2. वेब सेवाएं उन सभी परिचालनों को निष्पादित नहीं कर सकती हैं जो एक एपीआई करेगा।

  3. एक वेब सेवा उपयोग की केवल तीन शैलियों का उपयोग करती है: एसओएपी, आरईएसटी और एक्सएमएल-आरपीसी संचार के लिए जबकि एपीआई संचार के लिए किसी भी शैली का उपयोग कर सकती है।
  4. एक वेब सेवा को हमेशा अपने ऑपरेशन के लिए नेटवर्क की आवश्यकता होती है जबकि एपीआई को इसके ऑपरेशन के लिए नेटवर्क की आवश्यकता नहीं होती है।
  5. एक एपीआई सीधे किसी एप्लिकेशन के साथ इंटरफेसिंग की सुविधा प्रदान करता है जबकि एक वेब सेवा में किसी भी एप्लिकेशन पर सीधे इंटरफेसिंग की सुविधा नहीं होती है।
संबंधित मुद्दे