web services tutorial
In diesem Tutorial zu Webdiensten werden die Architektur, Typen und Komponenten eines Webdienstes sowie wichtige Terminologien und die Unterschiede zwischen SOAP und REST erläutert:
In diesem Komplette API-Test-Tutorial-Serie haben wir alles erkundet API-Tests in unserem vorherigen Tutorial. In diesem Lernprogramm erfahren Sie, wie WSDL und UDDI einen Webdienst speichern und definieren.
In diesem Lernprogramm wird auch erläutert, wie Web Services intern funktionieren, wenn eine Clientanwendung eine Anforderung stellt. WSS, ein weiteres sehr wichtiges Konzept von SOAP Services, wird hier ebenfalls erläutert.
Was du lernen wirst:
Wichtige Terminologien beim Testen von Webdiensten
Bevor wir uns mit Web Services befassen, sollten wir mit den wichtigen Begriffen vertraut sein, die beim Testen von Web Services verwendet werden.
Lasst uns beginnen!!
# 1) Interoperabilität
Webdienste unterstützen 'One Code Different Applications'. Dies bedeutet einen generischen Code für alle Anwendungen auf verschiedenen Plattformen.
Interoperabilität ist daher der Prozess, der es mehreren Anwendungen ermöglicht, mit den anderen Anwendungen auf einer anderen Plattform zu kommunizieren.
# 2) Authentifizierung und Autorisierung
Diese werden hauptsächlich in SOAP-Webdiensten verwendet. Im Allgemeinen bedeutet Authentifizierung, etwas zu validieren, während Autorisierung bedeutet, das Recht zu geben / zu haben, auf etwas zuzugreifen.
Zum Beispiel - Wenn ich eine Facebook-Seite habe, kann ich als authentifizierter Facebook-Nutzer behandelt werden. Wenn Sie das Recht haben, meine Fotos auf Facebook anzuzeigen, sind Sie ein autorisierter Benutzer.
Wenn wir diese beiden kombinieren, können wir sagen: 'Alle authentifizierten Benutzer, die Zugriff auf die Ressourcen haben, werden als autorisierte Benutzer für diese Ressourcen bezeichnet.'
Dasselbe passiert in Webdiensten, d. H. Die Benutzer-ID und das Kennwort, das zum Generieren des Tokens verwendet wird, decken den Authentifizierungsteil ab, und dieses Token, das beim Senden einer Anforderung an den Webserver verwendet wird, deckt den Autorisierungsteil ab.
# 3) Locker gekoppelte Architektur
Webdienste basieren auf einer lose gekoppelten Architektur. Dies bedeutet, dass die Schnittstellen von Webdiensten dynamischer Natur sind (Änderungen während einer bestimmten Zeitachse). Die Client-Logik muss sich jedoch nicht unbedingt während der Interaktion mit dem Dienst ändern.
Dies erleichtert die effizientere Integration mehrerer Software. Wenn es sich um eine eng gekoppelte Architektur handelt, muss jedes Mal, wenn sich die Schnittstelle ändert, die Client-Logik geändert werden, damit sie mit dem Dienst synchronisiert wird.
# 4) Artefakt
Dieser Begriff wird in Web Services verwendet, um Informationen oder Daten zu bezeichnen. Dies sind nicht die gesamten Daten, sondern eine Information, die eine URL oder URI, einen Kontextschlüssel, einen Dokumentschlüssel, eine Nutzlast oder unterstützende Bilder enthalten kann.
# 5) Endpunkt
Dies ist ein sehr häufiger Begriff, der in jeder Anforderung des Webdienstes verwendet wird. Dies ist die vollständige URL, die auf die Instanz des Webdienstes trifft.
Zum Beispiel - https://www.facebook.com/imsaket -> Dies ist die vollständige URL oder der Endpunkt, deren URL facebook.com ist, und 'imsaket' wird als Kontextschlüssel übergeben, um eine bestimmte Adresse eindeutig zu identifizieren.
beste Orte, um kostenlose Anime zu sehen
# 6) Idempotent
Dies ist in der Client-Server-Interaktion der Fall, bei der es keine Rolle spielt, wie oft Sie auf die Instanz des Dienstes zugreifen, und der Server immer die gleiche Antwort an den Client zurückgibt.
# 7) Marshalling und Demarshalling
Wie wir wissen, ist die Kapselung ein OOPS-Prinzip, das als Zusammenfassung von Code und Daten in einem definiert wird. Das gleiche passiert in SOAP Web Services. Wenn wir Daten in Payload (XML) verpacken oder kapseln, um eine SOAP-Nachricht zu bilden und an den Server zu senden, wird dieser Kapselungsprozess als Marshalling bezeichnet.
Demarshalling ist nur das Gegenteil von Marshalling. Die Methode zum Entkapseln oder Entpacken von Daten und Code (XML) aus der SOAP-Nachricht wird als 'Demarshalling' bezeichnet.
Was ist ein Webdienst?
Wie bereits erwähnt, sind Webdienste die Dienste, die über ein Netzwerk von einem Computer zum anderen bereitgestellt werden.
Beispiel für Webdienste: AWS (Amazon Web Services), mit dem Online-Benutzer die Preise verschiedener auf Amazon.com und Amazon.in verkaufter Artikel anzeigen können
Komponenten von Webdiensten
Nachfolgend sind die verschiedenen Komponenten von Web Services aufgeführt.
# 1) Seife
Webdienste verwenden das SOAP (Simple Object Access Protocol), das XML als Nutzlast oder Anforderungshauptteil verwendet. Das ist ein Stateful-Protokoll da es keine unabhängige Methode für die spezifische Art der Operation gibt.
Alle Anforderungen und Antworten werden gleichzeitig über XML übertragen, und es werden keine unabhängigen Methoden wie GET, PUT, POST oder DELETE explizit bereitgestellt.
# 2) WSDL
Diese SOAP-Anfrage nutzt Web Services Description Language (WSDL) Dies ist eine sehr nützliche Komponente des Webdienstes.
Dies definiert, wo sich der Webdienst tatsächlich befindet und welche Art von Webdienst für eine bestimmte Anforderung abgeholt werden soll. Hierbei wird eine XML-Datei verwendet, die die Webdienstfunktionalität beschreibt.
# 3) UDDI
Eine weitere nützliche Komponente ist UDDI . Dies steht für Universal Description Discovery and Integration. Es gibt einen Dienstanbieter, der den Webdienst bereitstellt. Daher wird diese UDDI für einen bestimmten Dienstanbieter zum Beschreiben, Erkennen und Veröffentlichen dieser Webdienste verwendet.
UDDI ist dafür verantwortlich, dass ein Client herausfindet (UDDI stellt ein Repository für WSDL bereit), wo sich die XML-Datei der WSDL befindet. So wird ein Webdienst definiert und beschrieben.
# 4) XML-RPC
Es steht für Extensible Markup Language - Remote Procedure. Eine weitere sehr wichtige Komponente des Webdienstes ist XML - RPC, das für das systemübergreifende Senden von Nachrichten verantwortlich ist. Anfragen und Antworten liegen in Form von XML vor und werden über den HTTP-POST gesendet / empfangen.
Das Beste an XML-RPC ist, dass eine Clientanwendung auf einer anderen Plattform mit einem anderen Server kommunizieren kann. Es gibt etwas namens JSON-RPC, das im letzten Teil des Artikels erläutert wurde, da es keine Komponente eines Webdienstes bildet.
Die Architektur eines Webdienstes
Die Architektur eines Webdienstes kann in der folgenden Abbildung dargestellt werden.
Wie wir bereits wissen, umfasst eine typische Webdienstarchitektur drei Entitäten, d. H. Einen Client, einen Webserver und ein Internet, um den Vorgang auszuführen. Die Operation ist nichts anderes als die Anforderung und Antwort in einer Client-Server-Architektur.
Ein Client ist normalerweise eine Gruppe aller Anwendungen oder Softwaresysteme, die einen Webdienst anfordern, wodurch er zu einem Dienstkonsumenten wird.
Ein Webserver ist eine Reihe aller Anwendungen oder Softwaresysteme, die den Webdienst bereitstellen. Für jeden Webdienst ist ein Netzwerk erforderlich. Dies führt zu der dritten Entität, dem Internet.
Dies ist nur eine Übersicht über die Architektur eines Webdienstes.
Das Arbeitsdiagramm eines Webdienstes wird durch die drei unten gezeigten Komponenten definiert.
- Serviceanforderer (Find ())
- Dienstleister (Publish ())
- Serviceregistrierung oder Repository (Bind ())
Dies wird (im Detail mit Diagramm) in der Architektur von SOAP Service erläutert.
Standard-Gateway nicht verfügbar Windows 10
Arten von Webdiensten
Zwei Arten von Webdiensten werden im Folgenden ausführlich erläutert.
# 1) SOAP-Service
SOAP Service steht für Simple Object Access Protocol. SOAP-Dienste sind Stateful-Dienste, die die XML-Sprache verwenden, um einen Umschlag zu bilden. Eine SOAP-Hülle kann in zwei Teilen beschrieben werden, d. H. Einer ist a SOAP-Header und Body , der andere ist der Protokoll wird zum Senden von SOAP-Nachrichten verwendet.
Dieser SOAP-Header besteht aus Authentifizierung und Autorisierung, die den Zugriff gewähren. Der Text gehört zum Abschnitt 'Payload' der Anforderung, in dem der Webdienst mithilfe von WSDL beschrieben wird. Das Protokoll besteht hauptsächlich aus HTTP (HyperText Transmission Protocol).
Sicherheit von Webdiensten
SOAP-Dienste verfügen über eine SSL-Schicht (Secure Socket Layer), die für die Vermeidung von Datenlecks während der Übertragung verantwortlich ist und somit eine Ver- und Entschlüsselung ermöglicht.
In der Zwischenzeit sind die SOAP-Dienste sicherer, da sie auch über WSS (Web Services Security) verfügen, das keine Weitergabe während der Kommunikation zwischen dem Dienst und der Anwendung garantiert.
Wie wir alle wissen, benötigt jeder Webdienst (im Gegensatz zur Web-API) ein Netzwerk, um seinen Betrieb auszuführen. Daher müssen Webdienste Sicherheit bieten, wenn sie mit einem Netzwerk verbunden sind. Daher verfügt Web Services über drei wichtige Einheiten, die den Sicherheitsfaktor während der Nachrichtenübertragung abdecken.
- Authentifizierung und Autorisierung (Bereits oben erklärt).
- Vertraulichkeit: Dies hängt vollständig vom SSL ab, das die Ver- und Entschlüsselung des SOAP-Umschlags ermöglicht.
- Netzwerksicherheit: Dies bedeutet, alle SOAP- und XML-RPC-Antworten zu extrahieren, die Sie vom Server erhalten. Zum Beispiel, Wenn Sie ein Webdienst-Tool wie POSTMAN oder PARASOFT verwenden, werden Sie feststellen, dass im HTTP-Header-Manager der Wert des Inhaltstyps festgelegt werden kann. Der Wert kann auf Application / JSON festgelegt werden, damit alle REST-Daten extrahiert werden (da SOAP-Dienste keine HTTP-Header-Manager-Optionen unterstützen). So können Sie den Inhaltstyp: Application / XML in a übergeben Nutzlast selbst in Form von XML. Dies würde auch SOAP und XML-RPC extrahieren.
Diese drei Faktoren stellen die Sicherheit von Webdiensten dar, um mit den externen Angriffen fertig zu werden.
Die Architektur des SOAP-Dienstes
Jeder SOAP-Dienst hängt von drei Entitäten ab, die letztendlich die Architektur des SOAP-Dienstes bilden.
- Dienstleister: Alle Softwaresysteme oder Anwendungen, die Teil eines Webdienstes sind oder diesen bereitstellen.
- Serviceanforderer: Alle Softwaresysteme oder Anwendungen, die Teil der Anforderung eines Webdienstes vom Dienstanbieter sind.
- Serviceregistrierung: Eine Registrierung oder ein Repository, in dem alle Informationen zum Webdienst vom Dienstanbieter bereitgestellt werden. (Bereits in UDDI diskutiert)
Erläuterung
Diese drei Entitäten interagieren miteinander, um eine erfolgreiche Webdienstimplementierung durchzuführen. Dies erfolgt in drei Phasen. Die erste Phase ist die Veröffentlichen() Phase, in der ein Dienstanbieter alle Details zu einem Webdienst in eine Dienstregistrierung oder ein Repository einspeist.
Die zweite Phase ist Finden() Bei einer Dienstanforderung findet die Clientanwendung hauptsächlich die Details zum Webdienst in einem Repository (enthält auch eine WSDL-XML-Datei). Die letzte Phase ist Bindung() Dabei synchronisiert sich die Clientanwendung oder der Dienstanforderer mit dem Dienstanbieter für die endgültige Implementierung des Webdienstes.
# 2) RESTful Service
REST steht für Representational State Transfer Staatenlos Bedienung.
Es wird als zustandslos bezeichnet, da der Webserver keine Informationen über die Clientsitzung (Zeitdauer bis zum Verbinden und Ausführen der Clientanwendung) speichert. Dies bedeutet, dass jeder Anforderungstyp mithilfe von integrierten REST-Methoden wie GET einfach behandelt und ausgeführt werden kann. POST, CUSTOM (PUT), DELETE, HEAD und so weiter.
In der Tat sind diese Methoden in SOAP nicht vorhanden.
Methode oder Verben
Jede Methode in REST hat ihre Bedeutung. Im Folgenden finden Sie Informationen zu jedem einzelnen von ihnen.
- ERHALTEN: Diese Methode wird verwendet, um die Informationen abzurufen, die mit einer der Methoden wie PUT oder POST an den Server gesendet werden. Dies hat keinen Anforderungshauptteil. Bei erfolgreicher Ausführung erhalten Sie 200 Antwortobjekte.
- POST: Diese Methode wird verwendet, um ein Dokument oder einen Datensatz mithilfe eines Anforderungshauptteils, einer angegebenen URL, eines Dokumentschlüssels, eines Kontextschlüssels usw. zu erstellen. Dasselbe kann mit der GET-Methode abgerufen werden. Bei erfolgreicher Ausführung erhalten Sie eine Antwort von 201.
- STELLEN: Dies steht unter der Option CUSTOM, die in POSTMAN oder PARASOFT verfügbar ist. Diese Methode wird verwendet, um bereits vorhandene Dokumente oder Datensätze zu aktualisieren. Bei erfolgreicher Ausführung erhalten Sie eine Antwort von 201 oder 200.
- LÖSCHEN: Diese Methode wird verwendet, um einen Datensatz zu löschen. Bei erfolgreicher Ausführung erhalten Sie eine Antwort (ohne Inhalt).
Hinweis: Die HTTP-Antwortcodes hängen davon ab, wie Entwickler codieren, und können zeitweise manipuliert werden. Wir haben die allgemeinen Antwortcodes aufgelistet, die wir von jedem Methodentyp erhalten.
Die Architektur des REST-Service
Die Architektur des REST-Service hängt von zwei Entitäten ab, d. H. Service Consumer oder Requestor und Service Provider. Der Dienstkonsument ist derjenige, der den Webdienst in Anspruch nimmt, und der Dienstanbieter ist die Sammlung von Software oder System, die den Webdienst bereitstellt.
Die Clientanwendung, bei der es sich normalerweise um einen Service Consumer handelt, verwendet integrierte REST-Methoden, eine URL oder einen URI, eine HTTP-Version und eine Nutzlast (sofern von der Methode unterstützt).
Seife gegen Ruhe
Obwohl diese beiden Arten von Webdiensten zur Ausführung der Anforderung und Antwort verwendet werden, unterscheiden sie sich in ihrer Funktionsweise grundlegend.
Ihre Unterschiede sind als Referenz aufgeführt.
- SOAP-Umschlag kann im REST verwendet werden, aber nicht umgekehrt. Z.B. Ein in SOAP erstelltes Benutzertoken kann in der REST-Anforderung unter dem HTTP-Header-Manager -> Autorisierung übergeben werden.
- SOAP ist normalerweise sicherer als REST-Services, da SOAP-Services neben SSL auch WSS bereitstellen. Dieses SSL ist sowohl in SOAP als auch in REST vorhanden.
- SOAP ist langsamer als REST, da die Anforderungsverarbeitung in SOAP aufgrund des XML-Datenformats länger dauert. REST verwendet JSON, das sehr leicht ist und es somit schneller macht.
- SOAP hat keine eingebaute Methode, aber REST hat GET, PUT, POST usw.
- SOAP ist zustandsbehaftet, während REST zustandslos ist.
- Die Anforderungs- und Antwortkörper in SOAP unterstützen nur das XML-Datenformat. In REST unterstützen die Anforderungs- und Antwortkörper viele Datenformate wie JSON, XML, Nur-Text usw.
Fazit
In diesem Tutorial zu Webdiensten wurden die Architektur, Komponenten und Typen von Webdiensten erläutert.
Wir haben auch die Unterschiede zwischen SOAP- und REST-Diensten sowie andere wichtige Konzepte und Terminologien im Zusammenhang mit Webdiensten kennengelernt.
bester kostenloser youtube downloader für windows 10
Wir hoffen, dass dieses Tutorial Ihnen geholfen hat, Web Services zu verstehen !!
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Python DateTime Tutorial mit Beispielen
- Java SWING Tutorial: Container-, Komponenten- und Ereignisbehandlung
- HTML Injection Tutorial: Typen & Prävention mit Beispielen
- Unix Shell Scripting Tutorial mit Beispielen
- Selenium Find Element By Text Tutorial mit Beispielen
- Python-Hauptfunktions-Tutorial mit praktischen Beispielen
- Tutorial zum paarweisen Testen oder Testen aller Paare mit Tools und Beispielen
- Tutorial zum Konfigurationstest mit Beispielen