Low-Code-Plugins für Graph-Algorithmen Low-Code und No-Code Entwicklung
Anbieter zum Thema
Low-Code und No-Code-Plattformen versprechen eine Softwareentwicklung, die genauso einfach ist wie die Verwendung von Word oder PowerPoint. Jedoch gilt es zunächst, die Vorteile und Herausforderungen abzuwägen, und ein einfaches und zugängliches Daten-Framework bereitzustellen.

Als Low-Code wird eine Entwicklungsmethode bezeichnet, die an Stelle von klassischer textbasierter Programmiersprache auf visuelle und modellbasierte Verfahren setzt. Dadurch können nicht nur Programmier-Laien einfacher Anwendungen erstellen. Auch professionelle Entwickler sparen mit Low-Code oft viel Zeit ein bei langwierigen Installations- und Infrastrukturaufgaben.
Während Low-Code noch grundsätzliche Coding-Skills voraussetzt, gehen No-Code-Plattformen noch einen Schritt weiter. Hier können auch Anwender ohne Programmiererfahrung per Drag-and-Drop neue mobile oder Web-Anwendungen entwickeln.
Die einfachen und schnellen Entwicklungsumgebungen liegen im Trend. Nach Einschätzung von Gartner wird bis 2024 Low-Code für fast zwei Drittel aller Anwendungen verantwortlich sein. Alle großen Software-as-a-Service (SaaS)-Anbieter bieten derzeit Funktionen an, die Low-Code-Entwicklungstechnologien beinhalten. Bereits bis Ende 2021 soll der Markt für Low-Code-Plattformen 13,8 Mrd. US-Dollar erreichen – ein Anstieg von rund 23 Prozent zum Vorjahr.
Low-Code/No-Code vs. traditionelles Programmieren
Angeschoben wird diese Entwicklung unter anderem durch COVID-19 und die Verlagerung der Softwareentwicklung ins Home-Office. Vor allem aber setzt die digitale Transformation IT-Führungskräfte mächtig unter Druck, Anwendungen schneller bereitzustellen und die Time-to-Value zu verkürzen. Low-Code/No-Code verspricht hier ein deutlich höheres Tempo. Eine Umfrage von No-Code Census ergab einen 4,6-fachen Produktivitätszuwachs gegenüber herkömmlicher Programmierung. 41 Prozent der Befragten gaben an, dass No-Code im Vergleich zudem mehr als 6-mal günstiger sei.
Mit Low-Code/No-Code ist auch die Zahl der sogenannten Citizen Developer deutlich gewachsen. Damit sind technisch versierte Mitarbeiter gemeint, die ohne formale Ausbildung oder umfängliche Programmierkenntnisse IT-Anwendungen für ihren eigenen Fachbereich erstellen. Diese neue Workforce stellt angesichts des wachsenden Fachkräftemangels in der IT eine echte Entlastung dar. So lässt sich die Projektplanung flexibler gestalten und Kosten für Mitarbeitertraining senken, während sich das Entwickler-Team stärker auf komplexe Aufgaben konzentrieren kann.
Es gibt jedoch auch einige Herausforderungen, die beim Einsatz von Low-Code und No-Code beachtet werden sollten und eine Lernkurve beinhalten. Viele bewährte Praktiken entstehen gerade erst oder sind noch relativ unausgereift. Das ist ein klarer Nachteil im Vergleich zur traditionellen Programmierung, die auf einen enormen Erfahrungsschatz, starke Communities und Best Practices zurückgreifen kann. No-Code-Plattformen bieten darüber hinaus kaum Spielraum für individuelle Anpassungen und sind in der Regel nicht differenziert genug, um spezielle Anforderungen zu erfüllen.
In manchen Fällen werden mehrere Plattformen benötigt, wobei es Zeit und Mühe kostet, sich mit den Plattformen vertraut zu machen. In vielerlei Hinsicht steckt Low-Code/No-Code also noch in den Kinderschuhen.
Daten-Framework und Graphtechnologie
Daten sind das Rückgrat für die Entwicklung von Low-Code-Plattformen. Dabei geht es weniger um singuläre Daten als vielmehr um vernetzte Daten, die in Konzepte und Module überführt werden. Die anschauliche Visualisierung komplexer Zusammenhänge und Abhängigkeiten ist entscheidend, um eine benutzerfreundliche und sehr einfache Bedienung sicherstellen zu können.
Als Fundament für No-Code- und Low-Code-Plattformen kommt hier Graphtechnologie ins Spiel. Graphdatenbanken speichern und verknüpfen große, komplexe und heterogene Daten miteinander und ermöglichen es, neben einzelnen Datenpunkten auch die Beziehungen zwischen ihnen abzufragen.
Das Modell aus Knoten und Kanten bildet Zusammenhänge so ab, wie sie tatsächlich vorliegen – egal ob im Webshop (Produkt – Kunde), im Navigationssystem (Startpunkt – Ziel), bei der Betrugsaufdeckung (Bankkonto – Transaktion) oder in IT-Netzwerken (Server – Client). Graphen erlauben einen einfachen Zugang zu komplexen Datenstrukturen und eigenen sich damit ideal als Basisbaustein für Low-Code/No- Code-Plattformen.
Graph-Algorithmen als Drag-and-Drop
Innerhalb der Graph-Visualisierung können Programmierer und Citizen Developer gleichermaßen Muster erkennen und Abhängigkeiten analysieren. Bei den Abfragen wird eine Sprache verwendet, die keine speziellen Programmierkenntnisse voraussetzt.
In Verbindung mit Business-Intelligence-Anwendungen sowie Low-Code/No-Code-Connector-Tools lassen sich Workflows weiter beschleunigen. Die BI-Plattform Looker zum Beispiel lässt sich innerhalb der Ökosystemen von Anbietern mit anderen Anwendungen verbinden und hilft Programmierern, effektive und datengestützte Entscheidungen zu treffen.
Über Low-Code-Plugins lassen sich auch Graph-Algorithmen nutzen. Die Graph Data Science Library von Neo4j bietet beispielsweise eine ganze Reihe an skalierbaren Graph-Algorithmen, die Anwender für ihre Analysen heranziehen können und einen direkten und unkomplizierten Einstieg in die Graph-Analytik ermöglichen. So sind auch komplexere Abfragen ohne große Programmier-Skills möglich. Gängige Abfragen wiederum lassen sich als vorgefertigte Drag-and-Drop-Module fest im Graphen hinterlegen und in benutzerdefinierte Pipelines zusammenfassen.
Drei Entscheidungsfaktoren
Bei der Frage, ob sich Low-Code/No-Code als Entwicklermethode für ein Projekt eignet, sollten Unternehmen drei Aspekte berücksichtigen:
Komplexe Anwendungen
Während Low-Code/No-Code sich sehr gut für die schnelle Entwicklung von einfachen Apps eignet, stoßen beide Verfahren bei komplexeren Anwendungen schnell an ihre Grenzen. Je individueller und damit umfangreicher die Anwendung, desto mehr Know-how ist gefragt. Komplexe Backend-Probleme benötigen erfahrene Programmierer. Das gleiche gilt für benutzerdefinierte Logik, tiefgreifende Analysen oder domänenspezifische Funktionen.
Sicherheit
Sicherheitskritische Anwendungen eignen sich wenig für Low-Code/No-Code. In der Regel verfügen Plattformen, die meist in der Cloud gehostet werden, über voreingestellte Sicherheitskonfigurationen. Diese lassen sich aber selten an spezifische Unternehmens- oder Branchenanforderungen anpassen.
Auch das Risiko von Schatten-IT durch selbstentwickelte Anwendungen steigt. Nicht jede No-Low-Anwendung wird automatisch der IT gemeldet und damit ins IT-Portfolio aufgenommen, um gewartet und auf Sicherheitsrisiken und Compliance hin regelmäßig überprüft zu werden. Oft stellt sich auch die Frage, ob diese Anwendungen überhaupt in die zentrale, unternehmenseigene Management-Plattform integriert werden kann.
Barrierefreiheit
Low-code/No-code behandelt den barrierefreien Zugang für Nutzer eher nachlässig – oft erst nachträglich und nicht als ein integraler Bestandteil einer Anwendung. Features wie Spracheingabe/Sprachausgabe oder Screenreader finden sich nicht immer in den Modul-Vorlagen. Diese Hilfsmittel in die Software im Nachgang zu integrieren kann wiederum zeitaufwändig und kostspielig sein.
Grundsätzlich bewegt sich Low-Code/No-Code auf einem Spektrum zwischen zwei Punkten: Modifizierbarkeit und Benutzerfreundlichkeit. Je einfacher die Plattform zu bedienen ist, desto schwieriger ist es, die zu entwickelnde Anwendung nutzerspezifisch anzupassen. Je größer die Anpassbarkeit, desto schwieriger sind die Aufgaben bei der Programmierung und desto mehr Programmier-Know-how ist gefragt.
In welchem Umfang Low-Code/No-Code-Plattformen zum Einsatz kommen, hängt somit immer von den Rahmenbedingungen des Projekts und den Anwendungen selbst ab. Ein guter Kompromiss ist dabei die Kombination aus Low-Code und Manual-Code, um sowohl von höherer Geschwindigkeit bei der App-Entwicklung als auch von der Möglichkeit individueller Anpassungen zu profitieren.
* Als VP Field Engineering EMEA and APAC bei Neo4j unterstützt Stefan Kolmar Kunden beim Management von Großprojekten sowie bei Architekturkonzepten mit der Graphdatenbank. Er ist seit 22 Jahren in der IT-Beratung unterwegs und blickt auf umfassende Datenbank-Expertise zurück (Oracle, Tandem NonStop SQL, Informix, etc.).
(ID:47732809)