Skip to main content

Modernización automática de aplicaciones

Una manera más eficiente de migrar

Modernización automática de aplicaciones

Proyecto basado en la modernización y migración automática de aplicaciones para la creación de una nueva arquitectura web nativa.

Para nuestro cliente — una entidad financiera española de primer nivel, era imprescindible tener una arquitectura ágil, con aplicaciones renovadas y capaz de integrarse con otros sistemas, con el fin de mantenerse competitivo en un entorno en continua evolución.

Este proyecto, requería desarrollar una serie de pilotos que demostrasen la viabilidad de la implementación del proceso de migración automática, para así reducir los tiempos y conseguir un ahorro significativo los costes.

Una vez que el cliente tuvo la nueva arquitectura en funcionamiento, nos solicitó un proyecto de migración de sus aplicaciones. En este caso — eran aplicaciones desarrolladas en tecnologías Visual Basic 6, lenguaje de programación de finales de los años 90, que se migrarían a una nueva arquitectura web nativa basada en tecnologías Angular JS y Java, válidas tanto para navegador web como para dispositivos móviles.

Transpiler como solución

La solución propuesta por Xeridia para este proyecto fue la migración mediante la implementación de un “Transpiler” — proceso que tomando el código fuente escrito en un lenguaje lo transforma en otro lenguaje con un nivel de abstracción similar.

La base conceptual del proyecto es muy similar a la del funcionamiento de los compiladores, en la que Xeridia a través de Transpiler parseaba el código origen — realizando la tokenización del mismo y generando un árbol AST (Abstract Syntax Tree), que representa el código procesado. A partir de este árbol AST se genera el código para la nueva arquitectura.

Con todo esto, se buscó maximizar el código migrado — con una migración lo más directa y lineal posible entre origen y destino, de forma que se pudiese medir con efectividad el grado de automatización conseguido y hacer confiable el código generado.

Base Conceptual: Funcionamiento de los compiladores

Se obtuvieron resultados satisfactorios con distintos ejemplos de ventanas de diferentes complejidades y anidamientos (1-1, n-n, 1-n, n-1, etc). De esta forma se pudo convertir una aplicación de escritorio desarrollada en VB6 en una aplicación web nativa basada en Angular JS y Java.

CORE de la solución propuesta: Transpiler

Un resultado 100% operativo con la mínima intervención.

Gracias a los pilotos se comprobó — en un porcentaje muy alto de casos — por encima del 95%, que el código generado no requería modificación alguna.

Xeridia demostró que era viable la implementación de un proceso de migración automática entre ambas arquitecturas con una mínima intervención manual sobre el código. De esta manera se consigue código 100% operativo y mejorar el tiempo de migración de las aplicaciones garantizando que se mantengan las funcionalidades y características de éstas.