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

Cloud Computing

Hybrid Cloud: Vorteile für den E-Commerce

Die Covid-19-Pandemie hat dem bereits darbenden Einzelhandel stark zugesetzt und noch mehr Einkäufe in die Onlineshops verlegt. Es gilt als sicher, dass sich diese Entwicklung fortsetzen wird und sich die Einkaufsgewohnheiten vieler Menschen weiter in…
Digital

3 Trends zur Monetarisierung von digitalen Inhalten

In der Anfangszeit der Digitalisierung stand die Grundannahme, digitale Inhalte müssen kostenfrei sein. Mittlerweile zeigt sich jedoch eine immer größer werdende Zahlungsbereitschaft sowie Akzeptanz. Doch wohin geht der Trend der Monetarisierung von Content?
Facebook

Onlinehandel: Wie Facebook ein echter “game changer” werden kann

Eine Infografik aus dem vergangenen Jahr dürfte vielen Menschen, die sich professionell mit Marketing und E-Commerce beschäftigen, im Gedächtnis geblieben sein: Im Zeitraum von drei Monaten wuchs der Onlinehandel in den USA genauso schnell, wie zuvor…
E-Schrott

IT-Recycling: Da geht noch mehr!

Schon in der Schule lernen wir, dass Recycling eigentlich eine gute Sache ist. Bei der Entsorgung des Mülls sollen wertvolle Sekundärrohstoffe gesammelt und wieder nutzbar gemacht werden. Aber im Fall von ausrangierter Hardware ist die Rechnung gar nicht so…

Gerüchte zum iPhone 12S

Erst am 23. Oktober 2020 wurde das iPhone 12 von Apple offiziell veröffentlicht, doch bereits kurz darauf wurden erste Gerüchte in Bezug auf eine S-Variante des iPhone 12 laut. Vor allem in den vergangenen Monaten sprudelte die Gerüchteküche nur so über,…
Chatbot

Digitale Helfer: Diese Bots beflügeln Banken

Chatbots übernehmen heute auf den Websites der meisten Banken den Kundenservice, doch sie sind nicht die einzigen digitalen Helfer im Alltag der Kreditinstitute. Pegasystems, Anbieter von Software zur Vereinfachung komplexer Arbeitsprozesse, stellt die…

Anzeige

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

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