Moderniza tu código legado con Go4IT Alight
La herramienta definitiva para evaluar, transformar y optimizar sistemas — totalmente automatizada. Convierte código heredado que frena la innovación en un entorno moderno, documentado y verificable.
EL MOTOR DE GO4IT ALIGHT
Interpretación y transformación con un lenguaje pivote independiente
Un motor basado en tecnologías de compiladores y modelos de lenguaje garantiza un proceso eficiente y sin errores. Go4IT Alight permite:
-
Descubrir la arquitectura interna de tu código.
-
Analizar y extraer documentación, detectar código muerto y más.
-
Optimizar y refactorizar para mejorar rendimiento y compatibilidad.
-
Generar código nuevo en un lenguaje moderno.
Cómo trabaja el motor Alight
Descubrimiento
Inventario y mapa completo del sistema legado y sus dependencias.
→Análisis del código origen
Interpretación al modelo pivote: lógica, datos y comportamiento funcional.
→Optimización del código
Refactorización, limpieza de código muerto y mejora de rendimiento.
→Generación de código
Código moderno en el lenguaje destino, trazable respecto al original.
Adaptación total a tu arquitectura destino
Integración de nuevos lenguajes en solo 1 a 3 meses.
Además, durante el proceso obtienes
Automatización del proceso de
modernización
sin reescrituras manuales. Despliega cada una para ver el detalle.
01 Descubrimiento
La fase de descubrimiento es la que permite a Go4IT Alight obtener el conocimiento de los programas legacy analizados. Este proceso se asemeja mucho al que realiza un compilador, pero llegando a un nivel de conocimiento mayor. Alight descubre en primer lugar la estructura del código fuente analizado, identificando variables, funciones y clases. Posteriormente se analiza el comportamiento de cada una de las funciones, llegando al mismo nivel de detalle al que llegaría un compilador. Finalmente, el proceso de descubrimiento obtiene información acerca del modelo de datos empleado por los programas (bases de datos y tablas accedidas, así como fichero de datos), y del interfaz de usuario de las ventanas del programa en cuestión (diálogos, controles, botones, etc.). El resultado de este proceso es una representación independiente de la tecnología, en base al Lenguaje Pivote de Alight.
Una de las características fundamentales de Alight es su flexibilidad. Esto nos permite personalizar el proceso de descubrimiento, introduciendo elementos propios de cada instalación (componentes específicos de UI, librerías especiales, etc.). Así es posible para nosotros desarrollar soluciones de modernización que mantengan de forma fiel la arquitectura de las aplicaciones, reduciendo la curva de aprendizaje del futuro equipo de mantenimiento.
02 Análisis de código origen
La fase de análisis de Alight permite obtener información del código fuente origen. Esta información es crucial para realizar una modernización exitosa, puesto que permite identificar problemas de estructura, rendimiento, etc. de las aplicaciones y aplicar correcciones antes de su transformación a una nueva plataforma. En la actualidad Alight cuenta ya con multitud de herramientas de análisis disponibles para todos los lenguajes de programación:
- detectores de código muerto y variables no utilizadas
- generadores de informes de complejidad ciclomática
- detectores de lógica de negocio en ventanas de interfaz de usuario,
- extractores de dependencias entre programas
- extractores de diagramas de flujo
- analizadores del modelo de datos
Además, es posible desarrollar algoritmos de análisis estático a medida de los problemas de cada instalación.
03 Optimización del código fuente
Las últimas dos fases de Alight permiten a la herramienta generar de forma automática una réplica funcional de la aplicación origen en la tecnología de destino deseada. Esta obtención de la aplicación final está compuesta de dos fases. La primera tiene como objetivo la preparación del código para la nueva plataforma: es la fase de optimización.
La fase de optimización permite a Alight realizar una serie de modificaciones formales sobre el código que permitan su regeneración en una tecnología concreta. Por ejemplo, antes de realizar una generación de código Java es necesario asegurar que no existen instrucciones GOTO en el lenguaje de origen. Este proceso puede emplearse también para optimizar el proceso de generación en una tecnología concreta. Por ejemplo, al transformar una aplicación antigua Visual Basic en HTML5 + CSS, será necesario hacer cálculos de tamaño para obtener un interfaz responsive.
La fase de optimización está íntimamente ligada a la de generación y también a las características de la plataforma destino.
04 Generación de código
La herramienta Alight cuenta con generadores de código de última generación que permiten vincular los modelos de lenguaje intermedio con lenguajes modernos de destino, como Java, Shell script, HTML, Javascript o Python entre otros. Además, Alight permite la regeneración del código en el mismo lenguaje de origen para casos de corrección automática de código fuente (por ejemplo, eliminación de GOTOs en COBOL).
Gracias a su gran flexibilidad, es posible personalizar estos generadores para que tengan en cuenta elementos específicos de cada instalación, lo que nos permite alcanzar un 100% de automatización en todo el proceso de migración.
Generación de pruebas automáticas
y cobertura total de tests con Go4IT Echo
Cada aplicación modernizada con Alight ahora se puede validar de forma automática frente al comportamiento del sistema original — sin reescrituras manuales y con evidencia medible de calidad.
Generación de pruebas automáticas
GO4IT Echo es una herramienta responsable de la generación, ejecución y comparación automática de pruebas para validar el resultado de la transformación. De este modo, permite comparar el comportamiento de ambos sistemas y garantizar su equivalencia funcional durante todo el proceso de migración.
Go4IT Echo facilita:
- Comparación automática origen vs. destino
- Pruebas de regresión en cada iteración
- Validación de lógica de negocio y datos
- Integración continua sobre cada release
Cobertura de tests
Medimos qué porcentaje del código queda protegido por pruebas y su evolución a lo largo del proyecto.
- porcentaje de componentes verificados
- cobertura funcional y de procesos
- estado de cada una de las pruebas, indicando si ha sido superado o ha fallado
- fallos detectados en la aplicación
permite conocer:
Las diferencias detectadas quedan registradas en informes de validación completamente trazables, facilitando su análisis y resolución. Todos los resultados de la ejecución, incluidas las excepciones, los mensajes, los valores intermedios, las peticiones enviadas, los asertos realizados y cualquier otra evidencia de validación, quedan disponibles para su consulta en informes detallados, proporcionando una trazabilidad completa del proceso de pruebas.
El verdadero éxito del proyecto consiste en poder demostrar que la aplicación modernizada mantiene exactamente el comportamiento funcional esperado.
Adrián Noguero, CEO y Fundador de Go4It Solutions