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

buschmais ist Premium-Sponsor des JUG Saxony Day 2016

JSD_Sponsor_2016

Am 30. September findet der JUG Saxony Day 2016 im Radisson Blu Park Hotel & Conference Centre in Radebeul bei Dresden statt. Die eintägige Konferenz des JUG Saxony e.V. bietet für die regionale Java-Community eine gute Plattform für Wissensaustausch und Networking und findet bereits zum dritten Mal in Folge statt. Neben der spannenden Keynote „Prepare for JDK 9!“ von Dalibor Topic hält das Konferenzprogramm noch 25 interessante Fachvorträge für die Teilnehmer bereit, aufgeteilt in 5 parallele Tracks: Prozess, Architektur, Java Technologie, Enterprise und Specials.

Die Konferenz erfährt große Resonanz und gewinnt stetig an neuen Fans aus der Java-Community. Wir freuen uns, als Premium-Sponsor des JUG Saxony Days 2016 mit einem Ausstellerstand vor Ort sein zu können und blicken gespannt auf einen interessanten und erlebnisreichen Konferenztag.

Wer sich den JUG Saxony Day 2016 nicht entgehen lassen möchte, bekommt weitere Informationen zum Programm und zur Ticketbuchung auf der Veranstaltungsseite.

Tipp: Bis zum 15. Juli gibt es noch Early Bird Tickets.

Java Mission Control

Artikel als PDF herunterladen:
Download Java Mission Control

Die Entwicklung ist abgeschlossen. Alles ist gut getestet und schon ist die Anwendung im Produktivbetrieb. Schön, wenn jetzt alles stabil läuft. Und was wenn nicht? Dann heißt es möglichst schnell mit Analyse-Ergebnissen aufzuwarten. Was führte wann und warum zu Abweichungen im Verhalten der Anwendung? Ohne repräsentative Datenbasis und ein entsprechend aufeinander abgestimmtes Tooling kommt man jetzt schnell ins Schwitzen. Gut zu wissen, dass in Oracles JDK mit Java Mission Control eine geradezu perfekte Toolkette für solche Fälle bereits vorhanden ist.

weiterlesen

FindBugs: May expose internal representation by returning reference to mutable object

Wer seine Code-Qualität mit FindBugs überwacht, stößt früher oder später auf folgende Verletzung: „Method-X may expose internal representation by storing/returning an externally mutable object into Field-Y“. In den meisten Fällen handelt es sich dabei um das Abfragen und Speichern von java.util.Date Werten.

Erfahrene Java-Entwickler wissen, dass Date-Objekte nachträglich veränderbar (mutable) sind:

Date now = new Date();
now.setTime(1414141414141L);
System.out.println(now);

Dies könnte für Manipulationen ausgenutzt werden:
weiterlesen

Graph-basierte Software-Analyse mit jQAssistant

Artikel als PDF herunterladen:
Download Graph-basierte Software-Analyse mit jQAssistant

Qualitätssicherung in der Software-Entwicklung ist seit Jahren ein Thema, mit dem es problemlos möglich ist, Zeitschriften, Bücher und Konferenzen inhaltlich zu füllen. Die Ansatzpunkte sind äußerst vielfältig – sie reichen von der Prozessorganisation über Teststrategien, technische Infrastrukturen bis hin zu vermeintlich trivialen Dingen wie der Formatierung des Quellcodes. In diesem Artikel möchte ich einen Aspekt beleuchten, der sich auf der Ebene statischer Code-Analysen abspielt: die Festlegung und Überwachung projektspezifischer Architektur- und Design-Regeln.

 

Verfallene Strukturen

Verfallene Strukturen

weiterlesen

 1 2 3 4 5 Vor