Anzeige

Apps

Daten für die Apps auf mobilen Geräten werden meist über Backend-Dienste bereitgestellt. Viele Aufgaben wie Benutzerverwaltung, Datenspeicherung und Messaging, wiederholen sich. Eine wichtige Anforderung ist die leichte Integration dieser Dienste, um ein schnelles Time-To- Market zu unterstützen. Idealerweise lassen sich die Backend-Services auf dem Wege der Konfiguration anbinden.

Apps für die mobilen Geräte werden für immer mehr Anwendungen im privaten und beruflichen Umfeld zur Verfügung gestellt. Der Datenaustauch erfolgt über das Internet und erlaubt den Nutzern von überall einen Zugriff auf die gewünschten Informationen. Um diese Anforderungen zu erfüllen, setzt man nur selten einen eigenen Server ein. Leichtgewichtiger, flexibler und kostengünstiger geht es durch die Verwendung eines Cloud-Service. Unterschiedliche Anbieter stellen Backend as a Service (BaaS) Dienste bereit. Aus Sicht der Entwicklung besteht die Herausforderung darin, den Backend Service in die eigene App anzubinden. Besonders einfach kann das gelingen, wenn man auf vorgefertigte Komponenten zurückgreifen kann.

Funktionen eines Mobilen Backends

BaaS ist eine Sonderform des Cloud-Computings. Es werden eine Reihe von typischen Funktionen gebündelt

  • Datendienste: Die Speicherung der Daten erfolgt in Tabellen- oder Dokumentenform. NoSQL-Datenspeicher bieten eine hohe Flexibilität.
  • Benutzermanagement: Oft ist eine Anmeldung durch den Nutzer notwendig. Das kann über ein eigenes Konto oder über einen Social Media Dienst (Facebook, Google) erfolgen.
  • Messaging/ Push Notification: Diese Funktion benachrichtigt registrierte Clients über Ereignisse, welche durch andere Clients oder zentral ausgelöst werden.
  • Offline-Synchronisation: Diese Funktion erlaubt nach einem Offline-Betrieb der App eine Synchronisation der Daten.
  • Analytics: Man erhält Informationen über das Nutzerverhalten.

Bild: Kernfunktionen eines mobilen Backends und Einordnung in die Systematik des Cloud-Computings


Einige BaaS-Dienstleister bieten weitere Funktionen für mobile Apps. Die Kosten richten sich i.d.R. nach der Nutzungsintensität.

Backend Services

BaaS-Dienste werden von unterschiedlichen Anbietern bereitgestellt. Dazu gehören Firebase (Google), AWS (Amazon) und Azure (Microsoft). Es handelt sich um Full-Service-Angebote, d.h. die Funktionen sind Bestandteil eines umfassenden Cloud-Services aus den unterschiedlichsten Bereichen.  Eine Zusammenstellung weiterer Angebote findet man unter [5]. Neben den Kosten für die Nutzung sollten Entscheider bei der Auswahl weitere Kriterien berücksichtigen: Funktionsumfang, Datensicherheit/ Datenschutz, Export- und Importmöglichkeit für Daten, technische Performance, Skalierbarkeit, Support und Dokumentation. Die konkreten Anforderungen sind vom Zweck der App abhängig. Der Aspekt des Datenschutzes gewinnt an Bedeutung, da man oft personenbezogene Daten der Nutzer verarbeitet. Werden Apps für Unternehmen (Mobile Enterprise Computing) entwickelt, ist meist die Einbindung in eine bestehende Unternehmens-IT gefragt. Auch diese Aufgabe kann durch ein BaaS in Funktion einer Middleware übernehmen.

App Integration von Cloud- und Backend Services

Die meisten Anbieter stellen ein generisches API auf der Basis von REST für eine universelle Nutzung bereit. Komfortabler gestaltet sich die Arbeit, wenn ein spezifisches SDK (Software Development Kit) für die jeweilige Programmiersprache angeboten wird. Stehen fertige Komponenten zur Verfügung, kann mittels Konfiguration die Integration des BaaS auf einfache Art und Weise erfolgen.

Grundsätzlich ist die Funktionsweise der Dienste ähnlich. Unterschiede gibt es primär bei der technischen Einbindung und der Konfiguration. Üblicherweise muss man sich beim Dienst registrieren, eine Service-Vereinbarung abschließen und über ein Dashboard eine initiale Konfiguration vornehmen. Beispielhaft wird die Vorgehensweise aus der integrierten Entwicklungsumgebung RAD Studio [4] betrachtet. RAD Studio ermöglicht das Erstellen von Apps für eine Vielzahl von Gerätetypen (Desktop, Mobile) und Systeme (Windows, macOS, Linux, iOS, Android). Dabei wird ein komponentenbasierter Ansatz eingesetzt, d.h. der Entwickler kann für typische Aufgaben auf Softwarekomponenten zurückgreifen. Neben visuellen Elementen für die Gestaltung des User Interfaces, betrifft dieses auch funktionale Aspekte, wie die Einbindung von Cloud Services.

 

Bild: Konfiguration der Cloud-Komponenten im grafischen Designer (RAD Studio)


Dazu stehen zum Beispiel die Komponenten Kinvey- und Parse-Provider zur Verfügung. Es finden sich Komponenten für die üblichen Funktionen (siehe oben), wie Benutzerverwaltung (BackendUsers), die Datenspeicherung (BackendStorage) oder zum Senden und Empfangen von Push-Benachrichtigungen (BackendPush). Nutzt man Kinvey muss man im Dashboard des BaaS-Providers eine neue App erstellen. Es werden die App-Geheimnisse: App ID, App Secret und Master Secret generiert, welche dann in den Eigenschaften der Komponente KinveyProvider zu hinterlegen sind. Mit diesen Schritten kann man den Cloud Service aus der App nutzen, d.h. man kann die Funktionen über die Methoden der Komponenten ansprechen. Gegenüber der Nutzung eines generischen API ist dieses deutlich einfacher und man kommt schneller zum Ziel.

Für die Nutzung der Dienste von Azure und Amazon gibt es weitere spezialisierte Komponenten in RAD Studio:

  • AmazonConnectionInfo: Diese bietet Unterstützung für Amazon Simple Queue Service (SQS), Amazon Simple Storage Service (S3) und Amazon SimpleDB Service.
  • TAzureConnectionInfo: Es werden die Funktionen des Azure Portals für Mobile Apps bereitgestellt.

Beide Komponenten dienen dazu mehrschichtige Anwendungen mit Hilfe von Cloud-Services zu erstellen. RAD Studio integriert die Cloud Service auf einfache Art in die eigene App.

Bild: Cloud Services in die eigene App einbinden (Übersichtsdarstellung) [4].


Mit Hilfe der Dienste von Azure und Amazon können Aufgaben der Datenspeicherung, der Benutzerverwaltung usw. abgewickelt werden. Ebenso bieten sie auch den Zugang zu weiteren Unternehmensdatenquellen und die Möglichkeit RAD Studio Applikationen in der Cloud zu hosten (Enterprise Computing).

Fazit

Mobile Apps brauchen einen leistungsstarken Dienst im Hintergrund. Daten und Funktionen müssen flexibel und hoch verfügbar bereitgestellt werden. Das geschieht i.d.R. über einem Backend als Cloud-Service. Standardfunktionen können auf dem Wege der Konfiguration bereitgestellt werden. Mit Hilfe eines komponentenbasierten Ansatzes wird die Integration in die eigene App deutlich erleichtert und beschleunigt.

Quellen

[1] https://firebase.google.com/

[2] https://aws.amazon.com/de/

[3] https://azure.microsoft.com/de-de/services/app-service/mobile/

[4] https://www.embarcadero.com/de/products/rad-studio

[5] https://www.g2.com/categories/mobile-backend-as-a-service-mbaas

 

Dr. Veikko Krypczyk ist begeisterter Entwickler und Fachautor, https://larinet.com


Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!

 

Artikel zu diesem Thema

Cloud Computing
Nov 12, 2020

Es schlägt die Stunde der Cloud

Das Analystenhaus BARC veröffentlicht auf der diesjährigen Online-Konferenz Big Data…
Rechenzentrum
Nov 09, 2020

Deutscher Colocation-Markt wächst stark

Die Corona-Sonderkonjunktur setzt sich fort. Die anhaltend hohe Nachfrage nach…
Staatstrojaner
Nov 07, 2020

Auch Geheimdienste dürfen Staatstrojaner nutzen

Der Staatstrojaner soll vom Verfassungsschutz, dem Bundesnachrichtendienst (BND) und dem…

Weitere Artikel

Netzwerk

Wie Einzelhändler ihr Netzwerk auf die Shoppingsaison vorbereiten können

Seit Beginn der Covid-19-Pandemie verlagern viele Menschen ihre Shoppingtouren ins Internet – der E-Commerce boomt. Und im Lockdown werden dieses Jahr deutlich mehr Menschen ihre Weihnachtseinkäufe online tätigen, anstatt durch die Innenstädte zu bummeln.
Blackfriday

Betrugsversuche am Black Friday, auf die man nicht reinfallen sollte

Laut Adobe Analytics werden die Online-Umsätze in der Vorweihnachtszeit aufgrund des Lockdowns um 33% steigen. Der Black Friday ist eine Schnäppchenjagd, die dem Einzelhandel zum Teil die Hälfte seines Jahresumsatzes beschert. Betrüger nutzen diese…
Blackfriday

5 Tipps, um nachhaltiger Elektronik einzukaufen

In wenigen Tagen findet der diesjährige Black Friday statt und wird wieder viele Menschen zur Schnäppchenjagd verleiten: 66 Prozent der Deutschen planen einen Einkauf, für 57 Prozent steht dabei die Elektrobranche besonders hoch im Kurs. Auch wenn viele…
Cookies

Ein neuer Fall für Marketer: Das Verschwinden der Cookies

Ein neuer Fall beschäftigt die Werbetreibenden dieser Welt: Das Verschwinden der Cookies. Wo sind sie hin? Wo hat man sie zuletzt gesehen? Wer oder was ist Schuld? Emarsys klärt auf.

Anzeige

Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!