Video: SOAP Web Services 20 - wsimport Revisited 2024
Amazon Web Services (AWS) wurde ursprünglich mit SOAP-Unterstützung für Interaktionen mit seiner API gestartet, aber es hat ständig veraltet (reduzierte seine Unterstützung mit anderen Worten) seine SOAP-Schnittstelle zugunsten von REST. Die beste Empfehlung für die Verwendung der AWS-API ist, dass Sie sich auf die Verwendung von REST konzentrieren.
Auf diese Weise werden Sie nicht mit Programmen enden, die irgendwann aufhören zu arbeiten - lange nachdem Sie die Details der Interaktionsmechanismen vergessen haben. Die Erfahrung der unangenehmen Aufgabe, in ein System zurückkehren zu müssen und zu versuchen, Ihre Handlungen von Monaten oder Jahren vorher zu rekonstruieren, ist eine unglückliche Erfahrung.
Es hat keinen Sinn, das Schicksal mit AWS in den Bann zu ziehen - wenn Sie mit der AWS-API interagieren möchten, verwenden Sie REST, das ist die langfristige Ausrichtung von Amazon.
Der ältere Ansatz, SOAP (Abkürzung für Simple Object Access Protocol), hatte weitreichende Unterstützung für die Industrie, einschließlich eines umfassenden Satzes von Standards. Diese Standards waren leider zu umfangreich. Die Leute, die SOAP entwerfen, haben es extrem flexibel gestaltet - es kann über das Internet, E-Mail und private Netzwerke kommunizieren. Um Sicherheit und Verwaltbarkeit zu gewährleisten, wurde eine Reihe von unterstützenden Standards definiert, die in SOAP integriert werden.
SOAP basiert auf einem Dokumentenkodierungsstandard, der als Extensible Markup Language (kurz XML) bezeichnet wird, und der SOAP-Service ist so definiert, dass die Benutzer unabhängig von XML XML nutzen können. Was ist das zugrunde liegende Kommunikationsnetzwerk? Damit dieses System funktioniert, müssen die von SOAP übertragenen Daten (im Allgemeinen als Payload bezeichnet) ebenfalls im XML-Format vorliegen.
Beachten Sie hier ein Muster? Der Drang, umfassend und flexibel zu sein (oder alles für alle Menschen zu sein) plus die XML-Payload-Anforderung bedeutete, dass SOAP ziemlich komplex wurde, was es sehr arbeitsintensiv macht. Wie Sie vielleicht erraten haben, haben viele IT-Mitarbeiter SOAP als entmutigend empfunden und sich daher gewehrt.
Vor etwa einem Jahrzehnt hat ein Doktorand im Rahmen seiner Doktorarbeit einen anderen Web-Service-Ansatz definiert: REST oder Representational State Transfer. REST, das weit weniger umfassend als SOAP ist, strebt danach, weniger Probleme zu lösen. Es behandelt nicht einige Aspekte von SOAP, die wichtig erschienen, aber im Nachhinein die Verwendung komplexer gemacht haben - zum Beispiel die Sicherheit.
Der wichtigste Aspekt von REST ist, dass es so konzipiert ist, dass es in Standard-Webprotokolle integriert werden kann, so dass REST-Services mit Standardwebverben und URLs aufgerufen werden können. Ein gültiger REST-Aufruf sieht beispielsweise so aus:
// search.Beispielunternehmen. com / FirmenVerzeichnis / MitarbeiterInfo? empname = BernardGolden
Das genügt, um eine Abfrage an den REST-Service von examplecompany zu senden, um Personalinformationen zu sehen. Das HTTP-Verb, das diese Anforderung begleitet, ist GET und fordert zur Rückgabe von Informationen auf. Um Informationen zu löschen, verwenden Sie das Verb DELETE. Um Informationen einzufügen, verwenden Sie das Verb POST. Um Informationen zu aktualisieren, verwenden Sie das Verb PUT.
Für die POST- und PUT-Aktionen würden zusätzliche Informationen dem empname beigefügt und durch ein Et-Zeichen (&) getrennt sein, um ein anderes Argument anzugeben, das vom Dienst verwendet werden soll.
REST erlegt den Dienstnutzlasten keine besonderen Formatierungsanforderungen auf; In dieser Hinsicht unterscheidet es sich von SOAP, das XML erfordert. Für einfache Interaktionen benötigen Sie nur eine Folge von Bytes für die Nutzdaten. Für komplexere Interaktionen (z. B. Sie möchten nicht nur Ihre Mitarbeiterinformationen zurückgeben, sondern auch eine Anforderung für die Mitarbeiterinformationen aller Mitarbeiter, deren Namen mit G beginnen), wird die Kodierungskonvention JSON verwendet. (JSON, wenn Sie neugierig sind, steht für Javascript Object Notation.)
Wie Sie vielleicht erwarten, haben RESTs Modell für einfachere Verwendung, seine Anpassung an Standard-Webprotokolle und Verben und seine weniger restriktive Nutzlastformatierung dazu geführt, dass es sich mit Entwicklern durchsetzt. wie ein Haus in Flammen.