OData Metadatenextraktion

vorhergehende Artikel in: Java sQLshell
21.06.2014

OData ist ein standardisiertes Protokoll für das Publizieren und Konsumieren von Daten-APIs. In meinem ersten Artikel zu diesem Thema war ich unzufrieden über die rudimentär vorhandenen Metadaten beim Versuch, einen OData-JDBC-Wrapper einzusetzen. Daher mein Versuch, diese Metadaten selbst zu analysieren.

sQLshell Logo Im Prinzip kann man OData-Metadaten aus dem assoziierten Schema extrahieren. Ich versuchte daher, den bestehenden Parser für XML-Schema, der zum Beispiel beim Ex- beziehungsweise Import relationaler Datenbanken in der sQLshell zum Einsatz kommt, für OData anzupassen. Das gelang relativ einfach.

Danach war es mir möglich, ein Schema einzulesen und in die bereits vorhandenen Klassen zur Metadatenverwaltung umzusetzen, die die sQLshell bereits enthielt.

Entities werden zu Tabellen, Properties zu Spalten und NavigationProperties zu Fremdschlüsselbeziehungen. Allerdings mußte ich das OData-Schema an drei wesentlichen Stellen anpassen: n-zu-m-Assoziationen werden über Hilfstabellen dargestellt. ComplexTypes werden in die enthaltenen Entities integriert. Vererbung wird implementiert, indem die geerbten Properties in die erbenden Properties kopiert werden.

Die Software unterstützt zur Zeit die Protokollversionmen 2 und 3.

Ich habe hier zwei Beispiele angehängt, die zeigen, daß man damit schnell ein visuelles Datenmodell des OData-Schemas erhalten kann (Achtung: bei der Darstellung des SVG im Firefox kann es zu Fehlern bei der Schriftgröße kommen!).

OData Schema V2
Darstellung als relationales Datenmodell (SVG)
Darstellung als relationales Datenmodell (PDF)
OData Schema V3
Darstellung als relationales Datenmodell (SVG)
Darstellung als relationales Datenmodell (PDF)

Artikel, die hierher verlinken

OData Content Browser

22.07.2014

OData ist ein standardisiertes Protokoll für das Publizieren und Konsumieren von Daten-APIs. In meinen ersten beiden Artikeln habe ich mich mit der Analyse von Metadaten beschäftigt. Nun war es an der Zeit, einen einfachen Content Browser für OData Services zu stricken.

Verbesserte Dokumentation für Datenmodelle in der sQLshell

28.06.2014

Die sQLshell wurde im Visuellen Abfrageeditor um eine neue Möglichkeit erweitert, Datenmodelle zu dokumentieren

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Seiteneffekt-freie Programmiersprachen

    05.04.2021

    Ich habe mich hier verschiedentlich darüber ausgelassen, was Syntactic sugar in Java bedeutet und was man beachten sollte, um mit einigen einfachen Mitteln die Performanz von Java-Anwendungen zu steigern.

    Weiterlesen

Neueste Artikel

  • Asymmetrische Kryptographie

    Ich habe mich mit der Idee schon länger getragen: Nochmal einen Rundumschlag zu asymmetrischer Kryptographie zu machen. Dabei werde ich mich auf Demonstrationen der einzelnen Konzepte und Operationen mit Beispielcode konzentrieren und zu jedem der vorgestellten Konzepte mehr oder weniger ausführlich bezüglich der Einsatzszenarien und Vor- und Nachteile Stellung beziehen

    Weiterlesen
  • Voyager By Night - Live at Magnet House (2025 comeback show)

    Über Mastodon bin ich auf dieses Konzert gestoßen - und ich war sehr froh darüber!

    Weiterlesen
  • Certificate Transparency Logs

    Wie bereits angekündigt werde ich in den nächsten Wochen einige Aspekte asymmetrischer Kryptographie beschreiben. Der vorliegende Artikel erläutert Certificate Tranparency Logs - auch im Hinblick auf die mögliche Nutzung in eigenen PKI.

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.