Caravel
La modernización de un sistema Legacy implica una transformación destinada a beneficiarse de la nueva tecnología y a convertirse en una plataforma libre. En muchos casos, esto significa reescribir la funcionalidad original en un nuevo lenguaje.
Hoy en día, la transformación a Java de un sistema Legacy es probablemente el tipo de proyecto más común en el campo de la modernización de aplicaciones.
Una solución práctica, utilizada con éxito en muchos proyectos, es la reescritura manual “línea a línea”.
Este enfoque tiene sus ventajas: incluso en aquellos sistemas pobremente documentados se podrá comprender su núcleo al leer los fuentes, así como también reducir el esfuerzo para comprenderlo todo en su conjunto. El riesgo parece también controlado: ya que es fácil verificar los resultados desde el principio. Incluso si las pruebas de integración final revelan problemas inesperados, este método ofrece "alertas de etapa inicial".
Cuando se compara con la construcción de un sistema completamente nuevo, la conversión permite preservar la funcionalidad, que es el activo principal, ahorrando una gran cantidad de tiempo y esfuerzo.
Además, la metodología de Reescritura permite preservar la calidad del código y facilitar el mantenimiento futuro.
El éxito de la estrategia de reescribir “línea a línea” depende de varios factores clave: Establecer los objetivos de la transformación, organizar eficazmente un equipo multidisciplinar y asegurar un mecanismo continuo de retroalimentación y verificación.
En primer lugar, es conveniente considerar la arquitectura de destino requerida por el cliente y analizar luego los fuentes en detalle. Ambos aspectos proporcionarán pautas precisas sobre cómo orientar todo el proceso.
Debemos trabajar con un equipo multidisciplinar y diverso: expertos en COBOL o RPG, arquitectos, técnicos de Java, etc., de diferentes culturas y sensibilidades. Conseguir una buena comprensión e intercambio de conocimientos es esencial.
Controlar el desarrollo del proyecto es fundamental. Una retroalimentación continua entre los objetivos definidos y los logros debe ayudar a mantener el curso del proyecto.
La herramienta Caravel Express se desarrolló inicialmente para ayudar al proceso de reescritura “línea a línea”. Su objetivo principal era el de ayudar a generar líneas de Java.
Después de una fase de análisis, las líneas de origen se transformaban automáticamente en sus equivalentes Java, lo que reducía la carga de reescritura manual, así como también costes y riesgos.
Después de la experiencia de millones de líneas convertidas, el análisis se volvió más preciso, por lo que en lugar de “uno a uno”, la herramienta comenzó a identificar patrones, es decir, un grupo de líneas funcionalmente relacionadas, aconsejando la mejor forma de convertirlo a una estructura Java. Las herramientas de codificación se hicieron más flexibles, con diferentes modelos de conversión, por lo que se acercaron aún más a las necesidades específicas de los clientes.
Como resultado, la herramienta ha aumentado drásticamente su precisión y su capacidad de conversión automática, alcanzando baremos entre el 80% y el 95% de las líneas heredadas. La capacidad de establecer modelos de conversión específicos en cada nivel ofrece una forma similar a una reingeniería asistida.
Express proporciona una solución altamente automatizada para la reescritura de sistemas Legacy.
Basándose en herramientas automáticas, Express transforma los fuentes Legacy a Java, siguiendo un modelo (Contrato de conversión) que tiene en cuenta las especificaciones del cliente y que cubre todos los aspectos: tecnología, arquitectura o calidad del código.
Después de un análisis detallado de los fuentes, realizado por Caravel Express, se construye el árbol semántico para cada objeto. De este modo se reconocen las estructuras y los patrones originales y se definen claramente las reglas de transformación.
La elaboración del Contrato de Conversión es la primera tarea a conseguir, y probablemente la más importante. De acuerdo con dicho documento, se personalizará la herramienta Express y se generará automáticamente el Java EE Primario, produciendo un código Java bien estructurado y orientado a objetos.
En base a esto, un equipo de técnicos de Java logrará la Codificación Final Manual, lo que significa un porcentaje reducido del esfuerzo de conversión.
Caravel Express permite configurar: arquitectura de capas, frameworks, tecnología, métodos de persistencia, reglas de codificación, restricciones…
Como hemos mencionado anteriormente, el punto clave del proceso es el “Contrato de Conversión”, que contendrá todos los requisitos que regirán la transformación.
El proceso de prueba finalizará este proceso de 3 pasos:
I. . Análisis automático y generación de código. | Entregable: Java EE Primario. |
II. Código Final Manual. | Entregable: Java EE Final del sistema convertido. |
III. Herramientas de pruebas. | Entregable: Java EE Final del sistema convertido y certificado. |
En el Contrato de Conversión se especificarán todas las reglas de conversión.
La herramienta Express se personalizará utilizando el mecanismo de especificación de reglas de Json.
Organización de capas.
Compatibilidad con Frameworks.
Reglas del modelo de datos.
Reglas de Sección y Párrafo. Patrones definidos.
Métodos de acceso a datos.
Arquitectura de gestión de acceso al servicio.
Reglas del modelo de flujo.
Avisos del sistema Legacy.
Definición del modelo JUnit.
Especificaciones de calidad del código.
Formatos de documentación.
Reglas de optimización de rendimiento.
Hágase una pregunta: ¿Quién es el mejor técnico para estar a cargo de un proceso de reescritura de COBOL/RPG a Java?
Conformar un equipo de reescritura significa: objetivos, saber hacer, directivas, supervisión, verificación, reuniones, comités, ...
El punto clave del proceso es la organización efectiva de un Equipo de Reescritura no homogéneo.
Java EE primario se sincroniza automáticamente con cada tarea individual.
Todo el mundo sabe qué hacer en cada momento.
Java EE Primario incluye toda la información que necesitan los miembros del Equipo de Reescritura.
En un entorno homogéneo, el progreso es fácil de medir y verificar. El proceso está bajo control efectivo en todo momento.
La reingeniería es ejecutada por un equipo de programadores que transforman y reescriben manualmente cada rutina de código en Java puro.
El código Java resultante seguirá las especificaciones del cliente.
BASE100 proporciona un conjunto de servicios orientados a reducir y simplificar las actividades de los programadores y ayudando a asegurar la fecha de entrega del proyecto. En total: 6 actividades, con 5 entregas relacionadas:Caravel Express produce:
La metodología Express garantiza una transformación uniforme, fácil de verificar y medir, manteniendo el equipo coordinado durante todo el proyecto, simplificando el proceso de reescritura y aumentando la productividad.
Cada miembro del equipo tiene objetivos claramente definidos, su trabajo está 100% especificado en el fuente Java Primario.
Caravel Express resuelve:
Una vía de conversión abierta a mejora continua. En cualquier momento, el Contrato de Conversión puede ser revisado y mejorado.
Incluso las partes convertidas ya implementadas en producción se pueden reconvertir para introducir nuevas características que cumplan con los nuevos requisitos.
Todos los componentes del equipo tienen la capacidad de verificar y dar una retroalimentación válida a lo largo de todas las etapas del proceso.
Todos los aspectos de la herramienta Express se pueden modificar y, después de producir una nueva conversión rápida, se vuelven a probar en un proceso de mejora continua y certificación.
El progreso del proyecto proporciona la experiencia operacional que Caravel Express está en disposición de utilizar.