Geschäftsanwendungen in Low-Code-Umgebungen zu entwickeln ist kein neuer Ansatz mehr – viele Unternehmen sind sich der Vorteile bewusst.
In enger Absprache mit der IT ausgelieferte Lösungen aus Low-Code-Projekten benötigen weniger zeitliche sowie personelle Ressourcen. Die fertigen Applikationen erfüllen passgenau die Anforderungen der Anwender, fügen sich in die Geschäftsumgebung ein und lassen sich individuell skalieren.
Die Vorteile dieser Entwicklungsmethode liegen auf der Hand. Auch die Analysten von Gartner prognostizieren daher, dass bis 2024 mehr als 65 Prozent der Anwendungsentwicklung über Low-Code-Anwendungen erfolgen wird. Doch die Auswahl an Low-Code-Plattformen ist groß – nach welchen Funktionen sollten Anwender daher ihre Plattform am besten auswählen?
Zusammengesetzt vs. integriert
Zusammengesetzte Plattformen verknüpfen eine Gruppe unterschiedlicher Ressourcen miteinander. Ein spezielles Formular-Werkzeug kann dann zum Beispiel mit mehreren Datenquellen verbunden sein, ein Workflow kann die APIs (Application Programming Interfaces, Programmierschnittstellen) einer Vielzahl von in der Cloud gehosteten Webdiensten aufrufen und eine weitere Komponente könnte für die Datenpräsentation und die Metriken zuständig sein. Mit solchen Plattformen können Anwender entsprechend aus bereits vorhandenen, ansonsten unverbundenen Ressourcen neuen Mehrwert schöpfen.
Oft müssen diese Assets jedoch erst gesucht, individuell entwickelt oder einzeln angepasst werden. Hat man diese dann doch erfolgreich zu einer Anwendung verknüpft, steht man häufig vor der nächsten Herausforderung – dem Deployment. Denn die Bereitstellung dieser verknüpften einzelnen Assets aus einer Entwicklungs- in eine Test- oder Produktionsumgebung kann sehr komplex und aufwendig werden.
In integrierten Plattformen hingegen erstellen Anwender Formulare, Workflows, Datenschemata und Berichte ganzheitlich. Auch, wenn die Anwendung mit externen Daten verbunden ist, enthält sie zum Großteil die eigenen Komponenten. Integrierte Plattformen machen die Versionierung und Bereitstellung von Anwendungen leichter, da diese als kohärentes Ganzes erstellt werden. Zudem bieten sie alle Komponenten einer Low-Code-Plattform unter einem Dach und in einem einzigen Tool. Entwickler müssen die Umgebung und die Tools nicht wechseln, um Daten zu modellieren oder Benutzeroberflächen und Prozesse zu erstellen.
Im Ernstfall müssen Anwender die erstellten Applikationen außerdem wiederherstellen können. Eine Low-Code-Plattform sollte entsprechend nahtlose Backups, Migrationen und Aktualisierungen der zugrunde liegenden Technologie zulassen.
Application Lifecycle Management (ALM)
Eine gute Low-Code-Lösung ist in der Lage, Anwendungen in einer einzigen Umgebung zu erstellen, sie in einer anderen zu testen und in einer weiteren Umgebung für die Produktion einzusetzen. Ist das nicht möglich, müssen Anwendungen während der Nutzung bearbeitet werden – was hohe Risiken aufgrund der temporären Instabilität der Applikationen birgt. Auch hier bieten integrierte Lösungen Vorteile: Anwendungen, deren Komponenten als Set erstellt wurden, lassen sich leichter implementieren als solche, die vollständig aus externen Abhängigkeiten bestehen.
Doch auch integrierte Plattformen können externe Abhängigkeiten enthalten; idealerweise kann die Low-Code-Plattform Schnittstellen und Verbindungen also verwalten und automatisch anpassen, sobald eine Anwendung von einer Umgebung in eine andere übernommen wird. So wird beispielsweise während der Entwicklungs- und Testphase einer Anwendung in der Low-Code-Plattform die API zur Testinstanz eines Drittsystems angesprochen oder eine Verbindung zu einer Datenbank mit Testdaten genutzt.
Mit Auslieferung der Anwendung in die Produktivumgebung werden diese Verbindungen dann „scharf geschalten“, indem sie automatisch auf die Produktivinstanz des Drittsystems bzw. die Datenbank mit Echtdaten wechselt. Manuelle „Bereinigungen“ nach der Bereitstellung lassen sich so vermeiden.
Prozess-Engine
Ob diese nun als Skript, Workflow, Automatisierung, Prozess oder Orchestrierung bezeichnet wird – nahezu jede Plattform verfügt über eine Art von Ausführungs-Engine, die Aufgaben automatisieren kann. Vor allem im Enterprise-Umfeld sind folgende funktionale Unterschiede zwischen den Engines zu beachten, welche die Spreu vom Weizen trennen, also unausgereifte von ausgereiften Low-Code-Plattformen unterscheiden. Die Workflow-Engines von Enterprise-fähigen Low-Code-Plattformen können:
- Berechtigungen, Zuständigkeiten und Aufgaben zuweisen und bei Bedarf neu vergeben;
- auf eine Vielzahl von Ereignissen und Aktivitäten reagieren und geeignete Maßnahmen ergreifen,
- Prozesse zulassen, die vorwärts, rückwärts oder seitwärts verlaufen können
- sowie diese effektiv an die Stakeholder des Unternehmens kommunizieren;
- sich durch benutzerdefinierten Code und/oder Anbindung an externe Dienste und automatisierte Logiken erweitern lassen.
Change Management
Darüber hinaus sollte eine Low-Code-Plattform die einfache Durchführung von Aktualisierungen und Rollbacks unterstützen – denn jede Anwendung muss im Laufe der Zeit aktualisiert werden, um mit den sich ändernden Anforderungen im Geschäftsalltag mithalten zu können. Diese Änderungen sollten nicht nur schnell und sicher durchführbar sein, sondern auch den operativen Betrieb geringstmöglich stören – egal ob es sich dabei um die Änderung oder das Hinzufügen eines Formularfelds handelt, die Prozesslogik angepasst oder eine neue Funktion oder Schnittstelle hinzugefügt wird.
Es dürfen also keine langen Unterbrechungen durch die aufwendige Wiederherstellung von Daten auftreten oder gar Daten verloren gehen, die zu den in der Anwendung laufenden Geschäftsprozessen gehören. Genauso sollten Nutzer die Applikation nicht von Anfang an neu starten oder nochmals abarbeiten müssen. Vielmehr sollten die Anwender in ihrer Arbeit nicht unterbrochen werden, sondern sich einfach über neue Funktionen freuen, die ihnen den Arbeitsalltag erleichtern. Technisch ausgereifte Low-Code-Plattformen ermöglichen die sofortige und einfache Umsetzung von Änderungen, ohne dabei den operativen Betrieb zu stören.
Eine Low-Code-Plattform sollte also nicht nur auf die Produktivität während der Entwicklungsphase ausgelegt sein, sondern während des gesamten Anwendungs-Lebenszyklus.
Cloud, on-premise – oder beides?
Beim Cloud-first-Ansatz sollten Anwender bedenken, dass aufgrund von gesetzlichen Bestimmungen und Zertifizierungskriterien oder auch internen Richtlinien manche Daten und Prozesse auch heute nicht in die Cloud verlagert werden können. Im Idealfall lässt eine Low-Code-Plattform das Hosting entsprechend sowohl vor Ort als auch in der Public Cloud zu – steht also als vollständig isolierte Plattform in einem separaten Tenant oder als Software-as-a-Service-Plattform in einer öffentlichen Cloud zur Verfügung.
Anwender müssen dann prüfen, ob eine Plattform sowohl von lokalen als auch von Cloud-Umgebungen auf die entsprechenden Ressourcen zugreifen kann, und Berechtigungen sowie Sicherheitsaspekte bei den jeweiligen Lösungen bedenken.
Ist eine Plattform sowohl in der Cloud (entweder als Cloud-gehostete Lösung oder als Software-as-a-Service-Angebot) als auch on-premise verfügbar, müssen ebenfalls Funktionsparität und Plattformkompatibilität bestimmt werden: Können also Lösungen, Daten und Prozesse zwischen Servern on-premise und einer oder mehreren Cloud-Umgebungen verschoben oder migriert werden?
Wie bei den meisten Entscheidungsprozessen gibt es auch bei der Auswahl einer Enterprise-Low-Code-Plattform zur Anwendungsentwicklung- und Bereitstellung nicht die eine richtige Antwort. Entscheidend ist, sich an den wichtigsten Aspekten der Funktionalitäten zu orientieren und darauf zu achten, dass die Plattform auf sich ändernde Anforderungen flexibel reagieren kann.
Die Plattform sollte die Nutzer während des gesamten Lebenszyklus der damit ausgelieferten Anwendungen unterstützen und nicht nur während der Entwicklungsphase die Produktivität steigern – denn diese verursacht gerade einmal 15 bis 20 Prozent des Gesamtaufwands. Nur so lässt sich das volle Potenzial von Low-Code-Anwendungsentwicklung im Unternehmen ausschöpfen.
Philipp Erdkönig ist Consultant bei WEBCON.