Modernize o aplicativo de CardDemo mainframe usando AWS Transform - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Modernize o aplicativo de CardDemo mainframe usando AWS Transform

Criado por Santosh Kumar Singh (AWS) e Cheryl du Preez (AWS)

Resumo

AWS Transformfoi projetado para acelerar a modernização dos aplicativos de mainframe. Ele usa IA generativa para agilizar o processo de modernização do mainframe. Ele automatiza tarefas complexas, como: análise de código legado, documentação de mainframe, extração de regras de negócios, decomposição de aplicativos monolíticos em domínio comercial e refatoração de código. Ele acelera os projetos de modernização automatizando tarefas complexas, como análise de aplicativos e planejamento da sequência de migração. Ao decompor aplicativos monolíticos, sequencia de AWS Transform forma inteligente a transformação do aplicativo de mainframe, o que ajuda você a transformar as funções de negócios em paralelo. AWS Transform pode acelerar a tomada de decisões e aprimorar a agilidade operacional e a eficiência da migração.

Esse padrão oferece step-by-step instruções para ajudá-lo a testar os recursos de modernização do mainframe AWS Transform usando CardDemo, que é um exemplo de aplicativo de mainframe de código aberto.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • AWS IAM Identity Center, habilitado

  • Permissões que permitem que os administradores habilitem AWS Transform

  • Permissões que permitem aos administradores aceitar solicitações de conexão do Amazon Simple Storage Service (Amazon S3) para o aplicativo web AWS Transform

Limitações

  • AWS Transform está disponível apenas em alguns Regiões da AWS. Para obter uma lista completa das regiões suportadas, consulte Regiões suportadas para AWS Transform.

  • AWS Transform suporta 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 Capacidades e principais recursos e Tipos de arquivos compatíveis para transformação de aplicativos de mainframe.

  • Há uma cota de serviço para recursos de transformação de mainframe em. 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 associada à sua instância do aplicativo AWS Transform web. AWS IAM Identity Center

  • O bucket do Amazon S3 AWS Transform deve estar na mesma região Conta da AWS .

Arquitetura

O diagrama a seguir mostra a arquitetura que você configurou nesse padrão.

Usando o AWS Transform para modernizar um aplicativo de mainframe que é armazenado em um bucket do Amazon S3.

O diagrama mostra o seguinte fluxo de trabalho:

  1. AWS Transform usa um conector para acessar o aplicativo de CardDemo mainframe, que é armazenado em um bucket do Amazon S3.

  2. AWS Transform usa AWS IAM Identity Center para gerenciar o acesso e a autenticação do usuário. 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 AWS Transform agente por meio de uma interface de bate-papo. 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 AWS Transform documentação.

  3. 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 — 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 — AWS Transform gera documentação para o aplicativo de mainframe. Ao analisar o código, ele pode criar automaticamente uma documentação detalhada dos programas de aplicativos, 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 — 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 — 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 do aplicativo ao dividi-lo em componentes menores.

    • Planejamento da onda de migração — Com base nos domínios que você criou durante a fase de decomposição, AWS Transform gera um plano de onda de migração com a ordem de modernização recomendada.

    • Refatoração de código — 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 crítica do aplicativo e, ao mesmo tempo, refatorá-la em um aplicativo Java modernizado e otimizado para a nuvem.

  4. AWS Transform armazena o código refatorado, os documentos gerados, os artefatos associados e as bibliotecas de tempo de execução em seu bucket do Amazon S3. Você pode fazer o seguinte:

    • Acesse a pasta de tempo de execução em seu bucket do Amazon S3.

    • Crie e implante o aplicativo seguindo a seção Criar e implantar seu aplicativo modernizado após a refatoração na documentação. AWS Transform

    • Por meio da interface de bate-papo, solicite e baixe uma amostra AWS CloudFormation ou modelo do Hashicorp Terraform. AWS Cloud Development Kit (AWS CDK) Esses modelos podem ajudá-lo a implantar os AWS recursos necessários para dar suporte ao aplicativo refatorado.

    • Use o Reforge para melhorar a qualidade do código refatorado usando modelos de linguagem grandes (). 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 é usada LLMs para reestruturar o código para que se pareça muito com o 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 melhores práticas.

Ferramentas

Serviços da AWS

  • AWS Transformusa IA agente para ajudá-lo a acelerar a modernização de cargas de trabalho legadas, como.NET, mainframe e cargas de trabalho. VMware

  • AWS IAM Identity Centerajuda você a gerenciar centralmente o acesso de login único (SSO) aos seus Contas da AWS aplicativos e à nuvem.

  • 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 o aplicativo de AWS CardDemomainframe de código aberto como um aplicativo de exemplo para começar a modernizar o mainframe.

Práticas recomendadas

  • Comece pequeno — comece com um código pequeno e menos complexo (15.000 a 20.000 linhas de código) para entender como AWS Transform analisa e transforma aplicativos de mainframe.

  • Combine com a experiência humana — use AWS Transform como 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 AWS Management Console ou crie um caso com 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

TarefaDescriçãoHabilidades necessárias

Crie um bucket.

Crie um bucket do Amazon S3 na mesma Conta da AWS região em que AWS Transform está habilitado. Você usa esse bucket para armazenar o código do aplicativo de mainframe e 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 do aplicativo de mainframe.

  1. Digite o comando a seguir para clonar o CardDemorepositório na sua estação de trabalho local:

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

  2. Crie uma nova pasta chamadacarddemo.

  3. Copie a app pasta, que contém o código-fonte do mainframe, do repositório clonado para a pasta. carddemo

  4. Comprima a cardemo pasta em um arquivo ZIP.

  5. Faça o upload do arquivo ZIP para o bucket do Amazon S3 que você criou. Para obter instruções, consulte Fazer uploads de objetos na documentação do Amazon S3.

Desenvolvedor de aplicativos, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Adicione usuários ao IAM Identity Center.

Adicione seus usuários em potencial ao IAM Identity Center. Siga as instruções em Adicionar usuários no IAM Identity Center na AWS Transform documentação.

Administrador da AWS

Habilite AWS Transform e adicione usuários.

  1. Habilitar AWS Transform. Siga as instruções em Ativar AWS Transform.

  2. Adicionar usuários AWS Transform a. Siga as instruções em Adicionar usuários AWS Transform a.

Administrador da AWS

Configure o acesso do usuário ao aplicativo AWS Transform web.

Cada usuário deve aceitar o convite para acessar o aplicativo AWS Transform web. Siga as instruções em Aceitar o convite na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Faça login no aplicativo da AWS Transform web.

Siga as instruções em Fazer login em 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 no aplicativo AWS Transform web. Siga as instruções em Configurando seu espaço de trabalho na AWS Transform documentação.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias

Crie um trabalho de transformação.

Crie um trabalho de transformação para modernizar o aplicativo de CardDemo mainframe. Para obter instruções, consulte Criar e iniciar um trabalho na AWS Transform documentação. Quando você for solicitado a definir os objetivos na interface de AWS Transform bate-papo, escolha Executar modernização do mainframe (IBM z/OS para AWS) e, em seguida, escolha Analisar código, Gerar documentação técnica, Lógica de negócios, Decompor código, Planejar sequência de migração e Transformar código em Java.

Desenvolvedor do aplicativo, proprietário do aplicativo

Configure o conector.

Estabeleça um conector para o bucket do Amazon S3 que contém o aplicativo de CardDemo mainframe. Esse conector permite AWS Transform acessar recursos no bucket e executar funções de transformação consecutivas. Para obter instruções, consulte Configurar um conector na AWS Transform documentação.

Administrador da AWS

Execute a análise do código.

  1. Na página Especificar localização do ativo, insira o caminho do bucket do Amazon S3 para o arquivo carddemo ZIP que você carregou.

  2. Escolha Aprovar e enviar para AWS Transform. Ele começa a analisar o código.

  3. Monitore o status na guia Registro de trabalho.

  4. Quando a análise estiver concluída, em Analisar código no painel de navegação esquerdo, escolha Exibir resultados da análise de código.

  5. (Opcional) Escolha Baixar para baixar a lista completa de ativos, o código-fonte ausente e o arquivo de dependência.

Para obter mais informações, consulte Análise de código na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Gere documentação técnica.

  1. No painel de navegação esquerdo, em Gerar documentação técnica, escolha Selecionar arquivos e definir configurações.

  2. Expanda COBOL ou JCL e selecione um ou vários arquivos.

  3. Escolha o nível de detalhes da documentação:

    • Resumo — Fornece uma visão geral de alto nível de cada arquivo no escopo. Além disso, fornece um resumo de uma linha de cada arquivo.

    • Especificação funcional detalhada — fornece detalhes abrangentes de cada arquivo no escopo de transformação do aplicativo de mainframe. Alguns detalhes incluem lógica e fluxo, regras de negócios identificadas, fluxo de dados, dependências, processamento de entrada e saída e vários detalhes da transação.

  4. Escolha Enviar para AWS Transform.

  5. Monitore o progresso na guia Registro de trabalho.

    nota

    O tempo de geração de documentos varia de minutos a horas, dependendo do número de arquivos e linhas de código.

  6. Ao concluir, escolha Revisar resultados da documentação.

  7. Acesse o documento gerado por meio do aplicativo web ou baixe-o. A documentação gerada também é armazenada no bucket do Amazon S3.

  8. Explore a documentação gerada fazendo perguntas específicas na interface de bate-papo. Por exemplo, você pode dizer “Diga-me os recursos do CBACT01C”.

Para obter mais informações, consulte Gerar documentação técnica na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Extraia a lógica de negócios.

  1. No painel de navegação esquerdo, expanda Extrair lógica comercial e escolha Selecionar arquivos para extração da lógica comercial.

  2. Expanda COBOL ou JCL e selecione um ou vários arquivos.

  3. Escolha Enviar para AWS Transform.

  4. Monitore o progresso na guia Registro de trabalho.

    nota

    O tempo de extração da lógica de negócios varia de minutos a horas, dependendo do número de arquivos e linhas de código.

  5. Quando a extração estiver concluída, escolha Revisar os resultados da extração da lógica comercial.

  6. Selecione um arquivo COBOL ou JCL e escolha Exibir.

  7. Altere o escopo no diagrama de fluxo e nas regras funcionais para revisar os diferentes níveis dos fluxogramas, incluindo o código de suporte.

  8. (Opcional) Analise a lógica de negócios gerada, que é armazenada no formato JSON em seu bucket do Amazon S3.

Para obter mais informações, consulte Extrair lógica de negócios na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Decomponha o código.

  1. No painel de navegação esquerdo, expanda Decompor código e escolha Decompor em domínios.

  2. Na lista Ações, escolha Criar domínio.

  3. Insira um nome para o novo domínio, comoBill payment.

  4. (Opcional) Forneça uma descrição.

  5. Na barra de pesquisa Localizar arquivosCB00, pesquise e selecione o arquivo.

  6. Escolha Marcar como semente.

  7. Verifique se o sinalizador inicial muda de Não para Sim.

  8. Escolha Criar.

  9. Escolha Salvar.

  10. Escolha Decompor.

  11. Revise a saída da decomposição escolhendo o nome do domínio.

  12. Quando a decomposição estiver concluída, escolha Enviar para AWS Transform.

Para obter mais informações sobre decomposição e sementes, consulte Decomposição na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Planeje as ondas de migração.

Planeje as ondas de migração para o CardDemo aplicativo. Siga as instruções em Planejamento de ondas de migração na AWS Transform documentação para revisar e editar o plano de ondas.

Desenvolvedor do aplicativo, proprietário do aplicativo

Refatore o código.

  1. Refatore o aplicativo de CardDemo mainframe em código Java em todos os arquivos de domínio ou em arquivos de domínio selecionados. Siga as instruções no código Refactor na AWS Transform documentação.

  2. Depois que o processo de refatoração estiver concluído, crie e implante o aplicativo Java modernizado. Siga as instruções em Crie e implante seu aplicativo modernizado após a refatoração na documentação. AWS Transform

Desenvolvedor do aplicativo, proprietário do aplicativo

(Opcional) Use o Reforge para melhorar o código Java.

  1. Crie um novo trabalho e, em seguida, insira um objetivo deReforge the code.

  2. Insira o de um projeto que foi modernizado por meio AWS Transform de. Esse projeto deve estar em seu bucket do Amazon S3.

  3. Insira a lista de classes Java que especifica quais classes de serviço devem ser reforjadas.

  4. Analise a saída gerada no bucket do Amazon S3.

Para obter mais informações, consulte Reforge na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Simplifique a implantação.

AWS Transform pode fornecer modelos de infraestrutura como código (IaC) para CloudFormation AWS CDK, ou Terraform. Esses modelos ajudam você a implantar componentes principais, incluindo recursos de computação, banco de dados, armazenamento e segurança.

  1. Na interface de AWS Transform bate-papo, solicite os modelos inserindoShare the mainframe refactor <service> templates, onde <service> está um dos serviços IaC suportados.

  2. Implante o modelo usando seu serviço preferido. Por exemplo, consulte os seguintes recursos:

Para obter mais informações, consulte Recursos de implantação na AWS Transform documentação.

Desenvolvedor do aplicativo, proprietário do aplicativo

Solução de problemas

ProblemaSolução

Você não consegue visualizar o código-fonte ou o documento gerado no aplicativo AWS Transform web.

Adicione uma política à permissão do CORS para que o bucket do Amazon S3 AWS Transform permita como origem. Para obter mais informações, consulte as permissões CORS do bucket S3 na AWS Transform documentação.

Recursos relacionados

AWS documentação

Outros AWS recursos

Vídeos e tutoriais

nota

AWS Transform era conhecido anteriormente como Amazon Q Developer transform for mainframe.