Was sind Web Services? Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

SOAP, nur ein neuer XML- Dialekt?
Basis-Architekturen für Web-Anwendungen
SOAP Simple Object Access Protocol
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Edgar - Ein Texteditor Ein Vortrag von Carsten Severin.
1 Web Services (SOAP, REST, WSDL). © Prof. T. Kudraß, HTWK Leipzig 2 Web Service – Definitionen? Gartner Group: Web services are software technologies,
Einführung XML XML Einführung Andreas Leicht.
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
OGSI und Jini im Focus Sebastian Albrecht. 2 Gliederung OGSI Einordnung neue Komponenten Zukunft Jini Entstehung Architektur Lookup Service Bewertung.
Seminar Praktische Informatik Web Services
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Einsatzgebiete und Anwendungen
Grundlagen: Client-Server-Modell
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Management- und Web Services- Architekturen
Einführung in Web Services Web Services in der Praxis
Meldungen über Ethernet mit FINS/UDP
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Client-Server-Modell
Reinhold Rumberger Web Services.
SharePoint 2013 Web Services
SOAP.
Universal Plug and Play
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Web Services (Axis) ETIS SS05.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
WSDL Web Services Definition Language Von Nikos Vormwald.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Bewerbungs- eingang Bewerbungs- bearbeitung Stellenangebote VermittlungKommunikationZusatzleistungen.
Vererbung. Klassen - Vererbung  Eine Klasse kann von einer Basisklasse abgeleitet werden  Die abgeleitete Klasse erbt die Eigenschaften und Methoden.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
Funktionsweise eines Funambolservers Natascha Graf Aachen, 01. Februar 2010.
1 Simulation einer Ladesäule für Elektrofahrzeuge nach dem Open Charge Point Protocol Felix Batke 3. Lehrjahr.
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Standardtechnologien von Web Services Daniel Schade.
Netzwerke - Protokolle
Was sind Web Services? Marko Harasic
Business Process Excuction Lanaguage
Netzwerke.
Netzwerke Netzwerkgrundlagen.
 Präsentation transkript:

Was sind Web Services? Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

2 AG Netzbasierte Informationssysteme Was sind Web Services? Browser Anwendung traditionelle Web-Anwendung Anwendung Web Service HTML SOAP Webseiten Daten  Mensch-Maschine-Kommunikation  Maschine-Maschine-Kommunikation

3 AG Netzbasierte Informationssysteme Web Service ist eine Softwareanwendung Ein Web Service ist eine Softwareanwendung, die URI 1.mit einer URI eindeutig identifizierbar ist, WSDL 2.über eine WSDL-Schnittstellenbeschreibung verfügt, 3.nur über die in ihrer WSDL beschriebenen Methoden zugreifbar ist und gängige Internet-Protokolle SOAP 4.über gängige Internet-Protokolle unter Benutzung von XML-basierten Nachrichtenformaten wie z.B. SOAP zugreifbar ist. Web-Dienst Inhalt: SOAP Schnittstellenbeschreibung mit WSDL Funktionalität Transport: HTTP(S), SMTP, FTP Server Client

4 AG Netzbasierte Informationssysteme Eigenschaften von Web Services Web Services Fassade  implementieren häufig keine neuen Systeme, sondern sind Fassade für bestehende Systeme  abstrahieren von Programmiersprache und Plattform mit der die Anwendung realisiert ist: Virtualisierung von Software  zwei Erscheinungsformen: -RPCs (synchron) -Messaging (asynchron)

5 AG Netzbasierte Informationssysteme LayerProtokoll/Standards MessagingHTML TransportHTTP, FTP, SMPT NetworkTCP/IP, UDP

6 AG Netzbasierte Informationssysteme XML-gekapselte Protokolle LayerProtokoll/Standards ContentContent Information MessagingSOAP, XML-RPC TransportHTTP, FTP, SMPT NetworkTCP/IP, UDP

7 AG Netzbasierte Informationssysteme Web Service Technology Stack LayerProtokoll/Standards Discovery (holt Service-Beschreibung von Prodiver) UDDI, DISCO, WSIL Description (beschreibt Services) WSDL MessagingSOAP, XML-RPC Transport (Applikation-zu-Applikation Kommunikation) HTTP, FTP, SMPT Network (Netzwerk Layer) TCP/IP, UDP

8 AG Netzbasierte Informationssysteme Web Services Web Service Service Nutzer (Service Consumer)

Web Service Basiskomponenten: SOAP

10 AG Netzbasierte Informationssysteme Austausch einer SOAP-Nachricht Sender Empfänger Information Nachricht verpacken (serialisieren) auspacken (deserialisieren)

11 AG Netzbasierte Informationssysteme SOAP ist…  …eine Kommunikationskomponente von Web Services  …ein Protokoll für Nachrichtenaustausch zwischen Web Service-Konsument und Web Service-Anbieter  …XML-basiert ( nutzt XML für die Darstellung von Nachrichten )  …Plattform- & Programmierspracheunabhängig Die SOAP-Spezifikation legt fest, wie eine Nachricht übertragen wird. Die Umsetzung der Nachricht ist nicht Gegenstand der SOAP-Spezifikation

12 AG Netzbasierte Informationssysteme Aufbau einer SOAP-Nachricht SOAP Envelope SOAP Header SOAP Body SOAP Version 1.1: SOAP Version 1.2 XML-Deklaration

13 AG Netzbasierte Informationssysteme Nachrichtenformat SOAP Zusatzinformationen Inhalt: XML-Daten Zusatzinformationen Inhalt: Webseite  XML-basierter W3C-Standard -SOAP 1.1: W3C Note von SOAP 1.2: W3C Recommendation von 2003 HTML SOAP

14 AG Netzbasierte Informationssysteme Prinzipieller Aufbau (SOAP V.1.1) Zusatzinformationen Nachrichtinhalt Envelope  Wurzel-Element: Envelope aus SOAP-Namensraum  Header  Header: optional  Body  Body: obligatorisch  Im Beispiel: kein W3C- Namensraum  SOAP 1.1

15 AG Netzbasierte Informationssysteme SOAP Block XML Dokument SOAP Nachricht  ein XML Dokument das beinhaltet: Envelope Element  obligatorisches Envelope Element – identifiziert ein XML Dokument als SOAP Nachricht Header Element  optionales Header Element – Header Informationen Body Element  obligatorisches Body Element – Call & Response Informationen Fault Element  optionales Fault Element – Informationen über Fehler

16 AG Netzbasierte Informationssysteme SOAP Envelope Element Envelope  Name des Elements: Envelope  Envelope  Envelope: Wurzel-Element einer SOAP Nachricht  beinhaltet SOAP Namespace  identifiziert SOAP Nachricht <env:Envelope xlmns:env=" envelope"> …  Im Beispiel: W3C-Namensraum  SOAP 1.2

17 AG Netzbasierte Informationssysteme Briefkopf (Header)  Header  Header: beliebige XML-Inhalte erlaubt  Struktur von Anwendung festgelegt  Header Block -Kind-Element von Header -Zusatzinformation zur eigentlichen Nachricht … … Header Blöcke

18 AG Netzbasierte Informationssysteme Nachrichteninhalt (Body)  Body  Body: beliebige XML-Inhalte erlaubt  Struktur von Anwendung festgelegt, z.B. durch: - speziellen Namensraum und/oder - WSDL-Beschreibung …

19 AG Netzbasierte Informationssysteme T14:00:00-05:00 Pick up Mary at 2pm! Nachricht Zusatz-information (Header Block)

20 AG Netzbasierte Informationssysteme mustUnderstand Attribut <alertcontrol xmlns=" env:mustUnderstand="true"> …  mustUnderstand="true"  mustUnderstand="true": Empfänger muss Header Block verstehen oder mit Fehlermeldung antworten  mustUnderstand="false"  mustUnderstand="false": Empfänger kann Header Block (ohne Fehlermeldung) ignorieren  kann für jeden Header Block unterschiedlich sein  Beachte: Standard-Wert ist "false"

21 AG Netzbasierte Informationssysteme SOAP Verarbeitung Empfänger muss verarbeiten:  Body  Header Blocks mit mustUnderstand="true" Empfänger darf ignorieren:  Header Blocks mit mustUnderstand="false"  Header Blocks ohne mustUnderstand -Attribut Grund: "false" Standardwert von mustUnderstand

22 AG Netzbasierte Informationssysteme Eine SOAP-Anfrage an <env:Envelope xmlns:env=" xmlns:xsd="..." xmlns:xsi="…"> Eine Anfrage 0 10 …  doGoogleSearch  doGoogleSearch(key, q, start, maxResults,...)  hier kein Header Web Service-Aufruf kann als URL kodiert werden (REST)  Beachte: Web Service-Aufruf kann als URL kodiert werden (REST)

23 AG Netzbasierte Informationssysteme Und die SOAP-Antwort von <env:Envelope xmlns:env=" xmlns:xsd="..." xmlns:xsi="…"> … doGoogleSearchResponse  Antwort: doGoogleSearchResponse(return(…))  Datentyp ns1:GoogleSearchResult in WSDL- Beschreibung definiert

24 AG Netzbasierte Informationssysteme Exkurs: Was fällt Ihnen auf? <env:Envelope xmlns:env=" xmlns:xsd="..." xmlns:xsi="…"> Eine Anfrage 0 10 …  Was ist eine URN?  Ortsunabhängiger, globaler, lebenslanger Identifier  Übersetzung in URI übernimmt Anwendung

25 AG Netzbasierte Informationssysteme Übertragung von SOAP-Nachrichten  heute meist über HTTP oder HTTPS  Request-Response-Verhalten von HTTP unterstützt entfernte Prozeduraufrufe (RPCs)  auch z.B. mit SMTP (Messaging) möglich

26 AG Netzbasierte Informationssysteme Web Services Web Service SOAP Service Nutzer (Service Consumer)

27 AG Netzbasierte Informationssysteme SOAP - Vorteile + unabhängig von Übertragungsprotokollen + sowohl für RPCs als auch für Messaging geeignet + einfach erweiterbar + Erweiterungen unabhängig voneinander + Plattformunabhängig + Programmiersprachenunabhängig

28 AG Netzbasierte Informationssysteme SOAP - Nachteile - zusätzlicher Verarbeitungsaufwand - nicht so einfach zu erlernen - für viele notwendige Erweiterungen noch kein etablierter Standard Beispiel: wsu:identifier vs. wsa:MessageID

Web Service Basiskomponenten: WSDL

30 AG Netzbasierte Informationssysteme Wozu dient WSDL?  Client möchte bestimmten Web Service nutzen  Client benötigt hierfür: -Struktur des Aufrufes: Name, Parameter, Ergebnis, Fehlermeldungen -Übertragungsprotokoll und Web-Adresse  genau dies wird mit WSDL beschrieben Formale Beschreibung der Schnittstelle von Services NachfragerAnbieter Schnittstelle Dienst publizieren Dienst abrufen

31 AG Netzbasierte Informationssysteme Wozu WSDL-Syntax verstehen? Java, C#WSDL  WSDL = zu veröffentlichende Schnittstellenbeschreibung (Vertrag)  Nutzer des Web Service kennt nur WSDL, nicht Programm-Code  Web-Service-Anbieter/Nutzer sollten WSDL (Vertrag) verstehen!  mögliche Probleme bei generierten WSDLs: -Fehlermeldungen nicht korrekt beschrieben -optionale RPC-Parameter ungünstig beschrieben

32 AG Netzbasierte Informationssysteme WSDL Aufbau  beschreibt Netzwerkdienste als Kommunikationsendpunkte (Ports), die bestimmte Nachrichten über bestimmte Protokolle austauschen Operationen doGoogleSearch SOAP-Anfrage SOAP-Antwort Web-Adresse Web Service

33 AG Netzbasierte Informationssysteme abstrakte Schnittstelle  Beschreibung der Schnittstelle unabhängig von -Nachrichtenformaten wie SOAP -Übertragungsprotokollen wie HTTPBindung  Realisierung einer abstrakten Schnittstelle mit bestimmtem Nachrichtenformat und Übertragungsprotokoll abstrakte Schnittstelle Operation Anfrage Antwort versch. Bindungen Operation SOAP-Anfrage SOAP-Antwort

34 AG Netzbasierte Informationssysteme Beispiel (fiktiv)  ein Dienst (abstrakte Schnittstelle):  Name der Operation: doGoogleSearch  Eingangsparameter: key:string, q:string, …  Rückgabewert: doGoogleSearchResponse  Kind-Elemente von doGoogleSearchResponse : Rückgabewerte (komplexer Datentyp)  eine Beschreibungaber 4 Zugriffs- möglichkeiten  eine Beschreibung (WSDL), aber 4 Zugriffs- möglichkeiten (Bindungen): 1.SOAP/HTTP-POST 2.SOAP/HTTP-GET (REST) 3.SOAP/SMTP (asynchron) 4.HTML/HTTP-GET (Browser/REST)

35 AG Netzbasierte Informationssysteme Web Service von Suche Dienst: Suche Name der Operation:doGoogleSearch Rückgabe:doGoogleSearchResponse

36 AG Netzbasierte Informationssysteme Was?  Typen, Messages, PortTypes (Interfaces) Deklaration der verfügbaren Operationen Struktur der ausgetauschten Nachrichten (Aufruf und Rückruf, Fehlermeldungen) Wie  Bindings unterstützte Transportprotokolle verwendete Nachrichtenformate Wo  Service Wie heißt der Service? Unter welchen URLs kann er gefunden werden?

37 AG Netzbasierte Informationssysteme Bindings PortTypes Operations SOAP/HTTP POST SOAP/SMTP GoogleSearchPort doGoogleSearch doSpellingSuggestion doGetCachedPage Service mailto: HTML/ HTTP GET

38 AG Netzbasierte Informationssysteme Abstrakte Schnittstellen  portType = interface  portType (WSDL 1.1) = interface (WSDL 2.0)  portType = Menge von abstrakten Operationen  jede abstrakte Operation beschreibt Eingangs- und Ausgangsnachricht  meist nur ein portType, aber in WSDL 1.1 auch mehrere möglich

39 AG Netzbasierte Informationssysteme binding  in WSDL binding genannt  für jede abstrakte Schnittstelle (portType) mindestens eine Bindung portType unterschiedlichen Bindungen  ein portType kann also mit unterschiedlichen Bindungen realisiert sein

40 AG Netzbasierte Informationssysteme  port= endpoint  port (WSDL 1.1) = endpoint (WSDL 2.0)  port  port = Bindung + Web- Adresse  für jede Bindung (binding) mindestens ein port binding  ein binding kann also über unterschiedliche Web- Adressen zugänglich sein

41 AG Netzbasierte Informationssysteme port Service  Menge von ports bilden zusammen einen Service  port  ports können in verschiedene Services gruppiert werden  port  ports eines Service = semantisch äquivalente Alternativen

42 AG Netzbasierte Informationssysteme Die WSDL-Beschreibung von abstrakte Schnittstelle Endpunkt SOAP/HTTP-POST-Bindung

43 AG Netzbasierte Informationssysteme WSDL 1.1. – Elemente (1) ElementBeschreibung Abstrakte Beschreibung … Datentypen - Maschinen- und sprachunabhängige Typdefinitionen  definiert die verwendeten Datentypen … Nachrichten - Nachrichten, die übertragen werden sollen - Funktionsparameter (Trennung zwischen Ein- und Ausgabeparameter) oder Dokumentbeschreibungen … - Nachrichtendefinitionen im Messages- Abschnitt Operationen - definiert Operationen, die beim Web Service ausgeführt werden

44 AG Netzbasierte Informationssysteme WSDL 1.1. – Elemente (2) ElementBeschreibung Konkrete Beschreibung … Kommunikationsprotokoll - Kommunikationsprotokoll, das beim Web Service benutzt wird - Gibt die Bindung(en) der einzelnen Operationen im portType-Abschnitt an … - gibt die Anschlussadresse(n) der einzelnen Bindungen an (Sammlung von einem oder mehreren Ports)

45 AG Netzbasierte Informationssysteme Eigenschaften von WSDL XML-Schema  baut auf XML-Schema auf  Syntax einer Schnittstelle kann bis ins kleinste Detail festgelegt werden Schnittstelle(n woabgerufen  beschreibt Schnittstelle(n) eines Web Services und wo dieser abgerufen werden kann  grundlegende Interaktionsmuster  grundlegende Interaktionsmuster (wie Anfrage-Antwort)  keine Möglichkeit semantische Eigenschaften zu beschreiben

46 AG Netzbasierte Informationssysteme Web Services Web Service WSDL beschreibt Service SOAP Service Nutzer (Service Consumer)

47 AG Netzbasierte Informationssysteme Vorteile von WSDL  Ziel: Interoperabilität  Interoperabilität zwischen unterschiedlichen ImplementierungsplattformenVorteile + Plattformunabhängig + Syntax der Schnittstelle kann genau festgelegt werden + Unterschiedliche Realisierungen einer abstrakter Schnittstelle möglich (z.B. SOAP über HTTP und SMTP)

48 AG Netzbasierte Informationssysteme Nachteile von WSDL schafft neue Probleme - nicht alle Entwicklungen werden akzeptiert (vgl. UDDI, REST vs. SOAP) - nicht alle geforderte Funktionalitäten sind verfügbar (Sicherheit, Transaktionen, Schnittstellenversionierung, etc.) - eine weitere Schnittstellentechnologie, die gewartet werden mussNachteile - verschiedene Protokoll-Bindungen (wie HTTP vs. SMTP) können unterschiedliche Semantik haben - keine komplexen Interaktionsmuster - keine qualitativen Aspekte (quality of service) - keine Sicherheitsaspekte - unzureichend, um automatisch die Kompatibilität (Interoperabilität) zweier Web Services feststellen zu können  Semantic Web Services

RPC vs. Messaging

50 AG Netzbasierte Informationssysteme Wie SOAP-Nachrichten übertragen? über HTTP  heute üblich RPC  Request-Response- Verhalten von HTTP unterstützt RPCs  verbindungsorientiert  Übertragung: Sender und Empfänger müssen präsent sein. synchron  typischerweise synchron über SMTP  heute eher selten Messaging  realisiert Messaging  persistente  persistente Kommunikation  Übertragung: Weder Sender noch Empfänger muss präsent sein. asynchron  typischerweise asynchron  erlaubt Lastverteilung und Priorisierung  weitreichende Designentscheidung!

51 AG Netzbasierte Informationssysteme Weitreichende Designentscheidung enge Kopplung  verbindungs- orientiertesynchrone  verbindungs- orientierte, synchrone Kommunikation  z.B. SOAP/HTTP lose Kopplung  gepufferteasynchrone  gepufferte, asynchrone Kommunikation  z.B. SOAP/SMTP  robuster, aber auch komplexer zu entwerfen

52 AG Netzbasierte Informationssysteme RPC mit SOAP  Nachrichten konform:  zu einer vordefinierten Beschreibung des Funktionsaufrufes  zu der zu erwartenden Rückantwort  Arten der Kommunikation:  Anfrage (Request)  Antwort (Response)  Fehlerfall (Fault)

53 AG Netzbasierte Informationssysteme Komplexität loser Kopplung asynchroner Nachrichtenaustausch  auch nach Timeout Antwort noch möglich  Was tun mit der Antwort?  häufig muss Absender informiert werden, dass Antwort nicht verarbeitet werden konnte  Was tun, wenn diese Warnung nicht rechtzeitig beim Absender ankommt?  Absender hat vielleicht im falschen Glauben, dass seine Antwort verarbeitet wurde, weitergearbeitet.  Dieser Vorgang muss dann evtl. rückgängig gemacht werden.

54 AG Netzbasierte Informationssysteme  Anwendungen interagieren durch Austausch von Nachrichten miteinander:  Kommunikation in Anwendung sichtbar: senden und empfangen  verschiedene Formen des Messaging: 1.Kommunikationsstruktur 2.Interaktionsmuster 3.flüchtig vs. persistent 4.synchron vs. asynchron

55 AG Netzbasierte Informationssysteme 1. Kommunikationsstruktur  Anzahl und Organisation der Kommunikationspartner  wichtigste Kommunikationsstrukturen: -One-to-One-Kommunikation -One-to-Many-Kommunikation

56 AG Netzbasierte Informationssysteme 1.Kommunikationsstruktur: One-to-One-Kommunikation  Sender sendet Nachricht an bestimmten Empfänger.  Beispiel: Kunde sendet Bestellung per an Firma SenderEmpfänger

57 AG Netzbasierte Informationssysteme Empfänger 1.Kommunikationsstruktur: One-to-Many-Kommunikation  Sender sendet identische Kopie gleichzeitig an mehrere Empfänger  Sender (publisher) veröffentlicht Nachricht zu bestimmten Thema (topic), zu dem sich die Empfänger (subscriber) angemeldet haben. publish-subscribetopic-based messaging  auch publish-subscribe oder topic-based messaging genannt  Beispiel: Mailing-Liste Sender Empfänger

58 AG Netzbasierte Informationssysteme 2. Interaktionsmuster Einweg Einweg (one way, fire and forget) Client Server Client Server Client Server Client Server Anfrage-Antwort Anfrage-Antwort (request-response) Benachrichtigung Benachrichtigung (notification) Benachrichtigung- Antwort Benachrichtigung- Antwort (notification- response) Beachte: „Antwort“ bezieht sich auf jeweilige Anwendung, nicht auf das Netzwerk.

59 AG Netzbasierte Informationssysteme 2.Interaktionsmuster: Komplexe Interaktionsmuster  Bestellanfrage mit spätestem Liefertermin  Angebot mit zugesichertem Liefertermin  Bestellung  Bestätigung des Eingangs der Bestellung  Bestätigung der Lieferung  Rechnung Bestellvorgang Client Server

60 AG Netzbasierte Informationssysteme 3. Flüchtig vs. Persistent flüchtige Kommunikation  Sender und Empfänger kommunizieren direkt ohne Puffer miteinander.  Sender und Empfänger müssen während der gesamten Übertragung präsent sein transient  engl. transient  Beispiele: HTTP, UDP Netzwerkgrenze Sender Empfänger

61 AG Netzbasierte Informationssysteme Flüchtig vs. Persistent persistente Kommunikation  Nachricht solange gespeichert, bis sie tatsächlich zugestellt wurde.  Weder Sender noch Empfänger müssen während Übertragung präsent sein.  Beispiel: Netzwerkgrenze Kommunikations- server Sender Empfänger

62 AG Netzbasierte Informationssysteme 4. Synchron vs. Asynchron  Asynchron  Senden und Empfangen zeitlich versetzt  ohne Blockieren des Prozesses (ohne Warten auf die Antwort)  Synchron  Senden/Empfangen synchronisieren  warten (blockieren) bis die Kommunikation abgeschlossen ist. persistenter Kommunikation  bei persistenter Kommunikation  Messaging normalerweise asynchron flüchtiger Kommunikation  bei flüchtiger Kommunikation  Messaging kann sowohl synchron als auch asynchron sein

63 AG Netzbasierte Informationssysteme RPC oder Messaging? RPC + einfach, abstrahiert von Kommunikation - nur Eins-zu-Eins-Kommunikation - Client und Server müssen präsent sein - skaliert weniger gutMessaging - abstrahiert nicht von Kommunikation + erlaubt auch One-to-Many-Kommunikation + Weder Sender noch Empfänger müssen präsent sein + erlaubt Priorisierung und Lastverteilung + skaliert sehr gut  lose gekoppelte, robuste Systeme  eng gekoppelte, starre Systeme

64 AG Netzbasierte Informationssysteme Block Web Services heutige Vorlesung  Was sind Web Services?  Basistechnologien (SOAP, WSDL, UDDI)  RPC vs. Messaging