Richard Cyganiak <cyganiak@inf.fu-berlin.de> 8. Juli 2003 Semantic Web Services Richard Cyganiak <cyganiak@inf.fu-berlin.de> 8. Juli 2003 Seminar “Grundlagen des Semantic Web” Prof. Robert Tolksdorf Freie Universität Berlin, Institut für Informatik
Inhalt Was sind Web Services? Heutiger Stand der WS-Technologien Wie’s weitergeht: Semantic Web Services DAML-S SWWS
Was sind Web Services? Software-Komponenten, die Funktionalität über das Internet zur Verfügung stellen Web-Ressourcen, die nicht nur statische Informationen liefern, sondern das Auslösen von Aktionen erlauben Kauf eines Produkts ein Gerät steuern automatisch aufrufbar Web Services = Webdienste
Webdienste aus zwei Perspektiven Aufruf von Funktionen aus einer Bibliothek Biblothek liegt auf einem entfernten Server Vorteil: Discovery, Deployment Web-Applikationen, für Computer bedienbar keine HTML-Formulare mit HTML-Antwortseiten sondern XML-Anfragen und XML-Antworten Vorteil: Ausführung automatisieren Vorteil: komplexe Dienste aus Einzeldiensten "zusammenstecken"
Populäre Beispiele Google Amazon Trackback
Probleme Beschreibung Automatisches Auffinden Automatisches Zusammenspiel
Heutiger Stand des WS-Stack Flow, Composition: BPEL4WS Discovery: UDDI Description: WSDL Messaging: SOAP Syntax: XML Transport: HTTP
SOAP Simple Object Access Protocol W3C Note, Mai 2000 “Envelope” (Umschlag) für ein XML-Dokument Mechanismen zum XML-Codieren von Methodenaufrufen Programmiersprachlichen Datenstrukturen (Arrays, ...)
WSDL Web Service Description Language Version 1.2: W3C Working Draft, Juni 2003 “Wie rufe ich Dienst auf? Wie sieht Antwort aus?” Interface-Beschreibung Funktionsnamen, Parameter, Antworttyp usw. Dokumentation der Semantik nur textuell
UDDI Universal Description, Discovery and Integration OASIS; Version 3, Juli 2002 “Gelbe Seiten” für (nicht nur Web-)dienste Unternehmen mit Kontaktdaten Dienste mit “Access Points” (URI, mailto, Tel, ...) Auffinden von Diensten über Klassifikationen Nur textuelle Beschreibung der Semantik
BPEL4WS Business Process Execution Language for Web Services Draft, Mai 2003 Webdienste zusammenfügen Formale Protokollspezifikation für Geschäftsabläufe zwischen Unternehmen BPEL-Server kann Spezifikation automatisch ausführen Abläufe und Teilnehmer müssen vorher feststehen
ebXML Umfassende Lösung für den B2B-Bereich Überschneidungen mit anderen Standards Wohldefinierte Semantik Bestellungen, Rechnungen, ...
Flow, Composition: BPEL4WS Semantic Web Services Flow, Composition: BPEL4WS Semantik Discovery: UDDI Description: WSDL Messaging: SOAP Syntax: XML Transport: HTTP
SW, WS, SWWS Semantic Web Web Services Semantic Web Services Informationen maschinenlesbar machen globalen Austausch ermöglichen intelligente Schlüsse ziehen Web Services Dienste über das Web anbieten Semantic Web Services automatischen Auffinden, Aufrufen, Kombinieren und Überwachen von Webdiensten
Der “Magic Button” (1) Warum reicht Semantic Web nicht aus? Kongress-Homepage Finde Flüge zum Kongressort Finde Hotel in der Nähe zum Kongresszeitpunkt müssen meine Kreditkarte akzeptieren Zeige Ergebnis an
Der “Magic Button” (2) Mit Web Service: Buche Ticket und Hotel!
Automatische Ausführung Dienstbeschreibung muss Aufruf des Dienstes ermöglichen Nötige Eingaben Mögliche Ausgaben Wie aufrufen (URI, Protokoll)?
Automatisches Auffinden Benutzer definiert formale Kriterien passende Dienst werden automatisch aufgefunden “Matchmaking”
Automatisches Zusammenfügen Benutzer definiert “High-level”-Ziel Automatische Auswahl einzelner Dienste Verkettung der Dienste zur Erreichnung des Ziels
Vermittlung Nicht überall setzt sich ein Standard durch Vermittlung mittels Mediatoren (Adaptoren) Basis: Ontologien
Überwachung von Diensten Komplexe Dienste mit langer Ausführungszeit (Monate) Status abfragen Änderungen vornehmen Einheitlich für beliebige Dienste
Semantic Web Services... ...ermöglichen automatisches von Webdiensten Auffinden Ausführen Zusammensetzen Überwachen von Webdiensten
DAML-S ServiceProfile: Was macht der Dienst? Auffinden ServiceModel: Wie funktioniert er? Zusammensetzen ServiceGrounding: Wie zugreifen? Ausführung
DAML-S Ontologie für Dienste Ausgangspunkt: Was können wir mit DAML+OIL machen? seit 2001 in Entwicklung alle 7-10 Monate neue Version; aktuell 0.9 noch große Lücken (Rules, Logic)
DAML Services Coalition BBN Carnegie Mellon University ISI SRI Nokia Stanford University University of Southampton Universtiy of Maryland Yale University
Oberste Ebene ServiceProfile: Was macht der Dienst? Resource Service ServiceGrounding supports provides presents describedBy ServiceProfile ServiceModel ServiceProfile: Was macht der Dienst? ServiceModel: Wie setzt er sich zusammen? ServiceGrounding: Wie zugreifen? Mapping abstrakter Parameter zu WSDL und URIs
Service Profiles Welche Organisation bietet den Dienst an? Kontaktdaten Charakteristiken des Dienstes? Klassifikation, Qualitätsrating in anderen Ontologien zu definieren Welche Funktion hat er? Input Output Preconditions (braucht DAML-Rules) Effect (braucht DAML-Rules)
Service Models Anleitung zur Ausführung des Dienstes ähnlich BPEL4WS Dienst als Prozess AtomicProcess CompositeProcess SimpleProcess
Kontrollstrukturen für CompositeProcess Sequence Split Split + Join Unordered Choose If-Then-Else Repeat-Until Aber noch keine Modellierung für Bedingungen definiert
Außerdem Beschreibung von Ressourcen DAML Time consumable, reusable use, replenish lock, release DAML Time
DAML-S: Zusammenfassung Ontologie zur Beschreibung von Webdiensten Grundlage: DAML+OIL (demnächst OWL) Auffinden, Zusammenstellen, Ausführen Entscheidende Teile noch nicht definiert weil man an die Grenzen von DAML+OIL stößt Nicht modular
Semantic Web Enabled Web Services (SWWS) Ausgangspunkt: Was brauchen wir, um das Web in ein intelligentes, verteiltes informationsverarbei-tendes System zu verwandeln?
SWWS Groß angelegtes und ehrgeiziges Projekt EU-gefördert 2002-2005 Breite Industrieunterstützung Leiter: Dieter Fensel, Uni Innsbruck Noch in der Analyse-Phase
Deliverables Umfassendes Framework für Web Services (WSMF) Service zum semantischen Auffinden von WS Lösung zur Vermittlung zwischen Diensten Grundlage: semantische Beschreibung der Daten und Geschäftslogik Plattform, die das alles realisiert Drei Fallstudien (B2C und B2B)
Analyse: Anforderungen Zurück zum Beispiel “Angestellter bestellt Computer” Prozess modellien Prozess ausfühen Sicherheit und Zuverlässigkeit des Netzes Hersteller und Vertragsanbieter finden Preise und Produkte vergleichbar machen verschiedene Dokumenttypen transformieren Computerkauf und Vertragsabschluss müssen entweder beide gelingen oder keins von beiden
Web Service Modeling Framework (WSMF) Ontologien Goal repository Beschreibung von Webdiensten Mediatoren
Ontologien Terminologie für die anderen Bestandteile Abbildung der Semantik inkompatibler Komponenten auf gemeinsame Ontologie
Goal Repositories Ziele des Klienten bei der Verwendung eines WS Pre-conditions Was muss gelten, damit ich den WS benutzen darf? Welche Eingabeinformationen bereitstellen? Post-conditions Bedingungen, die für die Ausgaben zutreffen
Beschreibung von Webdiensten Black Box Description Außenansicht des Dienstes Pre- und Post-conditions, Ein- und Ausgaben Web Service und Goal Repository müssen nicht die gleiche Terminologie sprechen Gray Box Description Zusammenspiel einzelner Dienste ähnlich BPEL4WS, DAML-S Process Model
Mediatoren Vermitteln/übersetzen/transformieren zwischen Datenstrukturen Business Logic Message Exchange Protocols Dienstaufruf
SWWS: Zusammenfassung Zuerst ambitionierte Requirements ermitteln WSMF: Framework zur Erfüllung der Requirements Bestehende Standards/Initiativen in dieses Framework einpassen (DAML-S, BPEL4WS) Noch in der Analyse-Phase
Intelligent Web Services Die SWWS-Vision Web Services UDDI, WSDL, SOAP Intelligent Web Services Dynamisch WWW URI, HTML, HTTP Semantic Web RDF(S), OWL Statisch Zeit
Weitere Informationen DAML-S http://www.daml.org/services/ SWWS http://swws.semanticweb.org/ W3C Web Services Activity http://www.w3.org/2002/ws/ OASIS http://www.oasis-open.org/