Was ist der Unterschied zwischen einem Webservice und einer API? Ist der Unterschied größer als das Protokoll zur Datenübertragung? Vielen Dank.
Was ist der Unterschied zwischen einem Webservice und einer API? Ist der Unterschied größer als das Protokoll zur Datenübertragung? Vielen Dank.
Antworten:
Eine API (Application Programming Interface) ist das Mittel, mit dem Dritte Code schreiben können, der mit anderem Code verbunden ist. 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). In der offiziellen W3C-Definition wird erwähnt, dass Webdienste nicht unbedingt HTTP verwenden. Dies ist jedoch fast immer der Fall und wird normalerweise angenommen, 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 das Webpart) und beinhaltet definitiv die Kommunikation über ein Netzwerk. APIs können im Allgemeinen jedes gewünschte 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.
Grundsätzlich ist ein Webservice eine Kommunikationsmethode zwischen zwei Computern, während eine API eine exponierte Schicht ist, mit 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:
Eine Anwendungsprogrammierschnittstelle (API) ist eine Reihe von Routinen, Datenstrukturen, Objektklassen und / oder Protokollen, die von Bibliotheken und / oder Betriebssystemdiensten bereitgestellt werden, um die Erstellung von Anwendungen zu unterstützen.
Ein Webdienst (auch Webdienst) wird vom W3C als "ein Softwaresystem definiert, das die interoperable Interaktion von Maschine zu Maschine über ein Netzwerk unterstützt".
In einem allgemeinen Sinne ein Webservice IST eine API über HTTP. Sie verwenden häufig JSON oder XML, aber es gibt auch einige andere Ansätze.
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 zu erhalten.
zB GetNumberClicks (Benutzername) aufrufen
Um die API zu implementieren, müssen Sie die Doubleclick-JAR-Datei zu Ihrem Klassenpfad hinzufügen. Der Anruf ist lokal.
Ein Webdienst ist eine Form der API, bei der die Schnittstelle mithilfe einer WSDL definiert wird. Dies ermöglicht das Remote-Aufrufen einer Schnittstelle über HTTP.
Wenn Doubleclick ihre Benutzeroberfläche als Webdienst implementieren würde, würden sie so etwas wie Axis2 verwenden, das in Tomcat ausgeführt wird.
Der Remote-Benutzer würde den Webdienst aufrufen
zB GetNumberClicksWebService (Benutzername) aufrufen
und der GetNumberClicksWebService-Dienst würde GetNumberClicks lokal aufrufen.
API (Application Programming Interface), das vollständige Formular selbst schlägt vor, dass es sich um eine Schnittstelle handelt, mit der Sie mithilfe der Unterstützung oder Unterstützung einer anderen Anwendungsschnittstelle für Ihre Anwendung programmieren können, die eine für Ihre Anwendung nützliche Funktionalität bereitstellt.
Zum Beispiel würde das Anzeigen aktualisierter Wechselkurse auf Ihrer Website eine Schnittstelle eines Drittanbieters zum Programmieren erfordern, 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 verfügbar sind und wenn sie sie mit anderen teilen möchten, müssen sie einen Endpunkt haben, um mit den anderen zu kommunizieren, die an solchen Interaktionen interessiert sind, damit sie sie über das Web im Web bereitstellen können. Dienstleistungen. Dieser Endpunkt ist nichts anderes als eine Schnittstelle ihrer Anwendung, gegen die Sie programmieren können.
Stellen Sie sich den Webdienst als Web-API vor. API ist heutzutage ein so allgemeiner Begriff, dass ein Webdienst eine Schnittstelle zu Funktionen ist, die normalerweise geschäftsbezogen sind und über eine Vielzahl von Protokollen vom Netzwerk aus aufgerufen werden können.
Überprüfen Sie dies http://en.wikipedia.org/wiki/Web_service
Wie der Link erwähnt, handelt es sich bei der Web-API um eine Entwicklung von Webdiensten, die sich höchstwahrscheinlich auf Web 2.0 bezieht, während SOAP-basierte Dienste durch REST-basierte Kommunikation ersetzt werden. Beachten Sie, dass für REST-Services keine XML-, SOAP- oder WSDL-Service-API-Definitionen erforderlich sind. Dies unterscheidet sich daher erheblich von herkömmlichen Webdiensten.
Ein weiteres Beispiel: Google Map API vs Google Direction API-Webdienst, während der erstere Javascript-Datei an die Site liefert (liefert) (die dann als API verwendet werden kann, um neue Funktionen zu erstellen), der letztere ist ein Rest-Webdienst, der Daten liefert ( im json- oder xml-Format), das verarbeitet werden kann (aber nicht im API-Sinne verwendet wird).