The Importance of Migrations in GeneXus Development
Version migrations in GeneXus commonly include enhancements relative to the automation of the development process.
In this post I’ll outline what, in our view, is going on in technology. Also, I want it to be the initial spark or inspiration to take action from IT for digital transformation.
Our world is experiencing a multifaceted or multidimensional transition. We’re moving towards multi-experience development and a world where artificial intelligence will assist us in making decisions and automating processes.
To order all the factors in play, I’ll divide this analysis into two galaxies, as Gastón Milano, GeneXus CTO, did in his presentation
GeneXus in the short and medium term
:
–
There are transitions that occur at the users’ level, because they will work differently, and will interact differently with our solutions and systems.
–
Also, other transitions occur at the enterprise level. The enterprise world will be interacting differently as well.
All this brings profound changes to the software we will deliver, how we will integrate with the rest of the world, and even how we will develop software.
First, let’s look at the changes taking place in the world of users.
The users’ world has led us to change many systems from enterprise-centric to user-centric. In this sense, we are transitioning from the construction of a single experience to creating multiple experiences.
As a side note, but one that indicates how current this topic is, for
GeneXus to be included in Gartner’s MADP quadrant
we had to demonstrate how our technology makes multi-experience possible.
Details of the multi-experience transition:
On the other hand, companies are focusing on creating ecosystems. This explains why we in IT are moving from building enterprise solutions to building solutions for ecosystems. Within the framework of enterprise application development, Design Systems are proof of that. As for SAP, the publication of the Fiori Design System is to ensure that any solution that interacts with the ERP and is used by its users follows its guidelines to be perceived as part of its ecosystem. In this way, companies succeed in making this trend work to their advantage.
Details of the transition towards ecosystems:
From monolithic to distributed:
Moving from monolithic to distributed environments involves modularizing, providing APIs for solutions, and offering services.
Enrique Almeida, from the Uruguayan company Concepto,
mentioned in his blog
that Lucía –the Customs management system that has been installed in several countries in Latin America– integrates with more than 20 entities through web services and other connectors. I think it’s a clear example of how interconnected any system is today. In addition, it shows how it was gradually modularized, reaching more than 100 modules. The way to go to achieve distributed architectures requires modularization; this has several advantages, one of the key ones being the speed at which you can move forward. The ability to advance (through different stages of the life cycle) in one module without having to wait for another is very important. In this context, speed is key and will become increasingly so.
Multiple data sources:
The number of data sources that we will be interacting with is increasing and it will continue to do so in the future.
The files handled by our systems will be stored in more sophisticated storage systems that scale better; they are called Object Storage, such as Amazon S3. Data that used to be handled only by an RDBMS will now be scattered in sources specially designed on a case-by-case basis: they will be stored in NoSQL systems when they originate from IoT; in Streams such as Apache Kafka when we have to exchange messages between multiple systems; or even in BlockChain when a storage system is required that multiple entities can trust as a reliable source.
From Programs to Processes:
In the path towards digital transformation, automation is key and in that framework programs are not executed in isolation, but always within in the framework provided by business processes. So, first of all, we need BPM tools for process definition and formalization.
Coincidentally, in GeneXus China we’re working on several BPM projects where batch programs are guided by flows. In Uruguay, at the Social Security Institution (BPS) I also recall a BPM installation, which was mainly batch-based. The process for generating and printing all receipts for pensions and other benefits is a very complex process with calculations and derivations, all guided with BPM.
We’re also working on event-driven applications. For example, in the
Soccer Mexican League
app, one component is responsible for alerting when a goal is scored and others then react to that event; for example, one sends notifications, another updates statistics, and so on.
Serverless
Finally, another clear trend is
execution in containers or even serverless.
This scales better and for many applications is also a cheaper and more flexible solution, which only uses the resources needed at any given time.
We’re transitioning from Single experience to Multi-experience environments in the users’ world, and from Enterprise solutions to Ecosystem solutions in the enterprise world.
Some questions remain open…
How do we make our way towards digital transformation? How do we take the next step? What examples of rapid application development tools do we have?
Regarding the last question, you know you can count on GeneXus, the best rapid application development platform
.
Its value lies in the complete solution, where each component integrates with the others and is part of something much bigger. For example, we can’t think of a chatbot in isolation, because it becomes valuable when there is artificial intelligence behind it, when it is integrated into the company’s processes and starts to perform tasks for the user. This is only a small example of the advantages provided by GeneXus for AI-assisted software development.
In this transitioning world, the value of GeneXus lies in knowledge-based development, automatic maintenance, and an agile and fast development platform.
[…] Two starting points for digital transformation […]