Die XML Evolution

Erik Wilde

ETH Zürich

http://dret.net/netdret/docs/wilde-xmlch06-xml

Kurzfassung

XML begann seine erstaunliche Erfolgsgeschichte als Format, das auf dem Web benutzt werden sollte für die Repräsentation beliebiger (jedoch vornehmlich Dokumenten-orientierter) Daten. In diesem Bereich wird XML heute nur selten eingesetzt, der Haupterfolg lag und liegt im Bereich des B2B-Datenaustauschs. In den Zeiten der Dot.com-Euphorie kam XML gerade zur richtigen Zeit, um mit überwältigendem Erfolg als Basis für heterogene Web-basierte Systeme, die heute als SOA in aller Munde sind, eingesetzt zu werden. XML-Technologien haben aufgrund ihrer Herkunft und Anwendung eine teilweise etwas ungeordnet verlaufende Entwicklung genommen, und auch heute gibt es noch erhebliche weisse Flecken in der Landkarte der XML-Technologien. In diesem Vortrag wird die Entwicklung von XML nachgezeichnet, werden Zusammenhänge und Probleme aufgezeigt, und werden die Bereiche angesprochen, in denen heutige Entwickler noch zu wenig Unterstützung erfahren und die Forschung der kommenden Jahre wichtige und lohnenswerte Aufgaben finden kann. Praktiker werden auf potentielle Gefahrenbereiche hingewiesen, auf die man bei einem konsequent XML-orientierten Ansatz beim Software-Engineering acht geben sollte.

Übersicht

  1. Entwicklung
  2. Zusammenhänge
  3. Probleme
  4. Weisse Flecken






1. Entwicklung

Ausgangslage (1997/98)

Resultat

1.1 XML

1.2 DOM

Exkurs Inhalt eines XML Dokuments

Zwischenresultat

1.3 XPath

1.4 XML Infoset

1.5 XSLT

1.6 DOM3/SAX2/JDOM

1.7 XML Schema

1.8 XQuery/XPath Data Model (XDM)

1.9 XQuery 1.0 und XSLT 2.0






2. Zusammenhänge

XML?

XML als Mittel zum Zweck

XML und komplexe Applikationen

Überblick 'XML und komplexe Applikationen'

Challenges für XML-basierten Austausch






3. Probleme

Was wird mit XML ausgetauscht?

XML als Abbildung von Konzepten

Überblick 'XML als Abbildung von Konzepten'

Arbeiten mit XML Daten

Zugriff auf XML Daten

Beispiel: Generierte Schemas und XML

<GM03Comprehensive.Comprehensive.MD_DataIdentification TID='xDataIdentx501x0'>
  <status>
    <GM03Core.Core.MD_ProgressCode_>
      <value>completed</value>
    </GM03Core.Core.MD_ProgressCode_>
  </status>
  <abstract>
    <GM03Core.Core.PT_FreeText>
      <textGroup>
        <GM03Core.Core.PT_Group>
          <language>DE</language>
          <plainText>...</plainText>
        </GM03Core.Core.PT_Group>
      </textGroup>
    </GM03Core.Core.PT_FreeText>
  </abstract>
  <MD_Metadata REF='xMetadatax501'/>
  <citation REF='xCitationx1601'/>
  ...
</GM03Comprehensive.Comprehensive.MD_DataIdentification>

<GM03Core.Core.descriptiveKeywordsMD_Identification TID='x2533'>
  <descriptiveKeywords REF='xKeywordsx89'/>
  <MD_Identification REF='xDataIdentx501x0'/>
</GM03Core.Core.descriptiveKeywordsMD_Identification>

Probleme bei generierten Schemas

XSD und zusätzliche Modellinformation

Abbildung 'XSD und zusätzliche Modellinformation'






4. Weisse Flecken

4.1 XML und Modellierung

4.2 Schema-Versionierung

4.3 Schema-Design

4.4 Zugriff auf Schema-Informationen

4.5 XML-orientierte Software-Entwicklung

JAXB für das Binding Schema ↔ Klasse?

JAXB für Parsing und Serialisierung

Überblick JAXB

Danke! Fragen?