it-swarm.dev

API vs. Web Service

Was ist der Unterschied zwischen einem Webservice und einer API? Ist der Unterschied größer als das zur Datenübertragung verwendete Protokoll? Vielen Dank.

201
chips

Eine API (Application Programming Interface) ist das Mittel, mit dem Dritte Code schreiben können, der mit anderem Code interagiert. Ein Webdienst ist eine Art API, die fast immer über HTTP ausgeführt wird (obwohl einige, wie SOAP, alternative Transporte wie SMTP verwenden können). Die offizielle W3C-Definition erwähnt, dass Web Services nicht unbedingt HTTP verwenden, dies ist jedoch fast immer der Fall und wird normalerweise vorausgesetzt, sofern nicht anders angegeben.

Beispiele für Webdienste finden Sie unter SOAP , REST und XML-RPC . Ein Beispiel für einen anderen API-Typ, der in C für die Verwendung auf einem lokalen Computer geschrieben wurde, finden Sie in der Linux-Kernel-API .

Was das Protokoll betrifft, verwendet eine Webdienst-API fast immer HTTP (daher der Webpart) und beinhaltet definitiv die Kommunikation über ein Netzwerk. APIs können im Allgemeinen beliebige Kommunikationsmittel verwenden. Die Linux-Kernel-API verwendet beispielsweise Interrupts , um die Systemaufrufe aufzurufen, aus denen sich die API für Aufrufe aus dem Benutzerbereich zusammensetzt.

168

Grundsätzlich ist ein Webservice eine Kommunikationsmethode zwischen zwei Computern, während eine API eine exponierte Ebene ist, auf der Sie gegen etwas programmieren können.

Sie könnten sehr gut eine API haben, und die Hauptmethode für die Interaktion mit dieser API ist über einen Webservice.

Die technischen Definitionen (mit freundlicher Genehmigung von Wikipedia) sind:

API

Eine Anwendungsprogrammierschnittstelle (API) ist ein Satz von Routinen, Datenstrukturen, Objektklassen und/oder Protokollen, die von Bibliotheken und/oder Betriebssystemdiensten bereitgestellt werden, um die Erstellung von Anwendungen zu unterstützen.

Webservice

Ein Webdienst (auch Webdienst) wird vom W3C als "Softwaresystem zur Unterstützung der interoperablen Maschine-zu-Maschine-Interaktion über ein Netzwerk" definiert.

52
Mark Biek

Im Allgemeinen ist ein Webservice IST eine API über HTTP. Sie verwenden häufig JSON oder XML, aber es gibt auch einige andere Ansätze.

39
cgp

APIs sind eine veröffentlichte Schnittstelle, die definiert, wie Komponente A mit Komponente B kommuniziert.

Doubleclick verfügt beispielsweise über eine veröffentlichte Java API, mit der Benutzer die Datenbanktabellen abfragen können, um Informationen zu ihrer Online-Werbekampagne abzurufen.

z.B. GetNumberClicks (Benutzername) aufrufen

Um die API zu implementieren, müssen Sie Ihrem Klassenpfad die Doubleclick-JAR-Datei hinzufügen. Der Anruf ist lokal.

Ein Webservice ist eine Form der API, bei der die Schnittstelle über eine WSDL definiert wird. Dies ermöglicht den Remote-Aufruf einer Schnittstelle über HTTP.

Wenn Doubleclick die Benutzeroberfläche als Webdienst implementieren würde, würde Axis2 in Tomcat ausgeführt.

Der entfernte Benutzer würde den Webdienst aufrufen

z.B. GetNumberClicksWebService (Benutzername) aufrufen

und der GetNumberClicksWebService-Dienst würde GetNumberClicks lokal aufrufen.

10
nzpcmad

API (Application Programming Interface), das vollständige Formular selbst, schlägt vor, dass es sich um ein Interface handelt, mit dem Sie mit Hilfe oder Unterstützung eines Interfaces einer anderen Anwendung für Ihre Anwendung programmieren können, das eine für Ihre Anwendung nützliche Funktionalität bietet.

Wenn Sie beispielsweise aktualisierte Wechselkurse auf Ihrer Website anzeigen, müssen Sie eine Schnittstelle eines Drittanbieters zum Programmieren verwenden, es sei denn, Sie planen eine eigene Datenbank mit Wechselkursen und regelmäßigen Aktualisierungen derselben. Diese Funktionen sind verfügbar, wenn sie bereits für andere Benutzer verfügbar sind. Wenn sie sie für andere Benutzer freigeben möchten, müssen sie über einen Endpunkt verfügen, um mit anderen Benutzern zu kommunizieren, die an solchen Interaktionen interessiert sind. Dienstleistungen. Dieser Endpunkt ist nichts anderes als die Schnittstelle ihrer Anwendung, gegen die Sie die API programmieren können.

7
Manoj Dwivedi

API ist Code-basierte Integration, während Web-Service-basierte Integration mit interoperablen Standards mit einem Vertrag wie WSDL ist.

4
Pingala

Stellen Sie sich den Webdienst als eine Web-API vor. API ist heutzutage ein so allgemeiner Begriff, dass ein Webdienst eine Schnittstelle zu Funktionen darstellt, die in der Regel geschäftsbezogen sind und über eine Vielzahl von Protokollen vom Netzwerk aus aufgerufen werden können.

3
Joshua Belden

Überprüfen Sie dies http://en.wikipedia.org/wiki/Web_service

Wie der erwähnte Link zeigt, handelt es sich bei der Web-API um eine Entwicklung in Webdiensten, die sich höchstwahrscheinlich auf Web 2.0 bezieht, wohingegen SOAP based services durch REST based communications ersetzt werden. Beachten Sie, dass REST Dienste keine XML-, SOAP- oder WSDL-Service-API-Definitionen erfordern, sodass sich dies wesentlich von herkömmlichen Webdiensten unterscheidet.

1
longbkit

ein anderes Beispiel: Google Map API vs. Google Direction API-Webdienst, während der erstere JavaScript-Datei für die Site bereitstellt (liefert) (die dann als API verwendet werden kann, um neue Funktionen zu erstellen), der letztere ist ein Rest-Webdienst, der Daten bereitstellt ( im json- oder xml-format), das verarbeitet werden kann (aber nicht im api-sinne verwendet wird).

0
anu