Modernização da aplicação de mainframe CardDemo usando o AWS Transform
Santosh Kumar Singh e Cheryl du Preez, Amazon Web Services
Resumo
O AWS Transform
Este padrão oferece instruções passo a passo para ajudá-lo a testar os recursos de modernização do mainframe do AWS Transform usando o CardDemo
Pré-requisitos e limitações
Pré-requisitos
Uma Conta da AWS ativa
AWS IAM Identity Center, enabled
Permissões que permitem que os administradores habilitem o AWS Transform
Permissões que permitem que administradores aceitem solicitações de conexão do Amazon Simple Storage Service (Amazon S3) para a aplicação web AWS Transform
Limitações
O AWS Transform está disponível apenas em algumas Regiões da AWS. Para obter uma lista completa das regiões aceitas, consulte Supported Regions for AWS Transform
. O AWS Transform oferece suporte para a análise de código, geração de documentos, extração de regras de negócios, decomposição e refatoração da Common Business-Oriented Language (COBOL) para Java. Para obter mais informações, consulte Capabilities and key features e Supported file types for transformation of mainframe applications.
Há uma cota de serviço para recursos de transformação de mainframe no AWS Transform. Para mais informações, consulte Cotas para o AWS Transform.
Para colaborar em um espaço de trabalho compartilhado, todos os usuários devem ser usuários registrados da mesma instância de AWS IAM Identity Centerassociada à sua instância da aplicação web AWS Transform .
O bucket do Amazon S3 e o AWS Transform devem estar na mesma região e Conta da AWS.
Arquitetura
O diagrama a seguir mostra a arquitetura que é configurada neste padrão.

O diagrama mostra o seguinte fluxo de trabalho:
O AWS Transform usa um conector para acessar a aplicação de mainframe CardDemo, que é armazenado em um bucket do Amazon S3.
O AWS Transform usa AWS IAM Identity Center para gerenciar o acesso e a autenticação. O sistema implementa várias camadas de controles de segurança para autenticação, autorização, criptografia e gerenciamento de acesso para ajudar a proteger códigos e artefatos durante o processamento. Os usuários interagem com o agente AWS Transform por meio de uma interface de chat. Você pode fornecer instruções ao agente de IA para tarefas específicas em inglês. Para obter mais informações, consulte Human-in-the-loop (HITL) na documentação do AWS Transform.
O agente de IA interpreta as instruções do usuário, cria um plano de trabalho, divide o trabalho em tarefas executáveis e o executa de forma autônoma. Os usuários podem revisar e aprovar a transformação. As tarefas de transformação incluem o seguinte:
Análise de código: o AWS Transform analisa o código em cada arquivo para obter detalhes como nome do arquivo, tipo de arquivo, linhas de código e seus caminhos. O agente analisa o código-fonte, executa classificações, cria mapeamentos de dependências e identifica quaisquer artefatos ausentes. Ele também identifica componentes duplicados.
Geração de documentos: o AWS Transform gera documentação para a aplicação de mainframe. Ao analisar o código, ele pode criar automaticamente uma documentação detalhada dos programas de aplicações, incluindo descrições da lógica de negócios, fluxos, integrações e dependências presentes em seus sistemas legados.
Extração da lógica de negócios: o AWS Transform analisa os programas COBOL para documentar sua lógica de negócios principal, para ajudá-lo a entender a lógica comercial fundamental.
Decomposição de código: o AWS Transform decompõe o código em domínios que respondem pelas dependências entre programas e componentes. O agrupamento de arquivos e programas relacionados no mesmo domínio melhora a organização e ajuda a preservar a estrutura lógica da aplicação ao dividi-la em componentes menores.
Planejamento da onda de migração: com base nos domínios que você criou durante a fase de decomposição, o AWS Transform gera um plano de onda de migração com a ordem de modernização recomendada.
Refatoração de código: o AWS Transform refatora o código em todos os arquivos de domínio ou em arquivos de domínio selecionados em código Java. O objetivo dessa etapa é preservar a lógica comercial essencial da aplicação e, ao mesmo tempo, refatorá-la em uma aplicação Java modernizada e otimizada para a nuvem.
O AWS Transform armazena o código refatorado, documentos gerados, artefatos associados e bibliotecas de runtime no bucket do Amazon S3. Você pode fazer o seguinte:
Acesse a pasta de runtime no bucket do Amazon S3.
Crie e implante a aplicação seguindo a seção Build and deploy your modernized application post-refactoring
na documentação do AWS Transform. Por meio da interface de chat, solicite e baixe uma amostra do AWS CloudFormation, AWS Cloud Development Kit (AWS CDK) ou modelo do Hashicorp Terraform. Esses modelos podem ajudá-lo a implantar os recursos da AWS necessários para dar suporte à aplicação refatorada.
Use o Reforge para melhorar a qualidade do código refatorado usando grande modelos de linguagem (LLMs). O mecanismo de refatoração preserva a equivalência funcional do COBOL enquanto o transforma em código Java. O Reforge é uma etapa opcional que está disponível após a transformação. Essa etapa usa LLMs para reestruturar o código para que se assemelhe muito ao Java nativo, o que pode melhorar a legibilidade e a capacidade de manutenção. O Reforge também adiciona comentários legíveis para ajudar você a entender o código e implementa padrões de codificação modernos e práticas recomendadas.
Ferramentas
Serviços da AWS
O AWS Transform usa IA agêntica para ajudar você a acelerar a modernização de workloads legadas, como as workloads do.NET, mainframe e VMware.
O AWS IAM Identity Center ajuda você a gerenciar centralmente o acesso à autenticação única (SSO) a todas as suas aplicações na nuvem e Contas da AWS.
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
Repositório de código
Você pode usar a aplicação de mainframe da AWS CardDemo
Práticas recomendadas
Comece pequeno: comece com um código pequeno e menos complexo (15 mil a 20 mil linhas de código) para entender como o AWS Transform analisa e transforma aplicações de mainframe.
Combine com a experiência humana: use o AWS Transform como um acelerador enquanto aplica a experiência humana para obter os melhores resultados.
Revise e teste minuciosamente: sempre revise cuidadosamente o código transformado e execute testes abrangentes para validar a equivalência funcional após a transformação.
Forneça feedback: para fornecer feedback e sugestões de melhoria, use o botão Enviar feedback no Console de gerenciamento da AWS ou crie um caso com o AWS Support
. Para obter mais informações, consulte Criar um caso de suporte. Sua opinião é valiosa para aprimoramentos de serviços e desenvolvimento futuro.
Épicos
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Crie um bucket. | Crie um bucket do Amazon S3 na mesma Conta da AWS e região em que o AWS Transform está habilitado. Você usa esse bucket para armazenar o código da aplicação de mainframe, e o AWS Transform usa esse bucket para armazenar os documentos gerados, o código refatorado e outros arquivos associados à transformação. Para obter instruções, consulte Criação de um bucket na documentação do Amazon S3. | AWS geral |
Prepare a amostra da aplicação de mainframe. |
| Desenvolvedor de aplicativos, engenheiro de DevOps |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Adicione usuários ao Centro de Identidade do IAM. | Adicione seus usuários em potencial ao Centro de Identidade do IAM. Siga as instruções em Adding users in IAM Identity Center na documentação do AWS Transform. | Administrador da AWS |
Habilite o AWS Transform e adicione usuários. |
| Administrador da AWS |
Configure o acesso do usuário à aplicação web AWS Transform. | Cada usuário deve aceitar o convite para acessar a aplicação web AWS Transform. Siga as instruções em Accepting the invitation na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Faça login na aplicação web AWS Transform. | Siga as instruções em Signing in to AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Configure um espaço de trabalho. | Configure um espaço de trabalho onde os usuários possam colaborar na aplicação web AWS Transform. Siga as instruções em Setting up your workspace na documentação do AWS Transform. | Administrador da AWS |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Crie um trabalho de transformação. | Crie um trabalho de transformação para modernizar a aplicação de mainframe CardDemo. Para obter instruções, consulte Create and start a job na documentação do AWS Transform. Quando você for solicitado a definir os objetivos na interface de chat do AWS Transform, escolha Perform mainframe modernization (IBM z/OS to AWS) e, em seguida, escolha Analyze code, Generate technical documentation, Business logic, Decompose code, Plan Migration sequence and Transform code to Java. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Configure o conector. | Estabeleça um conector ao bucket do Amazon S3 que contenha a aplicação de mainframe CardDemo. Esse conector permite ao AWS Transform acessar recursos no bucket e executar funções de transformação consecutivas. Para obter instruções, consulte Set up a connector na documentação do AWS Transform. | Administrador da AWS |
Realizar a análise do código. |
Para obter mais informações, consulte Code analysis na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Gere documentação técnica. |
Para obter mais informações, consulte Generate technical documentation na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Extraia a lógica de negócios. |
Para obter mais informações, consulte Extract business logic na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Decomponha o código. |
Para obter mais informações sobre decomposição e sementes, consulte Decomposition na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Planejar as ondas de migração. | Planeje as ondas de migração para a aplicação CardDemo. Siga as instruções em Migration wave planning na documentação do AWS Transform para revisar e editar o plano de ondas. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Refatore o código. |
| Desenvolvedor do aplicativo, proprietário do aplicativo |
(Opcional) Use o Reforge para melhorar o código Java. |
Para obter mais informações, consulte Reforge, na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Simplifique a implantação. | O AWS Transform pode fornecer modelos de infraestrutura como código (IaC) para o CloudFormation, o AWS CDK ou o Terraform. Esses modelos ajudam você a implantar componentes principais, incluindo recursos de computação, banco de dados, armazenamento e segurança.
Para obter mais informações, consulte Deployment capabilities na documentação do AWS Transform. | Desenvolvedor do aplicativo, proprietário do aplicativo |
Solução de problemas
| Problema | Solução |
|---|---|
Você não consegue visualizar o código-fonte ou o documento gerado na aplicação web AWS Transform. | Adicione uma política à permissão do CORS para que o bucket do Amazon S3 permita AWS Transform como origem. Para obter mais informações, consulte S3 bucket CORS permissions |
Recursos relacionados
AWS Documentação do
Transformation of mainframe applications (documentação do AWS Transform)
Outros recursos da AWS
Vídeos e tutoriais
Introduction to Amazon Q Developer: Transform
(AWS Skill Builder) AWS re:Invent 2024 - Modernize mainframe applications faster using Amazon Q Developer
(YouTube) AWS re:Invent 2024 - Automating migration and modernization to accelerate transformation
(YouTube) AWS re:Invent 2024 - Toyota drives innovation & enhances operational efficiency with gen AI
(YouTube)
nota
O AWS Transform era conhecido anteriormente como Amazon Q Developer transform for mainframe.