Gibt es einen Unterschied zwischen einer Web-API und einem Webdienst ? Oder sind sie ein und dasselbe?
Gibt es einen Unterschied zwischen einer Web-API und einem Webdienst ? Oder sind sie ein und dasselbe?
Antworten:
Ein Webdienst bietet normalerweise eine WSDL, aus der Sie automatisch Client-Stubs erstellen können. Webdienste basieren auf dem SOAP-Protokoll . Die ASP.NET-Web-API ist ein neueres Microsoft-Framework, mit dem Sie REST-basierte Schnittstellen erstellen können . Die Antwort kann entweder JSON oder XML sein, es gibt jedoch keine Möglichkeit, Clients automatisch zu generieren, da die Web-API keine Dienstbeschreibung wie die WSDL von Web Services bietet. Es hängt also von Ihren Anforderungen ab, welche der Techniken Sie verwenden möchten. Vielleicht passt sogar WCF besser zu Ihren Anforderungen. Schauen Sie sich einfach die MSDN-Dokumentation an.
Der grundlegende Unterschied zwischen Webdiensten und Web-APIs
Internetservice:
1) Es ist ein SOAP-basierter Dienst und gibt Daten als XML zurück.
2) Es wird nur das HTTP-Protokoll unterstützt.
3) Es ist kein Open Source, kann aber von jedem Client verwendet werden, der XML versteht.
5) Zum Empfangen und Senden von Daten über das Netzwerk ist ein SOAP-Protokoll erforderlich, daher handelt es sich nicht um eine leichte Architektur.
Web-API:
1) Eine Web-API ist ein HTTP-basierter Dienst und gibt standardmäßig JSON- oder XML-Daten zurück.
2) Es unterstützt das HTTP-Protokoll.
3) Es kann in einer Anwendung oder einem IIS gehostet werden.
4) Es ist Open Source und kann von jedem Client verwendet werden, der JSON oder XML versteht.
5) Es hat eine leichte Architektur und eignet sich für Geräte mit begrenzter Bandbreite, wie mobile Geräte.
Habe gerade die Zusammenfassung des verlinkten Artikels eingefügt:
Zusammenfassung:
Alle Webdienste sind APIs, aber alle APIs sind keine Webdienste.
Webdienste führen möglicherweise nicht alle Vorgänge aus, die eine API ausführen würde.
Ein Webdienst verwendet nur drei Verwendungsstile: SOAP, REST und XML-RPC für die Kommunikation, während die API für die Kommunikation einen beliebigen Stil verwenden kann.
Ein Webdienst benötigt für seinen Betrieb immer ein Netzwerk, während eine API für ihren Betrieb kein Netzwerk benötigt.
Eine API erleichtert die direkte Verbindung mit einer Anwendung, während ein Webdienst ein ...
Lesen Sie mehr: Unterschied zwischen API und Web Service | Unterschied zwischen | API vs Web Service http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
Die vollständige Antwort finden Sie unter dem obigen Link.
Wenn Sie möchten, ist ein Webdienst eine Web-API. Insbesondere bedeutet Web-API normalerweise RESTful (HTTP-basiert) Webdienst und Webdienst bedeutet normalerweise SOAP + WSDL (+ HTTP oder SMTP oder JMS ..).
Typischerweise sind RESTful-Webdienste im Gegensatz zu Webdiensten (WSDL, SOAP), aber kürzlich wurde der Begriff RESTful-Webdienste (mit Großbuchstaben 'W') eingeführt, der RESTful + WSDL + SOAP bedeutet.
In dieser Tabelle finden Sie Unterschiede zwischen den drei Konzepten: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
Ich hoffe es hilft!
Der Webdienst ist absolut derselbe wie die Web-API - nur ein bisschen eingeschränkter in Bezug auf das zugrunde liegende Datenformat. Beide verwenden das HTTP-Protokoll und beide ermöglichen das Erstellen von RESTful-Diensten. Und vergessen Sie nicht, andere Protokolle wie JSON-RPC zu verwenden - vielleicht passen sie besser.
Im Kontext von ASP.Net ist eine Web-API ein Controller, dessen Basisklasse ApiController ist und keine Ansichten verwendet. Ein Webdienst ist eine von WebService abgeleitete Klasse mit automatischer WSDL-Generierung. Standardmäßig handelt es sich um eine SOAP-API. Sie können JSON jedoch auch verwenden, indem Sie ein ScriptServiceAttribute hinzufügen .
API und Webdienst dienen als Kommunikationsmittel.
Der einzige Unterschied besteht darin, dass ein Webdienst die Interaktion zwischen zwei Computern über ein Netzwerk erleichtert. Eine API fungiert als Schnittstelle zwischen zwei verschiedenen Anwendungen, damit diese miteinander kommunizieren können . Eine API ist eine Methode, mit der Drittanbieter Programme schreiben können, die sich problemlos mit anderen Programmen verbinden lassen. Ein Webdienst verfügt über eine Schnittstelle, die in einem maschinenverarbeitbaren Format dargestellt wird, das normalerweise in der WSDL (Web Service Description Language) angegeben wird.
Alle Webdienste sind APIs, aber nicht alle APIs sind Webdienste.
Ein Webdienst ist lediglich eine in HTTP eingeschlossene API.
Dieser hier Artikel bietet gute Kenntnisse über Web - Service und API.
Nun, TMK mag in der Microsoft-Welt richtig sein, aber in der Welt aller Software, einschließlich Java / Python / etc, glaube ich, dass es keinen Unterschied gibt. Sie sind das gleiche.
/software/38691/difference-between-web-api-and-web-service
Web Services - das ist der von W3C definierte Standard, sodass halbautomatisch oder automatisch auf sie zugegriffen werden kann (WSDL / UDDI). Das Ganze basiert auf XML, so dass jeder es aufrufen kann. Und jeder Aspekt des Dienstes ist sehr gut definiert. Es gibt Parameterbeschreibungsstandard, Parameterübergabestandard, Antwortstandard, Erkennungsstandard usw. usw. Sie könnten wahrscheinlich ein Buch mit 2000 Seiten schreiben, das den Standard beschreibt. Es gibt sogar einige "zusätzliche" Standards für "Standard" -Dinge wie die Authentifizierung.
Trotz der Tatsache, dass das automatische Aufrufen und Erkennen kaum funktioniert, weil die Clients eher schlecht sind und Sie keine wirkliche Garantie dafür haben, dass ein Service von einem beliebigen Client aufgerufen werden kann.
Die Web-API wird normalerweise als HTTP / REST ausgeführt. Es ist nichts definiert. Die Ausgabe kann z. JSON / XML, Eingabe kann XML / JSON / oder einfache Daten sein. Es gibt keine Standards für irgendetwas => kein automatisches Aufrufen und Erkennen. Sie können eine Beschreibung in Textdatei oder PDF bereitstellen, Sie können die Daten in Windows-1250 anstelle von Unicode zurückgeben usw. Zur Beschreibung des Standards wäre es eine 2-seitige Broschüre mit einigen einfachen Informationen, und Sie definieren alles andere.
Das Web wechselt zu Web API / REST. Webdienste sind wirklich nicht besser als die Web-API. Sehr kompliziert zu entwickeln und sie verbrauchen viel mehr Ressourcen (Bandbreite und RAM) ... und aufgrund aller Datenkonvertierungen (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) sind sehr langsam.
Z.B. In WebAPI können Sie die Daten packen, komprimiert senden und auf dem Client dekomprimieren + entpacken. In SOAP konnten Sie nur HTML-Anforderungen komprimieren.
Alle WebServices sind APIs, aber alle APIs sind keine WebServices. APIs, die im Web verfügbar gemacht werden, werden als Webdienste bezeichnet.
Zwei Dinge sind sehr einfach zu verstehen,
Hinweis: Alle Webdienste sind APIs, aber nicht alle APIs sind Webdienste