Was sind Webdienste? Architektur, Typen, Beispiel

0
35

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 wurden, 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.

In diesem einführenden Tutorial werden wir mehr darüber erklären, worum es bei Webservices geht, welche Elemente Webservices ausmachen und ein wenig über SOA-Prinzipien (Service Oriented Architecture).

In diesem Tutorial lernen Sie

  • Was ist ein Webdienst?
  • Art des Webdienstes
  • Web Services Vorteile
  • Web-Service-Architektur
  • Web-Service-Eigenschaften
  • Die Webservices können über das Netzwerk gesucht und auch entsprechend aufgerufen werden.
  • Beim Aufrufen kann der Webdienst dem Client, der diesen Webdienst aufruft, Funktionen bereitstellen.
  • SOAP-Webdienste.
  • RESTvolle Webdienste.
  • Jedes SOAP-Dokument muss ein Stammelement haben, das als <Envelope> -Element bezeichnet wird. Das Stammelement ist das erste Element in einem XML-Dokument.
  • Der “Umschlag” ist wiederum in 2 Teile geteilt. Der erste ist der Header und der nächste ist der Körper.
  • Der Header enthält die Routing-Daten, die im Grunde genommen die Informationen sind, die dem XML-Dokument mitteilen, an welchen Client es gesendet werden muss.
  • Der Body enthält die eigentliche Nachricht.
  • <message> – Mit dem Parameter message in der WSDL-Definition werden die verschiedenen Datenelemente für jede vom Webdienst ausgeführte Operation definiert. Im obigen Beispiel gibt es also zwei Nachrichten, die zwischen dem Web-Service und der Client-Anwendung ausgetauscht werden können. Eine ist die “TutorialRequest” -Operation 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 mit dem Namen “TutorialName”, bei dem es sich auch um eine Typzeichenfolge handelt.
  • <portType> – Dies beschreibt tatsächlich die Operation, die vom Webdienst ausgeführt werden kann, der in unserem Fall Tutorial heißt. Dieser Vorgang kann 2 Nachrichten aufnehmen. eine ist eine Eingabenachricht und die andere ist die Ausgabenachricht.
  • <binding> – Dieses Element enthält das verwendete Protokoll. In unserem Fall definieren wir die Verwendung von http ( http://schemas.xmlsoap.org/soap/http ). Wir geben auch andere Details für den Hauptteil der Operation an, z. B. den Namespace und ob die Nachricht codiert werden soll.
  • Offenlegen von Geschäftsfunktionen im Netzwerk – Ein Webdienst ist eine Einheit aus verwaltetem Code, die Clientanwendungen oder Endbenutzern eine Art von Funktionalität bietet. Diese Funktionalität kann über das HTTP-Protokoll aufgerufen werden, was bedeutet, dass sie auch über das Internet aufgerufen werden kann. Heutzutage sind alle Anwendungen im Internet, was den Zweck von Webdiensten nützlicher macht. Das bedeutet, der Webdienst kann sich überall im Internet befinden und die erforderlichen Funktionen bereitstellen.
  • Interoperabilität zwischen Anwendungen – Mithilfe von Webdiensten können verschiedene Anwendungen miteinander kommunizieren und Daten und Dienste untereinander austauschen. Alle Arten von Anwendungen können miteinander kommunizieren. Anstatt also bestimmten Code zu schreiben, der nur von bestimmten Anwendungen verstanden werden kann, können Sie jetzt allgemeinen Code schreiben, der von allen Anwendungen verstanden werden kann
  • Ein standardisiertes Protokoll, das jeder versteht – Webservices verwenden ein standardisiertes Industrieprotokoll für die Kommunikation. Alle vier Ebenen (Service Transport, XML Messaging, Service Description und Service Discovery) verwenden genau definierte Protokolle im Web-Service-Protokollstapel.
  • Senkung der Kommunikationskosten – Webdienste verwenden das SOAP-over-HTTP-Protokoll, sodass Sie Ihr vorhandenes kostengünstiges Internet zur Implementierung von Webdiensten verwenden können.
  • Provider – Der Provider erstellt den Webdienst und stellt ihn der Clientanwendung zur Verfügung, die ihn verwenden möchte.
  • Anforderer – Ein Anforderer ist nichts anderes als die Client-Anwendung, die eine Verbindung zu einem Webdienst herstellen muss. Bei der Client-Anwendung kann es sich um eine .NET-, Java- oder eine andere sprachbasierte Anwendung handeln, die über einen Webdienst nach Funktionen sucht.
  • Broker – Der Broker ist nichts anderes als die Anwendung, die den Zugriff auf das UDDI ermöglicht. Mit dem UDDI kann die Clientanwendung, wie im vorherigen Thema erläutert, den Webdienst finden.
  • Veröffentlichen – Ein Anbieter informiert den Broker (Serviceregister) über das Vorhandensein des Webdienstes, indem er die Veröffentlichungsschnittstelle des Brokers verwendet, um den Service für Kunden zugänglich zu machen
  • Suchen – Der Anforderer konsultiert den Broker, um einen veröffentlichten Webdienst zu finden
  • Binden – Mit den Informationen, die der Anforderer vom Broker (Dienstregister) über den Webdienst erhalten hat, kann er den Webdienst binden oder aufrufen.
  • Sie basieren auf XML – Web Services verwenden XML, um die Daten auf der Repräsentations- und Datentransportebene darzustellen. Die Verwendung von XML beseitigt jegliche Abhängigkeit von Netzwerken, Betriebssystemen oder Plattformen, 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 die Art und Weise, wie der Client den Webdienst aufruft, auch dann nicht geändert werden sollte, wenn sich der Webdienst im Laufe der Zeit ändert. Die Verwendung einer locker gekoppelten Architektur macht Softwaresysteme übersichtlicher und ermöglicht eine einfachere Integration zwischen verschiedenen Systemen.
  • Synchrone oder asynchrone Funktionalität – Synchronität bezieht sich auf die Bindung des Clients an die Ausführung des Dienstes. Bei synchronen Vorgängen wartet der Client tatsächlich, bis der Webdienst einen Vorgang abgeschlossen hat. Ein Beispiel hierfür ist wahrscheinlich ein Szenario, in dem eine Datenbanklese- und -schreiboperation ausgeführt wird. Wenn Daten aus einer Datenbank gelesen und anschließend in eine andere geschrieben werden, müssen die Vorgänge sequentiell ausgeführt werden. Durch asynchrone Vorgänge kann ein Client einen Dienst aufrufen und anschließend andere Funktionen parallel ausführen. Dies ist eine der gebräuchlichsten und wahrscheinlich am meisten bevorzugten Techniken, um sicherzustellen, dass andere Dienste nicht angehalten werden, wenn eine bestimmte Operation ausgeführt wird.
  • Unterstützung von Remote Procedure Calls (RPCs) – Mithilfe von Webdiensten können Clients Prozeduren, Funktionen und Methoden für Remote-Objekte mithilfe eines XML-basierten Protokolls aufrufen. Remoteprozeduren legen Eingabe- und Ausgabeparameter offen, die ein Webdienst unterstützen muss.
  • Unterstützt 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 wie die Darstellung einer aktuellen Adresse oder so komplex wie die Darstellung eines ganzen Buches sein.