XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web zur automatisierten Erzeugung von Mediatoren für die Integration XML-basierter Systeme
XSW2002 XML-Schemakorrespondenzen2 Übersicht »Kontext »Motivation »XML-Schemakorrespondenzen »Von Korrespondenzen zum Mediator »Ausblick
XSW2002 XML-Schemakorrespondenzen3 Shinka Technologies »Infrastruktur für WebServices seit 1999 »Mitglied von W3C und OASIS »Produkt "Business Integration Platform": WSDL und XML-Schema-basiertes Modellierungswerkzeug für Web Services SOAP-basierte Middleware Diensteplattform für Web Services: Clustering, Logging, Security, Metering, Workflow, Message Queuing »Großprojekte: Halifax Intelligent Finance, St. James's Place Bank
XSW2002 XML-Schemakorrespondenzen4 WSDL »WSDL - weitgehend akzeptierter Standard zur Beschreibung von WebService-Schnittstellen und Protokollbindungen (z.B. SOAP) »WSDL-Schnittstellen bestehen aus Operationen. »Operationen konsumieren und produzieren XML- Dokumente (Nachrichten). »Syntaktische Regeln für gültige Dokumente werden durch XML-Schemata spezifiziert, die in die WSDL- Beschreibung eingebettet sind. »Grundidee: Systeme kommunizieren durch Austausch von Geschäftsdokumenten.
XSW2002 XML-Schemakorrespondenzen5 WebService-Interaktionsmodell ClientWebService beschreibt WSDL XML Schemata beinhaltet Instanz von Request Response
XSW2002 XML-Schemakorrespondenzen6 Semantic Web & Web Services (1) »Web Services Modeling Framework (WSMF): Konzeptionelles Modell u.a. für die Beschreibung von WebServices. »Ziel: "Semantic Web Enabled Web Services" (SWWS) »Semantic-Web-Technologie für die Automatisierung von Entdeckung, Konfiguration, Vergleich und Kombination von Web Services.
XSW2002 XML-Schemakorrespondenzen7 Semantic Web & Web Services (2) »Die vier Säulen: Ontologien Ziele Web-Service-Beschreibungen Mediatoren
XSW2002 XML-Schemakorrespondenzen8 Motivation »Problem: Systeme verwenden verschiedene Schemata zur Repräsentation korrespondierender Information. »Daher: Mediation von Inhalt und Diensten muß diese strukturelle Heterogenität überwinden. »Unser Ansatz: Deklaration von Korrespondenzen zwischen Schemata daraus Generierung von Transformatoren für XML- Dokumente
XSW2002 XML-Schemakorrespondenzen9 XML-Transformation On the Fly Client In- Schema MediatorWebService Out- Schema Out- Schema In- Schema Schemakorrespondenz
XSW2002 XML-Schemakorrespondenzen10 XML-Schemakorrespondenzen »Konzept der Korrespondenzen ist aus dem Bereich der Schemaintegration bekannt (z.B. MoCAs) »Prämissen: Eins-zu-Eins-Beziehungen (auf der Schemaebene) Gerichtet Abstraktion von algorithmischen Aspekten Deklarativität
XSW2002 XML-Schemakorrespondenzen11 urn:Example/Appointmenturn:Example/Date Beispiel - Schemata DateDescriptionTimeParticipantsParticipantAppointmentNameDateAttendee * 1 1 *
XSW2002 XML-Schemakorrespondenzen12 Schemakorrespondenz - Beispiel <SchemaCorrespondence source="urn:/Examle/Date" target="urn:/Example/Appointment"> <ElementCorrespondence source="Date" target="Appointment"/> <TargetElement name="Attendee" source="Participants/Participant" occurrence="multiple">
XSW2002 XML-Schemakorrespondenzen13 Objektmodell (1) SchemaCorrespondence ElementCorrespondence TypeMapping Schema GlobalElement Type source, target
XSW2002 XML-Schemakorrespondenzen14 Objektmodell (2) TypeMapping ComplexMapping CopyCustom SimpleMapping NodeMapping realization ElementCorrespondence realization TargetElementTargetAttribute
XSW2002 XML-Schemakorrespondenzen15 SimpleMapping - Beispiel, $2 $1 Abbildung von Namen: "Nachname,Vorname" "Vorname Nachname"
XSW2002 XML-Schemakorrespondenzen16 Prozess Deklaration der Korrespondenzen Übersetzung in eine Zwischensprache Generierung von Transformationscode Domain- Experte Schema- korrespondenzen Zwischen- repräsentation Transformator Transformation Eingabe- dokument Ausgabe- dokument
XSW2002 XML-Schemakorrespondenzen17 Zwischenrepräsentation (1) »Zweck der Zwischenrepräsentation: Konzeptionelle Hilfe bei der Entwicklung des Transformationssystems Wiederverwendung der Abbildung von Korrespondenzen in Transformationsoperationen Optimierung unabhängig von Zielsprache »Unser Ansatz: Funktionale Sprache, kleinster gemeinsamer Nenner von Transformationssprachen Elementare Funktionen werden zu komplexen Ausdrücken komponiert
XSW2002 XML-Schemakorrespondenzen18 Zwischenrepräsentation (2) »Zwei Klassen von Funktionen: Accessors liefern Eingabedaten, z.B. durch Selektion von Teilen des Eingabedokumentes Constructors erzeugen das Ausgabedokument »Analog z.B. zu value-of / element bei XSLT »Funktionen höherer Ordnung ( forEach ) für Operationen auf Listen
XSW2002 XML-Schemakorrespondenzen19 Beispiel - Zwischenrepräsentation createDocument( createElement(concat([ createElement( [value(first(selectElement( selectDocument("urn:Example/DateSchema"), "Date/Description")))], "Name"), createElement( [value(first(selectElement( selectDocument("urn:Example/DateSchema"), "Date/Time")))], "Date")]), forEach( selectElement( selectDocument("urn:Example/DateSchema"), "Date/Participants/Participant"), value), createElement("Attendee"))), "Appointment"))
XSW2002 XML-Schemakorrespondenzen20 Beispiel - XSLT <stylesheet version="1.0" xmlns="
XSW2002 XML-Schemakorrespondenzen21 Ausblick (1) »Werkzeug für die visuelle Modellierung von Schemakorrespondenzen (GUI) Ausblendung der technischen Aspekte für Domain- Experten »Validierung der Korrektheit von Korrespondenzen als Teil der Werkzeugunterstützung Vermeidung von Fehlern schon in der Modellierungsphase Problem: Hoher Aufwand bei nichttrivialen Schemata
XSW2002 XML-Schemakorrespondenzen22 Ausblick (2) »Automatischer Erwerb von Schemakorrespondenzen als Teil der Werkzeugunterstützung durch Verfahren des maschinellen Lernens Training mit Korpus aus korrespondierenden Daten für beide Schemata Abgewandeltes Graphmatching (WTA-Netze) führt zu Korrespondenzen Korpus dient zur Bestimmung der Gewichte zwischen und initiale Potenziale von Matching-Kandidaten durch Auswertung von Metadaten in Form von Schema-Annotationen, z.B. Einbettung in Ontologien
XSW2002 XML-Schemakorrespondenzen23 Zusammenfassung »Urspung: Lösung real existierender Integrationsprobleme »Ziel: Automatisierte Erzeugung von Mediatoren für strukturell heterogene Systeme »Schemakorrespondenzen sind gerichtete, deklarative eins-zu-eins-Beziehungen zwischen Schemata und ihren Komponenten