© Excellent backgrounds/Shutterstock.com
Funktionsweise und Aufbau des REST-Servers

JSON-Backend mit Structr und Neo4j


Die quelloffene Software Structr basiert auf der Graphdatenbank Neo4j. Sie erleichtert das Erstellen mobiler und Webanwendungen enorm, da sie einen JSON-/REST-Server mitbringt, der bidirektionale Transformationen zwischen Graphstrukturen und JSON-­Dokumenten ermöglicht. Zudem lässt sie sich über einen grafischen Schemaeditor ohne Programmierkenntnisse konfigurieren.

Im ersten Teil dieser Artikelserie haben wir Structr vorgestellt und die konzeptionellen Grundlagen sowie den Java-Kern näher beleuchtet. Dieser Artikel widmet sich schwerpunktmäßig dem JSON-/REST-Server. Dieser ist auch die Basis für die grafische Benutzeroberfläche, mit der sich der dritte Teil der Serie beschäftigen wird.

Artikelserie

Teil 1: Konzeptionelle Grundlagen, genereller Aufbau von Structr, in Java geschriebene Komponenten im Kern des Systems

Teil 2: Funktionsweise und Aufbau des REST-Servers und des dynamisch kompilierten Schemas, Structr als JSON/REST Backend, Integration mit einem Clientwebframework wie AngularJS

Teil 3: Benutzeroberfläche, Einsatzmöglichkeiten als Content-Management-System, komplexere Datenbankanwendungen

Das Besondere am REST-Backend von Structr ist, dass Neo4j damit zur vollwertigen JSON-Dokumentendatenbank wird, die sich als Unterbau für Frontend-Projekte jeglicher Art eignet. Structr verbindet dabei die Vorteile von dokumentenorientierten Datenbanken mit denen einer Graphdatenbank. Grundlage dafür ist die bidirektionale Abbildung von JSON-Dokumenten auf Graphstrukturen in der Datenbank.

Vorteile von Dokumenten- und Graphdatenbanken vereint

Dokumentenorientierte Datenbanken wie z. B. CouchDB oder MongoDB speichern Daten in Form von Dokumenten, die üblicherweise JSON, XML oder Binärdaten enthalten. Man bezeichnet dies auch als semistrukturierte Form, da die Informationen innerhalb eines Dokuments in der Regel nicht weiter strukturiert sind und keinem festen Schema unterliegen. Man könnte auch sagen, dass die Unterstruktur der Dokumente nicht der Datenbankkontrolle unterliegt.

Dokumentenorientierte Datenbanken sind in der Regel schemalos. Das hat den Vorteil, dass man sich um das Datenmodell zunächst keine Gedanken machen muss, denn es ist denkbar einfach: Ein Dokument erhält bei der Speicherung eine eindeutige ID und kann über diese wieder abgerufen werden. Die im Dokument enthaltenen Daten können direkt und als Ganzes verwendet werden. So kann z. B. im Fall von JSON aus dem Dokumentinhalt mithilfe eines JSON-Parsers ein JavaScript-Objekt erzeugt werden.

Ge...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang