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
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.