Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | agnethe-muhle |
View: | 105 times |
Download: | 1 times |
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>
XML-Schemakorrespondenzen 2XSW2002
Übersicht
» Kontext
» Motivation
» XML-Schemakorrespondenzen
» Von Korrespondenzen zum Mediator
» Ausblick
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
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.
XML-Schemakorrespondenzen 5XSW2002
WebService-Interaktionsmodell
Client WebService
beschreibt
WSDLXMLSchemata
beinhaltet
Instanz von
Request
Response
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.
XML-Schemakorrespondenzen 7XSW2002
Semantic Web & Web Services (2)
» Die vier Säulen:
• Ontologien
• Ziele
• Web-Service-Beschreibungen
• Mediatoren
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
XML-Schemakorrespondenzen 9XSW2002
XML-Transformation „On the Fly“
Client
In-Schema
Mediator WebService
Out-Schema
Out-Schema
In-Schema
Schemakorrespondenz
Schemakorrespondenz
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
XML-Schemakorrespondenzen 11XSW2002
urn:Example/Appointmenturn:Example/Date
Beispiel - Schemata
Date
Description
Time
Participants
Participant
Appointment
Name
Date
Attendee
1
1
1
*
1
1
*
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>
XML-Schemakorrespondenzen 13XSW2002
Objektmodell (1)
SchemaCorrespondence
ElementCorrespondence
TypeMapping
Schema
GlobalElement
Type
source, target
source, target
source, target
XML-Schemakorrespondenzen 14XSW2002
Objektmodell (2)
TypeMapping
ComplexMapping Copy CustomSimpleMapping
NodeMapping
realizationElementCorrespondencerealization
TargetElement TargetAttribute
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"
XML-Schemakorrespondenzen 16XSW2002
Prozess
Deklaration derKorrespondenzen
Übersetzung in eineZwischensprache
Generierung vonTransformationscode
Domain-Experte
Schema-korrespondenzen
Zwischen-repräsentation
Transformator
Transformation
Eingabe-dokument
Ausgabe-dokument
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
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
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"))
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>
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
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
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