Unterschiede zwischen SOAP, OData, REST und API definieren

Abgeschlossen

Das Simple Object Access Protocol (SOAP) ist ein Messaging-Protokoll, das auf XML basiert. Es ermöglicht die Kommunikation verschiedener (Remote-)Prozesse. SOAP verwendet HTTPS, SMTP oder FTP für die Aushandlung und Übertragung von Nachrichten. Das SOAP-Protokoll ist nicht einfach zu handhaben.

Die häufigste Art von Nachrichtenmuster in SOAP ist der Remote Procedure Call (RPC), bei dem ein Netzwerkknoten (der Client) eine Anforderungsnachricht an einen anderen Knoten (den Server) sendet und der Server eine Antwortnachricht an den Client sendet. RPC verwendet einen SOAP-Umschlag, der die Nachrichtenstruktur und deren Verarbeitung definiert.

Um mit SOAP arbeiten zu können, muss der Client, der eine Verbindung zum Business Central Server herstellt, SOAP-Nachrichten verstehen können. In .NET Framework werden SOAP-Dienste seit der Veröffentlichung von Windows Communication Framework (WCF) in Version 3.0 unterstützt.

Ein SOAP-Dienst stellt eine WSDL-Datei (Web Services Description Language) bereit, in der beschrieben wird, wie der Dienst aufgerufen werden kann, welche Parameter er erwartet und welche Datenstruktur er zurückgibt. Diese Datei ist ein XML-basiertes Dokument und soll von Maschinen und nicht von Menschen gelesen werden.

Business Central unterstützt auch Open Data Protocol oder OData, ein offenes Protokoll, das zur Verwendung und Abfrage von RESTful-APIs entwickelt wurde. Eine API besteht aus einer Reihe von Routinen und Protokollen, die zur Kommunikation zwischen verschiedenen Softwarekomponenten verwendet werden. APIs werden seit vielen Jahren verwendet, und fast alle Softwareprogramme verfügten über eine API, mit der andere Programme einige Funktionen der Software nutzen konnten. Die Win32-Bibliothek ist beispielsweise eine bekannte Windows-API, mit der ältere Anwendungen unter neueren Windows-Versionen ausgeführt werden.

Derzeit werden APIs am häufigsten in Webanwendungen verwendet. Jede große Webanwendung wie Facebook, LinkedIn, Microsoft Graph usw. bieten die Möglichkeit, mithilfe von APIs eine Verbindung herzustellen, um die Benutzererfahrung der Webanwendung zu verbessern oder Daten zu verwenden, die von der Webanwendung bereitgestellt werden. Wenn diese APIs der REST-Architektur folgen, werden sie als RESTful-APIs bezeichnet. REST ist eine Architektur für Webdienste, die im Internet funktionieren kann. Dies bedeutet, dass sie viele Verbindungen und Anforderungen aus dem Internet verarbeiten kann. Diese Dienste sind zustandslos. Dies bedeutet, dass Sie einige Daten vom Server anfordern können und der Server antwortet, jedoch keinen internen Status bzw. keine Sitzung über die Anforderung beibehält. Der Server schließt die Verbindung nach der Antwort.

Diese Übertragungen können nur über HTTPS erfolgen, und REST unterstützt JSON und XML. JSON ist jedoch das am häufigsten verwendete Format in Kombination mit REST-Services.

Der wesentliche Vorteil von REST ist die Art und Weise, wie Sie REST-Services aufrufen können. Um diese Aufrufe zu tätigen, können Sie eine URL verwenden, die HTTP-Standardverben wie GET, POST, PUT und DELETE verwendet. Jede Programmiersprache kann mit REST-Diensten arbeiten, wenn sie HTTP-Anforderungen senden kann, was zu einer viel höheren Leistung und Skalierbarkeit als SOAP führt. Da es sich um eine HTTP-Anforderung handelt, können Browser oder der Server außerdem Antworten zwischenspeichern.

OData basiert auf REST-Services und kann zum Abfragen von REST-Services verwendet werden. Durch Bereitstellen zusätzlicher Abfrageparameter für eine URL können Sie beispielsweise die Ergebnismenge einschränken oder filtern. OData ist einfach für CRUD-Operationen zu verwenden. Wenn SOAP ein WSDL-Dokument verfügbar macht, gibt OData ein EDMX-Dokument frei, das Metadaten für alle veröffentlichten Webdienste enthält.

OData verwendet verschiedene Formate zur Darstellung von Daten und des Datenmodells. Das JSON-Format ist der Standard, aber das Atom-Format ist auch mit OData verfügbar. Atom ist auch ein XML-basiertes Format, das für Web-Feeds (wie News-Feeds) verwendet wird. Das EDMX-Dokument wird als XML-Dokument erstellt, sodass OData eine Kombination verschiedener Dateiformate verwendet.