Low-Code Plattformen gelten als Nachfolger von 4GL-Programmiersprachen und ermöglichen die Entwicklung von Applikationen mit Hilfe von grafischen Modellierungswerkzeugen. Auf klassische Programmiersprachen muss dabei nur noch in Ausnahmefällen zurückgegriffen werden. Das bietet Vorteile, einerseits durch die verkürzte Entwicklungszeit und die dadurch geringeren Kosten, andererseits durch die Tatsache, dass die Projektmitarbeiter/innen, die an der Entwicklung beteiligt sind nicht unbedingt Programmierkenntnisse haben müssen.
Allerdings werden bei Low-Code Programmierung die einzelnen Schritte, die für die Anwendungsentwicklung notwendig sind, auf ein sehr hohes Abstraktionslevel gehoben. Das bedeutet geringere Flexibilität bei der Umsetzung. Bei der Lösung spezieller Probleme kann es somit nach wie vor notwendig sein, klassischen Programmcode zu schreiben.
Die Anexia Engine wurde ursprünglich als modulares Framework konzipiert, das eine breite Infrastruktur für die Erstellung von Services zur Verfügung stellt. Dadurch kann die Entwicklung neuer Applikationen, auch wenn sie auf herkömmliche Weise von Softwareentwickler/innen programmiert werden, vereinfacht und auf das Wesentliche beschränkt werden.
Die Weiterentwicklung zu einer Low-Code Plattform ist der nächste logische Entwicklungsschritt dieses Frameworks, der durch “Generic Services & Automation” eingeläutet wurde. Damit wird es möglich in kurzer Zeit und mit wenig Aufwand neue Applikationen und Services zu erstellen, auch von Projektmitarbeiter/innen oder Anwender/innen ohne Programmierkenntnisse.
Anders als bei reinen Low-Code Entwicklungsplattformen, die sowohl als Open-Source-Lösungen (z.B. Eclipse OSBP) als auch von kommerziellen Anbietern wie Oracle angeboten werden, ist die Lösung von Anexia keine separate Entwicklungsumgebung. Sie ist direkt in die Anexia Engine Plattform integriert. Damit erstellte Services fügen sich somit nahtlos in das User Interface der Engine ein und können bestehende Infrastruktur nutzen sowie mit bestehenden Services und Ressourcen interagieren.
Bei der Erstellung eines neuen Generic Services kann man sich vollständig auf die für die Anwendung wesentlichen Bestandteile konzentrieren. Dazu gehört z.B. das Datenmodell, die Applikationslogik und die Interaktion mit anderen Services.
Alle wiederkehrenden Entwicklungsaufgaben, die ansonsten einen Großteil der Entwicklungsarbeit ausmachen würden, werden durch generischen Code abgedeckt und stehen dem/der Anwender/in sofort zur Verfügung. Dazu gehören unter anderem:
Die Basis eines Generic Services stellt das Datenmodell dar, das durch die Definition von Entitäten und deren Attributen sowie deren Abhängigkeiten zu anderen Entitäten erstellt wird.
Um Generic Services Leben einzuhauchen, bietet das Modul “Generic Automation” die Möglichkeit sogenannte Automation Rules zu erstellen. Damit ist es möglich, über ein Regelwerk aus Conditions und Actions Anwendungslogik abzubilden und die Applikation mit externen Services über HTTP requests zu verknüpfen. Automation rules können entweder durch Benutzerinteraktionen (UI/API), durch Änderungen von Daten oder durch periodische Jobs im Hintergrund ausgelöst werden.
Da ein Generic Service in die Anexia Engine integriert ist, ist es möglich, sowohl mit bestehenden Services verknüpfte als auch eigenständige Applikationen zu entwickeln. Die bereits seit längerem bestehende Branding-Möglichkeit sorgt dafür, dass das Aussehen der generischen Services individuell an den/die Kunden/Kundin angepasst werden kann, um das Feeling einer eigenständigen Applikation zu vermitteln.
Die Funktionalität der Generic Services steckt zwar noch in den Kinderschuhen, aber ermöglicht es bereits jetzt Anwendungen mit komplexen Datenstrukturen zu erstellen. Für die nahe Zukunft sind weitere Erweiterungen geplant, welche die Möglichkeiten laufend erweitern, wie z.B.:
Durch den geringeren Entwicklungsaufwand und die damit verbundene Kostenersparnis haben Generic Services das Potential in Zukunft sowohl bei Kundenprojekten als auch bei der Entwicklung von Anexia-Standard-Services zum Einsatz zu kommen.
Sie stellen eine spannende Alternative zu den nativ in der Engine entwickelten Services dar, weil sie es ermöglichen in relativ kurzer Zeit und ohne Programmierkenntnisse neue Services zu erstellen. Das ermöglicht z.B. bei Kundenprojekten Applikations-Prototypen rasch umzusetzen und in weiterer Folge auch produktive Applikationen zu erstellen und zu betreiben, die auch im laufenden Betrieb flexibel an geänderte Bedürfnisse der Anwender/innen angepasst werden können.
Weitere Informationen zur individuellen Softwareentwicklung, Mobile App Entwicklung (iOS und Android) sowie zur Webentwicklung von Anexia