क्या वेब एपीआई और वेब सेवा में कोई अंतर है ? या वे एक ही हैं?
क्या वेब एपीआई और वेब सेवा में कोई अंतर है ? या वे एक ही हैं?
जवाबों:
एक वेब सेवा आमतौर पर एक WSDL प्रदान करती है जिससे आप ग्राहक स्टब्स स्वचालित रूप से बना सकते हैं। वेब सेवाएँ SOAP प्रोटोकॉल पर आधारित हैं । ASP.NET वेब एपीआई एक नया Microsoft ढांचा है जो आपको REST आधारित इंटरफेस बनाने में मदद करता है । प्रतिक्रिया या तो JSON या XML हो सकती है, लेकिन ग्राहकों को स्वचालित रूप से उत्पन्न करने का कोई तरीका नहीं है क्योंकि वेब एपीआई वेब सेवा से WSDL की तरह एक सेवा विवरण प्रदान नहीं करता है। तो यह आपकी आवश्यकताओं पर निर्भर करता है कि आप किन तकनीकों का उपयोग करना चाहते हैं। शायद WCF भी आपकी आवश्यकताओं को बेहतर ढंग से पूरा करता है, बस MSDN प्रलेखन देखें।
वेब सेवाओं और वेब एपीआई के बीच बुनियादी अंतर
वेब सेवा:
1) यह एक SOAP- आधारित सेवा है और XML के रूप में डेटा लौटाता है।
2) यह केवल HTTP प्रोटोकॉल का समर्थन करता है।
3) यह खुला स्रोत नहीं है, लेकिन XML को समझने वाले किसी भी ग्राहक द्वारा उपयोग किया जा सकता है।
5) इसे नेटवर्क पर डेटा प्राप्त करने और भेजने के लिए SOAP प्रोटोकॉल की आवश्यकता होती है, इसलिए यह हल्के वजन की वास्तुकला नहीं है।
वेब एपीआई:
1) एक वेब एपीआई एक HTTP आधारित सेवा है और डिफ़ॉल्ट रूप से JSON या XML डेटा देता है।
2) यह HTTP प्रोटोकॉल का समर्थन करता है।
3) इसे एक एप्लिकेशन या IIS के भीतर होस्ट किया जा सकता है।
4) यह खुला स्रोत है और इसका उपयोग JSON या XML को समझने वाले किसी भी ग्राहक द्वारा किया जा सकता है।
5) इसमें लाइट-वेट आर्किटेक्चर और उन डिवाइसों के लिए अच्छा है जिनके पास सीमित बैंडविड्थ है, जैसे मोबाइल डिवाइस।
सिर्फ लिंक किए गए लेख का सारांश चिपकाया गया:
सारांश:
सभी वेब सेवाएँ API हैं लेकिन सभी API वेब सेवाएँ नहीं हैं।
वेब सेवाएँ वे सभी कार्य नहीं कर सकती हैं जो एक एपीआई करेगा।
एक वेब सेवा केवल तीन शैलियों का उपयोग करती है: SOAP, REST और XML-RPC संचार के लिए जबकि API संचार के लिए किसी भी शैली का उपयोग कर सकता है।
एक वेब सेवा को हमेशा अपने ऑपरेशन के लिए एक नेटवर्क की आवश्यकता होती है जबकि एक एपीआई को अपने ऑपरेशन के लिए एक नेटवर्क की आवश्यकता नहीं होती है।
एक एपीआई एक आवेदन के साथ सीधे इंटरफेस की सुविधा देता है जबकि एक वेब सेवा एक ...
और पढ़ें: एपीआई और वेब सेवा के बीच अंतर | अंतर के बीच | एपीआई बनाम वेब सेवा http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
पूर्ण उत्तर के लिए उपरोक्त लिंक देखें।
यदि आप चाहते हैं एक वेब सेवा एक वेब एपीआई है। विशेष रूप से वेब एपीआई का अर्थ आमतौर पर रेस्टफुल (HTTP आधारित) वेब सेवा और वेब सेवा का अर्थ आमतौर पर SOAP + WSDL (+ HTTP या SMTP या JMS ..) होता है।
टिपिकल रेस्टफुल वेब सेवाओं का विरोध वेब सेवा (डब्ल्यूएसडीएल, एसओएपी) से किया जाता है, लेकिन हाल ही में इसे रेस्टफुल वेब सेवाओं (अपरकेस 'डब्ल्यू' के साथ) शुरू किया गया है, जिसका अर्थ है रेस्टफुल + डब्ल्यूएसडीएल + एसओएपी ।।
तीन अवधारणाओं के बीच अंतर के लिए इस चार्ट को देखें : http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184-5621ef4e--Fig02.jpg
आशा करता हूँ की ये काम करेगा!
वेब सेवा बिल्कुल वेब एपीआई के समान है - अंतर्निहित डेटा प्रारूप के संदर्भ में बस थोड़ा अधिक प्रतिबंधित है। दोनों HTTP प्रोटोकॉल का उपयोग करते हैं और दोनों Restful सेवाओं को बनाने की अनुमति देते हैं। और JSON-RPC जैसे अन्य प्रोटोकॉल के लिए मत भूलना - शायद वे बेहतर फिट होते हैं।
ASP.Net के संदर्भ में एक वेब एपीआई एक नियंत्रक है जिसका आधार वर्ग ApiController है और यह दृश्य का उपयोग नहीं करता है। एक वेब सेवा WebService से प्राप्त एक वर्ग है और स्वचालित WSDL पीढ़ी है। डिफ़ॉल्ट रूप से यह एक SOAP एपी है, लेकिन आप ScriptServiceAttribute को जोड़कर JSON का भी उपयोग कर सकते हैं ।
एपीआई और वेब सेवा संचार के साधन के रूप में काम करते हैं।
एकमात्र अंतर यह है कि एक वेब सेवा एक नेटवर्क पर दो मशीनों के बीच बातचीत की सुविधा देती है। एक एपीआई दो विभिन्न अनुप्रयोगों के बीच एक अंतरफलक के रूप में कार्य करता है ताकि वे एक दूसरे के साथ संवाद कर सकें । एपीआई एक ऐसा तरीका है जिसके द्वारा तीसरे पक्ष के विक्रेता अन्य कार्यक्रमों के साथ आसानी से प्रोग्राम लिख सकते हैं। एक वेब सेवा को एक इंटरफ़ेस के लिए डिज़ाइन किया गया है जिसे आमतौर पर वेब सेवा विवरण भाषा (WSDL) में निर्दिष्ट मशीन-प्रक्रियात्मक प्रारूप में दर्शाया गया है
सभी वेब सेवाएँ API हैं लेकिन सभी API वेब सेवाएँ नहीं हैं।
एक वेब सेवा HTTP में लिपटी एक एपीआई मात्र है।
यहाँ यह लेख वेब सेवा और एपीआई के बारे में अच्छा ज्ञान प्रदान करता है।
ठीक है, टीएमके माइक्रोसॉफ्ट की दुनिया में सही हो सकता है, लेकिन जावा / पायथन / आदि सहित सभी सॉफ्टवेयर की दुनिया में, मेरा मानना है कि कोई अंतर नहीं है। वे एक ही बात कर रहे हैं।
/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 अनुरोध को संपीड़ित कर सकते हैं।
सभी WebServices API हैं लेकिन सभी API WebServices नहीं हैं, API जो वेब पर उजागर होती हैं उन्हें वेब सेवाएँ कहा जाता है।
दो बातें समझने में बहुत सरल हैं,
नोट: सभी वेब सेवा API है, लेकिन सभी API 'वेब सेवाएँ नहीं हैं