Dieser Artikel beschreibt zwei Webdienst-Zugriffsprotokolle, SEIFE ("Simple Object Access Protocol") und SICH AUSRUHEN ("Repräsentativstaatstransfer").
Web-Services sind so definiert, dass sie aktiv Daten aus einer definierten Quelle abrufen, lesen oder übertragen, um ein angegebenes Ergebnis zu erzeugen - ein Ergebnis.
Das folgende rudimentäre Beispiel zeigt eine grundlegende Verwendung von Web-Services, bevor Sie verstehen, wie die Daten mithilfe von SOAP oder REST zum und vom Web-Service übertragen werden.
Wenn ein Entwickler an einem Ort eine Anwendung schreibt, für die einige Datenberechnungen erforderlich sind, schreibt der Entwickler die Berechnungsmethode an dieser Stelle in den Code. Wenn die Datenberechnung jedoch in anderen Teilen der Anwendung benötigt wird, wäre es ineffizient und unpraktisch, die Berechnung aufrechtzuerhalten, wenn der Entwickler die Berechnungsmethode in jedem erforderlichen Bereich platziert.
Um diese Methode einmal ändern zu können, müssen Sie jede Instanz zum Bearbeiten (und erneuten Testen) finden. Dieses Szenario würde von der Verwendung eines Web-Services profitieren, um optimal zu funktionieren und die Geschäftsflexibilität zu verbessern.
Durch das Erstellen eines Web-Services mit verfügbaren Methoden zum Hinzufügen, Subtrahieren, Dividieren und Multiplizieren, greift die Anwendung mit diesem Web-Service ein, wann immer Datenberechnung erforderlich ist. Es ruft den Webservice auf, um die Berechnung durchzuführen und das Ergebnis zu produzieren. Der Entwickler hat also nur eine Stelle, um die Datenberechnungsmethode zu verwalten.
Die Art und Weise, wie Daten in Web-Services verarbeitet werden, hängt davon ab, ob SOAP oder REST implementiert wird.
Eine Anwendung, die auf ausführbaren Prozessen basiert, basiert auf a Serviceorientierte Architektur ("SOA"). Hierbei handelt es sich um einen Ansatz zur Verwendung von Diensten, die Daten übertragen, produzieren, validieren oder berechnen.
SOA Es wird immer günstiger, die Entwicklungsqualität und -zeit zu verbessern und die Anwendungsleistung und Skalierbarkeit zu verbessern.
Notation für Geschäftsprozessmodellierung ("BPMN") ist die Modellierung eines Dienstes oder Geschäftsprozesses, der von nichttechnischen Mitarbeitern, d. H. Vom Unternehmensanalytiker, ausgeführt werden kann. Verwenden BPMN, Geschäftsmodelle (für Services) werden von Entwicklern, die das Modell als ausführbaren Prozess implementieren, leicht interpretiert. Diese Prozesse erfordern möglicherweise menschliche Interaktion.
SOAP ist eine Methode zum Übertragen von Daten über das Internet.
Ursprünglich von Microsoft aufgrund des Aufkommens des Internets entwickelt, ersetzte SOAP das alte DCOM und CORBA Technologien, und es ist schon viel länger als REST.
SOAP wird als schwerer als REST betrachtet, d. H., Es ist mehr Gepäck erforderlich, um Daten zu übertragen. Dies bedeutet, dass pro Nachrichtenanforderung mehr Bandbreite erforderlich ist, und die Datenquelle und die Ziele müssen beim Packen und Empfangen der Daten mehr arbeiten.
SOAP verwendet nur XML Für Messaging-Dienste über das Internet und XML-Nachrichtenanfragen können sehr komplex sein. Wenn sie manuell entwickelt werden, ist besondere Aufmerksamkeit erforderlich, da SOAP mit Fehlern unflexibel ist.
Es ist möglich, SOAP-Nachrichtenanforderungen mit .NET-Sprachen zu automatisieren (als Beispiel), bei denen Entwickler nicht mit XML arbeiten müssen, da diese automatisch im Hintergrund generiert wird.
Wenn bei der Nachrichtenanforderung Probleme auftreten, werden detaillierte Fehlerinformationen in der Nachrichtenantwort zurückgegeben. Dieser Prozess kann auch automatisiert werden, indem auf die in der Nachrichtenantwort enthaltenen Standardfehlercodes verwiesen wird.
Daher ist die verwendete Programmiersprache ein entscheidender Faktor dafür, wie schwierig es ist, SOAP zu implementieren.
Eines der Gepäckstücke, das einer SOAP-Nachricht beiliegt, ist das Web Services Description Language ("WSDL"), um zu erklären, wie der Webdienst funktioniert. Wenn eine Anwendung auf den Webdienst verweist, liest und versteht sie, was mit dem Webdienst zu tun ist.
SOAP ist nicht an die Verwendung gebunden HTTP (HyperText Transfer Protocol) ausschließlich; Es kann über SMTP und andere Transportprotokolle verwendet werden.
Da SOAP standardisiert wurde, ist es strenger als REST, obwohl beide von festgelegten Regeln abhängen.
REST ist der neuere und schlankere Cousin von SOAP und wird schnell zur ersten Wahl für die meisten Web- und mobilen Anwendungen.
REST ist mehr als ein Jahrzehnt nach seiner Einführung eine einfachere, wartungsfähigere und skalierbarere Möglichkeit, mit Web-Services zu interagieren.
Im Gegensatz zu SOAP wird REST nicht verwendet XML ausschließlich; Klartext, CSV, und RSS kann verwendet werden sowie JSON für AJAX-Anrufe; solange Quelle und Ziele die verwendeten Formate verstehen.
REST ist weniger komplex und wird im Vergleich zu SOAP als kleinere Lernkurve betrachtet. Die meisten modernen Programmiersprachen verfügen über Bibliotheken und Frameworks, um REST (RESTful) -Dienste wie C #, Python, Java und Perl zu vereinfachen.
REST ist aufgrund der minimalen Verarbeitung schneller und mit unterschiedlichen Nachrichtenformaten effizienter.
Beide haben Vor- und Nachteile. Berücksichtigen Sie bei der Auswahl des zu verwendenden Zugriffsprotokolls die in der Organisation verwendeten Programmiersprachen, die Anwendungsumgebung und die Anwendungsanforderungen.