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
Multi-User-WebDAV, Docker, GitHub
17.11.2019
Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.
Weiterlesen...Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.
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.