Why Low-Code should be Data Centric

Luigi Scappin
5 min readSep 22, 2021

Are you tired of waiting for the new digital app that modern developers are coding while playing with the last trendy bright technology? Low-Code can be the solution; the fastest way to build applications moving the logic from code to data.

What kind of Low-Code?

If you ask around what Low-Code means, you can get different answers.

For a developer, low-code is “just a way to leverage and orchestrate existing APIs exposed by apps and micro-services in order to build nice user interfaces”.

If the developer is “lazy”, low-code is “also a way to automatically generate some code leveraging a nice visual user interface and a very simplified deployment platform”.

For an application or SaaS provider, low-code is “just a way to customise and extend an application or a SaaS service, especially on the user interface”.

Nevertheless in both cases, the code is still there, on applications or micro-services. Low-code is just used to build or customise the user interface, or to design and orchestrate a business process.

However, Low-Code can be also “the way to build applications moving the logic from code to data”.

In other words, Low-Code can be a Data Centric way of building applications, any kind of applications.

Data Centric Low-Code User Case

“When doing data-driven programming, one clearly distinguishes code from the data structures on which it acts, and designs both so that one can make changes to the logic of the program by editing not the code but the data structure.”

Eric Steven Raymond, The Art of Unix Programming

I know that by quoting this book I unveiled my age… ;-)

However I do believe that “modern” developers should read more books and design better architectures before starting coding.

Let me tell you a nice story about a big company building a new modern digital application leveraging a micro-services architecture.

The big company involved a big system integrator providing dozens of “modern” developers who coded dozens of micro-services, putting all the application logic inside the code.

Very soon the project become hard and slow to evolve and to maintain, while the number of developers involved was continuously growing increasing further the maintenance costs.

At the end the big company decided to give a try to replace the system integrator, and involved a global consulting firm specialised on software strategy, design and engineering.

The consulting firm re-designed the software architecture, moving from lots of code-centric micro-services to very few data-centric micro-services.

Moving the application logic from code to data allowed to dramatically simplify the architecture as well as its management and maintenance.

The logic on data was well designed and documented, allowing the big company to even update or add new logic without involving any developer or system integrator.

Obviously the scalability of the overall solution was the same, given that plenty of instances of each micro-service can be easily deployed.

Now I can tell the name of the consulting firm: Thoughtworks.

I don’t work for them and I don’t have any kind of commercial relationship with them, but I have to admit that they actually did a good job.

Data Centric Low-Code Technology

Now the question is going to be: is it possible to develop a set of “general purpose” micro-services allowing to implement any kind of apps with a “generic” logic stored on data?

More in general: is there a technology allowing to implement a generic application without coding but just editing data?

The answer is, yes!

Since 1992, when the original version of Microsoft Access has been released, many “low-code databases” have been marketed, all of them aimed to allow power users to quickly build nice applications wrapped around a database.

But this kind of applications used to be quite simple, and limited in terms of scalability and enterprise capabilities, just for departmental and ghost IT.

However, nowadays the last evolution of Access named Power Apps can support very sophisticated low-code applications providing enterprise grade scalability, integration and security.

Moreover, technologies like Oracle APEX are used by big enterprise companies for quickly providing even enterprise-wide business critical applications, leveraging the enterprise grade scalability, manageability, security and availability of Oracle Database together with the agility and scalability of cloud-native architectures, and sometimes also the flexibility and automation of the deployment in public or hybrid cloud.

Data Centric Low-Code Microservices on Data Mesh

Trying to summarise: we have mature data centric low-code technologies, and we can split and distribute the data into a distributed data mesh.

Therefore we can also split and distribute the data driven low-code applications leveraging the distributed data mesh.

So, the distributed data mesh is the perfect way to implement a kind of low-code data centric microservices architecture, leveraging also the typical event-driven integration of the data mesh in order to easily implement the classic event sourcing on data centric low-code microservices.

--

--