

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
<a name="modernize-carddemo-mainframe-app"></a>

*Santosh Kumar Singh y Cheryl du Preez, Amazon Web Services*

## Resumen
<a name="modernize-carddemo-mainframe-app-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html) 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 [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)el uso de un ejemplo de una aplicación de mainframe de código abierto.

## Requisitos previos y limitaciones
<a name="modernize-carddemo-mainframe-app-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ AWS IAM Identity Center, [habilitado](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ [Permisos](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-enable-transform) que permiten a los administradores habilitar AWS Transform
+ [Permisos](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-connector) 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](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-features) y [Supported file types for transformation of mainframe applications](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-supported-files).
+ 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ 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
<a name="modernize-carddemo-mainframe-app-architecture"></a>

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.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/0e539474-b733-452d-b0fb-6b3f4cbd5075/images/75be6d78-5b43-448c-ad07-bf74b9ae14ad.png)


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.

1. 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)](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-hitl) en la AWS Transform documentación.

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

1. 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow-build-deploy.html) 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-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)
<a name="modernize-carddemo-mainframe-app-tools"></a>

**Servicios de AWS**
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)utiliza 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 Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)le 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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 [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe de código abierto como ejemplo de aplicación para empezar a modernizar el mainframe.

## Prácticas recomendadas
<a name="modernize-carddemo-mainframe-app-best-practices"></a>
+ **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](https://support.console.aws.amazon.com/). Para obtener más información, consulte [Creación de un caso de soporte](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html). Sus comentarios son valiosos para poder mejorar y seguir desarrollando el servicio.

## Epics
<a name="modernize-carddemo-mainframe-app-epics"></a>

### Preparación de la aplicación del mainframe
<a name="prepare-the-mainframe-application"></a>


| Tarea | Descripción | Habilidades 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la documentación de Amazon S3. | AWS general | 
| Prepare la aplicación del mainframe de ejemplo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | Desarrollador de aplicaciones, ingeniero DevOps  | 

### Configure el Centro de Identidad de IAM y AWS Transform
<a name="configure-sso-and-trn"></a>


| Tarea | Descripción | Habilidades 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html#transform-add-idc-users). AWS Transform  | Administrador de AWS | 
| Habilite AWS Transform y añada usuarios. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-invitation). | 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-signin). | 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-environment.html#start-workflow). | Administrador de AWS | 

### Transformación de la aplicación del mainframe
<a name="transform-the-mainframe-application"></a>


| Tarea | Descripción | Habilidades 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-start-job) 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector) en la AWS Transform documentación. | Administrador de AWS | 
| Realice el análisis del código. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Para obtener más información, consulte [Análisis de código](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-code-analysis) en la AWS Transform documentación. | Desarrollador de aplicaciones, propietario de la aplicación | 
| Genere la documentación técnica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Para obtener más información, consulte [Generar documentación técnica](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-generate-documentation) en la AWS Transform documentación. | Desarrollador de aplicaciones, propietario de la aplicación | 
| Extraiga la lógica empresarial. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Para obtener más información, consulte [Extraer la lógica empresarial](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic) en la AWS Transform documentación. | Desarrollador de aplicaciones, propietario de la aplicación | 
| Descomponga el código. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Para obtener más información sobre la descomposición y las semillas, consulte [Descomposición en la documentación](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-decomposition). 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-wave-planning) para revisar y editar el plan de oleada. | Desarrollador de aplicaciones, propietario de la aplicación | 
| Refactorice el código | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | Desarrollador de aplicaciones, propietario de la aplicación | 
| (Opcional) Utilice Reforge para mejorar el código de Java. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Para obtener más información, consulte [Reforge](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-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.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Para obtener más información, consulte [Capacidades de implementación](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-features-deployment) en la AWS Transform documentación. | Desarrollador de aplicaciones, propietario de la aplicación | 

## Resolución de problemas
<a name="modernize-carddemo-mainframe-app-troubleshooting"></a>


| Problema | Solució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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3) en la AWS Transform documentación. | 

## Recursos relacionados
<a name="modernize-carddemo-mainframe-app-resources"></a>

**AWS documentación**
+ [Transformación de aplicaciones de mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html) (AWS Transform documentación)

**Otros recursos AWS **
+ [Acelere su proceso de modernización del mainframe utilizando agentes de IA con AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/) (AWS entrada del blog)
+ [AWS Transform FAQs](https://aws.amazon.com/transform/faq/)
+ [AWS IAM Identity Center FAQs](https://aws.amazon.com/iam/identity-center/faqs/)

**Videos y tutoriales**
+ [Introducción a Amazon Q Developer: Transform](https://explore.skillbuilder.aws/learn/courses/21893/aws-flash-introduction-to-amazon-q-developer-transform) (AWS Skill Builder)
+ [AWS re:Invent 2024: Modernice las aplicaciones de mainframe más rápido con Amazon Q Developer](https://www.youtube.com/watch?v=pSi0XtYfY4o) () YouTube
+ [AWS re:Invent 2024: Automatizar la migración](https://www.youtube.com/watch?v=9FjxnEoH5wg) y la modernización para acelerar la transformación () YouTube
+ [AWS re:Invent 2024: Toyota impulsa la innovación y mejora la eficiencia operativa](https://www.youtube.com/watch?v=_NXc1MJenw4) con la generación de IA () YouTube

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