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

Creado por Santosh Kumar Singh (AWS) y Cheryl du Preez (AWS)

Resumen

AWS Transformestá diseñado para acelerar la modernización de las aplicaciones de mainframe. Utiliza inteligencia artificial generativa para agilizar el proceso de modernización del mainframe. Automatiza tareas complejas, como el análisis del código heredado, la documentación del mainframe, la extracción de reglas empresariales, la descomposición de aplicaciones monolíticas en el ámbito 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 la secuencia 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 una lista completa de las regiones compatibles, consulte las regiones compatibles para AWS Transform.

  • AWS Transform admite el análisis de código, la generación de documentos, la extracción de reglas de negocio, 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 Capacidades y características principales y Tipos de archivos compatibles para la transformación de aplicaciones de mainframe.

  • Hay una cuota de servicio para las capacidades de transformación de 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 ser usuarios registrados de la misma instancia AWS IAM Identity Center que esté asociada a su instancia de la aplicación AWS Transform web.

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

Arquitectura

El siguiente diagrama muestra la arquitectura que configuró en este patrón.

Uso de AWS Transform para modernizar una aplicación de mainframe almacenada 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 varios niveles de controles de seguridad para la autenticación, la autorización, el cifrado y la administración del acceso para ayudar a 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. Puedes dar instrucciones al agente de IA para 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. Las tareas de transformación incluyen las siguientes:

    • Análisis de código: AWS Transform analiza el código de cada archivo para obtener detalles como el nombre del archivo, el tipo de archivo, las líneas de código y sus rutas. El agente analiza el código fuente, ejecuta clasificaciones, crea mapeos de 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 aplicación, incluidas descripciones de la lógica empresarial, los flujos, las integraciones y las dependencias presentes en sus 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 ayudarle 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 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. Puede hacer lo siguiente:

    • Acceda a la carpeta de tiempo de ejecución de su 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. Reforjar 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 añade comentarios legibles para las personas para ayudarle a entender el código, e implementa patrones de codificación modernos y prácticas recomendadas.

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

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

  • Envíe comentarios: para enviar comentarios y sugerencias de mejora, utilice el botón Enviar comentarios que aparece en el AWS Management Console o cree un caso con AWS Support. Para obtener más información, consulte Creación de un caso de soporte. Sus comentarios son valiosos para mejorar el servicio y para el futuro desarrollo.

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 de mainframe de muestra.

  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 con el nombrecarddemo.

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

  4. Comprima la cardemo carpeta 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, DevOps ingeniero
TareaDescripciónHabilidades requeridas

Añada usuarios al Centro de identidades de IAM.

Añada a sus posibles usuarios al Centro de identidades de IAM. 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 de Activar AWS Transform.

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

Configura 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 configurar su espacio de trabajo.

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 (a IBM z/OS 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 un análisis de código.

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

  2. Seleccione Aprobar y enviar a AWS Transform. Comienza 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, elija Ver resultados del análisis de código.

  5. (Opcional) Seleccione Descargar para descargar la lista completa de activos, el código fuente faltante 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 documentación técnica.

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

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

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

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

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

  4. Selecciona 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, según la cantidad de archivos y líneas de código.

  6. Cuando haya terminado, elija 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 generada también se almacena en el bucket de Amazon S3.

  8. Explore la documentación generada haciendo preguntas específicas en la interfaz de chat. Por ejemplo, puedes decir «Cuéntame las características del CBACT01C».

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

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. Seleccione 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, según 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, elija Ver.

  7. Cambie el alcance del diagrama de flujo y las reglas funcionales para revisar los diferentes niveles de los diagramas de flujo, incluido el código de respaldo.

  8. (Opcional) Revise la lógica empresarial generada, que se almacena en formato JSON en su 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, selecciona Crear dominio.

  3. Introduzca un nombre para el nuevo dominio, por ejemploBill payment.

  4. (Opcional) Proporcione una descripción.

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

  6. Seleccione Marcar como semilla.

  7. Compruebe que el indicador de semillas cambie de No a .

  8. Seleccione Crear.

  9. Seleccione Save.

  10. Seleccione Descomponer.

  11. Revise el resultado de la descomposición eligiendo 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 migratorias.

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

Refactoriza 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 deReforge the code.

  2. Introduzca el de un proyecto que se haya modernizado mediante AWS Transform. Este proyecto debe estar en tu bucket de Amazon S3.

  3. Introduzca la lista de clases de Java que especifica qué clases de servicio desea reforjar.

  4. Revise el resultado generado 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 CloudFormation Terraform o Terraform. AWS CDK Estas plantillas le ayudan a implementar los componentes principales, incluidos los recursos de cómputo, base de datos, almacenamiento y seguridad.

  1. En la interfaz de AWS Transform chat, solicite las plantillas introduciendoShare 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, consulta los siguientes recursos:

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

Solució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

Vídeos y tutoriales

nota

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