Verschiedene Ansätze der Programmierung Low-Code-Grenzen überwinden

Ein Gastbeitrag von Christof Langer *

Der Fachkräfte-Mangel trifft Unternehmen und Behörden auch im Zuge der Digitalisierung. Deshalb erfreut sich Softwareentwicklung per Low-Code einer wachsenden Beliebtheit. Aber nicht alle Low-Code-Plattformen sind in der Lage, komplexe, variantenreiche Prozesse zu digitalisieren.

Anbieter zum Thema

Was die Prozessmodellierung anbelangt, unterscheiden sich die meisten Low-Code-Plattformen nicht grundlegend von der klassischen Software-Programmierung.
Was die Prozessmodellierung anbelangt, unterscheiden sich die meisten Low-Code-Plattformen nicht grundlegend von der klassischen Software-Programmierung.
(© vege - stock. adobe.com)

Der Begriff „Low-Code“ beschreibt einen Ansatz in der Software-Entwicklung, der mit weniger Programmieraufwand auskommt und weniger Programmierkenntnisse erfordert. Statt textbasierte Programmiersprachen zu verwenden, arbeiten die Developer in einer grafischen Entwicklungsumgebung und setzen ihren Code aus vordefinierten Bausteinen zusammen. Konfigurieren statt programmieren lautet die Devise.

Ziel des Low-Code-Ansatzes ist es, Fachkräfte zu befähigen, als „Citizen Developer“ Anwendungen oder Teile davon selbst zu erzeugen und dadurch die IT-Mannschaft zu entlasten. Die Low-Code-Programmierung ist auf dem Vormarsch. Gartner prognostiziert, dass 2024 schon 65 Prozent der Unternehmen mit Low-Code entwickeln werden. Der weltweite Markt für Low-Code-Entwicklungstechnologien, der laut Gartner im letzten Jahr ein Volumen von 13,8 Milliarden US-Dollar erreichte, soll sich bis zum Ende des Jahrzehnts verzehnfachen.

Inzwischen gibt es Hunderte von Low-Code-Plattformen und ihre Zahl nimmt weiter zu. Zum Teil unterscheiden sich die Plattformen erheblich in der Herangehensweise bei der Prozessmodellierung, im Lernaufwand für die Entwickler und der Schnelligkeit, mit der sie ihre ersten Anwendungen entwickeln können. Das ist bei der Auswahl zu berücksichtigen.

Ein Code für alle Anwendungen

Klassische Low-Code-Plattformen erzeugen für die einzelnen Anwendungen immer noch einen individuellen Quellcode, der geändert und für jede Installation nutzbar gemacht wird. Außerdem muss der Entwickler ein Datenmodell bauen und sich darüber Gedanken machen, wie er die Persistenz der Daten gewährleistet, d.h. er muss eine Datenbank anlegen. Das erfordert nicht nur Know-how, sondern erlaubt auch keine generische Anwendungsentwicklung.

Eine neue Generation von Plattformen verfolgt hingegen einen generischen Ansatz, d.h. sie bedient alle Anwendungen aus einer einheitlichen Software-Lösung, die nur kundenindividuell konfiguriert wird. Das schließt nicht aus, dass die Anwendungen um Javascript-Code ergänzt werden können. Aber dieser – oft sogenannte – „Professional“-Code muss nicht ausgerollt werden, sondern wird in der Plattform gekapselt, so dass sich ihre Kernfunktionen nach wie vor zentral updaten lassen.

Dank des generischen Ansatzes sind diese Plattformen universeller einsetzbar. Sie erlauben es, komplexe administrative, kommerzielle und/oder technische Prozesse im Industrie-4.0-Umfeld zu 95 bis 100 Prozent rein durch Konfiguration abzubilden. Die Anwendung für einen Einkaufsprozess ist genauso aufgebaut wie die für einen technischen Prozess z.B. für die Überwachung eines Chemie-Silos, so dass sich beide Prozesse sehr einfach verknüpfen lassen.

Im Prinzip handelt es sich also mehr um No-Code- als um Low-Code-Plattformen, weil sie (fast) ohne Programmierung auskommen. Der Begriff „No-Code“ weckt jedoch falsche Assoziationen bzw. wird oft missverstanden, weil er suggeriert, dass No-Code-Plattformen funktionale Einschränkungen haben und deshalb nur für die Digitalisierung einfacher Prozesse genutzt werden können. Das hat jedoch weniger mit Low- oder No-Code-Ansatz zu tun als mit der Frage, wie die Prozesse mit der jeweiligen Plattform modelliert bzw. eben nicht modelliert werden müssen.

Alternative zur Prozessmodellierung

Die meisten Low-Code-Plattformen unterscheiden sich nicht grundlegend von der klassischen Software-Programmierung, was die Prozessmodellierung anbelangt. Der Entwickler modelliert zunächst den Prozess mit allen Gateways, um ihn ausführbar zu machen. Das führt bei komplexen, variantenreichen Prozessen zu einer riesigen „Prozesstapete“, die kaum noch überschaubar ist und in den seltensten Fällen alle Ausnahmen abdeckt. Jedes Gateway erhöht die Komplexität um den Faktor zwei, was ein exponentielles Wachstum von Prozesspfaden und Aktionen zur Folge hat. Man denke nur an die Geschichte vom Reiskorn auf dem Schachbrett.

Es gibt jedoch alternative Ansätze bzw. Technologien, die nicht sequenziell, sondern regelbasiert bzw. eventgetrieben von einer Aktion zur nächsten bzw. zu einer optionalen Auswahl mehrerer Aktionen steuern. Statt den Prozess abzubilden, entsteht die Software für den Prozess durch die Definition von Aktionen bzw. Aktionstypen und Aktionsregeln, die die Geschäftslogik abbilden. Diese Regeln hängen an bestimmten Prozesszuständen oder Status und bestimmen, wann welche Aktion ausgeführt wird. Über die Ausführung der Aktion transformiert sich der Prozess dann in neue Zustände.

Vorteil dieses generalisierten regelbasierten Ansatzes ist, dass selbst komplexe Prozesse mit einer überschaubaren Anzahl von Aktionen auskommen. Sie steigt mit zunehmender Komplexität der Prozesse nicht exponentiell, sondern linear.

Schneller als mit agilen Sprints

Dadurch dass die Citizen Developer nicht erst ein Prozessmodell erstellen und in Software „gießen“ müssen, sondern die Lösung einfach durch Konfiguration erzeugen können, ist der Ansatz höchst agil. Es lohnt sich fast nicht, agile Sprints aufzusetzen, weil die Apps oft schon vor dem ersten Sprintende fertig sind. Die Software lässt sich sozusagen „im Stundentakt“ entwickeln. Die Entwickler sind nicht nur wesentlich schneller als mit der klassischen Low-Code-Programmierung, sondern fangen auch wesentlich früher, manchmal schon zu Beginn der zweitägigen Schulung an, ihre ersten Web-Apps zu konfigurieren.

Ein erster Prototyp lässt sich innerhalb weniger Stunden erstellen und kann sofort zur Laufzeit getestet werden. Mit der Benutzeroberfläche der generischen Software konfiguriert der Entwickler nicht nur die Anwendung, sondern auch das generische Frontend, so dass die Lösung sofort verfügbar ist. Parallel zur Konfiguration entsteht automatisch die Dokumentation, die als Handbuch oder sogar als Spezifikation für die Abnahme der Lösung genutzt werden kann.

Dipl.-Ing. Christof Langer: „Irgendwann macht man sich über einen generischen Ansatz Gedanken, um nicht alles immer neu machen zu müssen.“
Dipl.-Ing. Christof Langer: „Irgendwann macht man sich über einen generischen Ansatz Gedanken, um nicht alles immer neu machen zu müssen.“
(Bild: Allisa Software GmbH)

Solch ein generischer, regelbasierter Ansatz der Konfiguration lässt sich perfekt mit etablierten Geschäftsprozessen und IT-Systemen kombinieren. Für die Anbindung anderer Anwendungen stehen zahlreiche Schnittstellen zur Verfügung. Über eine standardisierte REST-API kann die Systemlogik auch zur Aussteuerung von externen Prozessen genutzt werden. Damit bietet dieser Ansatz ein Höchstmaß an Flexibilität bei der Digitalisierung von Geschäftsprozessen und von industriellen Prozessen im I4.0-Umfeld. Unternehmen können damit schneller auf neue Marktanforderungen reagieren, bestehende Systeme einfacher integrieren und ihre Software-Architekturen Schritt für Schritt modernisieren.

* Christof Langer, geb. 1968, ist geschäftsführender Gesellschafter der Allisa Software GmbH und Dozent für Digital Business Management an der Euro-FH University of Applied Science Hamburg. In der Softwarebranche ist der diplomierte Luft- und Raumfahrtechnikingenieur seit 1998 tätig. Herr Langer lebt und arbeitet im Großraum Hamburg.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:48078748)