Unterschied zwischen Web API und Web Service?

Antworten:

86

Web Services - das ist der von W3C festgelegte Standard, sodass halbautomatisch oder automatisch auf sie zugegriffen werden kann (WSDL / UDDI). Das Ganze basiert auf XML, also kann es jeder aufrufen. Und jeder Aspekt des Service ist sehr gut definiert. Es gibt einen Standard für die Parameterbeschreibung, einen Standard für die Parameterübergabe, einen Antwortstandard, einen Erkennungsstandard usw. usw. Sie könnten wahrscheinlich ein 2000-seitiges Buch schreiben, das den Standard beschreibt. Es gibt sogar einige "zusätzliche" Standards, um "Standard" -Dinge wie die Authentifizierung auszuführen.

Trotz der Tatsache, dass das automatische Aufrufen und Erkennen kaum funktioniert, weil die Clients ziemlich arm sind und Sie keine echte Garantie dafür haben, dass ein Dienst von jedem Client aus 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 reine Daten sein. Es gibt keine Standards für irgendetwas => kein automatisches Aufrufen und Erkennen. Sie können eine Beschreibung in einer Textdatei oder als PDF-Datei bereitstellen. Sie können die Daten in Windows-1250 anstelle von Unicode usw. zurückgeben. Für die Beschreibung des Standards handelt es sich um eine 2-seitige Broschüre mit einigen einfachen Informationen, und Sie definieren alles andere.

Das Web wechselt zu Web API / REST. Webservices sind wirklich nicht besser als die Web-API. Sehr kompliziert zu entwickeln und sie verbrauchen viel mehr Ressourcen (Bandbreite und RAM) ... und sind wegen aller Datenkonvertierungen (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) sehr schleppend.

Z.B. In WebAPI können Sie die Daten packen, komprimieren und auf dem Client entpacken. In SOAP konnten Sie nur HTML-Anforderungen komprimieren.

Slawek
quelle
1
danke @Slawek, du hast es besser erklärt..und danke auch für das Beispiel ...
Harish Kurup
2
In Wirklichkeit höre ich Leute, die SOAP und REST als "Webservices" bezeichnen. Die Web-API ist jedoch in der Regel REST.
Ben Thurley
@Slawek, so wie Sie es gesagt haben, 2000 Seiten gegenüber ein paar Seiten, erklärt selbst die reduzierte Komplexität. Gute Möglichkeit, es einfach zu sagen ..
Jaqen H'ghar
20

Ein Webdienst ermöglicht die Kommunikation zwischen Computern über HTTP. Eine Web-API ist eine Teilmenge von Webdiensten, die REST-Konventionen verwenden (Zusammenfassung des Wikipedia-Artikels ). Die Konzepte überschneiden sich definitiv. Ich glaube, dass die meisten Leute immer noch eine Verbindung zum Thema Webservice haben -> SOAP / XML-RPC, die die Dinge unnötig verwirren kann.

Am Ende müssen Sie ein paar Fragen stellen, um zu klären, was die Leute meinen. Nicht jeder unterscheidet oder verwendet die Begriffe synonym.

Berin Loritsch
quelle
Vielen Dank @Berin Loritsch, ja das ist richtig, es verursacht Verwirrung zwischen APIs und WS ..
Harish Kurup
6

Web Services sind eine definierte Architektur und ein Ansatz für eine Problemdomäne, wie vom W3C angegeben .

Webservices bieten ein Standardmittel für die Interaktion zwischen verschiedenen Softwareanwendungen, die auf einer Vielzahl von Plattformen und / oder Frameworks ausgeführt werden

Die Web-API ist ein Konzept und abstrahiert die Mittel zur Implementierung des Konzepts.

Für Laien gilt: Die Web-API ist für den Motor, die WS für den BMW N53 .

Aaron McIver
quelle