Stellen Sie sich vor, Sie entwickeln eine Webanwendung und entschließen sich, die Funktionalität von der Präsentation der Anwendung zu entkoppeln, da dies mehr Freiheit bietet.
Sie erstellen eine API und lassen andere auch ihre eigenen Frontends darüber implementieren. Was Sie gerade hier getan haben, ist die Implementierung einer SOA- Methodik, dh die Verwendung von Webdiensten.
Webdienste machen funktionale Bausteine über Standard-Internetprotokolle unabhängig von Plattformen und Programmiersprachen zugänglich.
Sie entwerfen also einen Austauschmechanismus zwischen dem Back-End (Web-Service), der die Verarbeitung und Generierung von etwas Nützlichem übernimmt, und dem Front-End (das die Daten verbraucht), das alles sein kann. (Eine Web-, Mobil- oder Desktopanwendung oder ein anderer Webdienst). Die einzige Einschränkung besteht darin, dass das Front-End und das Back-End dieselbe "Sprache" "sprechen" müssen.
Hier kommen SOAP und REST ins Spiel. Dies sind Standardmethoden für die Kommunikation mit dem Webdienst.
SEIFE:
SOAP verwendet intern XML, um Daten hin und her zu senden. SOAP-Nachrichten haben eine starre Struktur und das Antwort-XML muss dann analysiert werden.
WSDL ist eine Spezifikation, welche Anforderungen gestellt werden können, mit welchen Parametern und was sie zurückgeben. Es ist eine vollständige Spezifikation Ihrer API.
SICH AUSRUHEN:
REST ist ein Designkonzept.
Das World Wide Web ist die größte Implementierung eines Systems, das dem REST-Architekturstil entspricht.
Es ist nicht so starr wie SOAP. RESTful-Webdienste verwenden Standard-URIs und -Methoden, um den Webservice aufzurufen. Wenn Sie einen URI anfordern, wird die Darstellung eines Objekts zurückgegeben, für das Sie Operationen ausführen können (z. B. GET, PUT, POST, DELETE). Sie sind nicht darauf beschränkt, XML auszuwählen, um Daten darzustellen, Sie können wirklich alles auswählen (JSON eingeschlossen).
Die REST-API von Flickr geht noch weiter und ermöglicht die Rückgabe von Bildern.
JSON und XML sind funktional gleichwertig und werden häufig verwendet. Es gibt auch RPC-basierte Frameworks wie GRPC basierend auf Protobufs und Apache Thrift, die für die Kommunikation zwischen API-Herstellern und Verbrauchern verwendet werden können. Das am häufigsten von Web-APIs verwendete Format ist JSON, da es in jeder Sprache einfach zu verwenden und zu analysieren ist.
WSDL : Steht für Web Service Description Language
Wenn Sie in SOAP (einfaches Objektzugriffsprotokoll) den Webdienst verwenden und Ihrem Projekt einen Webdienst hinzufügen, kennen Ihre Clientanwendungen die Webdienstfunktionen nicht. Heutzutage ist es irgendwie altmodisch und für jede Art von unterschiedlichem Client müssen unterschiedliche
WSDL
Dateien implementiert werden. Beispielsweise können Sie nicht dieselbe Datei für.Net
undphp
Client verwenden. DieWSDL
Datei enthält einige Beschreibungen der Webdienstfunktionen. Der Typ dieser Datei istXML
.SOAP
ist eine Alternative fürREST
.REST : Steht für Representational State Transfer
Es ist eine andere Art von API-Service, der für Clients sehr einfach zu verwenden ist. Sie müssen keine spezielle Dateierweiterung wie
WSDL
Dateien haben. Die CRUD-Operation kann auf verschiedeneHTTP Verbs
Arten implementiert werden (GET zum Lesen, POST zum Erstellen, PUT oder PATCH zum Aktualisieren und LÖSCHEN zum Löschen des gewünschten Dokuments). Sie basieren auf demHTTP
Protokoll und meistens erfolgt die Antwort inJSON
oder imXML
Format. Andererseits muss die Client-Anwendung die zugehörigenHTTP Verb
über genaue Parameternamen und -typen genau aufrufen . Da es keine spezielle Datei für die Definition gibtWSDL
, handelt es sich um einen manuellen Job, der den Endpunkt verwendet. Aber es ist keine große Sache, denn jetzt haben wir viele Plugins für verschiedene IDEs, um die clientseitige Implementierung zu generieren.SOA : Steht für serviceorientierte Architektur
Beinhaltet die gesamte Programmierung mit Webdienstkonzepten und -architektur. Stellen Sie sich vor, Sie möchten eine umfangreiche Anwendung implementieren. Eine Praxis kann darin bestehen, verschiedene Dienste zu haben, die als Mikrodienste bezeichnet werden, und der gesamte Anwendungsmechanismus würde den erforderlichen Webdienst zum richtigen Zeitpunkt aufrufen. Sowohl
REST
als auchSOAP
Webdienste sind irgendwieSOA
.JSON : Steht für
javascript Object Notation
Wenn Sie ein Objekt für Javascript serialisieren, ist der Typ des Objektformats JSON. Stellen Sie sich vor, Sie haben die menschliche Klasse:
und Sie haben einige Instanzen aus dieser Klasse:
Wenn Sie das h1-Objekt in JSON serialisieren, lautet das Ergebnis:
javascript
kann dieses Format nacheval()
Funktion auswerten und aus dieserJSON
Zeichenfolge ein assoziatives Array erstellen. Dieses Konzept unterscheidet sich von anderen Konzepten, die ich zuvor beschrieben habe.quelle