icancode.de

BaasBox – OpenSource Backend

Einleitung

Rico Magnucki

Rico Magnucki

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.


Neuste Artikel

HP Deskjet 3636 – Multitalent zum schmalen Preis 09th April, 2017

NETGEAR AC1750 Smart WLAN-Router im Test 10th January, 2016

Android

BaasBox – OpenSource Backend

Veröffentlicht am .

BaasBox ist ein OpenSource Backend für eure Projekte. Es kommt mit einem SDK für Android, iOS und JavaScript, welche bereits Services wie Push und Social Logins integriert hat. Die Datenbank basierte auf OrientDB.

Die BaasBox Datenbank ist eine Document Datenbank. Sie verfügt über drei Strukturen, die für die Modellierung verwendet werden können.

CollectionsBaasBox Logo

Collections sind Container. Sie nehmen Dokumente auf. Collections folgen dem sog. per-user-record-security-level, nach welchem nur der User an die Daten kommt, die er auch erstellt hat. Sollen andere User auf bzw. mit den Daten arbeiten, müssen ihnen per API erst die Rechte gegeben werden. Dabei kann es sich sowohl um einzelne Benutzer, als auch um eine gesamte Benutzergruppe handeln. Aufgrund der Tatsache, dass Dokumente schemalos sind, kann eine Collection jegliche Art von Dokumenten halten.

Documents

Dokumente sind schemalose Datenstrukturen, die im JSON Format abgelegt werden. Jedes Document gehört zu einer Collection und kann erstellt, gelesen, modifiziert und gelöscht werden.

Während der Body des Documents leer sein kann, müssen die folgenden Felder immer einen Wert haben.

  • id: unique ID
  • @version: Versionsnummer des Dokuments.
  • @class: Name der Collection
  • _creation_date: Zeitstempel der Erstellung
  • _author: Name des Users, der das Document erstellt hat.

Links bieten die Möglichkeit, Documents (und auch Files) miteinander zu verbinden. Dabei ähneln sie den Relationen aus Relationen Datenbanken nur bedingt, da sie sowohl über eine Richtung, als auch über einen Namen verfügen. BaasBox basiert auf OrientDB. Die Implementierung der Links basiert auf deren Graph-Eigenschaften. Somit entsprechen Documents den Nodes des Graphen und die Links den Kanten.
In der Aktuellen Version (0.9.2) von BaasBox besteht nur die Möglichkeit Links nach ihrem Namen zu filtern und verlinkte Documents bzw. Files zu finden. Links direkt zu folgen ist noch nicht möglich.

Queries & Filter

Queries liefern immer nur die Objekte zurück, die der User auch lesen kann. Durch das Kriterium where können Queries ähnlich zu SQL Anfragen gestaltet werden. Die Syntax orientiert sich dabei an OrientDB. Somit ist es z.B. möglich nach einem bestimmten Attribut zu filtern.
BaasBox unterstützt sog. Pagination. Dabei handelt es sich um die Möglichkeit die Anzahl der abgerufenen Objekte zu spezifizieren bzw. zu reduzieren.

Baasbox Grafik

Bilder: BaasBox

Rico Magnucki

Rico Magnucki

http://magnucki.de

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.

Navigation