The low-code approach has become popular several times in the history of enterprise software, only to decline a few years after. The main reason of those failures is the difficulty of performing the last step towards a working solution, the legendary ‘last 10%’ of user requirements. This is especially problematic, as, very often, an application that answers to 90% of requirements is useless or rejected. A low-code approach is first relevant because it allows to quickly develop the first 90% of requirements, but that is the easy part. The hard part is to allow the development of the last 10% with a productivity equivalent to custom development. Open Lowcode has a full suite of answers to the concerns of the last 10%.
Flexible, modular and powerful business objects
Compared to a classical business software that is already taking assumptions on the processes, Open Lowcode allows you to design your business data model exactly as you need it, assocciating to each objects selected properties. Properties are powerful standard features answering to the most common requirements of enterprise software, such as workflow, auditing, lifecycle. Adaptations of graphical interface are also planned to offer in the basic application, a good enough interface.
Specific Actions and Pages
Open Lowcode is providing as standard all simple business actions for the objects as designed. However, in many cases, users wish to regroup several actions following a specific logic. As an example, in an incident tracker system on software development, it is often necessary to create a ticket or bug related to another ticket. A specific action would allow, in one click, to create the new ticket, link it to the old one,? It would also transfer to the new ticket all relevant information already existing on the old ticket, such as the component the ticket is about. This is really easy to do in Open Lowcode, as custom actions can be developed at will, and offers access to all the basic primitives that standard actions are developed upon. The case explained below is far less than 1 hour of work, including a coffee break. Specific actions can be easily integrated in standard pages of the applications, providing an easy access to them.
Specific actions can also be used to assembly all the data necessary for displaying in a specific page. Those pages can be built using the same high-level primitives standard pages are built open. The development is done through strongly typed functions that detect most errors at compile time.
Customization point in advanced features
Open Lowcode is providing complex features such as workflow. Those complex features sometimes need small customizations at specific places. As an example, in a workflow, many actions, such as validation tasks or e-mail are standard. Nonetheless,, some parts require a specific algorithm . Those specific algorithm, such as a routing function with complex logic, are always developed quicker using code. Open Lowcode is proviing, whereever needed, customization points on advanced features.
Most spreadsheet based applications make a massive use of pivot tables. Those allow to consolidate date according to chosen axis to get a synthetic view. Open Lowcode offers a similar function with the added power of consolidating data not just on a flat list of rows, but across several entities. Such report is defined assembling low-level primitives on data navigation, on criteria for rows and columns, and algorithms to consolidate the data, including advanced functions such as “sum product”.
Integration of customizations
A classical trap of rapid development tools is unmanaged mix of automatically generated development with customized development. If the mix is portly managed, the application will not be maintainable in the long-term. Open Lowcode uses object-oriented programming techniques to separate cleanly the automatically generated part of the application from the customized one. Tpyically, is time customized development is necessary, the framework will generate an abstract class or an interface, and the developer will implement this interface or abstract class. The clas will then be used by the application using the dependency inversion principle. The way of working has several advantages:
- A file is either automatically generated or manually developed, there is no mix.
- With an IDE such as Eclipse, the framework of the class to be developed will be automatically generated, making development faster
- If there is a conflict between specific and customized code in the application, a compilation error will immediately appear, making the correction faster and easier. On a large size application, the time gained is huge.
The first version of Open Lowcode framework, to be deployed later this year, offers enough customization points for the applications developed so far. It is assured that, with new users, new needs will appear. The open-source approach of Open-Lowcode provides a strategic advantage: every user who needs a customization point can develop it himself, or, at least, understand what is missing and requesting it developed for a fee. This community driven approach will allow the framework to converge on the full list of required customization points far quicker than what we see today on more classical approaches to enterprise software.