Eine neue Ära der Softwareentwicklung?

Low-Code-Plattformen: Wie praxistauglich sind sie wirklich?

Michaela Landwehr

© Shutterstock / Peshkova

Im Zeitalter der digitalen Transformation stehen Unternehmen vor der großen Herausforderung, immer mehr Anwendungen in nur kurzer Zeit umsetzen zu müssen. Hinzu kommen unterschiedliche Technologien und Systeme, die unternehmensübergreifend integriert werden müssen. Um den steigenden Anforderungen gerecht zu werden, setzen Unternehmen daher vermehrt auf Low-Code-Plattformen.

Elmar D. ist IT-Leiter eines international agierenden, mittelständischen Fertigungsunternehmens. Im Zuge der Digitalisierung beschäftigt sich sein Unternehmen tagtäglich mit Themen wie beispielsweise immer kürzeren Fertigungszyklen, dem Trend hin zur Losgröße 1 und die dadurch steigenden Arbeitszeiten sowie eine kontinuierlich zunehmende Auftragslage. Um den wachsenden Anforderungen gerecht zu werden, muss sein Team die bestehenden Geschäftsprozesse schleunigst digitalisieren. Doch das stellt für die IT-Abteilung eine große Herausforderung dar. Zum einen verschärft der anhaltende Arbeitskräftemangel die Situation ungemein. Unternehmen stehen im Zeitalter der digitalen Transformation vor der Problematik, nicht mehr genügend qualifizierte IT-Fachkräfte auf dem Arbeitsmarkt zu finden. Dementsprechend können die Projekte nicht in der entsprechenden Zeit umgesetzt werden und die bestehenden Mitarbeiter sind maßlos überlastet. Auf der anderen Seite führt die chronische Unterbesetzung der IT-Abteilungen dazu, dass die verschiedenen Fachabteilungen in der Vergangenheit auf diverse Datenbanksoftware zurückgegriffen haben, um kleine Geschäftsanwendungen schnell und kostengünstig selbst umsetzen zu können. Oder es wurden sogenannte Single Point Solutions hinzugezogen, die sich auf einen konkreten Anwendungsfall spezialisiert haben. Auch wenn diese Lösungsansätze für eine erste Problembeseitigung oftmals ausgereicht haben, tragen die entstandenen Silos nicht zu einer nachhaltigen und ganzheitlichen Digitalisierungsstrategie bei. Denn auf viele Informationen kann so gar nicht oder nur erschwert zugegriffen werden.

Das Resultat ist, dass die meisten Daten, die das Unternehmen während seines Betriebs sammelt, nicht für alle gängigen Softwarelösungen verwendet werden können. Somit kann das Potenzial nicht vollständig ausgeschöpft werden und die Flexibilität des Unternehmens wird gehemmt. Fakt ist, dass bei der Digitalisierung analoger Prozesse ein bidirektionaler Zugriff auf unterschiedliche Datenquellen eines Unternehmens – und oft auch über Unternehmensgrenzen hinweg – unumgänglich ist. Elmar D. und sein Team stehen daher vor gewachsenen Systemlandschaften und einer Schatten-IT, die schleunigst entflochten und standardisiert werden müssen. Das Ziel sollte sein, verschiedenste IT-Systeme, vorhandene Schnittstellen und Anwendungen physisch und funktional miteinander zu verknüpfen. Eine weitere Herausforderung stellt der Kostenfaktor dar. Gerade bei der Anwendungserstellung sind die größten Kostentreiber die Integrationskosten. Das heißt, die Anwendung bringt nur dann den gewünschten Mehrwert, wenn sie in zumeist bereits vorhandene Systeme, wie beispielsweise SAP, integriert werden kann. Es können aber auch andere MES- oder CRM-Systeme sowie die direkte Kopplung an Maschinen, Anlagen oder Sensoren betroffen sein. In all diesen Fällen ist der Integrationsaufwand der Kostentreiber. Außerdem darf nicht vergessen werden, dass auch nach der Fertigstellung der Anwendung hohe Kosten auf die IT-Abteilung zukommen können. Gerade die Änderungen von Software verursacht meist größere Umstände, die es zu vermeiden gilt.

Die Anforderungen steigen

Neben dem Fachkräftemangel, den heterogenen Systemlandschaften und den diversen Kostentreibern wachsen auch die Anforderungen von Kunden und Fachabteilungen im Hinblick auf die IT-Abteilung. Immer mehr Anwendungen müssen in kürzerer Zeit umgesetzt werden. Hinzu kommt, dass Technologien und IT längst im Alltag angekommen sind. Aus dem privaten Umfeld sind Kunden und Fachabteilungen den Gebrauch von Anwendungen gewohnt, die mobil, einfach und schnell funktionieren. Sie bieten schnellen Zugang zu Informationen und vereinfachen Abläufe nachweislich. Dabei steigen Lernkurve und Verständnis unbewusst weiter an. Das führt dazu, dass Kunden und Fachabteilungen zwar nicht zu IT-Experten werden, aber die Ansprüche an IT-Abteilungen stetig wachsen.

Während die private Nutzung dieser Technologien vielfach zur Gewohnheit geworden ist, stellt ihre effektive Integration in den Unternehmensalltag für IT-Abteilungen noch immer eine Herausforderung dar. Allein die Einbindung mobiler Endgeräte in die jeweilige Anwendung wirft Probleme auf. Eine konsequente Unterstützung unternehmensspezifischer Prozesse erfordert darüber hinaus individuelle Lösungen aus ausgewählten, individuell angepassten oder gar speziell entwickelten Anwendungen. Der Aufbau solcher Lösungen ist mit erheblichem Aufwand verbunden. Auch unterschiedliche Programmiertechnologien sowie fehlendes Spezialwissen über die jeweilige Programmiertechnik verschärfen die Situation ungemein.

Low-Code-Plattformen sind das Stichwort

Low-Code-Plattformen setzen genau bei den beschriebenen Herausforderungen und Anforderungen an. Wie der Begriff bereits vermuten lässt, handelt es sich bei einer Low-Code-Plattform um eine Entwicklungsumgebung für Software, die einfach übersetzt auf „wenig Code“ bzw. „wenig Programmierung“ basiert. Anwender sollen somit ohne tiefgründige Programmierkenntnisse in die Lage versetzt werden, komplexe Anwendungen selbst zu erstellen. Die häufigsten, grundlegenden Funktionen sind hierbei rein auf konfigurierbarer Ebene nutzbar und wiederverwendbar. Für Funktionalitäten, für die eine Konfiguration nicht in Frage kommt, kann die Anwendung zusätzlich durch die Erweiterung von individuellem Programmcode angereichert werden. Erst im Juni 2014 wurde der Begriff Low-Code vom Branchenanalysten Forrester Research für diese spezielle Plattformkategorie vergeben.

Über eine grafische Entwickleroberfläche wird dem Unternehmen eine Umgebung zur Verfügung gestellt, mit der interdisziplinäre Teams oder bestimmte Key-User komplette Anwendungen selbst konfigurieren können, ohne dabei programmieren zu müssen. Mittels Drag-and-drop können Prozesse und UI erstellt und Funktionen logisch miteinander verbunden werden. Die Komplexität bei der Softwareentwicklung wird somit drastisch verringert. Gerade für die ressourcenschwache IT-Abteilung von Elmar D. können Low-Code-Plattformen eine Möglichkeit darstellen, dem hohen Bedarf an Anwendungen und deren Anforderungen gerecht zu werden. Denn durch den Konfigurationsansatz können Anwendungen, je nach Business Case, bis zu zehnmal schneller erstellt werden, was die Entwicklungsgeschwindigkeit deutlich erhöht und Kosten reduziert. Mitarbeiter aus anderen Bereichen können außerdem ohne tiefergehende Programmierkenntnisse Teile der Anwendung selbständig anpassen und ändern. Kleinere Change Requests können somit zeitnah und ohne lange Wartezeiten selbständig umgesetzt werden. Dadurch kann die IT-Abteilung entlastet werden.

Aufbau der Plattform

Jede Low-Code-Plattform bildet für sich genommen eine einheitliche technologische Basis zur Vernetzung von Menschen, Prozessen und Endgeräten. Semantisch lassen sich diese, wie Abbildung 1 zeigt, in die Bereiche Personen-, Prozess-, Informationsintegration sowie Applikationsplattform aufgliedern.

Aufbau einer Low-Code-Plattform [1]

Personenintegration: Low-Code-Plattformen ermöglichen die Erstellung von Multi-Channel-Applikationen. Durch modernste Webtechnologien müssen Anwendungen nur einmal konfiguriert werden, um diese auf allen Endgeräten wie beispielsweise Desktop, Smartphone, Tablet oder einem Wearable mit dem jeweiligen Betriebssystem nutzen zu können. Dank dem Einsatz von Identifikatoren kann das responsive Webdesign entsprechend dem jeweiligen Endgerät angepasst und optimiert dargestellt werden. Unabhängigkeit von Endgeräten bedeutet auch, dass sehr einfach neue innovative Geräte und Technologien eingesetzt werden können, ohne die eigentliche Applikation ändern zu müssen. Das Interface passt sich dabei automatisch an. Sogar der Wechsel des Endgeräts während des laufenden Prozesses ist durch die Identifikatoren möglich.

Prozessintegration: Mit dem sogenannten UI Designer können einfache und intuitive Benutzeroberflächen erschaffen und gestaltet werden. Dabei greifen einige Low-Code-Plattformen auf moderne Frameworks wie beispielsweise SAPUI5 oder Angular zurück. Vorkonfigurierte Layouts und Elemente lassen sich dadurch einfach per Drag-and-drop platzieren und die jeweiligen Eigenschaften können mit nur wenigen Klicks angepasst werden. Auch das Erstellen von Elementen und Vorlagen zur weiteren Verwendung ist jederzeit möglich. So kann sich der Anwender eine eigene Bibliothek zum Beispiel aus Tabellen, Buttons und ganzen Log-in-Formularen anlegen. Damit lassen sich fast alle Aufgaben, Einstellungen, Designs, Logiken usw. mittels einer UI-Oberfläche und entsprechender Elemente konfigurieren und in die Systemlandschaften integrieren. Die Qualitätsanforderungen können somit trotzdem eingehalten werden. Abbildung 2 zeigt den UI Designer der Low-Code-Plattform Simplifier.

UI Designer der Low-Code-Plattform Simplifier [1]

Im Process Designer können anschließend Navigationsschritte und Prozesslogiken erstellt werden, ohne dabei Code anfassen zu müssen. Mittels der Unterteilung in einzelne sogenannte User Stories innerhalb des Process Dashboards können wiederverwendbare Prozesse definiert werden, die kollaborativ von mehreren Entwicklern bearbeitet werden können. Individuelle Anpassungen, Erweiterungen oder die Verwendung von speziellen Funktionen sind je nach Bedarf trotzdem durch die Verwendung von Code möglich. Abbildung 3 zeigt den Process Designer der Low-Code-Plattform Simplifier.

Process Designer der Low-Code-Plattform Simplifier [1]

Informationsintegration: Durch moderne Schnittstellentechnologien bzw. Konnektoren ermöglichen Low-Code-Plattformen die Integration in verschiedene Systemlandschaften. Der Konnektor selbst kann in diesem Zusammenhang mit einer Datenpipeline verglichen werden, die den Zugang zu den Daten herstellt. Dabei beschreibt er genau, welche Systeme angesprochen und welche Protokolle dabei genutzt werden sollen. Mithilfe von Konnektoraufrufen können die festgelegten Systeme auf eine eindeutig definierte Art und Weise angesprochen werden. Daraus ergibt sich der Vorteil, dass Anwendungen auf die benötigten Informationen gebündelt aus mehreren unterschiedlichen Systemen zugreifen können. Denn einmal angelegt, funktioniert beispielsweise das Senden von E-Mails aus einer Anwendung heraus genauso einfach wie das Durchführen eines SOAP Requests oder die Abfrage von Maschinendaten. Somit können mittels Low-Code-Plattformen Integrationsaufwände auf ein Minimum reduziert und die Anbindung von beispielsweise MES-Systemen, CRM-Systemen oder die direkte Kopplung an Maschinen, Anlagen oder Sensoren vereinfacht werden.

Sollten sich die Anforderungen der Anwendung ändern und beispielsweise ein angebundenes System durch ein anderes ersetzt werden, muss lediglich die Konfiguration der Schnittstelle angepasst werden. So lässt sich eine erstellte Unternehmensanwendung auch in einem anderen Unternehmensbereich verwenden, in dem eventuell andere Systeme eingesetzt werden. Des Weiteren ermöglicht der Einsatz von Businessobjekten die Einbindung von komplexen Anwendungen und Formen mit entsprechender Businesslogik. Das bedeutet, dass bestimmte Teilfunktionen der Anwendung, die nicht konfigurativ abbildbar sind, durch Programmcode wie beispielweise JavaScript ergänzt werden können. Businessobjekte können dabei sowohl client- als auch serverseitig geschrieben werden. Das Ausführen der Businessobjekte auf dem Server hat gerade für komplexere oder sicherheitsrelevante Anwendungen den großen Vorteil, dass Berechnungen mit einer höheren Geschwindigkeit durchgeführt werden können. Daneben können jedoch auch clientseitige Formen auf dem jeweiligen Endgerät berechnet werden, um zum Beispiel Clientfunktionen zu ermöglichen und Berechnungen offline durchführen zu können.

Daneben können zusätzliche Funktionalitäten und das Auslagern von größeren Berechnungen auf externen Servern mittels Plug-ins umgesetzt werden. Unter Plug-ins werden dabei prinzipiell Erweiterungen verstanden, die es ermöglichen, zusätzliche Programme, die das jeweilige Unternehmen bereits in Betrieb hat, an die Low-Code-Plattform anbinden zu können. Voraussetzung für die Anbindung ist lediglich, dass das Plug-in ein unterstütztes Protokoll verwendet. Im Hinblick auf die Programmiersprache sind keine Grenzen gesetzt.

Applikationsplattform: Die Applikationsplattform besteht aus einer nichtblockierenden, hochskalierbaren Anwendungsarchitektur nach sogenannten REST-Prinzipien. Außerdem existiert ein nativer mobiler Client für alle gängigen Betriebssysteme. Dank der Webtechnologien und Schnittstellen können Anwendungen nahtlos zwischen öffentlichen, privaten und virtuellen privaten Clouds verschoben werden. Somit ermöglichen Low-Code-Plattformen die Nutzung sowohl in der Cloud selbst als auch On-Premises im Unternehmen. Des Weiteren bieten IaaS-Plattformen wie Cloud-Foundry- und Docker-Container-Technologien die optimale Basis für die Laufzeitumgebung der Software. Somit kann die Skalierbarkeit vertikal und horizontal sichergestellt werden.

Automatisierung von Routineaufgaben

Der Einsatz von Low-Code-Plattformen ermöglicht des Weiteren eine Automatisierung von Routineaufgaben im Hinblick auf die Programmiertätigkeiten. Bestehende Applikationsvorlagen können als Ausgangspunkt genutzt und jederzeit auf individuelle Anforderungen angepasst werden. Durch den Konfigurationsansatz werden bei der Erstellung von Anwendungen im Hintergrund automatisch sogenannte Code-Snippets generiert. Unter Snippet wird dabei ein Programmierbegriff verstanden, der einen kleinen Bereich von wiederverwendbarem Quellcode, Maschinencode oder Text beinhaltet. Im Vergleich zum manuell geschriebenen Code können somit einheitliche Qualitätsrichtlinien eingehalten werden. Dadurch können im Wartungsfall Fehler schneller identifiziert und über die Konfiguration wieder behoben werden. Zudem können Change Requests wesentlich schneller und effizienter umgesetzt werden, da Anpassungen nicht im Quellcode der Applikation erfolgen müssen, sondern einfach über die entsprechenden Konfigurationsobjekte geändert oder erweitert werden können. Die Möglichkeit zur Wiederverwendung bereits vorhandener Konfigurationselemente spielt dabei eine entscheidende Rolle.

Fazit

Durch die Verwendung von Low-Code-Plattformen können Elmar D. und sein Team Zeit, Ressourcen und Kosten für die Erstellung, Weiterentwicklung und Wartung von Anwendungen einsparen. Durch den Konfigurationsansatz der Low-Code-Plattformen kann der Fachbereich als vollwertiges Mitglied in die gesamte Softwareentwicklung integriert werden. Das hat den entscheidenden Vorteil, dass konkrete Problemstellungen der Fachabteilungen direkt in die Anwendungserstellung mit einfließen können und somit eine Use-Case-nahe Lösung geschaffen wird. Dadurch werden die Grenzen zwischen IT und Fachabteilung kontinuierlich abgebaut und eine bessere Zusammenarbeit gewährleistet; Arbeitsabläufe können somit effizienter gestaltet werden. Zudem bieten Low-Code-Plattformen als neue Art der Softwareerstellung große Potenziale zur Etablierung neuer Geschäftsmodelle oder zur Steigerung des Innovationsgrades von Unternehmen.

Geschrieben von
Michaela Landwehr
Michaela Landwehr
Die mittlerweile bei Continental als Projektmanagerin tätige Michaela Landwehr war Content Specialist der iTiZZiMO AG und setzte sich tagtäglich mit den Themenbereichen Digitalisierung, Industrie 4.0, schnelle Anwendungsentwicklung, Datenintegration und Low-Code auseinander. Durch ihre bisherigen Berufserfahrungen in einem Industriekonzern sowie in verschiedenen Medienunternehmen kennt sie die Herausforderungen der digitalen Transformation und weiß, vor welchen Problemstellungen Unternehmen aus dem B2B-Sektor stehen.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: