Architekturmanagement mit jQAssistant und Asciidoc

Artikel als PDF herunterladen:
Download Architekturmanagement mit jQAssistant und Asciidoc

Welchen Nutzen hat eine aufwändig zu pflegende Architekturdokumentation, wenn deren Inhalt sich weit vom realen Geschehen im Code entfernt hat? Keinen, aber in der Realität ist dieser Zustand sehr oft anzutreffen. Im Folgenden soll an einem realen Beispiel ein leichtgewichtiger Ansatz beschrieben werden, der relevante Informationen direkt im Quellcode vorhält und nach Wunsch in jedem Build die Ist-Architektur mit dem gewünschten Soll-Zustand abgleicht.

weiterlesen

Von Göttern und Graphen

Die Grundlagen – Chaos formt sich

Dieses Tutorial zeigt, wie mit eXtended Objects (XO) Daten in der Graphdatenbank Neo4j ablegt werden können.

XO, Java und Neo4j – Gottheiten, die sich verstehen

Neo4j ist eine Graphdatenbank. Anders als bei relationalen Datenbanken werden hier die Daten als Knoten und Kanten abgelegt. Knoten besitzen Labels, weiterhin haben sie Eigenschaften als Name-Wert-Paar und stehen mit anderen Knoten über Kanten in Beziehung. Labels markieren und kategorisieren einen Knoten. Beziehungen zwischen Knoten besitzen eine Richtung. Beziehungen können ebenfalls Eigenschaften besitzen.

Grafik_TutorialXO_Neo4jSymbole
Abbildung 1 Bezeichnung Neo4j Bestandteile

eXtended Objects (XO) ist ein Framework, um Daten von Java in Neo4j zu speichern. XO bietet ein Mapping zwischen Konzepten der Programmiersprache Java und Konzepten der Graphdatenbank. Knoten in der Datenbank werden auf XO-Entitäten abgebildet. Eine solche Entität ist kein Java-Bean im herkömmlichen Sinn, sondern eine von eXtendend Objects verwaltete Instanz eines Datentyps. Die Datentypen werden als Interfaces modelliert und tragen XO-spezifische Annotationen. Kanten werden auf ein- oder mehrwertige Properties abgebildet. Eigenschaften von Knoten werden auch als Properties abgebildet, allerdings haben diese einen primitiven Datentyp oder Sting als Typ. Properties werden durch Getter und Setter definiert.

Grafik_TutorialXO_Mapping
Abbildung 2 Mapping Java – XO – Neo4j

weiterlesen