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.
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!).
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.
28.06.2014
Die sQLshell wurde im Visuellen Abfrageeditor um eine neue Möglichkeit erweitert, Datenmodelle zu dokumentieren
InfluxDB Appender für Log4J 1.x
17.03.2018
Nachdem ich vor einiger Zeit zwei Appender für Log4J 1.x vorgestellt habe, habe ich - motiviert durch meine Experimente mit Raspi und ADS-B - einen weiteren verfasst - diesmal zum Schreiben der Daten in eine Zeitreihendatenbank.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Git(lab|hub) Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich habe mich ein wenig mit Attribut-Zertifikaten beschäftigt - Resultat sind einige Klassen zum leichteren Zugriff auf die enthaltenen Attribute...
Weiterlesen...Ich wollte eine Methode schaffen, neue Graphik-Primitiven, die zumindest in java.awt.Graphics2D - in Java noch fehlen, zu ergänzen.
Weiterlesen...Ich wollte eine Methode schaffen, unterschiedlichste Schraffuren in beliebigen Shapes zu erzeugen. diese Möglichkeit fehlt - zumindest in java.awt.Graphics2D - in Java noch.
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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.