SOAP, UDDI, WS-Inspection und WSDL

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

SOAP, nur ein neuer XML- Dialekt?
Be.as WEB Technologie
Einer der Dienste im Internet
Externe Referenzen in ODS Am Beispiel von VSIM 27.Oktober
Basis-Architekturen für Web-Anwendungen
Kontext-basierte Personalisierung von Web Services
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
Lightweight Directory Access Protocol
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
1 Web Services (SOAP, REST, WSDL). © Prof. T. Kudraß, HTWK Leipzig 2 Web Service – Definitionen? Gartner Group: Web services are software technologies,
Kommunikation in verteilten Systemen (Middleware)
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Einführung XML XML Einführung Andreas Leicht.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Access 2000 Datenbanken.
Seminar Internet Technologien
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Seminar Praktische Informatik Web Services
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Vortrag HTML, XHTML, DHTML
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
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.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Management- und Web Services- Architekturen
Oliver Spritzendorfer Thomas Fekete
XML (Extensible Markup Language)
UDDI TU Chemnitz Fakultät für Informatik SS 2003
Einführung in Web Services Web Services in der Praxis
Untersuchungen zur Erstellung eines
Reinhold Rumberger Web Services.
SOAP.
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
WILLKOMMEN Daniel Matheis Betreuer: Birgitta König-Ries Michael Klein "Dezentrale Realisierung von Gruppendiensten in Peer-to-Peer-Umgebungen" Studienarbeiter:
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Web Services (Axis) ETIS SS05.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Betriebs- systeme und Verteilte Systeme Namens- und Verzeichnisdienste Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Maher Al-Bunni.
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.
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
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.
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
 Präsentation transkript:

SOAP, UDDI, WS-Inspection und WSDL Web Services SOAP, UDDI, WS-Inspection und WSDL

Definition Web Service Keine einheitliche Definition i.A. Dienst, der Benutzern über das Web zur Verfügung gestellt wird und dabei beispielsweise auf XML und HTTP zurückgreift Unterschied zu klassischen Diensten im Web: auf automatisierte Benutzung ausgelegt Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Stand der Technik Viele große Softwarefirmen bieten entsprechende Produkte an: BEA WebLogic HP Web Services Platform IBM WebSphere Microsoft .NET mySAP.com von SAP SUN ONE Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel für Web Services Marktplätze Automobilindustrie Fluggesellschaften … Ziel dieser Marktplätze: Optimierung des Einkaufs, d.h. möglichst schnell das günstigste Angebot unter allen Anbietern zu finden und auch die Bestellung online abwickeln können. Dazu werden Daten von ERP-Systemen in Marktplätzen integriert. Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Motivation Dienste werden im Internet angeboten Bisher allerdings nur mit HTML-Formularen/ HTML-Seiten als Benutzerschnittstelle Automatische Benutzung schwierig ( „screen scraping“-Technologien) Jeder Dienst hat seine eigene Oberfläche, dadurch keine einheitliche Bedienung Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Ziel der Web Services Vollautomatische Dienstnutzung Interoperabilität unabhängig vom zugrundeliegenden Betriebssystem, von der Programmiersprache der Services und von der Web Service Engine Dienstkomposition Einheitliche Schnittstellen für Dienste, die dasselbe leisten (z.B. gleiche Schnittstelle für alle Kreditkarten-Bezahl-Dienste, Buchbestellungs-Dienste,…) Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Interoperabilität (1) Um die Interoperabilität von Diensten zu gewährleisten, braucht man Standards: SOAP (Simple Object Access Protocol – IBM, MS,…) ebXML (Electronic Business using eXtensible Markup Language – OASIS, UN/CEFACT) UDDI (Universal Description, Discovery and Integration – HP, IBM, Intel, Microsoft, SAP, Software AG, Sun, …) WSDL (Web Services Description Language – Ariba, IBM, Microsoft) Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Interoperabilität (2) Standards (2): WSFL (Web Services Flow Language – IBM) XLANG (Microsoft) WS-Inspection (Web Service Inspection Language – IBM, Microsoft) … Alle diese Standards basieren auf XML! Sommersemester 2002 Verteilte und Parallele DBMS

XML: Extensible Markup Language Vom World Wide Web Konsortium (W3C) konzipiert und standardisiert XML-Datenmodell liegt zwischen: HTML Schema-los Beliebige Daten, solange Syntax stimmt Relationales Schema Schema Keine Abweichungen  Semi-strukturierte Daten Teilweise schematisch Aber Ausnahmen Wenn Schema, dann muss es eingehalten werden Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS XML-Daten mit Schema Verschiedene Möglichkeiten DTD Einfach Nicht sehr leistungsfähig XML-Schema Mächtiger als DTDs Unterstützt auch komplexe Typen Viele Grundtypen vordefiniert Sommersemester 2002 Verteilte und Parallele DBMS

Aufbau eines XML-Dokumentes Optionale Präambel – u.a. XML-Version Optionales Schema Ein einziges Wurzelelement, das beliebig viele und beliebig tief geschachtelte Unterelemente beinhalten kann Elemente werden immer von Start- und Ende-Tag eingeschlossen, z.B. <Vorlesung> und </Vorlesung> Elemente = atomare Informationseinheit Jedes Element hat einen Namen, der durch das Start- bzw. Ende-Tag angegeben ist Jedes Element kann Attribute besitzen Inhalt eines Elementes = geordnete Liste aus (Unter-)Elementen, Kommentaren oder Strings Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel-XML-Dokument Präambel <?xml version="1.0" encoding='ISO-8859-1'?> <!-- obige Zeile ist der Prolog, diese Zeile ist ein Kommentar --> <!-- Schema als DTD --> <!DOCTYPE Buch[ <!ELEMENT Buch (Titel, Autor*, Verlag)> <!ATTLIST Buch Jahr CDATA #REQUIRED> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Verlag (#PCDATA)> ]> <!-- Wurzelelement--> <Buch Jahr="2001"> <Titel>Datenbanksysteme: Eine Einführung</Titel> <Autor>Alfons Kemper</Autor> <Autor>Andre Eickler</Autor> <Verlag>Oldenbourg Verlag</Verlag> </Buch> Schema Start- und Ende-Tag des Wurzelelementes Name des Wurzelelementes Attribut des Buch-Elementes Unterelemente Wurzelelement Sommersemester 2002 Verteilte und Parallele DBMS

Überblick über den Einsatz von Web Services Sommersemester 2002 Verteilte und Parallele DBMS

Überblick Web Services – Dienste registrieren Sommersemester 2002 Verteilte und Parallele DBMS

Überblick Web Services – Dienstsuche Sommersemester 2002 Verteilte und Parallele DBMS

Überblick Web Services – Proxy generieren (1) Sommersemester 2002 Verteilte und Parallele DBMS

Überblick Web Services - Proxy generieren (2) Sommersemester 2002 Verteilte und Parallele DBMS

Überblick Web Services – Dienst ansprechen Sommersemester 2002 Verteilte und Parallele DBMS

Aktionen des Dienstanbieters Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Aktionen von Klienten Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Beispiel-Szenario Vorstellung der weit verbreiteten Standards SOAP, UDDI, WS-Inspection und WSDL am Beispiel eines Temperaturdienstes. Die Dienste des Beispiel-Szenarios werden auf wetter.fmi.uni-passau.de angeboten Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Der Temperaturdienst Liefert zu einem vom Benutzer vorgegebenen Zeitpunkt die Temperatur zurück, die an einem Temperatursensor in der Stadt Passau gemessen wurde. keine Messdaten zum geforderten Zeitpunkt  Messwert vom nächstgelegenen Messzeitpunkt Sommersemester 2002 Verteilte und Parallele DBMS

Weitere Dienste des Szenarios Einheitenumrechnerdienst: Rechnet Temperaturangaben in verschiedene Einheiten um TemperaturInFahrenheitDienst: Liefert wie der Temperaturdienst die Temperatur in der Stradt Passau zurück, allerdings in Grad Fahrenheit Sommersemester 2002 Verteilte und Parallele DBMS

Überblick über die Standards SOAP Kommunikationsprotokoll zum Austausch von Nachrichten UDDI Standard für Dienstverzeichnisse von Web Services WS-Inspection Spezifikation für Site-basierte Dienstsuche WSDL Sprache zur Dienstbeschreibung Sommersemester 2002 Verteilte und Parallele DBMS

Das Kommunikationsprotokoll SOAP Simple Object Access Protokoll XML-basiertes Protokoll Kommunikationsprotokoll für verteilte Anwendungen zum Austausch strukturierter und typisierter Daten Kann z.B. HTTP, SMTP, FTP,… als Übertragungsprotokoll nutzen Anwendungsspektrum: Vom Zustellen einer Nachricht bis zum RPC (Remote Procedure Call) Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS SOAP - Serialisierung Eigene Serialisierungs-Spezifikationen möglich Standard-Serialisierung: Typsystem basierend auf gebräuchlichen Typsystemen Objekte bzw. Objektstrukturen dieses Typsystems werden auf XML abgebildet Arrays und Referenzen sind auch möglich Abbildungen der Typsysteme von Programmiersprachen auf das SOAP-Typsystem sind nicht festgelegt! Sommersemester 2002 Verteilte und Parallele DBMS

SOAP - Nachrichtenformat <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!--Der Header ist optional --> </soap:Header> <soap:Body> <!-- Serialisierte Objektdaten --> </soap:Body> </soap:Envelope> Envelope Sommersemester 2002 Verteilte und Parallele DBMS

SOAP - Nachrichtenformat Angabe der Serialisierungsspezifikation (Hier Standard-Serialisierung) <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!--Der Header ist optional --> </soap:Header> <soap:Body> <!-- Serialisierte Objektdaten --> </soap:Body> </soap:Envelope> Envelope Sommersemester 2002 Verteilte und Parallele DBMS

SOAP - Nachrichtenformat <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!--Der Header ist optional --> </soap:Header> <soap:Body> <!-- Serialisierte Objektdaten --> </soap:Body> </soap:Envelope> Header Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS SOAP - Header Optionales Element Bietet generischen Mechanismus, um SOAP dezentral zu erweitern Beispiele für Erweiterungen: Web Service Security Language Transaktionsmanagement Sommersemester 2002 Verteilte und Parallele DBMS

SOAP - Nachrichtenformat <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!--Der Header ist optional --> </soap:Header> <soap:Body> <!-- Serialisierte Objektdaten --> </soap:Body> </soap:Envelope> Body Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS SOAP - Body Möglichkeit zwischen Sender und Empfänger Daten auszutauschen Typische Verwendungszwecke: Aufnahme serialisierter Daten für RPC-Aufrufe Aufnahme von Fehlernachrichten SOAP definiert nur das Fault-Element für die Übermittlung von Fehlerzuständen als Unterelement des Body-Elementes Sommersemester 2002 Verteilte und Parallele DBMS

Kommunikation mit SOAP Standardisierte Möglichkeit: SOAP über HTTP Sender  Empfänger: HTTP-Post-Anforderungen Empfänger  Sender: HTTP-Antwort Auch RPC-Aufrufe über SOAP/HTTP sind standardisiert Alternative Möglichkeiten (nicht standardisiert): SOAP über SMTP (Mailprotokoll) SOAP über FTP (Dateiübertragungsprotokoll) Sommersemester 2002 Verteilte und Parallele DBMS

Anfrage an den Temperaturdienst Anfrage: „ Liefere die Temperatur, die am 22.02.2002 um 12.00 Uhr gemessen worden ist“ Sommersemester 2002 Verteilte und Parallele DBMS

SOAP-Nachricht eigebettet in eine HTTP-POST-Anforderung Name der Methode Name der Methode Parameter der Methode Sommersemester 2002 Verteilte und Parallele DBMS

Antwort des Temperaturdienstes Am 22.02.2002, 13.00 Uhr wurden 4.4 Grad Celsius gemessen! Achtung: Nächstgelegener Messzeitpunkt! Sommersemester 2002 Verteilte und Parallele DBMS

SOAP-Nachricht eingebettet in eine HTTP-Antwort Anforderung erfolgreich bearbeitet Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Dienstverwaltung Um Dienste zu nutzen, benötigt man Metadaten: Wo findet man einen Dienst? Was tut er genau? Wie spricht man ihn an? Wer betreibt den Dienst? … Dafür gibt es den Verzeichnisdienst UDDI und als Alternative WS-Inspection Sommersemester 2002 Verteilte und Parallele DBMS

UDDI - Verzeichnisdienst Universal Description, Discovery and Integration Aktuell: Version 2 Initiative von mehr als 300 Firmen (HP, IBM, Microsoft, SAP, Software AG,…) Ziel: Globales UDDI-Verzeichnis Speicherung der Metadaten in einheitlicher Datenstruktur  UDDI-Schema (XML Schema) Festlegung von Veröffentlichungs-Mechanismen  UDDI-Publishing-API Festlegung einer Anfragesprache  UDDI-Inquiry-API Konzeptuell: Verteiltes Datenbanksystem (allerdings ohne Transaktionssystem!) Sommersemester 2002 Verteilte und Parallele DBMS

Globales UDDI-Verzeichnis Viele lokale Installationen von UDDI-Servern Zusammenschluss zu globalem Verbund Periodischer Abgleich der Daten Erscheint dem Benutzer wie ein Server  UDDI-Wolke Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS UDDI-Server-Verbund Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Daten in UDDI White Pages: Daten über den Dienstanbieter Adressdaten Kontaktpersonen Identifikatoren, z.B. Steuernummern Yellow Pages: Angaben über Dienste Wie die Gelben Seiten basierend auf Klassifikationen Eigene Klassifikationen möglich Green Pages: Teschnische Informationen Adresse von Diensten Wie werden die Dienste konkret angeprochen Sommersemester 2002 Verteilte und Parallele DBMS

Datenstukturen in UDDI (1) Hauptstukturen: businessEntity: Firmeninformationen businessService: Klassen von Diensten bindingTemplate: Technische Informationen Logisch in einer Baumstruktur angeordnet: bindingTemplate businessService bindingTemplate businessEntity businessService bindingTemplate bindingTemplate businessService bindingTemplate Sommersemester 2002 Verteilte und Parallele DBMS bindingTemplate

Datenstukturen in UDDI (2) Strukturen zur Klassifikation und Kategorienbildug tModel (technical model): Kategorienbildung und Referenzierung von technischen Informationen publisherAssertions: Modellierung von Geschäftsbeziehungen (z.B. Allianzen) Instanzen aller Strukturen durch UUIDs (Universally Unique IDs) eindeutig identifizierbar Sommersemester 2002 Verteilte und Parallele DBMS

UML-Modell des UDDI-Schemas - Teilansicht Sommersemester 2002 Verteilte und Parallele DBMS

UML-Modell des UDDI-Schemas Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS businessEntity Angaben über eine Firma, Organisation, o.ä. businessKey wird automatisch vergeben Beispiel: businessEntity des Lst. für Dialog. Systeme Hier Kategorisierung nach geographischer Lage: ISO 3166: DE-BY-PAS = Deutschland-Bayern-Passau Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS businessService Dienstgruppierung innerhalb eines businessEntities Keine Auskunft über konkrete Dienste Beispiel: businessService, der Temperaturdienste gruppiert Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS bindingTemplate Konkreter Dienst innerhalb eines businessServices Beinhaltet technische Informationen: Zugriffspunkt: accessPoint Beschreibung der Aufruf- und Rückgabemodalitäten im referenzierten tModel Beispiel: Temperaturdienst Sommersemester 2002 Verteilte und Parallele DBMS

tModel als technischer Fingerabdruck Verweis auf technische Dienstbeschreibungen Normalerweise werden WSDL-Dokumente referenziert Beispiel: tModel für Temperaturdienst Sommersemester 2002 Verteilte und Parallele DBMS

tModel als Namensraumbezeichner Erzeugen und Benutzung von Taxonomien Beispiel: tModel für ISO 3166: Beispiel: tModel für WSDL-Dokumente: Sommersemester 2002 Verteilte und Parallele DBMS

Übersicht über die UDDI-Einträge für das Beispielszenario Sommersemester 2002 Verteilte und Parallele DBMS

UDDI-Anfragesprache (Inquiry-API) XML-basiert Kommunikation über SOAP-Protokoll Beschränkt auf relativ einfache Anfragen Zwei Arten von Anfragen: Browse-Anfragen Drill-Down-Anfragen Verwendung: z.B. UDDI-Browser zur interaktiven Dienstsuche Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Browse-Anfragen Erstmaliges Auffinden von Metadaten Beispiel: Suche alle businessEntities, deren Name mit „Universitaet“ beginnt: Maximal 5 Ergebnisse Aufsteigend nach Namen sortiert Präfixvergleich, da nichts anderes angegeben ist Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Drill-Down-Anfragen Liefern detaillierte Daten zu bekannten Identifikatoren (UUIDs) Beispiel: Suche nach dem tModel mit der angegebenen UUID: Sommersemester 2002 Verteilte und Parallele DBMS

UDDI-Befehle zur Datenmodifikation (Publishing-API) Ebenfalls XML-basiert Kommunikation über SOAP-Protokoll via HTTPS Speicher- und Löschaufrufe Beispiel: Sommersemester 2002 Verteilte und Parallele DBMS

Umgang mit bindingTemplates: Pufferung und Puffer-Kohärenz Anwendung A lädt die Metadaten von Dienst T. Die technischen Informationen können von A gepuffert werden. Schlägt ein Aufruf von T fehl, muss A erneut die (hoffentlich) aktualisierten Metadaten von T abrufen. Diese können dann wieder gepuffert werden. Vorteile: Verhindert Überlastung von UDDI-Servern Verhindert Überalterung von gepufferten Daten Sommersemester 2002 Verteilte und Parallele DBMS

Globale Replikation der Daten Primärkopie-Ansatz Jedes Datum hat einen Heimat-Server und einen Zeitstempel der letzten Änderung Am Heimat-Server kann es geändert bzw. gelöscht werden Periodische Benachrichtigung anderer UDDI-Server Veraltete Daten werden aktualisiert Replikation läuft über SOAP auf HTTPS-Verbindungen Sommersemester 2002 Verteilte und Parallele DBMS

Site-basierte Dienstsuche: WS-Inspection Keine Konkurrenz, sondern Ergänzung zu UDDI Möglichkeit, auf alle Dienste einer Site zu verweisen Sammlung von Referenzen auf bereits vorhandene Dienstbeschreibungen Kopien von Beschreibungen nicht nötig Spezielle Elemente für Verweise auf WSDL-Dokumente und UDDI-Einträge Flexibel erweiterbar Sommersemester 2002 Verteilte und Parallele DBMS

WS-Inspection-Dokument von wetter.fmi.uni-passau.de Referenz auf WSDL-Datei Referenz auf UDDI-Verzeichnis … Sommersemester 2002 Verteilte und Parallele DBMS

Auffinden von WS-Inspection-Dokumenten Möglichkeit 1: inspection.wsil an den Haupteinstiegspunkten eines Web-Servers: http://wetter.fmi.uni-passau.de/inspection.wsil Möglichkeit 2: Verweis auf WS-Inspection-Dokumente innerhalb von HTML-Seiten: Sommersemester 2002 Verteilte und Parallele DBMS

Dienstbeschreibung mit WSDL XML-basiert Beschreibung von Diensten: Operationen Format der Ein- und Ausgabedaten Kommunikationsprotokoll Erweiterbar durch „Erweiterungselemente“  Verschiedene Protokolle und Datenformate verwendbar Sommersemester 2002 Verteilte und Parallele DBMS

Aufbau von WSDL-Dokumenten Elemente: types message portType binding port service Dienst = Menge von Endpunkten, die Nachrichten miteinander austauschen Sommersemester 2002 Verteilte und Parallele DBMS

Struktur eines WSDL-Dokumentes (1) … Sommersemester 2002 Verteilte und Parallele DBMS

Struktur eines WSDL-Dokumentes (2) … Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel: Der Temperaturdienst - Typen Definition von Datentypen für die Nachrichten Normalerweise XML-Schema als Typsystem, andere Typsysteme möglich Vorhandene XML-Schema-Dokumente können eingebunden werden (import) Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel: Der Temperaturdienst - Nachrichten Definiert Format der Ein- und Ausgabedaten Pro Nachricht ein message-Element Pro Bestandteil ein part-Element Wenn man Nachrichten mit Funktionen vergleicht, entsprechen parts den Parametern Nur abstakte Beschreibung von Nachrichten! Übertragungsformat ist nicht festgelegt! Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel: Der Temperaturdienst – Port-Typen (1) Fasst Nachrichten zu abstrakten Operationen zusammen Mehrere Operationen pro Port-Typ möglich Vier mögliche Operationsprimitiven: One-Way: Endpunkt empfängt Nachricht Request-Response: Endpunkt empfängt Nachricht und antwortet Solicit-Response: Enpunkt sendet Nachricht und empfängt Antwort Notification: Endpunkt sendet Nachricht Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel: Der Temperaturdienst – Port-Typen (2) Unterelemente einer Operation: input: Format der zu empfangenen Nachricht output: Format der zu sendenden Nachricht fault: Beschreibung möglicher Fehlernachrichten Reihenfolge/Vorhandensein der Elemente legt den Operationstyp fest Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel: Der Temperaturdienst – Bindungen Bindung = Port-Typ + Protokoll + Nachrichtenformat Mehrere Bindungen für einen Port-Typ möglich (z.B. SOAP, HTTP und MIME) Sommersemester 2002 Verteilte und Parallele DBMS

Beispiel: Der Temperaturdienst – Ports und Dienste Port = Bindung + Netzwerkadresse Dienst = Gruppierung zusammengehöriger Ports Einsatz von Erweiterungselementen, um verschiedene Protokolle zu unterstützen (hier SOAP) SOAP, HTTP und MIME-Erweiterungselemente bereits im WSDL-Standard Sommersemester 2002 Verteilte und Parallele DBMS

WSDL-Dokument des Temperaturdienstes (1) Sommersemester 2002 Verteilte und Parallele DBMS

WSDL-Dokument des Temperaturdienstes (2) Sommersemester 2002 Verteilte und Parallele DBMS

Einbettung von WSDL in UDDI Problem: UDDI und WSDL speichern Daten über z.B. Netzwerkadresse  Redundanz, Schlechte Widerverwendbarkeit des WSDL-Dokumentes Lösung: service-Element wird aus WSDL-Dokumenten weggelassen. Diese Informationen werden allein von UDDI verwaltet. UDDI verweist innerhalb von tModels auf WSDL-Dokumente Sommersemester 2002 Verteilte und Parallele DBMS

Dienstkomposition und -interaktion Durch Komposition vorhandener Dienste können neue Dienste „zusammengebaut“ werden. Beispiel: TemperaturInFahrenheitDienst = Temperaturdienst + Einheitenumrechnerdienst Auch dafür gibt es XML-basierte Sprachen: Web Services Flow Language (WSFL) von IBM XLang von Microsoft XL von Donald Kossmann et al. Sommersemester 2002 Verteilte und Parallele DBMS

Der TemperaturInFahrenheitDienst Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS ServiceGlobe Forschungsplattform für Web Services basierend auf: SOAP UDDI WSDL Neuartige Infrastruktur: Web Services können auf beliebigen Service Hosts ausgeführt werden Dynamische Dienstauswahl Adaptoren zum Einbinden von existierenden, nicht-konformen Diensten (z.B. RPC-basierte Dienste) Sommersemester 2002 Verteilte und Parallele DBMS

ServiceGlobe – Dynamische Dienstauswahl „Aufruf von tModels“ passende Implementierung wird während des Kompilierung oder zur Laufzeit ausgewählt One-, Some-, All-Aufrufe möglich Angabe von Constraints Beispiel: Rufe alle Temperaturdienste auf; beachte alle Ergebnisse, die innerhalb von einer Minute eintreffen Vorteile: Optimierung der Abarbeitung möglich Bessere Verfügbarkeit, da bei Ausfall einzelner Dienste automatisch Alternativen gewählt werden Sommersemester 2002 Verteilte und Parallele DBMS

ServiceGlobe - Architektur Sommersemester 2002 Verteilte und Parallele DBMS

Verteilte und Parallele DBMS Zusammenfassung Vorstellung der wichtigsten Standards: SOAP UDDI WS-Inspection WSDL Servicekomposition und –interaktion Sommersemester 2002 Verteilte und Parallele DBMS