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

eCommerce

Deutscher Handel ist so digital wie noch nie

Werbung in sozialen Medien, Verkauf über Online-Plattformen, kontaktloses Bezahlen per Smartphone im Geschäft: Der Einzelhandel in Deutschland ist seit der Corona-Pandemie so digital wie nie.
E-Commerce

Marktplätze sind die Umsatztreiber des Onlinehandels

Die 1.000 umsatzstärksten Onlineshops und hybriden Marktplätze haben während der Corona-Pandemie neue Maßstäbe gesetzt. Der Gesamtumsatz der Top-1.000-Onlineshops kratzte im Umsatzjahr 2020 an der 70-Milliarden-Marke, was einem Umsatzwachstum von über 30…
Augmented Reality

Augmented Reality macht Online-Shopping attraktiver

Die Ergebnisse einer Studie zum Einsatz von Argumented Reality im Online-Shopping zeigen, dass sowohl die Kund:innen als auch der Handel davon enorm profitieren können.
SEO

Zwei Seiten einer Medaille - Content und SEO

Eine typische Frage von Unternehmen ist, ob man sich im Marketing eher auf SEO oder auf den Content konzentrieren soll. Schwierig. Eine vergleichbare Frage wäre, ob man bei einem Sportwagen mehr Wert auf einen leistungsfähigen Motor oder auf ein gutes…
Social Media

Unternehmen erhöhen Investitionen in Social Media für mehr Reichweite

Soziale Medien werden für die Unternehmen der digitalen Wirtschaft künftig noch wichtiger. 60 Prozent wollen ihre Ausgaben für Paid Content, also bezahlte Werbeposts im nächsten Geschäftsjahr steigern – und 49 Prozent für Owned Content, also selbst…
SEO

Eine erfolgreiche SEO-Strategie

SEO (Suchmaschinenoptimierung) ist eine Wissenschaft für sich. Die hier aufgezählten Maßnahmen sind dabei nur die Spitze des Eisberges. SEO bedeutet Feintuning mit allen Mitteln. Neue Erkenntnisse und ständige Updates machen diesen Themenbereich sehr schwer…

Anzeige

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

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