वेब एपीआई और वेब सेवा के बीच अंतर क्या है?


136

क्या वेब एपीआई और वेब सेवा में कोई अंतर है ? या वे एक ही हैं?


इन्हें भी देखें: एपीआई बनाम
वेब्स सर्विस


3
एक एपीआई प्रकाशित इंटरफ़ेस है, जबकि सेवा बैकएंड में चल रहा कार्यान्वयन है।
रसिका परेरा

1
कृपया सावधानी के साथ उत्तर पढ़ें। उनमें से कुछ या तो पुराने या अमान्य हैं
मेनुका ईशान

सिर्फ एक और शानदार विवरण जोड़ते हुए - quora.com/What-is-the-difference-between-web-services-and-API
आशीष शेटकर

जवाबों:


71

एक वेब सेवा आमतौर पर एक WSDL प्रदान करती है जिससे आप ग्राहक स्टब्स स्वचालित रूप से बना सकते हैं। वेब सेवाएँ SOAP प्रोटोकॉल पर आधारित हैं । ASP.NET वेब एपीआई एक नया Microsoft ढांचा है जो आपको REST आधारित इंटरफेस बनाने में मदद करता है । प्रतिक्रिया या तो JSON या XML हो सकती है, लेकिन ग्राहकों को स्वचालित रूप से उत्पन्न करने का कोई तरीका नहीं है क्योंकि वेब एपीआई वेब सेवा से WSDL की तरह एक सेवा विवरण प्रदान नहीं करता है। तो यह आपकी आवश्यकताओं पर निर्भर करता है कि आप किन तकनीकों का उपयोग करना चाहते हैं। शायद WCF भी आपकी आवश्यकताओं को बेहतर ढंग से पूरा करता है, बस MSDN प्रलेखन देखें।


7
SOAP प्रोटोकॉल के आधार पर वेब सेवाएँ आवश्यक नहीं हैं।
हॉरक्रक्स

3
तकनीकी रूप से पुराना उत्तर
अरुण राज

4
"ASP.NET वेब एपीआई" एक माइक्रोसॉफ्ट फ्रेमवर्क है, न कि "वेब एपीआई"।
आमिर होसैन अहमदी

पुराना उत्तर, इस लिंक पर जाएँ microsoft-techies.blogspot.com/2014/03/…
गणेश कारवाड़

41

वेब सेवाओं और वेब एपीआई के बीच बुनियादी अंतर

वेब सेवा:

1) यह एक SOAP- आधारित सेवा है और XML के रूप में डेटा लौटाता है।

2) यह केवल HTTP प्रोटोकॉल का समर्थन करता है।

3) यह खुला स्रोत नहीं है, लेकिन XML को समझने वाले किसी भी ग्राहक द्वारा उपयोग किया जा सकता है।

5) इसे नेटवर्क पर डेटा प्राप्त करने और भेजने के लिए SOAP प्रोटोकॉल की आवश्यकता होती है, इसलिए यह हल्के वजन की वास्तुकला नहीं है।

वेब एपीआई:

1) एक वेब एपीआई एक HTTP आधारित सेवा है और डिफ़ॉल्ट रूप से JSON या XML डेटा देता है।

2) यह HTTP प्रोटोकॉल का समर्थन करता है।

3) इसे एक एप्लिकेशन या IIS के भीतर होस्ट किया जा सकता है।

4) यह खुला स्रोत है और इसका उपयोग JSON या XML को समझने वाले किसी भी ग्राहक द्वारा किया जा सकता है।

5) इसमें लाइट-वेट आर्किटेक्चर और उन डिवाइसों के लिए अच्छा है जिनके पास सीमित बैंडविड्थ है, जैसे मोबाइल डिवाइस।


7
एक वेब सेवा को बहुत सारे स्थानों पर होस्ट किया जा सकता है, न केवल IIS
इग्नासियो सोलर गार्सिया

3
व्यावहारिक रूप से सभी बिंदु गलत हैं। मैं यह नहीं समझ सकता कि 40 उपयोगकर्ता कैसे मतदान कर सकते हैं।
हॉरक्रक्स

1
@horcrux मैं सहमत हूँ। एक वेब सेवा एक SOAP आधारित सेवा आवश्यक नहीं है।
रयान

सबसे भ्रामक उत्तर मैंने कभी देखा है।
म्हारासल्ही

23

एपीआई बनाम वेब सेवा

सिर्फ लिंक किए गए लेख का सारांश चिपकाया गया:

सारांश:

  1. सभी वेब सेवाएँ API हैं लेकिन सभी API वेब सेवाएँ नहीं हैं।

  2. वेब सेवाएँ वे सभी कार्य नहीं कर सकती हैं जो एक एपीआई करेगा।

  3. एक वेब सेवा केवल तीन शैलियों का उपयोग करती है: SOAP, REST और XML-RPC संचार के लिए जबकि API संचार के लिए किसी भी शैली का उपयोग कर सकता है।

  4. एक वेब सेवा को हमेशा अपने ऑपरेशन के लिए एक नेटवर्क की आवश्यकता होती है जबकि एक एपीआई को अपने ऑपरेशन के लिए एक नेटवर्क की आवश्यकता नहीं होती है।

  5. एक एपीआई एक आवेदन के साथ सीधे इंटरफेस की सुविधा देता है जबकि एक वेब सेवा एक ...

और पढ़ें: एपीआई और वेब सेवा के बीच अंतर | अंतर के बीच | एपीआई बनाम वेब सेवा http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv

पूर्ण उत्तर के लिए उपरोक्त लिंक देखें।


10
लेकिन, सवाल वेबएपीआई और वेबसर्विस के बीच के अंतर का है, न कि "एपीआई" का
कुलभूषण सिंह

इसके अलावा, बिंदु 3 सही नहीं है। यह भ्रामक है, और यह "SOAP बनाम REST" विषय के बारे में भ्रम पैदा करने में मदद करता है।
हॉरक्रक्स

9

अधिक जानकारी के लिए इस लिंक पर जाएँ आरेख


2
क्यों? इस छवि से ऐसा लगता है कि SOAP वेब सेवाओं का उपयोग स्मार्टफ़ोन पर नहीं किया जा सकता ... या डेस्कटॉप पर भी? वास्तव में? कोई आपको उन प्लेटफार्मों पर XML के बजाय JSON पढ़ने के लिए मजबूर कर रहा है?
एंड्रियासी

अगर xml को पढ़ने का यह अर्थ नहीं है कि SOAP आधार सेवा REST भी कमांड सेपरेटेड वैल्यू (CSV), जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) और रियली सिंपल सिंडिकेशन (RSS) का समर्थन करती है।
अदिआई

7

यदि आप चाहते हैं एक वेब सेवा एक वेब एपीआई है। विशेष रूप से वेब एपीआई का अर्थ आमतौर पर रेस्टफुल (HTTP आधारित) वेब सेवा और वेब सेवा का अर्थ आमतौर पर SOAP + WSDL (+ HTTP या SMTP या JMS ..) होता है।

टिपिकल रेस्टफुल वेब सेवाओं का विरोध वेब सेवा (डब्ल्यूएसडीएल, एसओएपी) से किया जाता है, लेकिन हाल ही में इसे रेस्टफुल वेब सेवाओं (अपरकेस 'डब्ल्यू' के साथ) शुरू किया गया है, जिसका अर्थ है रेस्टफुल + डब्ल्यूएसडीएल + एसओएपी ।।

तीन अवधारणाओं के बीच अंतर के लिए इस चार्ट को देखें : http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184-5621ef4e--Fig02.jpg

आशा करता हूँ की ये काम करेगा!


4

वेब सेवा बिल्कुल वेब एपीआई के समान है - अंतर्निहित डेटा प्रारूप के संदर्भ में बस थोड़ा अधिक प्रतिबंधित है। दोनों HTTP प्रोटोकॉल का उपयोग करते हैं और दोनों Restful सेवाओं को बनाने की अनुमति देते हैं। और JSON-RPC जैसे अन्य प्रोटोकॉल के लिए मत भूलना - शायद वे बेहतर फिट होते हैं।


1
नहीं "बिल्कुल वही" अगर वहाँ प्रतिबंध हैं अब वे कर रहे हैं?
ओजोनुगवा जूड ओचलिफु

0

ASP.Net के संदर्भ में एक वेब एपीआई एक नियंत्रक है जिसका आधार वर्ग ApiController है और यह दृश्य का उपयोग नहीं करता है। एक वेब सेवा WebService से प्राप्त एक वर्ग है और स्वचालित WSDL पीढ़ी है। डिफ़ॉल्ट रूप से यह एक SOAP एपी है, लेकिन आप ScriptServiceAttribute को जोड़कर JSON का भी उपयोग कर सकते हैं ।


0

एपीआई और वेब सेवा संचार के साधन के रूप में काम करते हैं।

एकमात्र अंतर यह है कि एक वेब सेवा एक नेटवर्क पर दो मशीनों के बीच बातचीत की सुविधा देती है। एक एपीआई दो विभिन्न अनुप्रयोगों के बीच एक अंतरफलक के रूप में कार्य करता है ताकि वे एक दूसरे के साथ संवाद कर सकेंएपीआई एक ऐसा तरीका है जिसके द्वारा तीसरे पक्ष के विक्रेता अन्य कार्यक्रमों के साथ आसानी से प्रोग्राम लिख सकते हैं। एक वेब सेवा को एक इंटरफ़ेस के लिए डिज़ाइन किया गया है जिसे आमतौर पर वेब सेवा विवरण भाषा (WSDL) में निर्दिष्ट मशीन-प्रक्रियात्मक प्रारूप में दर्शाया गया है

सभी वेब सेवाएँ API हैं लेकिन सभी API वेब सेवाएँ नहीं हैं।

एक वेब सेवा HTTP में लिपटी एक एपीआई मात्र है।


यहाँ यह लेख वेब सेवा और एपीआई के बारे में अच्छा ज्ञान प्रदान करता है।


-2

ठीक है, टीएमके माइक्रोसॉफ्ट की दुनिया में सही हो सकता है, लेकिन जावा / पायथन / आदि सहित सभी सॉफ्टवेयर की दुनिया में, मेरा मानना ​​है कि कोई अंतर नहीं है। वे एक ही बात कर रहे हैं।


-2

वेब सेवा और वेब एपीआई के बीच अंतर यहाँ समझाया गया है:

/software/38691/difference-between-web-api-and-web-service

लिंक से पाठ:

वेब सेवाएँ - यह W3C द्वारा परिभाषित मानक है, इसलिए इन्हें अर्ध-स्वचालित रूप से या स्वचालित रूप से (WSDL / UDDI) तक पहुँचा जा सकता है। पूरी बात एक्सएमएल पर आधारित है, इसलिए कोई भी इसे कॉल कर सकता है। और सेवा के हर पहलू को बहुत अच्छी तरह से परिभाषित किया गया है। वहाँ पैरामीटर विवरण मानक, पैरामीटर पासिंग मानक, प्रतिक्रिया मानक, खोज मानक, आदि हैं। आप शायद 2000 पृष्ठों की किताब लिख सकते हैं जो मानक का वर्णन करेंगे। "मानक" चीजें करने के लिए कुछ "अतिरिक्त" मानक भी हैं, जैसे प्रमाणीकरण।

इस तथ्य के बावजूद कि स्वचालित आह्वान और खोज मुश्किल से काम कर रहे हैं क्योंकि ग्राहक बल्कि गरीब हैं, और आपके पास कोई वास्तविक गारंटी नहीं है कि किसी भी ग्राहक से किसी भी सेवा को कॉल किया जा सकता है।

वेब एपीआई आमतौर पर HTTP / REST के रूप में किया जाता है, कुछ भी परिभाषित नहीं है, आउटपुट उदा के लिए हो सकता है। JSON / XML, इनपुट XML / JSON / या सादा डेटा हो सकता है। किसी भी चीज के लिए कोई मानक नहीं हैं => कोई स्वचालित कॉलिंग और खोज नहीं। आप पाठ फ़ाइल या पीडीएफ में कुछ विवरण प्रदान कर सकते हैं, आप यूनिकोड के बजाय विंडोज -1250 में डेटा वापस कर सकते हैं, आदि। मानक का वर्णन करने के लिए यह कुछ सरल जानकारी के साथ 2 पृष्ठ ब्रोशर होगा और आप सब कुछ परिभाषित करेंगे।

वेब, वेब API / REST की ओर जा रहा है। वेब सेवाएँ वास्तव में वेब एपीआई से बेहतर नहीं हैं। विकसित करने के लिए बहुत जटिल है और वे बहुत अधिक संसाधन (बैंडविड्थ और रैम) खाते हैं ... और सभी डेटा रूपांतरणों के कारण (REQUEST-> XML-> डेटा-> जवाब-> XML-> सत्यापन-> रूपांतरण-> डेटा) बहुत हैं धीमी गति से।

उदाहरण के लिए। WebAPI में आप डेटा को पैक कर सकते हैं, इसे ग्राहक पर संपीड़ित और संयुक्त राष्ट्र + संयुक्त राष्ट्र-पैक भेज सकते हैं। SOAP में आप केवल HTML अनुरोध को संपीड़ित कर सकते हैं।


-2

सभी WebServices API हैं लेकिन सभी API WebServices नहीं हैं, API जो वेब पर उजागर होती हैं उन्हें वेब सेवाएँ कहा जाता है।


वेब सेवा W3C द्वारा परिभाषित मानक है, XML (WSDL / UDDI) के माध्यम से बातचीत करने के लिए 3 पार्टी सॉफ्टवेयर के लिए अच्छी तरह से प्रलेखित सेवा। वेब एपीआई HTTP पर एपीआई है, अच्छी तरह से प्रलेखित नहीं है, इसका अपना मानक है। और सामान्य रूप से एपीआई एक ऐसी चीज है जो अन्य अनुप्रयोगों के लिए बात करने के लिए इंटरनेट का उपयोग नहीं कर सकती है या नहीं कर सकती है और ओएस में अपने टर्मिनल / सेमी से बात करने के लिए सिस्टम कॉल के लिए अन्य प्रोटोकॉल भी हो सकते हैं।
इमाम बक्स

-3

दो बातें समझने में बहुत सरल हैं,

  1. एपीआई: यह आवेदन पर एक परत है जो स्थानीय रूप से अन्य आवेदन अनुरोधों की सेवा कर सकता है।
  2. वेब सेवा: एक एपीआई है जो वेब या इंटरनेट पर नेटवर्क फॉर्म रिमोट सिस्टम पर अनुरोध और प्रतिक्रिया दे सकता है।

नोट: सभी वेब सेवा API है, लेकिन सभी API 'वेब सेवाएँ नहीं हैं


स्थानीय रूप से और साथ ही साथ वेब पर
पावन टी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.