ra2 studio - stock.adobe.com
BaaS oder MBaaS für mobile Anwendungen?
Von mobilen Geräten bis hin zu serverbasierten Daten – die Entwicklung von Anwendungen und Services erfolgt sowohl mit MBaaS als auch BaaS schnell und sicher.
Bis vor kurzem galt eine Anwendung für mobile Geräte auf Smartphones, Tablets oder Wearables als eigenständige Erfahrung, die sich von der Web- oder Desktop-Anwendung unterscheidet. Diese Philosophie der Isolation wurde zum Teil durch die technischen Grenzen getrieben und führte dazu, eigenständige mobile Anwendungen in einem Vakuum zu entwickeln. Die Entwickler konzentrierten sich dabei mit ihren Spezial-Tools ausschließlich auf das mobile Erlebnis.
Die Zeiten haben sich geändert. Mobile Apps existieren nicht mehr im Vakuum. Heute steht das mobile Erlebnis zwar im Vordergrund, bildet aber gleichzeitig nur eine Facette eines Cloud-basierten Gesamtsystems ab. Auch die Entwicklung erfolgt nicht mehr separat.
Da die mobile Entwicklung zunehmend mit der gesamten Anwendungsentwicklung verschmilzt, verliert MBaaS (Mobile Backend as a Service) an Bedeutung zugunsten einer BaaS-Plattform, die das umfassendere Backend as a Service darstellt. Die Wahl einer geeigneten Entwicklungs-Plattform für mobile Anwendungen ist wichtiger denn je. Anbieter vermarkten ihre Produkte verstärkt unter dem Label BaaS und reden den Begriff MBaaS klein, halten ihn aber in ihren Marketingmaterialien lebendig. Wir konzentrieren uns in diesem Artikel auf BaaS.
Um die technischen Möglichkeiten besser mit den geschäftlichen Anforderungen in Einklang zu bringen, ist es wichtig, die Technologie zu verstehen, einen Einblick in ihre Funktionsweise zu erhalten und die wichtigsten Funktionen zu untersuchen. All das bildet die Basis für eine fundierte Entscheidung.
Die BaaS-Technologie – eine kurze Erklärung
Eine BaaS-Plattform ist nichts anderes als eine Cloud-Entwicklungs-Architektur mit zwei Komponenten. Die erste Komponente dient als Frontend für die Entwicklung digitaler mobiler Erlebnisse. BaaS stellt Entwicklern die Werkzeuge und die Architektur zur Verfügung, die sie für das Erstellen von Anwendungen für die unzähligen Bildschirmgrößen, Formfaktoren und Betriebssysteme von Geräten benötigen. Die zweite Komponente ist ein Backend für Management- und Betriebsservices. Mobile Geräte können damit zentral – in der Regel über eine API – auf Server, Speicher, Datenbanken, Verarbeitungslogik und andere Ressourcen zugreifen, damit Anwendungen sicher interagieren und sich in eine größere Cloud-basierte Umgebung integrieren können.
„BaaS ist im Wesentlichen Middleware, mit der Entwickler eine Reihe von mobilen Gerätetypen mit Services und Storage verbinden, die auf Backend-Servern in einer Cloud-Infrastruktur oder vor Ort laufen“, erklärt Judith Hurwitz, Präsidentin und CEO der Cloud-Beratung Hurwitz & Associates. „Heute bauen sie diese Verbindungen mit Hilfe von APIs auf.“
Eine offensichtliche Herausforderung bei der Entwicklung mobiler Anwendungen ist die scheinbar endlose Auswahl an Endgeräten und Betriebssystemen. Eine Entwicklungsumgebung für eine BaaS-Plattform muss mehrere Betriebssysteme unterstützen: Android, iOS und Windows 10 Mobile. Und das ist nur der Anfang. In der fragmentierten Android-Welt, in der die Gerätehersteller Betriebssystem-Updates nach eigenem Zeitplan veröffentlichen, hatte laut Google Dashboard beispielsweise KitKat (Android 4.4, veröffentlicht im Oktober 2013) noch einen Anteil von knapp 9 Prozent bei den Geräten, die auf den Google Play Store zugriffen. Längst gibt es zwar Nachfolgeversionen wie Lollipop (Android 5.x; November 2014), Marshmallow (Android 6.x; Oktober 2015), Nougat (Android 7.x; August 2016) und Oreo (Android 8; August 2018) aktueller sind. In der streng kontrollierten iOS-Welt, in der laut Apple 85 Prozent der Geräte mit der aktuellen Generation iOS 11 arbeiten, ist das nicht der Fall. Apple fügt dem Mix auch WatchOS hinzu und BlackBerry Geräte mit dem Betriebssystem BlackBerry 10.
Neben der Vielfalt an Betriebssystemen müssen die Entwickler mit Hilfe der BaaS-Plattform auch ein wahres Füllhorn an Bildschirmauflösungen berücksichtigen. In der Apple-Welt umfasst die Auflösung der iPhone-Bildschirme einen weiten Bereich, darunter 640 x 960 Pixel (iPhone 4), 640 x 1.136 Pixel (iPhone 5), 750 x 1.334 Pixel (iPhone 6 und 7) und 1.080 x 1.920 Pixel (iPhone 6 Plus und 7 Plus). Auch die verschiedenen iPad-Auflösungen benötigen Unterstützung: 768 x 1.024 Pixel, 1.536 x 2.048 Pixel und 2.048 x 2.732 Pixel. Auch Android-Smartphones Handys und Tablets bieten eine ähnlich verwirrende Vielfalt an Auflösungen.
So funktioniert die BaaS-Technologie
BaaS ist als Tool-Suite implementiert, die mobile Anwendungen durch den kombinierten Einsatz von Software Development Kits (SDK), APIs und Bibliotheken mit wiederverwendbarem Code mit Datenbanken, Servern und anderen Anwendungen und Services verknüpft. BaaS fungiert als Vermittler zwischen den mobilen Geräten und diesen anderen Anwendungen und Services, da es im Backend alle Verbindungen von Mobiltelefonen verwaltet. Die Integration erfolgt meist durch den Einsatz von REST-APIs und Schnittstellen in Verbindung mit JSON für den Datenaustausch und die Integration der Anwendungen.
Diese Funktionen sind zu beachten
Architekturoptionen sind zwar keine Funktionen, aber beim Design der BaaS-Plattform selbst gibt es zwei sehr unterschiedliche Implementierungs-Methoden.
So ist die BaaS-Plattform erstens mit all ihren Funktionen in das größere Universum der Cloud-Services der großen Anbieter von Cloud-Plattformen integriert. Die umfassenden BaaS-Umgebungen von Amazon Web Services (AWS), Google Cloud Platform, IBM Bluemix und Microsoft Azure integrieren mobile Entwicklungswerkzeuge in ihre Cloud-Betriebsplattformen. Die Idee dahinter ist, dass die Entwicklung und das Testen einfacher zu einer automatisierten, kontinuierlichen Bereitstellung und einem hochverfügbaren Betrieb führen.
Zweitens bieten einige Anbieter von BaaS-Plattformen ihre Tools als eigenständige Einheit an, die von der Cloud-Plattform oder dem lokalen Rechenzentrum getrennt ist, auf oder in der sie betrieben werden. Das Argument: Diese Entwicklungs-Tools sind aufgrund ihrer Unabhängigkeit hochgradig konfigurierbar und besser für die individuellen Bedürfnisse der einzelnen Unternehmen geeignet. Eine eigenständige BaaS-Plattform ist die einzige Option für Unternehmen, die sich nicht für die Public Cloud entscheiden, sondern Anwendungen auf ihrer eigenen internen Infrastruktur installieren. Michael Facemire, Principal Analyst rund um die Anwendungsentwicklung bei Forrester, betont, dass sich hier sowohl der All-in-One-Ansatz als auch der Do-it-yourself-Ansatz eignen würden. Es sei nur die Frage, welcher Ansatz besser zur IT-Philosophie des Unternehmens passe.
Hier einige Funktionen, die Firmen bei der Auswahl einer BaaS-Plattform beachten sollten:
- Sicherheit und Compliance sind die Königsklasse beim Mobile Computing. Mit dem zunehmenden Einsatz mobiler Technologien im Finanzbereich und Gesundheitswesen ist es unerlässlich, dass die Verschlüsselung im mobilen Gerät und in den Netzwerken integriert ist, über die alle Transaktionen ablaufen. Die Einhaltung gesetzlicher Vorgaben erfordert, dass Daten immer verschlüsselt werden.
- Authentifizierung und die Registrierung der Benutzer sind eng mit dem Thema Sicherheit verbunden. Eine umfassende BaaS-Plattform sollte Services für die Registrierung neuer Benutzer sowie einen gesicherten Zugriff auf Serverressourcen umfassen, der OAuth-konform ist. Sie muss auch alternative Authentifizierungsmethoden unterstützen. Dazu gehört die Zwei-Faktor-Authentifizierung, bei der ein Token-Code per Text an das mobile Gerät gesendet und in ein Notebook oder Desktop-Computer eingegeben wird, aber auch biometrische Verfahren wie Fingerabdruck sowie zunehmend die Gesichts- und Netzhaut-Erkennung.
- Mit Push-Nachrichten kann ein Backend-Service den Besitzer eines mobilen Geräts über ein wichtiges Ereignis informieren. Beispiele sind eine Fluggesellschaft, die eine Information über eine geänderte Abflugzeit schickt, eine Bank, die einen Kunden darüber informiert, dass sein Kontostand unter einen bestimmten Betrag gefallen ist, oder eine Maschine in der Produktionshalle, die eine Gruppe von Benutzern auf eine Anomalie am Fließband aufmerksam macht.
- Daten-Management ist die Fähigkeit, serverbasierte Daten aller Art zu lesen, zu schreiben, zu durchsuchen und abzufragen. Dazu gehören auch formatierte, unformatierte und binäre Objekte wie Videos.
- Beim Daten-Streaming werden Live-Streams von Kommentaren und Aktivitäten verarbeitet, etwa in Sozialen Netzwerken. Ein Beispiel ist eine sportbezogene Anwendung, bei der viele Benutzer gleichzeitig auf bereits veröffentlichte Kommentare antworten.
- Mit Hilfe von Geolocation lässt sich der Nutzungsort einer mobilen Anwendung feststellen. Diese Funktion wird routinemäßig zum Markieren von Fotos verwendet, lässt sich aber auch zur Personalisierung von Benutzererlebnissen einsetzen. Ein Beispiel: Ein Einzelhändler verschickt Push-Mitteilungen über vergünstigte Artikel, wenn sich ein Benutzer einem seiner Läden nähert; oder es werden Wetterdaten für den aktuellen Standort angezeigt.
- Analytische Funktionen erfassen Leistungsdaten und informieren über die Performance von Geräten und Anwendungen, die API-Effizienz und die Einhaltung der Richtlinien (Compliance).
- API-Management bietet Entwicklern eine konsistente und sichere Möglichkeit, APIs zu erstellen und zu verbreiten sowie den Zugriff zu kontrollieren.
Fazit
Im Zeitalter der Cloud ist bis auf wenige Ausnahmen jede Anwendung mobil. Um die Benutzerfreundlichkeit sicher zu stellen, muss die App eine attraktive Benutzeroberfläche haben, einfach zu navigieren sein und ohne Zeitverzögerung funktionieren. Transaktionen und Interaktionen mit Datenbanken, die sich auf Cloud-basierten oder lokalen Servern befinden, müssen sicher sein und mit Desktop- und Webanwendungen synchronisiert werden.
Um diese Anforderungen zu erfüllen, muss eine mobile Anwendung und Schnittstelle entwickelt werden, die native Unterstützung für verschiedene Gerätetypen, verschiedene Betriebssysteme und eine Vielzahl von Bildschirmauflösungen bietet. Eine weitere Anforderung ist die Integration mit eigenen und fremden Daten sowie mit Anwendungen und Workloads, die von der IT entwickelt oder über ein Software-as-a-Service-Abonnement abgerufen werden. Schließlich sind Werkzeuge zur Verwaltung dieser Prozesse, zur Bereitstellung und zur Leistungsüberwachung notwendig.
Eine MBaaS- oder BaaS-Plattform stellt als Dachtechnologie eine breite Palette von Tools zur Verfügung, mit der Entwickler mobile Erlebnisse schaffen können.
Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!