Modernice la aplicación de CardDemo mainframe mediante AWS Transform - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Modernice la aplicación de CardDemo mainframe mediante AWS Transform

Santosh Kumar Singh y Cheryl du Preez, Amazon Web Services

Resumen

AWS Transform se diseñó para acelerar la modernización de las aplicaciones de mainframe. Utiliza IA generativa para agilizar el proceso de modernización del mainframe. Automatiza tareas complejas, como el análisis de código heredado, la documentación del mainframe, la extracción de reglas empresariales, la descomposición de aplicaciones monolíticas en el dominio empresarial y la refactorización del código. Acelera los proyectos de modernización al automatizar tareas complejas, como el análisis de aplicaciones y la planificación de las secuencias de migración. Al descomponer las aplicaciones monolíticas, secuencia de AWS Transform forma inteligente la transformación de las aplicaciones del mainframe, lo que le ayuda a transformar las funciones empresariales en paralelo. AWS Transform puede acelerar la toma de decisiones y mejorar la agilidad operativa y la eficiencia de la migración.

Este patrón ofrece step-by-step instrucciones que le ayudarán a probar las capacidades de modernización del mainframe AWS Transform mediante CardDemoel uso de un ejemplo de una aplicación de mainframe de código abierto.

Requisitos previos y limitaciones

Requisitos previos 

  • Un activo Cuenta de AWS

  • AWS IAM Identity Center, habilitado

  • Permisos que permiten a los administradores habilitar AWS Transform

  • Permisos que permiten a los administradores aceptar solicitudes de conexión de Amazon Simple Storage Service (Amazon S3) para AWS Transform la aplicación web

Limitaciones

  • AWS Transform está disponible solo en algunos Regiones de AWS. Para obtener la lista completa de regiones admitidas, consulte Supported Regions for AWS Transform.

  • AWS Transform admite el análisis de código, la generación de documentos, la extracción de reglas empresariales, la descomposición y la refactorización del lenguaje común orientado a los negocios (COBOL) a Java. Para obtener más información, consulte Capabilities and key features y Supported file types for transformation of mainframe applications.

  • Hay una cuota de servicio para las capacidades de transformación del mainframe en AWS Transform. Para obtener más información, consulte Cuotas para AWS Transform.

  • Para poder colaborar en un espacio de trabajo compartido, todos los usuarios deben estar registrados en la misma instancia AWS IAM Identity Center que esté asociada a la instancia de la aplicación web. AWS Transform

  • El bucket de Amazon S3 AWS Transform debe estar en la misma región Cuenta de AWS y.

Arquitectura

En el siguiente diagrama se muestra la arquitectura que configuró en este patrón.

Uso de AWS Transform para modernizar una aplicación del mainframe que se almacena en un bucket de Amazon S3.

En el diagrama, se muestra el siguiente flujo de trabajo:

  1. AWS Transform utiliza un conector para acceder a la aplicación de CardDemo mainframe, que está almacenada en un bucket de Amazon S3.

  2. AWS Transform AWS IAM Identity Center se utiliza para administrar el acceso y la autenticación de los usuarios. El sistema implementa distintos niveles de controles de seguridad para la autenticación, la autorización, el cifrado y la administración del acceso para proteger el código y los artefactos durante el procesamiento. Los usuarios interactúan con el AWS Transform agente a través de una interfaz de chat. Puede dar instrucciones al agente de IA para realizar tareas específicas en inglés. Para obtener más información, consulte Human in the loop (HITL) en la AWS Transform documentación.

  3. El agente de IA interpreta las instrucciones del usuario, crea un plan de trabajo, divide el trabajo en tareas ejecutables y lo ejecuta de forma autónoma. Los usuarios pueden revisar y aprobar la transformación. Estas son algunas de las tareas de transformación:

    • Análisis de código: AWS Transform analiza el código de cada archivo para obtener detalles como el nombre y el tipo de archivo, las líneas de código y sus rutas. El agente analiza el código fuente, ejecuta clasificaciones, crea asignaciones de las dependencias e identifica cualquier artefacto que falte. También identifica los componentes duplicados.

    • Generación de documentos: AWS Transform genera documentación para la aplicación de mainframe. Al analizar el código, puede crear automáticamente documentación detallada de los programas de las aplicaciones, así como descripciones de la lógica empresarial, los flujos, las integraciones y las dependencias que hay en los sistemas heredados.

    • Extracción de la lógica empresarial: AWS Transform analiza los programas de COBOL para documentar su lógica empresarial principal, a fin de ayudarlo a comprender la lógica empresarial fundamental.

    • Descomposición del código: AWS Transform descompone el código en dominios que tienen en cuenta las dependencias entre los programas y los componentes. La agrupación de archivos y programas relacionados en el mismo dominio mejora la organización y ayuda a preservar la estructura lógica de la aplicación al dividirla en componentes más pequeños.

    • Planificación de la oleada de migración: en función de los dominios que haya creado durante la fase de descomposición, AWS Transform genera un plan de migración con el orden de modernización recomendado.

    • Refactorización de código: AWS Transform refactoriza el código de todos los archivos de dominio o de algunos de ellos en código Java. El objetivo de este paso es preservar la lógica empresarial fundamental de la aplicación y, al mismo tiempo, refactorizarla para convertirla en una aplicación de Java modernizada y optimizada para la nube.

  4. AWS Transform almacena el código refactorizado, los documentos generados, los artefactos asociados y las bibliotecas de tiempo de ejecución en su bucket de Amazon S3. Se puede hacer lo siguiente:

    • Acceda a la carpeta del tiempo de ejecución del bucket de Amazon S3.

    • Cree e implemente la aplicación siguiendo las instrucciones de la documentación sobre cómo crear e implementar la aplicación modernizada después de la refactorización. AWS Transform

    • A través de la interfaz de chat, solicite y descargue una muestra o una plantilla Terraform de AWS CloudFormation AWS Cloud Development Kit (AWS CDK) Hashicorp. Estas plantillas pueden ayudarlo a implementar los AWS recursos necesarios para respaldar la aplicación refactorizada.

    • Utilice Reforge para mejorar la calidad del código refactorizado mediante el uso de modelos de lenguaje de gran tamaño (). LLMs El motor de refactorización conserva la equivalencia funcional de COBOL y, al mismo tiempo, la transforma en código Java. El uso de Reforge es un paso opcional que está disponible después de la transformación. Este paso se utiliza LLMs para reestructurar el código para que se parezca mucho al Java nativo, lo que puede mejorar la legibilidad y el mantenimiento. Reforge también agrega comentarios legibles por humanos para ayudarlo a entender el código e implementa patrones de programación modernos y prácticas recomendadas.

Tools (Herramientas)

Servicios de AWS

  • AWS Transformutiliza la IA agentic para ayudarlo a acelerar la modernización de las cargas de trabajo heredadas, como .NET, los mainframes y las cargas de trabajo. VMware

  • AWS IAM Identity Centerle ayuda a gestionar de forma centralizada el acceso mediante inicio de sesión único (SSO) a sus aplicaciones y a las de la nube. Cuentas de AWS

  • Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

Repositorio de código

Puede utilizar la aplicación de AWS CardDemomainframe de código abierto como ejemplo de aplicación para empezar a modernizar el mainframe.

Prácticas recomendadas

  • Comience de a poco: comience con un código pequeño y menos complejo (entre 15 000 y 20 000 líneas de código) para comprender cómo se AWS Transform analizan y transforman las aplicaciones de mainframe.

  • Combínelo con la experiencia humana: utilícelo AWS Transform como acelerador y, al mismo tiempo, aplique la experiencia humana para obtener resultados óptimos.

  • Haga revisiones y pruebas minuciosas: revise siempre detenidamente el código transformado y ejecute pruebas exhaustivas para validar la equivalencia funcional después de la transformación.

  • Envía comentarios: para enviar comentarios y sugerencias de mejora, utiliza el botón Enviar comentarios del Consola de administración de AWS o crea un caso con AWS Support. Para obtener más información, consulte Creación de un caso de soporte. Sus comentarios son valiosos para poder mejorar y seguir desarrollando el servicio.

Epics

TareaDescripciónHabilidades requeridas

Crear un bucket.

Cree un bucket de Amazon S3 en la misma Cuenta de AWS región en la que AWS Transform está activado. Utiliza este depósito para almacenar el código de la aplicación del mainframe y AWS Transform utiliza este depósito para almacenar los documentos generados, el código refactorizado y otros archivos asociados a la transformación. Para obtener instrucciones, consulte Crear un bucket en la documentación de Amazon S3.

AWS general

Prepare la aplicación del mainframe de ejemplo.

  1. Introduzca el siguiente comando para clonar el CardDemorepositorio en su estación de trabajo local:

    git clone https://github.com/aws-samples/aws-mainframe-modernization-carddemo.git

  2. Cree una nueva carpeta denominada carddemo.

  3. Copie la carpeta app, que contiene el código fuente del mainframe, del repositorio clonado a la carpeta carddemo.

  4. Comprima la carpeta cardemo en un archivo ZIP.

  5. Cargue el archivo ZIP en el bucket de Amazon S3 que creó. Para más instrucciones, consulte Cargar objetos en la documentación de Amazon S3.

Desarrollador de aplicaciones, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Agregue usuarios a IAM Identity Center.

Agregue los posibles usuarios a IAM Identity Center. Siga las instrucciones de la documentación sobre cómo añadir usuarios al Centro de identidades de IAM. AWS Transform

Administrador de AWS

Habilite AWS Transform y añada usuarios.

  1. Habilitar AWS Transform. Siga las instrucciones que se indican en Enable AWS Transform.

  2. Añadir usuarios a AWS Transform. Siga las instrucciones de Añadir usuarios a AWS Transform.

Administrador de AWS

Configure el acceso de los usuarios a la aplicación AWS Transform web.

Cada usuario debe aceptar la invitación para acceder a la aplicación AWS Transform web. Siga las instrucciones que se indican en la AWS Transform documentación sobre cómo aceptar la invitación.

Desarrollador de aplicaciones, propietario de la aplicación

Inicie sesión en la aplicación AWS Transform web.

Siga las instrucciones que se indican en Iniciar sesión en AWS Transform.

Desarrollador de aplicaciones, propietario de la aplicación

Configure un espacio de trabajo.

Configure un espacio de trabajo en el que los usuarios puedan colaborar en la aplicación AWS Transform web. Siga las instrucciones de la AWS Transform documentación sobre cómo iniciar su proyecto.

Administrador de AWS
TareaDescripciónHabilidades requeridas

Cree un trabajo de transformación.

Cree un trabajo de transformación para modernizar la aplicación de CardDemo mainframe. Para obtener instrucciones, consulte Crear e iniciar un trabajo en la AWS Transform documentación. Cuando se le pida que defina los objetivos en la interfaz de AWS Transform chat, elija Realizar la modernización del mainframe ( z/OS a IBM AWS) y, a continuación, elija Analizar código, Generar documentación técnica, Lógica empresarial, Descomponer código, Planificar la secuencia de migración y Transformar código a Java.

Desarrollador de aplicaciones, propietario de la aplicación

Configure el conector.

Establezca un conector al bucket de Amazon S3 que contiene la aplicación de CardDemo mainframe. Este conector permite acceder AWS Transform a los recursos del bucket y realizar funciones de transformación consecutivas. Para obtener instrucciones, consulte Configurar un conector en la AWS Transform documentación.

Administrador de AWS

Realice el análisis del código.

  1. En la página Especificar la ubicación del activo, introduzca la ruta del bucket de Amazon S3 del archivo ZIP de carddemo que ha cargado.

  2. Seleccione Aprobar y enviar a AWS Transform. Se empieza a analizar el código.

  3. Supervise el estado en la pestaña Registro de trabajo.

  4. Cuando se complete el análisis, en Analizar código en el panel de navegación izquierdo, seleccione Ver resultados del análisis de código.

  5. (Opcional) Seleccione Descargar para descargar la lista completa de activos, el código fuente que falta y el archivo de dependencias.

Para obtener más información, consulte Análisis de código en la AWS Transform documentación.

Desarrollador de aplicaciones, propietario de la aplicación

Genere la documentación técnica.

  1. En el panel de navegación izquierdo, en Generar documentación técnica, seleccione Seleccionar archivos y configurar ajustes.

  2. Expanda COBOL o JCL y, a continuación, seleccione uno o varios archivos.

  3. Seleccione el nivel de detalle de la documentación:

    • Resumen: proporciona información general de alto nivel sobre cada archivo que está dentro del ámbito. Además, ofrece un resumen de una línea de cada archivo.

    • Especificación funcional detallada: proporciona detalles completos de cada archivo que está incluido en el ámbito de la transformación de las aplicaciones del mainframe. Algunos detalles son la lógica y el flujo, las reglas empresariales identificadas, el flujo de datos, las dependencias, el procesamiento de entradas y salidas y varios detalles de las transacciones.

  4. Elija Enviar a AWS Transform.

  5. Supervise el progreso en la pestaña Registro de trabajo.

    nota

    El tiempo de generación de los documentos varía de minutos a horas en función de la cantidad de archivos y líneas de código.

  6. Cuando haya terminado, seleccione Revisar los resultados de la documentación.

  7. Acceda al documento generado a través de la aplicación web o descárguelo. La documentación que se genera también se almacena en el bucket de Amazon S3.

  8. Para explorar la documentación generada, haga preguntas específicas en la interfaz de chat. Por ejemplo, puedes decir «Cuéntame las características de CBACT01 C»

Para obtener más información, consulte Generar documentación técnica en la AWS Transform documentación.

Desarrollador de aplicaciones, propietario de la aplicación

Extraiga la lógica empresarial.

  1. En el panel de navegación izquierdo, expanda Extraer lógica empresarial y, a continuación, elija Seleccionar archivos para la extracción de lógica empresarial.

  2. Expanda COBOL o JCL y, a continuación, seleccione uno o varios archivos.

  3. Elija Enviar a AWS Transform.

  4. Supervise el progreso en la pestaña Registro de trabajo.

    nota

    El tiempo de extracción de la lógica empresarial varía de minutos a horas en función de la cantidad de archivos y líneas de código.

  5. Cuando se complete la extracción, seleccione Revisar los resultados de la extracción de la lógica empresarial.

  6. Seleccione un archivo COBOL o JCL y, a continuación, seleccione Ver.

  7. Cambie el alcance de Diagrama de flujo y reglas funcionales para revisar los diferentes niveles de los diagramas de flujo, incluido el código complementario.

  8. (Opcional) Revise la lógica empresarial generada, que se almacena en formato JSON en el bucket de Amazon S3.

Para obtener más información, consulte Extraer la lógica empresarial en la AWS Transform documentación.

Desarrollador de aplicaciones, propietario de la aplicación

Descomponga el código.

  1. En el panel de navegación izquierdo, expanda Descomponer código y, a continuación, elija Descomponer en dominios.

  2. En la lista Acciones, seleccione Crear dominio.

  3. Introduzca un nombre para el nuevo dominio, como Bill payment.

  4. (Opcional) Proporcione una descripción.

  5. En la barra de búsqueda Buscar archivos, busque CB00 y, a continuación, seleccione el archivo.

  6. Seleccione Marcar como semilla.

  7. Compruebe que la marca de semilla cambie de No a .

  8. Seleccione Crear.

  9. Seleccione Save.

  10. Seleccione Descomponer.

  11. Revise el resultado de la descomposición; para ello, elija el nombre de dominio.

  12. Cuando se complete la descomposición, elija Enviar a AWS Transform.

Para obtener más información sobre la descomposición y las semillas, consulte Descomposición en la documentación. AWS Transform

Desarrollador de aplicaciones, propietario de la aplicación

Planifique las oleadas de migración.

Planifique las oleadas de migración de la CardDemo aplicación. Siga las instrucciones que aparecen en la AWS Transform documentación sobre la planificación de la oleada de migración para revisar y editar el plan de oleada.

Desarrollador de aplicaciones, propietario de la aplicación

Refactorice el código

  1. Refactoriza la aplicación de CardDemo mainframe en código Java en todos los archivos de dominio o en algunos de ellos. Siga las instrucciones de refactorización del código de la documentación. AWS Transform

  2. Una vez finalizado el proceso de refactorización, cree e implemente la aplicación Java modernizada. Siga las instrucciones de la documentación sobre cómo crear e implementar la aplicación modernizada después de la refactorización. AWS Transform

Desarrollador de aplicaciones, propietario de la aplicación

(Opcional) Utilice Reforge para mejorar el código de Java.

  1. Cree un nuevo trabajo y, a continuación, introduzca un objetivo de Reforge the code.

  2. Introduzca el de un proyecto que se haya modernizado previamente. AWS Transform Este proyecto tiene que estar en el bucket de Amazon S3.

  3. Introduzca una lista de clases de Java que especifique qué clases de servicio desea reforjar.

  4. Revise la salida generada en el bucket de Amazon S3.

Para obtener más información, consulte Reforge en la AWS Transform documentación.

Desarrollador de aplicaciones, propietario de la aplicación

Optimice la implementación.

AWS Transform puede proporcionar plantillas de infraestructura como código (IaC) para Terraform o CloudFormation AWS CDK Terraform. Estas plantillas lo ayudan a implementar los componentes principales, como los recursos de computación, base de datos, almacenamiento y seguridad.

  1. En la interfaz de AWS Transform chat, solicite las plantillas ingresandoShare the mainframe refactor <service> templates, donde <service> se encuentra uno de los servicios de iAc compatibles.

  2. Implemente la plantilla mediante el servicio que prefiera. Por ejemplo, consulte los recursos siguientes:

Para obtener más información, consulte Capacidades de implementación en la AWS Transform documentación.

Desarrollador de aplicaciones, propietario de la aplicación

Resolución de problemas

ProblemaSolución

No puede ver el código fuente ni el documento generado en la aplicación AWS Transform web.

Añada una política al permiso CORS para que el bucket de Amazon S3 la permita AWS Transform como origen. Para obtener más información, consulte los permisos CORS del bucket S3 en la AWS Transform documentación.

Recursos relacionados

AWS documentación

Otros recursos AWS

Videos y tutoriales

nota

AWS Transform anteriormente se conocía como transformación de Amazon Q Developer para mainframe.