Low-code platforms are considered as the successors to 4GL programming languages and enable the development of applications using graphical modeling tools. Classic programming languages only have to be used in exceptional cases, which offers significant advantages: On the one hand, the development time is reduced, resulting in lower costs. On the other hand, it is beneficial that the project team members who are involved in the development don’t necessarily require programming skills.
However, low-code programming raises the individual steps required for application development to a very high level of abstraction, which translates into less flexibility in implementation. When solving special problems, it may therefore still be necessary to write classic program code.
The Anexia Engine was originally designed as a modular framework that provides a broad infrastructure for creating services. This allows the development of new applications, even if they are programmed in the traditional way by software developers, to be simplified and reduced to the essentials.
The further development to a low-code platform is the next logical step in the development of this framework, which was initiated by “Generic Services & Automation”. This makes it possible to create new applications and services in a short time and with little effort, even by project staff or users without programming knowledge.
Unlike pure low-code development platforms, which are offered both as open-source solutions (e.g. Eclipse OSBP) and by commercial providers such as Oracle, Anexia’s solution isn’t a separate development environment. Rather, it is directly integrated into the Anexia Engine platform. Services created with it therefore fit seamlessly into the Engine’s user interface and can leverage existing infrastructure and interact with existing services and resources.
When creating a new Generic Service, you can focus entirely on the components that are essential for the application. This includes, for example, the data model, the application logic and the interaction with other services.
All recurring development tasks, which would otherwise take up a large part of the development work, are covered by generic code and are immediately available to the user. These include, among others:
The foundation of a Generic Service is the data model, which is created by defining entities along with their attributes and dependencies to other entities.
To bring Generic Services to life, the “Generic Automation” module offers the possibility to create so-called “Automation Rules”. This allows to map application logic through a set of rules consisting of conditions and actions and to link the application with external services via HTTP requests. Automation rules can be triggered either by user interactions (UI/API), by data changes or by periodic background jobs.
Since Generic Services are integrated into the Anexia Engine, it is possible to develop applications that are linked to existing Engine services as well as standalone applications.
The branding option, which has been available for a long time, ensures that the appearance of the Generic Services can be customized in order to convey the feeling of a standalone application.
Although the functionality of Generic Services is still in its early stages, it already makes it possible to create applications with complex data structures. Further enhancements are planned for the near future, which will continuously expand the possibilities, such as:
Due to the reduced development overhead and the associated cost savings, Generic Services has the potential to be used in customer projects as well as in the development of Anexia standard services in the future.
This service represents an exciting alternative to the services that are natively developed in the Engine, because it allows to create new services in a relatively short time and without any programming knowledge.
This enables, for example, the rapid implementation of application prototypes for customer projects and the subsequent creation and operation of productive applications. These applications can then be flexibly tailored to the changing user requirements during ongoing operation.