• Keine Ergebnisse gefunden

Was sind Web- -Dienste (Web Services)? Dienste (Web Services)?

N/A
N/A
Protected

Academic year: 2022

Aktie "Was sind Web- -Dienste (Web Services)? Dienste (Web Services)?"

Copied!
10
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

© Klaus Schild, 2003 1

Web Web -Dienste - Dienste

© Klaus Schild, 2003 2

Lernziele Lernziele

ƒ Was sind Web-Dienste (Web Services)?

ƒ Was ist eine dienstorientierte Architektur?

ƒ Was ist SOAP, WSDL und UDDI?

Nur kurze Einführung, SOAP und WSDL werden später ausführlich behandelt.

ƒ zwei verschiedene Formen der Kommunikation zwischen Web-Diensten:

ƒ Entfernte Prozeduraufrufe (RPCs)

ƒ Messaging

© Klaus Schild, 2003 3

Was sind Web

Was sind Web- -Dienste (Web Services)? Dienste (Web Services)?

Browser

Anwendung traditionelle Web

traditionelle Web--AnwendungAnwendung

Anwendung Anwendung

Web

Web--Dienst (Web Service)Dienst (Web Service) HTML

SOAP Webseiten

Daten

ÎMensch-Maschine-Kommunikation

ÎMaschine-Maschine-Kommunikation

© Klaus Schild, 2003 4

Beispiel:

Beispiel: ohne Browser ohne Browser

ƒ Google gibt es auch als Web-Dienst: Suche und Rechtschreibkorrektur.

ƒ Anwendungsprogramm sendet Google eine SOAP- Nachricht.

ƒ Google antwortet wiederum mit SOAP-Nachricht.

WithWithGoogleGoogleWeb Web APIs, APIs, youryourcomputercomputer

can cando thedo the searching searchingforforyou.you.

Beispiel:

Beispiel: ohne Browser ohne Browser

Google kann also aus einem Anwendungsprogramm heraus aufgerufen werden, um z.B.:

ƒ in periodischen Abständen zu einem bestimmten Thema nach neuen Informationen zu suchen

ƒ automatisch neue Trends im WWW zu identifizieren

ƒ die Rechtschreibkorrektur von Google zu nutzen

Definition Definition

Ein Web-Dienst (Web Service) ist eine Software, die 1. auf einem Server bereitgestellt wird,

2. eine bestimmte Funktionalität als Blackbox zur Verfügung stellt,

3. über gängige Internet-Protokolle unter Benutzung von SOAP zugreifbar ist und

4. über eine mit WSDL beschriebene Schnittstelle verfügt.

Web-Dienst Inhalt: SOAP Schnittstellenbeschreibung

mit WSDL Funktionalität Transport:

HTTP(S), SMTP, FTP

Server Client

(2)

© Klaus Schild, 2003 7

Eigenschaften von Web

Eigenschaften von Web- -Diensten Diensten

ƒ implementieren keine neuenSysteme

ƒ Fassade für bestehende Systeme, um diese einfach zuzugreifen

ƒ nutzen gängige Internet-Protokolle wie HTTP(S), SMTP und FTP

ƒ verwenden XML-Standards SOAP und WSDL

ƒ unabhängig von Programmiersprachen und Betriebssystemen

ƒ zwei Erscheinungsformen: entfernte Prozeduraufrufe (synchron) oder Messaging (asynchron)

© Klaus Schild, 2003 8

Einfacher Zugriff auf Systeme

Web Web--DienstDienst SOAP

Schnittstellenbeschreibung mit WSDL

existierende Software

Beispiel:

Auftrags- abwicklung

(SAP) Beispiel:

Auftrags- abwicklung

(SAP) Beispiel:

Lager- verwaltung

Beispiel:

Lager- verwaltung

© Klaus Schild, 2003 9

Alter Wein in neuen Schläuchen?

Alter Wein in neuen Schläuchen?

ƒ Web-Dienste keine revolutionär neue Technologie

ƒ große Ähnlichkeiten mit Corba Neu ist jedoch:

Neu ist jedoch:

ƒ alle bedeutenden IT-Unternehmen konnten sich auf einen Standard einigen: SOAP/WSDL

ƒ nicht nur RPCs, sondern auch Messaging

ƒ Statt proprietäre Protokolle (wie IIOP und DCOM) werden gängige Internet-Protokolle (wie HTTP und SMTP) benutzt.

© Klaus Schild, 2003 10

Dienstorientierte Dienstorientierte

Architektur Architektur

© Klaus Schild, 2003 11

Dienstorientierte Architektur Dienstorientierte Architektur

ƒ publizieren (publish): Die Beschreibung eines Dienstes in einem Verzeichnis (registry) veröffentlichen.

ƒ suchen (find):Die Beschreibung eines Dienstes suchen.

ƒ abrufen (bind): Beschreibung des Dienstes verwenden, um Dienst abzurufen.

Nachfrager Anbieter

Verzeichnis

Dienst publizieren Dienst suchen

Dienst abrufen

© Klaus Schild, 2003 12

Öffentliches Verzeichnis Öffentliches Verzeichnis

ƒ Öffentliches Verzeichnis nichtzwingend notwendig:

ƒ Auch ohnezentrales Verzeichnis kann ein Dienst gefunden werden.

ƒ Schnittstelle kann z.B. auf Webseite des Anbieters veröffentlicht werden.

ƒ Verzeichnisse heute kaum genutzt

Nachfrager Anbieter

Schnittstelle Dienst publizieren Dienst abrufen

(3)

© Klaus Schild, 2003 13

Nachfrager vs. Anbieter von Diensten Nachfrager vs. Anbieter von Diensten

Nachfrager

Anbieter/

Nachfrager Dienst abrufen

ƒ Dienst-Anbieter (service provider) bietet Dienste an.

ƒ Dienst-Nachfrager (service requestor) nutzt Dienste anderer Anbieter.

ƒ Anbieter von Diensten kann gleichzeitigDienste anderer nutzen (und so Nachfrager) sein.

ƒ Diese Begriffe sind deshalb relativ.

Anbieter Dienst abrufen

© Klaus Schild, 2003 14

Standards Standards

ƒ SOAP allgemein akzeptiert

ƒ umstritten, ob WSDL als Web-Dienst-Beschreibung ausreicht

ƒ UDDI umstritten und wenig genutzt

Nachfrager Anbieter

öffentliches Verzeichnis

WSDL- Beschreibung WSDL-

Beschreibung

SOAP-Nachrichten

*Universal Description, Discovery and Integration

UDDI*

© Klaus Schild, 2003 15

Das Nachrichtenformat SOAP Das Nachrichtenformat SOAP

<Envelope>

<Header>

Zusatzinformationen

</Header>

<Body>

Inhalt: XML-Daten

</Body>

</Envelope>

<Envelope>

<Header>

Zusatzinformationen

</Header>

<Body>

Inhalt: XML-Daten

</Body>

</Envelope>

<html>

<head>

Zusatzinformationen

</head>

<body>

Inhalt: Webseite

</body>

</html>

<html>

<head>

Zusatzinformationen

</head>

<body>

Inhalt: Webseite

</body>

</html>

ƒ SOAP-Nachricht = spezielles XML-Dokument

ƒ Nachrichteninhalt (Body) und Zusatzinformation (Header) voneinander getrennt

ƒ SOAP-Nachricht enthält Daten und keine Webseiten.

HTMLHTML SOAPSOAP

© Klaus Schild, 2003 16

SOAP- SOAP -Nachricht Nachricht

ƒ Envelope: umschließt Nachrichteninhalt (Body) und den Briefkopf (Header)

ƒ Body: Nachrichteninhalt

ƒ Header: optionaler Briefkopf enthält Zusatzinformationen Envelope

Header

Body

Nachrichteninhalt Header Block Zusatzinformation

ƒ W3C-Standard

ƒ Seit SOAP 1.2 steht SOAP nichtmehr für Simple Object Access Protocol

ƒ W3C-Standard

ƒ Seit SOAP 1.2 steht SOAP nichtmehr für Simple Object Access Protocol

Eine

Eine SOAP SOAP- -Nachricht Nachricht an an

<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope" … >

<Body>

<doGoogleSearchxmlns="urn:GoogleSearch">

<keyxsi:type="xsd:string">43890489689</key>

<qxsi:type="xsd:string">XML Infotage</q>

<start xsi:type="xsd:int">0</start>

<maxResultsxsi:type="xsd:int">10</maxResults>

</doGoogleSearch>

</Body>

</Envelope>

<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope" … >

<Body>

<doGoogleSearchxmlns="urn:GoogleSearch">

<keyxsi:type="xsd:string">43890489689</key>

<qxsi:type="xsd:string">XML Infotage</q>

<start xsi:type="xsd:int">0</start>

<maxResultsxsi:type="xsd:int">10</maxResults>

</doGoogleSearch>

</Body>

</Envelope>

ƒ doGoogleSearchwird aufgerufen.

ƒ Datentypen (wie xsd:booleanund xsd:int)stammen von XML-Schema

Übertragung von

Übertragung von SOAP SOAP- -Nachrichten Nachrichten

ƒ SOAP-Nachrichten werden meist über HTTP(S) übertragen.

ƒ Request-Response-Verhalten von HTTP unterstützt entfernte Prozeduraufrufe (RPCs).

ƒ Mit HTTP können RPCs auch über eine Firewall hinweg realisiert werden.

ƒ SOAP-Nachrichten können auch über SMTP übertragen werden (Messaging).

(4)

© Klaus Schild, 2003 19

W Web eb S Services ervices D Description escription L Language anguage

ƒ beschreibt Syntax einer Schnittstelle (ÎIDL)

ƒ WSDL-Beschreibung = spezielles XML-Dokument

ƒ Abstrakte Operationen (Operations): Syntax der Schnittstelle unabhängig von Nachrichtenformate

ƒ Syntax wird mit XML-Schema beschrieben.

ƒ konkrete Operationen (Binding):

Abbildung auf unterstützte Nachrichtenformate Servicebeschreibung

abstrakte Operationen Operation

Anfrage Antwort

konkrete Operationen Operation SOAP-Anfrage SOAP-Antwort

Web-Adressen von konkreten Operationen

© Klaus Schild, 2003 20

Die WSDL-Beschreibung von

abstrakte Syntax abstrakte Syntax

konkrete Manifestation in SOAP konkrete Manifestation in SOAP

Web-Adresse Web-Adresse

© Klaus Schild, 2003 21

Eigenschaften von WSDL

ƒ beschreibt die Schnittstelle (Syntax) eines Web- Dienstes und wo dieser abgerufen werden kann

ƒ baut auf XML-Schema auf

ƒ Mit XML-Schema kann die Schnittstelle bis ins kleinste Detail festgelegt werden.

ƒ Grundlegende Interaktionsmuster (wie Anfrage-Antwort) können beschrieben werden.

ƒ Semantische Aspekte entweder gar nicht oder nur indirekt darstellbar:

ƒ Qualität: nicht darstellbar

ƒ synchron vs. asynchron: nur indirekt über ein Protokoll-Binding (z.B. HTTP vs. SMTP) darstellbar

© Klaus Schild, 2003 22

Wie wird WSDL verwendet?

ƒ aus einer WSDL-Beschreibungautomatischeine Schnittstelle zur Anwendung (Stubs) generieren (z.B.

mit .NET von Microsoft)

ƒ Stubs abstrahieren von SOAP und vom konkreten Übertragungsprotokoll.

ƒ Web-Dienst erscheint dann als lokaleBibliothek.

© Klaus Schild, 2003 23

Dynamische Einbindung eines Dienstes Dynamische Einbindung eines Dienstes

ƒ Anwendung sucht in einem Verzeichnis einen Web- Dienst, z.B. für Echtzeitkurse von Aktien

ƒ Suchergebnis: WSDL-Beschreibung

ƒ Anwendung erzeugt aus WSDL-Beschreibung Stubs

ƒ Anwendung ruft Web-Dienst als lokale Bibliothek auf

Nachfrager Anbieter

öffentliches Verzeichnis

WSDL- Beschreibung WSDL-

Beschreibung

SOAP-Nachrichten

© Klaus Schild, 2003 24

Dynamische Einbindung eines Dienstes

ƒ WSDL beschreibt die Syntax der Schnittstelle, nicht jedoch die Bedeutung der Parameter.

ƒ Um einen Dienst dynamisch zur Laufzeit abzurufen, muss er daher standardisiert sein.

ƒ Zudem muss der Dienst unkritisch sein.

ƒ dynamisches Einbinden zur Laufzeit ist Ausnahme

ƒ WSDL erleichtert aber das Einbinden zur Entwicklungszeit

ƒ dynamisches Einbinden zur Laufzeit ist Ausnahme

ƒ WSDL erleichtert aber das Einbinden zur Entwicklungszeit

(5)

© Klaus Schild, 2003 25

Grundlegende Architektur Grundlegende Architektur

Anwendung

Anwendung SOAP

Anwendung SOAP

ƒ Unabhängige, heterogene Computer tauschen SOAP- Nachrichten über gängige Internet-Protokolle aus.

ƒ Schnittstellen mit WSDL beschrieben

ƒ Aus WSDL-Beschreibungen werden Stubs generiert, die von SOAP und den verwendeten Transportprotokollen abstrahieren.

© Klaus Schild, 2003 26

Verteilte Systeme Verteilte Systeme

Anwendung

Anwendung Anwendung

Ein verteiltes Systemist eine Ansammlung von unabhängigen Computern, die den Nutzern als ein einziges kohärentes System erscheinen [Tanenbaum & van Steen 2002].

Ein verteiltes Systemist eine Ansammlung von unabhängigen Computern, die den Nutzern als ein einziges kohärentes System erscheinen [Tanenbaum & van Steen 2002].

© Klaus Schild, 2003 27

Web Web- -Dienst Dienst- - Architektur = verteiltes System Architektur = verteiltes System

ƒ Dienstorientierte Architektur ist eine spezielle Form eines verteilten Systems:

ƒ es werden SOAP-Nachrichten über gängige Internet- Protokolle ausgetauscht

ƒ Schnittstellen mit WSDL beschrieben

ƒ mit automatisch generierten Stubs kann von SOAP und dem verwendeten Protokoll abstrahiert werden

Anwendung SOAP

Anwendung SOAP

© Klaus Schild, 2003 28

Kommunikation in verteilten Systemen Kommunikation in verteilten Systemen

ƒ entfernte Prozeduraufrufe

ƒ Austausch von Nachrichten (Messaging)

ƒ über Streams

Unabhängige Computer eines verteilten Systems können auf drei verschiedene Weisen miteinander

kommunizieren:

werden von SOAP unterstützt

werden von SOAP unterstützt

Entfernte Entfernte Prozeduraufrufe Prozeduraufrufe

Traditionelle verteilte Systeme Traditionelle verteilte Systeme

ƒ traditionell basierte Kommunikation in verteilten Systemen auf dem Austausch von Nachrichten.

ƒ Anwendungsprogramm ruft send- und receive- Operationen auf.

ƒ Kommunikation im Anwendungsprogramm sichtbar.

Anwendungsprogramm (Client) send(search(string S)) receive(result(string[] R))

Anwendungsprogramm (Server)

string[] seach(string S) search(string S))

result(string[] R))

(6)

© Klaus Schild, 2003 31

Entfernte Prozeduraufrufe Entfernte Prozeduraufrufe

ƒ Birrell & Nelson [84]: Prozedur kann auf entfernten Computer so aufgerufen werden, als ob die Prozedur auf dem lokalen Computer ausgeführt würde.

ÎOrtstransparenz

ÎKommunikation mit entfernten Computer für das Anwendungsprogrammnichtsichtbar.

ƒ auch Remote Procedure Call (RPC)genannt Anwendungsprogramm

(Client)

Anwendungsprogramm (Server)

string[] seach(string S) seach(string S)

© Klaus Schild, 2003 32

Entfernte Prozeduraufrufe Entfernte Prozeduraufrufe

Client

Server

Anfrage

(request) Ergebnis

(reply)

RPC-Aufruf RPC abgeschlossen

auf Ergebnis warten

Aufruf lokaler Prozedur

© Klaus Schild, 2003 33

Call Call- -By By- -Value Value vs. vs. Call Call- -By By- -Reference Reference

ƒ Parameter können auf zwei verschiedene Weisen übergeben werden:

ƒ Call-By-Value: Wert des Parameters wird als vollständige Kopie übergeben.

ƒ Call-By-Reference: Nicht der Wert des Parameters, sondern ein Verweis auf den Wert wird übergeben.

© Klaus Schild, 2003 34

Synchrone Synchrone RPCs RPCs

ƒ Üblicherweise wartet der Client auf das Ergebnis des entfernten Prozeduraufrufes und ist solange blockiert.

ƒ Deshalb werden solche RPCs auch als synchron bezeichnet.

Client

Server Anfrage

(request) Ergebnis

(reply)

RPC-Aufruf RPC abgeschlossen

auf Ergebnis warten

Aufruf lokaler Prozedur

© Klaus Schild, 2003 35

Asynchrone Asynchrone RPCs RPCs

ƒ häufig nicht nötig, dass der Client auf das endgültige Ergebniswartet (z.B. Eintrag in eine Datenbank)

ƒ Alternative: lediglich warten bis RPC vom Server angenommenwurde

Client

Server

Anfrage (request)

Anfrage akzeptiert (accept)

RPC-Aufruf RPC abgeschlossen

auf accept warten

Aufruf lokaler Prozedur

© Klaus Schild, 2003 36

Synchrone vs. asynchrone Synchrone vs. asynchrone RPCs RPCs

Client

Server Anfrage

(request) Ergebnis

(reply)

RPC-Aufruf RPC abgeschlossen

auf Ergebnis warten

Aufruf lokaler Prozedur

Client

Server Anfrage (request)

Anfrage akzeptiert (accept)

RPC-Aufruf RPC abgeschlossen

auf accept warten

Aufruf lokaler Prozedur

asynchron synchron

(7)

© Klaus Schild, 2003 37

Messaging Messaging

© Klaus Schild, 2003 38

Messaging Messaging

ƒ Anwendungen interagieren durch den Austausch von Nachrichten miteinander

ƒ Kommunikation in den jeweiligen Anwendungen sichtbar

ƒ verschiedene Formen des Messaging werden anhand folgender Kriterien unterschieden:

1.Kommunikationsstruktur 2.Interaktionsmuster

3.verbindungsorientierte vs. persistente Kommunikation 4.Synchronität

5.Qualität (quality of service) 6.Nachrichtenformat

© Klaus Schild, 2003 39

Kommunikationsstruktur Kommunikationsstruktur

ƒ Anzahl und Organisation der Kommunikationspartner

ƒ wichtigste Kommunikationsstrukturen:

ƒ Eins-zu-Eins-Kommunikation

ƒ One-to-Many-Kommunikation

© Klaus Schild, 2003 40

Eins- Eins -zu zu- -Eins Eins- -Kommunikation Kommunikation

ƒ Sender sendet Nachricht an bestimmten Empfänger.

ƒ Beispiel: Kunde sendet Bestellung per E-Mail an Firma

Sender Empfänger

One

One- -to to- -Many Many- -Kommunikation Kommunikation

ƒ Sender sendet identische Kopie gleichzeitig an mehrere Empfänger.

ƒ Sender (publisher) veröffentlicht Nachricht zu einem bestimmten Thema (topic), zu dem sich die Empfänger (subscriber) angemeldet haben.

ƒ auch publish-subscribeoder topic-based messaging genannt

ƒ Beispiel: Mailing-Liste Sender

Empfänger Empfänger

Empfänger Empfänger

Messaging Messaging

Kriterien:

1. Kommunikationsstruktur 2. Interaktionsmuster

3. verbindungsorientierte vs. persistente Kommunikation 4. Synchronität

5. Qualität (quality of service) 6. Nachrichtenformat

(8)

© Klaus Schild, 2003 43

Grundlegende Interaktionsmuster Grundlegende Interaktionsmuster

Einweg (one way, fire and forget)

Client Server

Client Server

Client Server

Client Server

Anfrage-Antwort (request-response) Benachrichtigung (notification)

Benachrichtigung-Antwort (notification-response) Beachte: „Antwort“ bezieht sich auf die jeweilige Anwendung, nicht auf das Netzwerk.

© Klaus Schild, 2003 44

Beispiel Börsenticker Beispiel Börsenticker

Sender Sender

Empfänger Empfänger Empfänger Empfänger Empfänger EmpfängerEmpfängerEmpfänger

ƒ Interaktionsmuster: Benachrichtigung (notification) Server Empfänger

Empfänger Empfänger

Client

ƒ Kommunikationsstruktur: One-to-Many (publish-subscribe)

Client

Client ServerServer

© Klaus Schild, 2003 45

Komplexe Interaktionsmuster Komplexe Interaktionsmuster

ÎRegistrierung zum Börsenticker ÍBestätigung der Registrierung Íaktuelle Aktienkurse (Benachrichtigung)

ƒ Abfolge der Nachrichten wichtig

ƒ z.B. keine Benachrichtigung ohne vorherige Registrierung

ƒ auch als Konversation (conversation) bezeichnet

Client Server

Börsenticker Börsenticker

© Klaus Schild, 2003 46

Komplexe Interaktionsmuster Komplexe Interaktionsmuster

ÎBestellanfrage mit spätestem Liefertermin ÍAngebot mit zugesichertem Liefertermin ÎBestellung

ÍBestätigung des Eingangs der Bestellung ÎBestätigung der Lieferung

ÍRechnung

Client

Client ServerServer Bestellvorgang Bestellvorgang

© Klaus Schild, 2003 47

Messaging Messaging

Kriterien:

1. Kommunikationsstruktur 2. Interaktionsmuster

3. verbindungsorientierte vs. persistente Kommunikation 4. Synchronität

5. Qualität (quality of service) 6. Nachrichtenformat

© Klaus Schild, 2003 48

Verbindungsorientierte Kommunikation Verbindungsorientierte Kommunikation

ƒ Sender und Empfänger kommunizieren direkt ohne Puffer miteinander.

ƒ Sender und Empfänger müssen während der gesamten Übertragung präsent sein.

ƒ auch verbindungsorientiert (connection-oriented) oder vergänglich (transient) genannt

ƒ Beispiel: http

Sender Empfänger

Netzwerkgrenze

(9)

© Klaus Schild, 2003 49

Persistente

Persistente Kommunikation Kommunikation

ƒ Nachricht wird solange gespeichert, bis sie dem Empfänger tatsächlich zugestellt wurde.

ƒ auch persistenteKommunikation genannt

ƒ Beispiel: E-Mail, MQSeries von IBM Netzwerkgrenze

Sender Empfänger

Kommunikations- server

Kommunikations- server

© Klaus Schild, 2003 50

Messaging Messaging

Kriterien:

1. Kommunikationsstruktur 2. Interaktionsmuster

3.verbindungsorientierte vs. persistente Kommunikation 4.Synchronität

5. Qualität (quality of service) 6. Nachrichtenformat

© Klaus Schild, 2003 51

Synchronität Synchronität

ƒ auch beim Messaging Unterscheidung zwischen synchron oder asynchron

ƒ persistente Kommunikation:

ƒ typischerweise asynchron (wegen Puffer)

ƒ Beispiel: E-Mail

ƒ theoretisch auch synchron: Sender solange blockiert, bis er eine Bestätigung über den Empfangder Nachricht bekommt

ƒ verbindungsorientierte Kommunikation:

ƒ auch in der Praxis sowohl synchron als auch asynchron

© Klaus Schild, 2003 52

asynchron +

asynchron + verbindungsorientiert verbindungsorientiert

A

B

N N kann nur verschickt werden, wenn B läuft.

A verschickt N und läuft weiter

B empfängt N

ƒ Beispiel: UDP (User Datagram Protocol)

synchron +

synchron + verbindungsorientiert verbindungsorientiert I I

ƒ auch antwortorientiert (response-based) genannt

ƒ Beispiel: synchrone RPCs A

B

Anfrage

(request) Antwort

(reply) A verschickt

Anfrage A wartet auf Antwort

B verarbeitet Anfrage B läuft, verarbeitet noch

nicht die Anfrage

synchron +

synchron + verbindungsorientiert verbindungsorientiert II II

ƒ auch bestätigungsorientiert (delivery-based) genannt

ƒ Beispiel: asynchroneRPCs A

B

Anfrage

(request) Bestätigung

(accept) A verschickt

Anfrage A wartet auf Bestätigung

B verarbeitet Anfrage B läuft, verarbeitet noch

nicht die Anfrage

(10)

© Klaus Schild, 2003 55

Messaging Messaging

Kriterien:

1. Kommunikationsstruktur 2. Interaktionsmuster

3. verbindungsorientierte vs. persistente Kommunikation 4. Synchronität

5. Qualität (quality of service) 6. Nachrichtenformat

© Klaus Schild, 2003 56

Qualität (

Qualität (quality

qualityof serviceof service)

)

Kriterien:

ƒ maximale Verzögerung (latency)

ƒ maximale Last

ƒ Toleranz gegenüber Ausfällen (z.B. ob Puffer in einer Datenbank gespeichert sind)

ƒ Verschlüsselung

ƒ Authentifizierung

ƒ Nachrichten erreichen auf jeden Fall den Empfänger

ƒ Nachrichten werden höchstens einmal zugestellt

© Klaus Schild, 2003 57

RPC oder

RPC oder Messaging Messaging? ?

© Klaus Schild, 2003 58

RPC vs.

RPC vs. Messaging Messaging

RPC

+ einfach, abstrahiert von Kommunikation - nur Eins-zu-Eins-Kommunikation - Client und Server müssen präsent sein.

- nicht skalierbar Messaging

- abstrahiert nicht von Kommunikation + erlaubt auch One-to-Many-Kommunikation

+ Weder Sender noch Empfänger müssen präsent sein.

+ erlauben Priorisierung und Lastverteilung, dadurch skalierbar

Îlose gekoppelte, flexible Systeme Îlose gekoppelte, flexible Systeme

Îeng gekoppelte, starre Systeme Îeng gekoppelte, starre Systeme

Referenzen

ÄHNLICHE DOKUMENTE

Description logic reasoners offer the computation of a subsumption hierarchy (taxonomy) of all

3.4 elektronische Geschäftsprozesse 3.5 Partner Interface Process 3.6 Bedeutung für das Unternehmen

 Weder Sender noch Empfänger müssen während Übertragung präsent sein. 

§ Für den Einsatz von SOAP muss man Parameter, Datentypen, Methodennamen und die Adresse eines Web Services kennen. § Beschreibung eines WS durch die Web Service

ƒ Ports eines Service sollen semantisch äquivalente Alternativen einer abstrakten Schnittstelle

EMPTY: leerer Inhalt, Element kann aber Attribute haben EMPTY!. &lt;!ELEMENT br EMPTY&gt; Î &lt;

- theoretisch aber auch synchron: Sender solange blockiert, bis Empfang der Nachricht bestätigt flüchtige Kommunikation. - auch in der Praxis sowohl synchron als auch

ƒ Seit SOAP 1.2 steht SOAP nicht mehr für Simple Object Access Protocol.