it-swarm.dev

Unterschied zwischen Web-API und Web-Service?

Ich habe viel über Webdienste und Web-APIs gehört. Gibt es einen Unterschied zwischen ihnen oder sind sie gleich?

86
Harish Kurup

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 jedem 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 entkomprimieren + entpacken. In SOAP konnten Sie nur HTML-Anfragen komprimieren.

89
Slawek

Ein Webdienst ermöglicht die Kommunikation von Maschine zu Maschine über HTTP. Eine Web-API ist eine Teilmenge von Webdiensten, die REST Konventionen (Zusammenfassung des Wikipedia-Artikel ) verwenden. Die Konzepte überschneiden sich definitiv. Ich glaube, dass es noch einen Link in gibt Die meisten Leute denken an Webdienste -> SOAP/XML-RPC, was die Sache unnötig verwirren kann.

Am Ende müssen Sie ein paar Fragen stellen, um zu klären, was Menschen meinen. Nicht jeder macht einen Unterschied oder verwendet die Begriffe austauschbar.

20
Berin Loritsch

Webdienste sind eine definierte Architektur und ein Ansatz für eine Problemdomäne, wie in W3C angegeben.

Webdienste 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.

In Laienbegriffen ... Web-API ist für Motor, während WS für BMW N5 ist.

6
Aaron McIver