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

  • Hardware für Netzwerk Degrader

    12.01.2021

    Vor ungefähr einem Jahr berichtete ich über den letzten Stand meines Projektes "Schlechtes Netz" - eines smarten Netzwerkkabels mit konfigurierbarer Übertragungsqualität.

    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
  • LinkCollections 2025 XII

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2025 folgt hier gleich die nächste:

    Weiterlesen
  • Shamir Secret Sharing

    Wie bereits angekündigt werde ich in den nächsten Wochen einige Aspekte asymmetrischer Kryptographie beschreiben. Der vorliegende Artikel erläutert ein Konzept, das auch viele Anwendungsmöglichkeiten abseits asymmetrischer Kryptographie hat, allerdings auch zum Beispiel auf private Schlüssel angewendet werden kann... und demonstriert die Implementierung in Java.

    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.