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


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

Business Agility

Netzwerk- und Sicherheitstransformation für Business Agility

Viele Unternehmen haben bereits erhebliche Investitionen in den Umstellungsprozess hin zur Cloud getätigt. Es bleibt aber die Herausforderung, den Plan der vollständigen digitalen Transformation durchzuführen, indem ein Multiplikatoreffekt auf diese…
B2B

Das Potenzial von B2B-Marktplätzen

Heute breiten sich B2B-Marktplätze in Beschaffungsorganisationen immer rasanter aus. Laut Handelsblatt entstehen in immer mehr Branchen spezialisierte Onlinehändler und digitale Marktplätze, die das Geschäft mit der Beschaffung entdecken.
Mobile Marketing

Mobile Marketing: Aktive Apps statt bloßer Downloads

Näher am Kunden geht es kaum: Mit einer App sitzen Anbieter quasi in der Hosentasche des Konsumenten. Für die Kundenbeziehung bringt es aber nichts, wenn die App dort vor sich hin schlummert. Mit diesen Features lassen sich Apps auf lange Sicht in das…
Search Engine Advertising

Search Engine Advertising braucht kein hohes Budget

An Suchmaschinenwerbung kommt über kurz oder lang wohl kein Unternehmen vorbei. Doch gerade in der Anfangsphase vergessen viele Unternehmen, in diesem Bereich Budget einzuplanen. Während bereits fleißig in Mobiliar und Visitenkarten investiert wird, vergessen…
Kundenbindung

Datenqualität ist die größte Herausforderung

Eine zentrale Maßnahme zur Optimierung vertrieblicher Maßnahmen und Sicherstellung einer höheren Kundenbindung stellt die Digitalisierung der Prozesse und der gezielte Einsatz betrieblicher Anwendungssysteme dar.

Anzeige

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button "Zum Newsletter anmelden" stimme ich der Datenschutzerklärung zu.