Wir, die wissenswerft, entwickeln seit Jahren sukzessive in und parallel zu den Kundenprojekten ein Backend-Framework.
space.one wird mittlerweile für zahlreiche App-Lösungen (Web und mobil) eingesetzt.
Die Motivation zur Entwicklung dieser Lösung begründet sich in zwei Trends bzw. Anforderungen aus der betrieblichen Praxis.
1. Abbildung heterogener Datenstrukturen auf einer Plattform
Vor 12 Jahren haben wir begonnen, für einen Kunden eine Kommunikationsplattform zu entwickeln und zu betreiben. Vor ca. fünf Jahren wurde diese Plattform um eine Mandantenfähigkeit erweitert, mit dem Ziel, verschiedenen Fachabteilungen die Möglichkeit zu bieten, eigene Themen und Inhalte zu verwalten und ausgewählten Nutzergruppen zugänglich zu machen. Mit Einführung und Nutzung der verschiedenen Mandantenbereiche durch die Fachabteilungen wuchs auch zunehmend der Bedarf nach Möglichkeiten zur Abbildung individueller Datenstrukturen und Funktionalitäten. Dies stellte insofern eine große Herausforderung dar, als mit zunehmender Nutzung der Plattform auch die Anforderungen an Stabilität, Performance und hoher Wartbarkeit stiegen.
Unsere Lösung zur Umsetzung basierte auf zwei grundlegenden Entwicklungskonzepten: Hohe Konfigurierbarkeit von Basisfunktionen, die in verschiedenen Kontexten genutzt werden und Schaffung einer Möglichkeit, dynamische Inhaltstypen und Strukturen zu erstellen und zu verwalten.
Als weiteres Projekt hat die wissenswerft eine Service-App entwickelt, die in mehr als 25 Ländern – jeweils an die Marktgegebenheiten angepasst – im Einsatz ist. Die verschiedenen Apps greifen dabei alle auf ein gemeinsames Backend zu, welches die länderspezifischen Inhalte verwaltet. Mit der Weiterentwicklung der App und durch neue Anforderungen der Märkte, entstand auch in diesem Projekt der Bedarf nach einer höheren Anpassbarkeit des Backends. Insofern war es naheliegend, das App-Backend ebenfalls in die Plattform zu integrieren. Daraus erwuchs eine weitere Anforderung zur Bereitstellung von Datenschnittstellen zur Kommunikation mit den Apps, unter Berücksichtigung der flexiblen Datenmodelle und spezifischen Anforderungen der einzelnen Apps.
Um auch hier die Komplexität zu reduzieren und eine hohe Wartbarkeit zu gewährleisten, galt es folgende Konzepte in der Entwicklung umzusetzen:
- Automatische Generierung von Datenschnittstellen (APIs) auf Basis des dynamischen Datenmodells
- Möglichkeit zur individuellen Anpassung der APIs an die Bedarfe des Clients
2. Erschließung von Synergien und Reduzierung des Wartungsaufwandes in der App-Entwicklung
Die wissenswerft entwickelt native Apps für Android und iOS. Unsere Apps basieren durchweg auf einer Client-Server-Architektur, so dass neben den eigentlichen Apps auch immer die Entwicklung eines Backends mit entsprechenden Schnittstellen erforderlich ist. Ursprünglich haben wir für die verschiedenen App-Projekte jeweils ein separates Backend entwickelt. Dabei wurden folgende Erfahrungen gesammelt:
- Die jeweils umzusetzenden Funktionen und Komponenten sind sehr ähnlich (z.B. Nutzerverwaltung, Login/ Registrierungsprozess, Berechtigungskonzept, Inhaltsverwaltung, Push-Service, API).
- Der Aufwand der Backend-Entwicklung ist vergleichsweise hoch und es werden zusätzliche Entwickler benötigt. Siehe Schaubild!
- Der Aufwand zur Wartung und Betrieb verschiedener Backend-Systeme ist hoch. Vor diesem Hintergrund war es naheliegend, die entwickelte Plattform als Basis für weitere App-Projekte zu nutzen und in anderen Kundenprojekten als Backend einzusetzen.
Warum machen wir was wir machen und was ist unser Ziel?
In all diesen App-Projekten entstand schnell der Bedarf nach einer höheren Anpassbarkeit des jeweiligen Backends. Insofern war es naheliegend, diese App-Backends zu vereinheitlichen und die von uns entwickelte Kommunikationsplattform, mit den bereits vorhandenen Funktionen, wie Nutzerauthentifizierung und Medienmanagement, zu erweitern. Unsere Lösung basierte auf folgenden grundlegenden Entwicklungskonzepten:
- Hohe Konfigurierbarkeit von Basisfunktionen, die in verschiedenen Kontexten genutzt werden
- Schaffung einer Möglichkeit, Inhaltstypen und Strukturen dynamisch zu erstellen und zu verwalten
- Automatische Generierung von Datenschnittstellen (APIs) auf Basis des dynamischen Datenmodells
- Möglichkeit zur individuellen Anpassung der APIs an die Bedarfe des Clients
In den letzten zwei Jahren ist es uns gelungen, einen Großteil der von uns entwickelten Apps an dieses Backend anzupassen und auf diesem zu betreiben. Nach eingehender Analyse des Marktes und der potenziellen Wettbewerber im In- und Ausland, sind wir der Auffassung, dass unser Backend bereits jetzt über relevante Merkmale und Funktionen verfügt, die in Zukunft als Produktfeatures Alleinstellungsmerkmale darstellen werden.
Unser Ziel ist es, eine intuitiv und weltweit erstmals auch von IT-Managern zu bedienende Backend as a Service Plattform zu entwickeln, um somit das Problem „Ressourcenmangel“ und IT-Komplexität zu beherrschen.