Ich habe viel über Webdienste und Web-APIs gehört. Gibt es einen Unterschied zwischen ihnen oder sind sie gleich?
Ich habe viel über Webdienste und Web-APIs gehört. Gibt es einen Unterschied zwischen ihnen oder sind sie gleich?
Antworten:
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.
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.
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 .