Was ist ein Webdienst?
Der Webdienst ist ein standardisiertes Medium zur Verbreitung der Kommunikation zwischen Client- und Serveranwendungen im World Wide Web. Ein Webdienst ist ein Softwaremodul, mit dem bestimmte Aufgaben ausgeführt werden können.
- Webdienste im Cloud Computing können über das Netzwerk gesucht und auch entsprechend aufgerufen werden.
- Beim Aufrufen kann der Webdienst die Funktionalität für den Client bereitstellen, der diesen Webdienst aufruft.
In diesem Webdienst-Tutorial lernen Sie die Grundlagen der Webdienste kennen.
- Wie funktionieren WebServices?
- Warum benötigen Sie einen Webdienst?
- Art des Webdienstes
- Vorteile von Webdiensten
- Webdienstarchitektur
- Web-Service-Merkmale
- SOAP-Webdienste.
- RESTful Web Services.
- Jedes SOAP-Dokument muss über ein Stammelement verfügen, das als
-Element bezeichnet wird. Das Stammelement ist das erste Element in einem XML-Dokument. - Der "Umschlag" ist wiederum in 2 Teile unterteilt. Der erste ist der Header und der nächste ist der Body.
- Der Header enthält die Routing-Daten. Dies sind im Wesentlichen die Informationen, die dem XML-Dokument mitteilen, an welchen Client es gesendet werden muss.
- Der Textkörper enthält die eigentliche Nachricht.
Wie funktionieren WebServices?

Das obige Diagramm zeigt eine sehr vereinfachte Ansicht, wie ein Webdienst tatsächlich funktionieren würde. Der Client würde eine Reihe von Webdienstaufrufen über Anforderungen an einen Server aufrufen, der den eigentlichen Webdienst hosten würde.
Diese Anforderungen werden über sogenannte Remoteprozeduraufrufe gestellt. Remote Procedure Calls (RPC) sind Aufrufe von Methoden, die vom jeweiligen Webdienst gehostet werden.
Beispielsweise bietet Amazon einen Webdienst an, der Preise für Produkte bereitstellt, die online über amazon.com verkauft werden. Die Front-End- oder Präsentationsschicht kann in .NET oder Java sein, aber jede Programmiersprache kann mit dem Webdienst kommunizieren.
Die Hauptkomponente eines Webdienstdesigns sind die Daten, die zwischen dem Client und dem Server übertragen werden, und das ist XML. XML (Extensible Markup Language) ist ein Gegenstück zu HTML und leicht verständlich für die Zwischensprache, die von vielen Programmiersprachen verstanden wird.
Wenn Anwendungen miteinander kommunizieren, sprechen sie tatsächlich in XML. Dies bietet eine gemeinsame Plattform für Anwendungen, die in verschiedenen Programmiersprachen entwickelt wurden, um miteinander zu kommunizieren.
Webdienste verwenden das so genannte SOAP (Simple Object Access Protocol) zum Senden der XML-Daten zwischen Anwendungen. Die Daten werden über normales HTTP gesendet. Die Daten, die vom Webdienst an die Anwendung gesendet werden, werden als SOAP-Nachricht bezeichnet. Die SOAP-Nachricht ist nichts anderes als ein XML-Dokument. Da das Dokument in XML geschrieben ist, kann die Clientanwendung, die den Webdienst aufruft, in einer beliebigen Programmiersprache geschrieben werden.
Warum benötigen Sie einen Webdienst?
Moderne Geschäftsanwendungen verwenden verschiedene Programmierplattformen, um webbasierte Anwendungen zu entwickeln. Einige Anwendungen können in Java entwickelt werden, andere in .Net, andere in Angular JS, Node.js usw.
Meistens benötigen diese heterogenen Anwendungen eine Art Kommunikation zwischen ihnen. Da sie in verschiedenen Entwicklungssprachen erstellt werden, ist es sehr schwierig, eine genaue Kommunikation zwischen Anwendungen sicherzustellen.
Hier kommen Webdienste ins Spiel. Webdienste bieten eine gemeinsame Plattform, auf der mehrere Anwendungen, die auf verschiedenen Programmiersprachen basieren, miteinander kommunizieren können.
Art des Webdienstes
Es gibt hauptsächlich zwei Arten von Webdiensten.
Damit ein Webdienst voll funktionsfähig ist, müssen bestimmte Komponenten vorhanden sein. Diese Komponenten müssen unabhängig von der für die Programmierung des Webdienstes verwendeten Entwicklungssprache vorhanden sein.
Schauen wir uns diese Komponenten genauer an.
SOAP (Simple Object Access Protocol)
SOAP ist als transportunabhängiges Messaging-Protokoll bekannt. SOAP basiert auf der Übertragung von XML-Daten als SOAP-Nachrichten. Jede Nachricht enthält ein sogenanntes XML-Dokument. Nur die Struktur des XML-Dokuments folgt einem bestimmten Muster, nicht jedoch der Inhalt. Das Beste an Webdiensten und SOAP ist, dass alles über HTTP gesendet wird, das das Standard-Webprotokoll ist.
Hier ist, woraus eine SOAP-Nachricht besteht
Das folgende Diagramm zeigt ein einfaches Beispiel für die Kommunikation über SOAP.

Wir werden SOAP in diesem Tutorial ausführlich besprechen.
WSDL (Web Services Description Language)
Ein Webdienst kann nicht verwendet werden, wenn er nicht gefunden werden kann . Der Client, der den Webdienst aufruft, sollte wissen, wo sich der Webdienst tatsächlich befindet.
Zweitens muss die Clientanwendung wissen, was der Webdienst tatsächlich tut, damit er den richtigen Webdienst aufrufen kann. Dies erfolgt mit Hilfe der WSDL, der so genannten Webdienst-Beschreibungssprache. Die WSDL-Datei ist wieder eine XML-basierte Datei, die der Clientanwendung im Wesentlichen mitteilt, was der Webdienst tut. Mithilfe des WSDL-Dokuments kann die Clientanwendung nachvollziehen, wo sich der Webdienst befindet und wie er verwendet werden kann.
Beispiel für einen Webdienst
Ein Webdienstbeispiel für eine WSDL-Datei ist unten angegeben.
Die wichtigen Aspekte, die bei den obigen WSDL-Deklarationsbeispielen für Webdienste zu beachten sind, sind folgende:
- Der Nachrichtenparameter in der WSDL-Definition wird verwendet, um die verschiedenen Datenelemente für jede vom Webdienst ausgeführte Operation zu definieren. In den obigen Beispielen für Webdienste haben wir zwei Nachrichten, die zwischen dem Webdienst und der Clientanwendung ausgetauscht werden können. Eine ist die "TutorialRequest" und die andere die "TutorialResponse" -Operation. Die TutorialRequest enthält ein Element namens "TutorialID" vom Typ string. In ähnlicher Weise enthält die TutorialResponse-Operation ein Element namens "TutorialName", das auch eine Typzeichenfolge ist. -
- Dies beschreibt tatsächlich den Vorgang, der vom Webdienst ausgeführt werden kann, der in unserem Fall als Lernprogramm bezeichnet wird. Dieser Vorgang kann 2 Nachrichten aufnehmen. Eine ist eine Eingangsnachricht und die andere ist die Ausgangsnachricht. - Dieses Element enthält das verwendete Protokoll. In unserem Fall definieren wir es so, dass http ( http://schemas.xmlsoap.org/soap/http ) verwendet wird. Wir geben auch andere Details für den Hauptteil der Operation an, wie den Namespace und ob die Nachricht codiert werden soll.
Wir werden "WDSL" in diesem Tutorial ausführlich besprechen.
Universelle Beschreibung, Ermittlung und Integration (UDDI)
UDDI ist ein Standard zum Beschreiben, Veröffentlichen und Erkennen der von einem bestimmten Dienstanbieter bereitgestellten Webdienste. Es enthält eine Spezifikation, die beim Hosten der Informationen zu Webdiensten hilft.
Jetzt haben wir im vorherigen Thema über WSDL gesprochen und wie es Informationen darüber enthält, was der Webdienst tatsächlich tut. Aber wie kann eine Clientanwendung eine WSDL-Datei finden, um die verschiedenen von einem Webdienst angebotenen Vorgänge zu verstehen? UDDI ist also die Antwort darauf und bietet ein Repository, in dem WSDL-Dateien gehostet werden können. Die Clientanwendung hat also vollständigen Zugriff auf die UDDI, die als Datenbank mit allen WSDL-Dateien fungiert.
So wie ein Telefonverzeichnis den Namen, die Adresse und die Telefonnummer einer bestimmten Person enthält, enthält die UDDI-Registrierung auch die relevanten Informationen für den Webdienst . Damit eine Client-Anwendung weiß, wo sie zu finden ist.
Vorteile von Webdiensten
Wir verstehen bereits, warum Webdienste überhaupt entstanden sind, nämlich eine Plattform bereitzustellen, auf der verschiedene Anwendungen miteinander kommunizieren können.
Schauen wir uns jedoch die Liste der Vorteile von Webdiensten an, um herauszufinden, warum die Verwendung von Webdiensten wichtig ist.
-
Offenlegen von Geschäftsfunktionen im Netzwerk - Ein Webdienst ist eine Einheit aus verwaltetem Code, die Clientanwendungen oder Endbenutzern Funktionen bietet. Diese Funktionalität kann über das HTTP-Protokoll aufgerufen werden, dh sie kann auch über das Internet aufgerufen werden. Heutzutage befinden sich alle Anwendungen im Internet, was den Zweck von Webdiensten nützlicher macht. Das bedeutet, dass der Webdienst überall im Internet verfügbar sein und die erforderlichen Funktionen nach Bedarf bereitstellen kann.
-
Interoperabilität zwischen Anwendungen - Mit Webdiensten können verschiedene Anwendungen miteinander kommunizieren und Daten und Dienste untereinander austauschen. Alle Arten von Anwendungen können miteinander kommunizieren. Anstatt bestimmten Code zu schreiben, der nur von bestimmten Anwendungen verstanden werden kann, können Sie jetzt generischen Code schreiben, der von allen Anwendungen verstanden werden kann
-
Ein standardisiertes Protokoll, das jeder versteht - Webdienste verwenden für die Kommunikation ein standardisiertes Industrieprotokoll. Alle vier Schichten (Schichten Service Transport, XML Messaging, Service Description und Service Discovery) verwenden genau definierte Protokolle im Protokollstapel der Webdienste.
-
Reduzierung der Kommunikationskosten - Webdienste verwenden SOAP über das HTTP-Protokoll, sodass Sie Ihr vorhandenes kostengünstiges Internet für die Implementierung von Webdiensten verwenden können.
Web Services-Architektur
Jedes Framework benötigt eine Art Architektur, um sicherzustellen, dass das gesamte Framework in Webdiensten wie gewünscht funktioniert. Die Webdienstarchitektur besteht aus drei verschiedenen Rollen:
- Anbieter - Der Anbieter erstellt den Webdienst und stellt ihn der Clientanwendung zur Verfügung, die ihn verwenden möchte.
- Anforderer - Ein Anforderer ist nichts anderes als die Clientanwendung, die einen Webdienst kontaktieren muss. Die Clientanwendung kann eine .NET-, Java- oder eine andere sprachbasierte Anwendung sein, die über einen Webdienst nach Funktionen sucht.
- Broker - Der Broker ist nichts anderes als die Anwendung, die den Zugriff auf die UDDI ermöglicht. Die UDDI ermöglicht, wie im vorherigen Thema erläutert, der Clientanwendung, den Webdienst zu finden.
Das folgende Diagramm zeigt, wie der Dienstanbieter, der Dienstanforderer und die Dienstregistrierung miteinander interagieren.

- Veröffentlichen - Ein Anbieter informiert den Broker (Dienstregistrierung) über das Vorhandensein des Webdienstes, indem er die Veröffentlichungsschnittstelle des Brokers verwendet, um den Dienst für Clients zugänglich zu machen
- Suchen - Der Anforderer konsultiert den Broker, um einen veröffentlichten Webdienst zu finden
- Binden - Mit den Informationen, die der Broker (Dienstregistrierung) über den Webdienst erhalten hat, kann der Anforderer den Webdienst binden oder aufrufen.
Web-Service-Merkmale
Webdienste weisen die folgenden besonderen Verhaltensmerkmale auf:
-
Sie sind XML-basiert - Web Services verwenden XML, um die Daten auf der Ebene der Darstellung und des Datentransports darzustellen. Durch die Verwendung von XML werden alle Abhängigkeiten zwischen Netzwerk, Betriebssystem oder Plattform beseitigt, da XML die gemeinsame Sprache ist, die von allen verstanden wird.
-
Locker gekoppelt - Locker gekoppelt bedeutet, dass der Client und der Webdienst nicht aneinander gebunden sind. Dies bedeutet, dass selbst wenn sich der Webdienst im Laufe der Zeit ändert, die Art und Weise, wie der Client den Webdienst aufruft, nicht geändert werden sollte. Durch die Verwendung einer lose gekoppelten Architektur werden Softwaresysteme in der Regel leichter verwaltet und können einfacher zwischen verschiedenen Systemen integriert werden.
-
Synchrone oder asynchrone Funktionalität - Synchronizität bezieht sich auf die Bindung des Clients an die Ausführung des Dienstes. Bei synchronen Vorgängen wartet der Client tatsächlich darauf, dass der Webdienst einen Vorgang abschließt. Ein Beispiel hierfür ist wahrscheinlich ein Szenario, in dem eine Datenbank-Lese- und Schreiboperation ausgeführt wird. Wenn Daten aus einer Datenbank gelesen und anschließend in eine andere geschrieben werden, müssen die Vorgänge nacheinander ausgeführt werden. Durch asynchrone Operationen kann ein Client einen Dienst aufrufen und dann andere Funktionen parallel ausführen. Dies ist eine der gängigsten und wahrscheinlich am meisten bevorzugten Techniken, um sicherzustellen, dass andere Dienste nicht gestoppt werden, wenn eine bestimmte Operation ausgeführt wird.
-
Unterstützung von Remote Procedure Calls (RPCs) - Mit Webdiensten können Clients Prozeduren, Funktionen und Methoden für Remoteobjekte mithilfe eines XML-basierten Protokolls aufrufen. Remote-Prozeduren legen Eingabe- und Ausgabeparameter offen, die ein Webdienst unterstützen muss.
-
Unterstützt den Dokumentenaustausch - Einer der Hauptvorteile von XML ist die generische Darstellung nicht nur von Daten, sondern auch von komplexen Dokumenten. Diese Dokumente können so einfach sein wie die Darstellung einer aktuellen Adresse, oder sie können so komplex sein wie die Darstellung eines ganzen Buches.