23
XML- Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von Mediatoren für die Integration XML-basierter Systeme <xmlcity:berlin>

XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

Embed Size (px)

Citation preview

Page 1: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen

Arne Handt,

Shinka Technlogies AG

Workshop XML-Technologien für das Semantic Web

25.6.2002

zur automatisierten Erzeugung von Mediatorenfür die Integration XML-basierter Systeme

<xmlcity:berlin>

Page 2: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 2XSW2002

Übersicht

» Kontext

» Motivation

» XML-Schemakorrespondenzen

» Von Korrespondenzen zum Mediator

» Ausblick

Page 3: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 3XSW2002

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

Page 4: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 4XSW2002

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.

Page 5: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 5XSW2002

WebService-Interaktionsmodell

Client WebService

beschreibt

WSDLXMLSchemata

beinhaltet

Instanz von

Request

Response

Page 6: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 6XSW2002

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.

Page 7: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 7XSW2002

Semantic Web & Web Services (2)

» Die vier Säulen:

• Ontologien

• Ziele

• Web-Service-Beschreibungen

• Mediatoren

Page 8: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 8XSW2002

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

Page 9: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 9XSW2002

XML-Transformation „On the Fly“

Client

In-Schema

Mediator WebService

Out-Schema

Out-Schema

In-Schema

Schemakorrespondenz

Schemakorrespondenz

Page 10: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 10XSW2002

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

Page 11: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 11XSW2002

urn:Example/Appointmenturn:Example/Date

Beispiel - Schemata

Date

Description

Time

Participants

Participant

Appointment

Name

Date

Attendee

1

1

1

*

1

1

*

Page 12: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 12XSW2002

Schemakorrespondenz - Beispiel

<SchemaCorrespondence source="urn:/Examle/Date" target="urn:/Example/Appointment"> <ElementCorrespondence source="Date" target="Appointment"/> <TypeMapping source="Date" target="Appointment"> <ComplexMapping> <TargetElement name="Name" source="Description"> <Copy/> </TargetElement> <TargetElement name="Date" source="Time"> <Copy/> </TargetElement> <TargetElement name="Attendee" source="Participants/Participant" occurrence="multiple"> <Copy/> </TargetElement> </ComplexMapping> </TypeMapping></SchemaCorrespondence>

Page 13: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 13XSW2002

Objektmodell (1)

SchemaCorrespondence

ElementCorrespondence

TypeMapping

Schema

GlobalElement

Type

source, target

source, target

source, target

Page 14: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 14XSW2002

Objektmodell (2)

TypeMapping

ComplexMapping Copy CustomSimpleMapping

NodeMapping

realizationElementCorrespondencerealization

TargetElement TargetAttribute

Page 15: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 15XSW2002

SimpleMapping - Beispiel

<SimpleMapping> <Source> <Token select="[A-Z|a-z]*"><Copy/></Token> <Ignore>,</Ignore> <Token select="[A-Z|a-z]*"><Copy/></Token> </Source> <Target>$2 $1</Target> </SimpleMapping>

Abbildung von Namen:

"Nachname,Vorname" "Vorname Nachname"

Page 16: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 16XSW2002

Prozess

Deklaration derKorrespondenzen

Übersetzung in eineZwischensprache

Generierung vonTransformationscode

Domain-Experte

Schema-korrespondenzen

Zwischen-repräsentation

Transformator

Transformation

Eingabe-dokument

Ausgabe-dokument

Page 17: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 17XSW2002

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

Page 18: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 18XSW2002

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

Page 19: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 19XSW2002

Beispiel - ZwischenrepräsentationcreateDocument(

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( forEach( selectElement( selectDocument("urn:Example/DateSchema"), "Date/Participants/Participant"), value), createElement("Attendee"))), "Appointment"))

Page 20: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 20XSW2002

Beispiel - XSLT

<stylesheet version="1.0" xmlns=" http://www.w3.org/1999/XSL/Transform"> <template match="/Date"> <element name="Appointment"> <element name="Name"> <value-of select="Description"/> </element> <element name="Date"> <value-of select="Time"/> </element> <forEach select="Participants/Participant"> <element name="Attendee"> <value-of select="."/> </element> </forEach> </element> </template></stylesheet>

Page 21: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 21XSW2002

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

Page 22: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 22XSW2002

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

Page 23: XML-Schemakorrespondenzen Arne Handt, Shinka Technlogies AG Workshop XML-Technologien für das Semantic Web 25.6.2002 zur automatisierten Erzeugung von

XML-Schemakorrespondenzen 23XSW2002

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