Skip to main content

Automatic application modernization

Linkedin

A more efficient migration way

Automatic application modernization

Nowadays — the application modernization is posed as one of the strategic objectives of firms — but also as a challenge — due to a huge volume of apps that have been developed over the years. The need to “port” them to a new architecture makes modernization more complex and jeopardizes the early realization of benefits and even the viability of the global initiative.

For our client — a first level financial Spanish entity — it was a must to have an agile architecture — with renewed applications that were able to integrate with other systems, with the underlying objective of assuring competitiveness in an ever-changing environment.

Once our client had the new architecture in place — they asked us for an application migration project. In this specific case — there were application developed in Visual Basic 6 technology — a programming language from the 90s, these were going to be migrated into a new web native architecture based in Angular JS and Java — valid for both web browser and mobile devices.

The project required developing a series of pilots that would show the implementation viability of the automatic migration process — thus reducing timing and costs of the migration.

The solution: Transpiler

The solution proposed by Xeridia was the migration through implementing a “Transpiler” — process that takes the written source code in a language and transforms it into another language with a similar level of abstraction.

The conceptual base of the Project is analogous to the compilers work — in which Xeridia through the Transpiler parsed the source code — performing a tokenization and generating an Abstract Syntax Tree (AST), that represents the processed code. From that AST a new code is created for the new architecture.

With all this — it was sought to maximize the migrated code — with the most direct and lineal migration possible amongst origin and destination, so that the degree of automation achieved could be effectively measured and the generated code made reliable.

Conceptual base: Compiler work

Satisfactory results were obtained with different examples of windows of different complexities and nesting (1-1, n-n, 1-n. n-1. Etc). Thus converting a desk application developed in VB6 in a web native application based in Angular JS and Java.

CORE of the proposed solution: Transpiler

A 100% operative result with minimum intervention.

Thanks to the pilots it was proved in a high percentage of cases — above 95% — that the generated code did not require any modification.

Xeridia showed that the viability of the implementation of an automatic migration process between both architectures with minimal manual interference was possible. In that way a 100% operational code is achieved and also — improve the application migration time — guaranteeing that all functionality and characteristics are kept.