Casino, una herramienta para migrar aplicaciones

Imagen destacada del proceso CASINO

Desde hace cinco años, nuestro equipo trabaja en la preparación de la migración de las aplicaciones de Berger-Levrault. Para facilitar la transición del marco a las nuevas normas, hemos creado el Casino. Una herramienta casera para ayudar en futuras migraciones.

Migración Swing a Angular
Figura 1: Proceso de migración del casino

Casino, ¿qué es eso?

Es una herramienta innovadora que simplifica el proceso de migración transformando automáticamente el código de las aplicaciones. A continuación explicamos los cuatro pasos representados en la animación.

Primer paso: leer y simplificar el código fuente

Tal y como está el texto, es complicado trabajar en el código fuente de una aplicación. Para simplificar el proceso del código fuente, el platillo volante (que representa el VerveineJ tool) leer el código fuente de la aplicación original, analizarlo, y producir el modelo de aplicación. Este modelo permite representar las líneas principales de la app original: clases, métodos atributos.

2ª etapa: extraer los elementos of interés por migrar la aplicación

Entre el código fuente de la aplicación original, sólo algunos aspectos pueden ser procesados por el Casino. Estos son los elementos de interés. Dentro de estos elementos, encontramos el código visual, el código de comportamiento y el código empresarial. Aquí sólo hablaremos de código visual en el front-end de la aplicación y de código de negocio en su back-end.

3ª etapa: cotejar el código antiguo y el nuevo

Para el código visual, Casino construye un diccionario para enlazar el código antiguo con el nuevo. Iguala los elementos visuales de la aplicación original en la aplicación migrada para obtener el mismo resultado al final. Así, un GWTButton será equivalente a un Angular Material Button, un Swing Panel a una Angular Material Card.
El mismo principio se utiliza para el código de negocio relativo a los DTOs y los Servicios. Casino crea nuevas clases de Angular para que coincidan con los DTOs de la app original, y los Servicios de RMI o RPC se mapean con futuros Servicios Rest.

4ª etapa: generación de código

Una vez configurado el mapeo, Casino visita todos los elementos de interés encontrados en el paso 2, luego se refiere a los diccionarios creados en el paso 3 para generar el código de la app migrada. Después de la generación, los desarrolladores tienen que comprobar si el proceso ha ido bien, luego, tienen que completar la migración inyectando sus conocimientos en la aplicación como la lógica de negocio, y recreando los enlaces entre los DTOs/Servicios y la parte visual de la app (HTML).

El propósito de Casino es ayudar en el proceso de migración de todas las aplicaciones de escritorio o cliente/servidor. Por el momento, la herramienta funciona especialmente bien con las aplicaciones de Java, pero también se adapta a otros lenguajes de programación y puede ampliarse para admitir aún más.

Más ...

Ir arriba