Die Existenz einer einheitlichen externen Datenrepräsentation ist für das Entstehen von kooperierenden Systemen absolut entscheidend. Lange Zeit stand in der Informatik die Strukturdefinition, also die Syntax der Daten im Vordergrund. Erst mit XML hat man die Codierung der Information in den Mittelpunkt gestellt. Wichtige Kriterien wie Menschenlesbarkeit und Einfachheit brachten XML den Erfolg.

Aufgrund der Zeichencodierung und dem Konzept der semistrukturierten Daten wird XML den folgenden wichtigen Anforderungen für eine externe Datenrepräsentation nicht gerecht:

  • Effizientes sequenzielles Lesen und Schreiben
    Bei Austauschformaten ist es entscheidend, dass Daten schnell sequenziell eingelesen bzw. geschrieben werden können. Im Gegensatz zur Speicherrepräsentation oder zur physischen Datenorganisation von Datenbanken kommt es bei einer externen Datenrepräsentation weder auf Random Access noch auf dynamische Speicherstrukturen an. Operationen wie Suchen, Einfügen, Löschen oder Ändern werden für die externe Datenrepräsentation nicht gefordert.
  • Kompaktheit des Formats
    Oft müssen Daten über Medien geringer Bandbreite übertragen werden. Das Format sollte daher so spezifiziert sein, dass es nicht unnötig viel Bandbreite in Anspruch nimmt. Von einer nachträglichen Komprimierung sollte man Abstand nehmen, da diese wieder sehr rechenintensives Lesen und Schreiben verursacht.
  • Einfache Language Bindings
    Der Einsatz grundlegend unterschiedlicher Datenstrukturkonzepte beim Austauschformat und der Programmiersprache führt zum sog. Impedance Mismatch. Dadurch werden Language Bindings kompliziert, unübersichtlich und ineffizient.

Mit dieser Arbeit soll untersucht werden, inwieweit eine binärcodierte Repräsentation objektorientierter Daten diesen Schwächen begegnen kann, ohne dabei die Vorzüge, die XML bietet, aufgeben zu müssen.

Die Arbeit gliedert sich in folgende Abschnitte:

  • Anforderungen an externe Datenrepräsentationen
  • Analyse von Binary XML
  • Spezifikation der Datenstrukturdefinition mittels Java 1.5 Annotationen
  • Spezifikation des Mappings auf XML
  • Spezifikation der Binärcodierung SDF
  • Implementierung eines Java Language Bindings
  • Performance- und Kompaktheitstests