© Excellent backgrounds/Shutterstock.com
Java Magazin
Backend as a Service

Backend-Plattform für mobile Applikationen

Mit dem Begriff „Backend as a Service“ (BaaS) stellt sich das Open-Source-Projekt Usergrid der Apache Software Foundation vor [1]. Hinter diesem Marketingbegriff verbirgt sich das Konzept für eine Backend-Plattform, die geeignet ist, eine Vielzahl von Applikationen für mobile Geräte und Rich Clients zu realisieren. Das Projekt basiert auf der NoSQL-Datenbank Cassandra [2], einer Applikationsschicht und SDKs für Cliententwickler unterschiedlicher Plattformen.

Kai Spichale


Mit Usergrid soll die Entwicklung von Backends für mobile Applikationen so einfach wie die Entwicklung von Webapplikationen mit dem LAMP Stack sein [1]. Um dieses Ziel erfüllen zu können, bietet Usergrid beispielsweise ein Rollen- und Rechtekonzept sowie Funktionen zur Benutzerverwaltung. Hierzu zählen u. a. das Anlegen von Benutzern, Log-in und Passwortänderungen. Notwendig sind außerdem SDKs für verschiedene Zielgruppen. Das Spektrum reicht von Android über HTML/JS bis Ruby on Rails.

Die Idee hinter BaaS ist nicht neu. Schon seit einigen Jahren findet man im Markt verschiedene Full-Stack-Cloud-Systeme, die intern oder extern als Dienst verwendet werden. Typischerweise werden sie als Backend für mobile Applikationen eingesetzt. Zu nennen sind vor allem Parse von Facebook, StackMob von PayPal, Firebase von Google und Kinvey.

Warum würde man trotzdem ein eigenes BaaS wie Usergrid einsetzen wollen? Ein offensichtlicher Vorteil ist die Vermeidung eines Vendor-Lock-ins, denn ein Anbieterwechsel ist mit enormen Kosten verbunden. Auf sich verändernde Anforderungen kann wahrscheinlich leichter reagiert werden, wenn man das Backend selbst betreibt und Kontrolle über dessen Implementierung hat. Aus diesem Grund kann auch die Integration von Legacy-Systemen mit dem eigenen BaaS einfacher sein. Ein weiterer wichtiger Vorteil für den Einsatz eines eigenen BaaS ist der Datenschutz, denn bei einem externen Backend laufen alle Kundendaten durch die Infrastruktur des Anbieters.

Um das Open-Source-Projekt besser verstehen und einordnen zu können, sollen in diesem Artikel zwei wesentliche Themenkomplexe betrachtet werden:

Wie ist Usergrid aufgebaut, und welche Architektur liegt zugrunde? Welche Funktionen bietet Usergrid, und wie können sie verwendet werden?

Bevor diese Fragen beantwortet werden, sei noch darauf hingewiesen, dass sich Apache Usergrid derzeit im Inkubationsstadium befindet. In dieser Zeit wird die Codebasis an die Apache-Konventionen angepasst. Das Inkubationsstadium dient außerdem dem Aufbau einer ausreichend großen und stabilen Community. Usergrid ist seit 2011 Open Source und wurde in mehreren großen Installationen bei Korea Telecom, Globo, Apigee und anderen Unternehmen der Fortune Global 500 produktiv eingesetzt [1].

Systemaufbau

Usergrid wurde in Java geschrieben und nutzt Standardkomponenten wie den HTTP-Servlet-Server des Grizzly-Projekts [3]. Dieser leichtgewichtige Server kann eingebettet gestartet werden und ist zur Umsetzung des Web-API auf Basis von...

Java Magazin
Backend as a Service

Backend-Plattform für mobile Applikationen

Mit dem Begriff „Backend as a Service“ (BaaS) stellt sich das Open-Source-Projekt Usergrid der Apache Software Foundation vor [1]. Hinter diesem Marketingbegriff verbirgt sich das Konzept für eine Backend-Plattform, die geeignet ist, eine Vielzahl von Applikationen für mobile Geräte und Rich Clients zu realisieren. Das Projekt basiert auf der NoSQL-Datenbank Cassandra [2], einer Applikationsschicht und SDKs für Cliententwickler unterschiedlicher Plattformen.

Kai Spichale


Mit Usergrid soll die Entwicklung von Backends für mobile Applikationen so einfach wie die Entwicklung von Webapplikationen mit dem LAMP Stack sein [1]. Um dieses Ziel erfüllen zu können, bietet Usergrid beispielsweise ein Rollen- und Rechtekonzept sowie Funktionen zur Benutzerverwaltung. Hierzu zählen u. a. das Anlegen von Benutzern, Log-in und Passwortänderungen. Notwendig sind außerdem SDKs für verschiedene Zielgruppen. Das Spektrum reicht von Android über HTML/JS bis Ruby on Rails.

Die Idee hinter BaaS ist nicht neu. Schon seit einigen Jahren findet man im Markt verschiedene Full-Stack-Cloud-Systeme, die intern oder extern als Dienst verwendet werden. Typischerweise werden sie als Backend für mobile Applikationen eingesetzt. Zu nennen sind vor allem Parse von Facebook, StackMob von PayPal, Firebase von Google und Kinvey.

Warum würde man trotzdem ein eigenes BaaS wie Usergrid einsetzen wollen? Ein offensichtlicher Vorteil ist die Vermeidung eines Vendor-Lock-ins, denn ein Anbieterwechsel ist mit enormen Kosten verbunden. Auf sich verändernde Anforderungen kann wahrscheinlich leichter reagiert werden, wenn man das Backend selbst betreibt und Kontrolle über dessen Implementierung hat. Aus diesem Grund kann auch die Integration von Legacy-Systemen mit dem eigenen BaaS einfacher sein. Ein weiterer wichtiger Vorteil für den Einsatz eines eigenen BaaS ist der Datenschutz, denn bei einem externen Backend laufen alle Kundendaten durch die Infrastruktur des Anbieters.

Um das Open-Source-Projekt besser verstehen und einordnen zu können, sollen in diesem Artikel zwei wesentliche Themenkomplexe betrachtet werden:

Wie ist Usergrid aufgebaut, und welche Architektur liegt zugrunde? Welche Funktionen bietet Usergrid, und wie können sie verwendet werden?

Bevor diese Fragen beantwortet werden, sei noch darauf hingewiesen, dass sich Apache Usergrid derzeit im Inkubationsstadium befindet. In dieser Zeit wird die Codebasis an die Apache-Konventionen angepasst. Das Inkubationsstadium dient außerdem dem Aufbau einer ausreichend großen und stabilen Community. Usergrid ist seit 2011 Open Source und wurde in mehreren großen Installationen bei Korea Telecom, Globo, Apigee und anderen Unternehmen der Fortune Global 500 produktiv eingesetzt [1].

Systemaufbau

Usergrid wurde in Java geschrieben und nutzt Standardkomponenten wie den HTTP-Servlet-Server des Grizzly-Projekts [3]. Dieser leichtgewichtige Server kann eingebettet gestartet werden und ist zur Umsetzung des Web-API auf Basis von...

Neugierig geworden?


    
Loading...

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