Verified Commit 9c959253 authored by Emin Mehic's avatar Emin Mehic
Browse files

final commit for merge-request to main-repo

parent d1f24178
......@@ -27,7 +27,7 @@ Eine Firma, die ihre Produkte über ihre eCommerce Präsenz verkaufen möchte, a
**Serviceanbieter:**
Eine Bank, die auch anderen eine Anwendung zur Verfügung stellen möchte, die Bezahlungsprozesse umsetzt. Den Webservice für Bezahlprozesse möchte die Bank ihren derzeitigen bzw. potentiellen Kunden zur verfügung stellen.
Eine Bank, die auch anderen eine Anwendung zur Verfügung stellen möchte, die Bezahlungsprozesse umsetzt. Den Webservice für Bezahlprozesse möchte die Bank ihren derzeitigen bzw. potenziellen Kunden zur Verfügung stellen.
**Also muss die Bank ihren Service aufsetzten und registrieren, sodass er leicht gefunden werden kann.**
**Servicebroker:**
......@@ -45,11 +45,11 @@ Die im vorherigen Absatz dargestellte Funktionsweise eines Webservices benötigt
## SOAP[^2.3]
SOAP (ursprünglich für Simple Object Access Protocol) ist ein Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können. SOAP ist ein industrieller Standard des World Wide Web Consortiums (W3C). Es wird verwendet, um Webservice-Aufrufe zu realisieren. Kommunikation in SOAP wird mittels Nachrichten realisiert.
SOAP (ursprünglich für Simple Object Access Protocol) ist ein Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls (RPC) durchgeführt werden können. SOAP ist ein industrieller Standard des World Wide Web Consortiums (W3C). Es wird verwendet, um Webservice-Aufrufe zu realisieren. Kommunikation in SOAP wird mittels Nachrichten realisiert.
SOAP stützt sich auf XML zur Repräsentation der Daten und auf Internet-Protokolle der Transport- und Anwendungsschicht zur Übertragung der Nachrichten. Die gängigste Kombination ist SOAP über HTTP und TCP. SOAP kann beispielsweise auch über SMTP oder andere Protokolle verwendet werden.
SOAP stellt Regeln für das Nachrichtendesign auf. Es regelt, wie Daten in der Nachricht abzubilden und zu interpretieren sind, und gibt eine Konvention für entfernte Prozeduraufrufe mittels SOAP-Nachrichten vor. SOAP macht keine Vorschriften zur Semantik applikationsspezifischer Daten, die versendet werden sollen, sondern stellt ein Rahmenwerk (framework) zur Verfügung, welches erlaubt, dass beliebige applikationsspezifische Informationen übertragen werden können. SOAP wird für entfernte Prozeduraufrufe ebenso genutzt wie für einfache Nachrichtensysteme beziehungsweise zum Datenaustausch.
SOAP stellt Regeln für das Nachrichtendesign auf. Es regelt, wie Daten in der Nachricht abzubilden und zu interpretieren sind, und gibt eine Konvention für entfernte Prozeduraufrufe mittels SOAP-Nachrichten vor. SOAP macht keine Vorschriften zur Semantik applikationsspezifischer Daten, die versendet werden sollen, sondern stellt ein Rahmenwerk (Framework) zur Verfügung, welches erlaubt, dass beliebige applikationsspezifische Informationen übertragen werden können. SOAP wird für entfernte Prozeduraufrufe ebenso genutzt wie für einfache Nachrichtensysteme beziehungsweise zum Datenaustausch.
SOAP wird dort eingesetzt, wo der direkte Zugang fremder Systeme zu einer Informationsquelle nicht sinnvoll erscheint. Dies kann an Kompatibilitätsproblemen zwischen verschiedenen Anwendungsarchitekturen liegen, aber auch an Sicherheitsaspekten. So kann der (partielle) Zugriff auf eine Datenbank ermöglicht werden, ohne dass dem Anwenderprogramm der direkte Zugang gestattet werden muss. Über die SOAP-Schnittstelle kann die Menge der ausführbaren Methoden reglementiert und definiert werden.
......@@ -63,7 +63,7 @@ Allgemein werden im SOAP Protokoll Rollen für Sender und Empfänger festgelegt.
### SOAP Struktur
Eine minimale SOAP-Nachricht besteht aus einem Envelope genannten Element, welchem ein lokaler Name zugewiesen werden muss. Dieses Element referenziert mittels eines Namensraum-Attributes auf http://www.w3.org/2003/05/soap-envelope. Kind dieses Elements muss ein Body-Element sein. Optional kann zuvor ein Header-Element stehen. In diesem können Meta-Informationen, beispielsweise zum Routing, zur Verschlüsselung oder zu Transaktionsidentifizierung, untergebracht werden. Im Body-Element sind die eigentlichen Nutzdaten untergebracht.
Eine minimale SOAP-Nachricht besteht aus einem "Envelope" genannten Element, welchem ein lokaler Name zugewiesen werden muss. Dieses Element referenziert mittels eines Namensraum-Attributes auf http://www.w3.org/2003/05/soap-envelope. Kind dieses Elements muss ein Body-Element sein. Optional kann zuvor ein Header-Element stehen. In diesem können Meta-Informationen, beispielsweise zum Routing, zur Verschlüsselung oder zu Transaktionsidentifizierung, untergebracht werden. Im Body-Element sind die eigentlichen Nutzdaten untergebracht.
Struktur einer SOAP-Nachricht:
......@@ -86,7 +86,7 @@ Der Server hat seiner Antwort ein Header-Element angehängt, welches in diesem B
Universal Description, Discovery and Integration (UDDI) ist ein Begriff aus dem Umfeld der serviceorientierten Architektur (SOA) und bezeichnet einen standardisierten Verzeichnisdienst, der die zentrale Rolle in einem Umfeld von dynamischen Web Services spielen sollte[^t3_3_9].
Der Verzeichnisdienst besitzt eine SOAP-Schnittstelle. Er enthält Unternehmen, ihre Daten und ihre Services. Dabei kann man in UDDI zwischen drei Arten von Informationen unterscheiden: den "White Pages", einer Art Telefonbuch, den "Yellow Pages", also die elektronische Entsprechung der gelben Seiten und den Schnittstellenbeschreibungen in den sog. "Green Pages".
Der Verzeichnisdienst besitzt eine SOAP-Schnittstelle. Er enthält Unternehmen, ihre Daten und ihre Services. Dabei kann man in UDDI zwischen drei Arten von Informationen unterscheiden: den "White Pages", einer Art Telefonbuch, den "Yellow Pages", also die elektronische Entsprechung der Gelben Seiten und den Schnittstellenbeschreibungen in den sog. "Green Pages".
Die White Pages (Basisinformationen) funktionieren ähnlich wie ein Telefonbuch (daher der englische Begriff „White Pages“) und geben Auskunft über die Identität des Serviceanbieters. Dazu gehören Informationen über das Geschäftsfeld, Kontaktdaten eines Ansprechpartners und eine weltweit eindeutige Unternehmenskennzahl, die nach dem Data Universal Numbering System (DUNS) vergeben wird. Die sogenannte D-U-N-S-Nummer wird von der US-amerikanischen Wirtschaftsauskunftei Dun & Bradstreet kostenlos ausgestellt.
......@@ -170,9 +170,9 @@ Wie man aus der Grafik erkennen kann lautet das Wurzelelement in jedem XML-WSDL-
In den folgenden Beispielen werden Teile eines WSDL Dokumentes gezeigt, wo auf die Elemente und deren Funktionen näher eingegangen wird.
* Das **portType** Element besitzt das **name**-Attribut "glossaryTerms", welcher den Namen eines Ports angibt, und "getTerm" als Names einer Operation davon.
* Das **portType** Element besitzt das **name**-Attribut "glossaryTerms", welcher den Namen eines Ports angibt, und "getTerm" als Name einer Operation davon.
* Die Operationen haben wiederum eine oder mehrere **message** Elemente, die als Eingangs- bzw. Ausgangsparameter dienen.
* Das **messagge** Element beinhalt zudem ein **part** Element, welche Auskunft über den Namen und den Typen der Nachricht gibt.
* Das **message** Element beinhalt zudem ein **part** Element, welche Auskunft über den Namen und den Typen der Nachricht gibt.
#### One-Way Operation
![](Resources/WSDL_One_Way.png)
......@@ -207,7 +207,7 @@ Bild-Quelle: https://www.w3schools.com/xml/xml_wsdl.asp
# Zusammenhänge der Weservice-Architektur
# Zusammenhänge der Webservice-Architektur
Folgendes Kapitel beschreibt basierend auf den zuvor ausgeführten technischen Grundlagen die Zusammenhänge innerhalb einer Webservice Architektur. Dazu werden drei Prozesse isoliert dargestellt, um die Verständlichkeit zu erhöhen.
Zunächst wird die Registrierung des Services beim Broker erklärt, darauf gefolgt das zur Benutzung notwendige Binding von Servicekonsument und Serviceanbieter und abschließend die Suche nach einem Service.
......@@ -252,7 +252,7 @@ Folgendes GIF beschreibt den Prozess der Registrierung eines Webservices in eine
Um den Webservice Nutzen zu können, muss der Client den Webservice mittels SOAP Nachricht aufrufen können. Die Kommunikation findet im Anfrage-Antwort Schema statt, wobei dies nicht zwingend notwendig ist.
Um den Webservice nutzen zu können, muss der Client den Webservice mittels SOAP Nachricht aufrufen können. Die Kommunikation findet im Anfrage-Antwort Schema statt, wobei dies nicht zwingend notwendig ist.
Folgendes GIF zeigt die verschiedenen Schritte zum Binding des Servicekonsumenten und Serviceanbieter bzw. von Client und Webservice mittels SOAP Kommunikation:
......@@ -268,11 +268,11 @@ Folgendes GIF zeigt die verschiedenen Schritte zum Binding des Servicekonsumente
Der Servicekonsument kann auf einem UDDI-Registry-Server seiner Wahl über die dementsprechende SOPA Schnittstelle nach passenden Services suchen. Dieses „Aussuchen“ des passenden Services muss durch einen menschlichen Anwender passieren. Basierend auf den angegebenen Informationen des UDDI Datenmodells (siehe Kapitel UDDI) kann eine Auswahl getroffen werden.
Nach der Auswahl eines Services wird der Verweis auf den Service beim Servieanbieter in Form eines WSDL-Datensatzes vom Servicebroker an den Servicekonsumenten gesendet.
Nach der Auswahl eines Services wird der Verweis auf den Service beim Serviceanbieter in Form eines WSDL-Datensatzes vom Servicebroker an den Servicekonsumenten gesendet.
Um zu überprüfen, ob der Web Service den Erwartungen entspricht, wird die URL der WSDL-Datei an ein Generic-SOAP-Client-Tool übergeben. Dieses Tool ermittelt anhand der WSDL-Datei die Schnittstellenspezifikation und erzeugt automatisch ein passendes Eingabeformular, worüber der Web Service getestet werden kann.
(Siehe auch: Kapitel „Prozess „Benutzen““ und „WSDL bindung zu SOAP“)
(Siehe auch: Kapitel „Prozess „Benutzen““ und „WSDL Binding zu SOAP“)
# Anhang
......@@ -283,7 +283,7 @@ Die Extensible Markup Language (dt. Erweiterbare Auszeichnungssprache), abgekür
#### Vorteile für die Verwendung von XML
* XML ist ein bereits bestehender und weit verbreiteter Internet-Standard
* Unabhängigkeit bezüglich Platformen und Betriebssystemen.
* Unabhängigkeit bezüglich Plattformen und Betriebssystemen.
* Unabhängigkeit bezüglich verwendeten Programmiersprachen.
### Aufbau eines XML-Dokuments
......@@ -312,9 +312,9 @@ Die Funktionalität eines entfernten, nur über ein Netzwerk erreichbaren Softwa
### Marshalling
Marshalling (englisch marshal ‚aufstellen‘, ‚ordnen‘) ist das Umwandeln von strukturierten oder elementaren Daten in ein Format, das die Übermittlung an andere Prozesse ermöglicht. Auf Empfängerseite werden aus diesem Format die Daten in ihrer ursprünglichen Struktur wiederhergestellt, was als Unmarshalling bezeichnet wird.
Bei der Verwendung eines RPC werden die benötigten Parameter wie oben beschrieben an ein Stub-Programm übergeben. Dies verpackt die Daten (marshalling) und schickt sie über die Netzwerk- oder Internetverbindung an die adressierte Komponente auf dem Server.
Bei der Verwendung eines RPC werden die benötigten Parameter wie oben beschrieben an ein Stub-Programm übergeben. Dies verpackt die Daten (Marshalling) und schickt sie über die Netzwerk- oder Internetverbindung an die adressierte Komponente auf dem Server.
Das Skeleton, das der Implementierung des Prozedur am Server zugrunde liegt, kümmert sich um das Entpacken der Parameter (unmarshalling)
Das Skeleton, das der Implementierung der Prozedur am Server zugrunde liegt, kümmert sich um das Entpacken der Parameter (Unmarshalling)
Wurde die Prozedur ausgeführt, gelangen die Resultate über den umgekehrten Weg wieder zurück zum Client.
In der Praxis findet man häufig Marshalling in der Form, dass Objekte in das XML-Format und wieder zurück in Objekte umgewandelt werden. Bildlich ausgedrückt wird das Objekt zwischenzeitlich in XML „eingefroren“, bis es wieder zu einem Objekt „aufgetaut“ wird.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment