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á.
Transforme o Easytrieve em linguagens modernas usando AWS Transform personalizado
Shubham Roy, Subramanyam Malisetty e Harshitha Shashidhar, da Amazon Web Services
Resumo
Esse padrão fornece orientação prescritiva para uma transformação mais rápida e de menor risco das cargas de trabalho do mainframe Broadcom Easytrieve Report Generator
Esse padrão fornece uma definição de transformação personalizada pronta para uso para a transformação EZT. A definição usa várias entradas de transformação:
Regras de negócios da EZT extraídas usando regras personalizadas AWS Transform
Documentação de referência de programação do EZT
Código-fonte do EZT
Conjuntos de dados de entrada e saída do mainframe
AWS Transform custom usa essas entradas para gerar aplicativos funcionalmente equivalentes em linguagens de destino modernas, como Java ou Python.
O processo de transformação usa recursos inteligentes de execução de testes, depuração automatizada e correção iterativa para validar a equivalência funcional em relação às saídas esperadas. Ele também oferece suporte ao aprendizado contínuo, permitindo que a definição de transformação personalizada melhore a precisão e a consistência em transformações sucessivas. Usando esse padrão, as organizações podem reduzir o esforço e o risco de migração, lidar com a dívida técnica do mainframe de nicho e modernizar as cargas de trabalho do EZT AWS para melhorar a agilidade, a confiabilidade, a segurança e a inovação.
Pré-requisitos e limitações
Pré-requisitos
Uma AWS conta ativa
Uma carga de trabalho EZT de mainframe com dados de entrada e saída
Limitações
Limitações do escopo
Suporte de idioma - Somente a EZT-to-Java transformação é suportada para esse padrão de transformação específico. Esse padrão APG é testado no código EZT em linha em. JCL/Proc
Fora do escopo - Para transformação de outras linguagens de programação de mainframe, use AWS Transform para mainframe. Saiba mais em Tipos de arquivo compatíveis para transformação de aplicativos de mainframe no guia do AWS Transform usuário.
Limitações do processo
Dependência de validação — Sem dados de saída de linha de base, a transformação não pode ser validada.
Lógica proprietária — utilitários altamente específicos e desenvolvidos de forma personalizada exigem documentação adicional do usuário e materiais de referência para serem interpretados corretamente pelo agente de IA.
Limitações técnicas
Limites de serviço — Para limites e cotas de serviço AWS Transform personalizados, consulte o Guia AWS Transform do usuário - Cotas e a referência AWS geral - Transformar cotas.
Versões do produto
AWS Transform CLI — Versão mais recente
Node.js — versão 20 ou posterior
Git — Versão mais recente
Ambiente de destino
Java — versão 17 ou posterior
Spring Boot — a versão 3.x é o principal alvo para aplicativos refatorados
Maven — versão 3.6 ou posterior
Arquitetura
Pilha de tecnologia de origem
Sistema operacional — IBM z/OS
Linguagem de programação — Easytrieve, Job control language (JCL)
Banco de dados — IBM DB2 for z/OS, Virtual Storage Access Method (VSAM), arquivos simples de mainframe
Pilha de tecnologias de destino
Sistema operacional — Amazon Linux
Computação — Amazon Elastic Compute Cloud (Amazon EC2)
Linguagem de programação — Java
Banco de dados Amazon Relational Database Service (Amazon RDS)
Arquitetura de destino

Fluxo de trabalho
Essa solução usa definições de transformação AWS Transform personalizadas e predefinidas para modernizar os aplicativos Easytrieve (EZT) de mainframe para Java por meio de um fluxo de trabalho automatizado em três etapas. AWS Transform gerencia de forma personalizada todo o processo — extração de regras de negócios (BRE), transformação de código e validação de equivalência funcional — orientado pelas definições de transformação fornecidas como parte dessa solução. A validação humana é necessária para validar o BRE gerado e a validação do relatório de equivalência funcional.
Passo 1 — Preparar a pasta de entradas
código-fonte/— código-fonte EZT (arquivos.ezt), fluxos de trabalho JCL (arquivos.jcl/.jcl), programas COBOL, cadernos e cartões de controle
bre-doc/ - Documento de extração de regras de negócios gerado
input-data/ — Conjuntos de dados de entrada de mainframe básicos para validação
output-data/ — Conjuntos de dados de saída de mainframe básicos para validação
document_references/ — Definições de transformação e documentação de referência fornecidas por:
-
bre_transformation_definition.md— Define o processo de extração de regras de negócios em 5 fases-
transformation_definition.md— Define como o Easytrieve constrói o mapa para Java-
summaries.md— Regras e padrões de transformação-
ca-easytrieve-report-generator-11-6.txt— Manual de referência do Easytrieve
Etapa 2 — Extraia regras de negócios usando o AWS Transform Custom
1. Interaja com a AWS Transform CLI usando linguagem natural para revisar as definições de transformação (TDs) disponíveis e personalizar o BRE TD de acordo com seus critérios e regras específicos
2. Use o TD finalizado para gerar o documento BRE — analisa de forma AWS Transform personalizada os artefatos de origem do mainframe (Easytrieve, JCL, COBOL, cadernos, cartões de controle) e produz um BRE estruturado com catálogo de regras de negócios, layouts de arquivos, linhagem de dados e mapeamentos de tipos de dados
3. Mova o documento BRE gerado para a bre-doc/ pasta para uso na Etapa 3
Etapa 3 — Gere código modernizado equivalente funcional
Interaja com a AWS Transform CLI usando linguagem natural para revisar as definições de transformação básica (TDs)
disponíveis e personalizar o TD básico de acordo com seus critérios e regras específicos. Em seguida, invoque a AWS Transform CLI com o código-fonte do projeto. AWS Transform custom cria planos de transformação, converte EZT em Java após aprovação, gera arquivos de suporte, cria o JAR executável e valida os critérios de saída.
Use o agente de validação para testar a equivalência funcional em relação à saída do mainframe. O Self-Debugger agente corrige problemas de forma autônoma. Os resultados finais incluem código Java validado e relatórios de validação de HTML.
Automação e escala
Arquitetura de execução multimodo de IA agente — a AWS Transform personalização aproveita a IA agente com 3 modos de execução — conversacional, interativo e automação total — para automatizar tarefas complexas de transformação, incluindo análise de código, refatoração, planejamento e teste de transformação.
Sistema de feedback de aprendizado adaptável — A plataforma implementa mecanismos de aprendizado contínuo por meio de análise de amostras de código, análise de documentação e integração de feedback do desenvolvedor com definições de transformação versionadas.
Arquitetura simultânea de processamento de aplicativos — O sistema permite a execução paralela distribuída de várias operações de transformação de aplicativos simultaneamente em uma infraestrutura escalável.
Ferramentas
Serviços da AWS
AWS Transform custom é um serviço de IA agente usado para transformar aplicativos EZT legados em linguagens de programação modernas.
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. O Amazon S3 serve como o principal serviço de armazenamento AWS Transform personalizado para armazenar definições de transformação, repositórios de código e resultados de processamento.
AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los. O IAM fornece a estrutura de segurança para gerenciamento AWS Transform personalizado de permissões e controle de acesso para operações de transformação.
Outras ferramentas
AWS Transform A CLI é a interface de linha de comando AWS Transform personalizada, permitindo que os desenvolvedores definam, executem e gerenciem transformações de código personalizadas por meio de conversas em linguagem natural e modos de execução automatizados. AWS Transform custom suporta sessões interativas (atx custom def exec) e transformações autônomas para modernização escalável de bases de código.
Sistema de controle de versão Git
usado para proteção de filiais, rastreamento de alterações e recursos de reversão durante a aplicação automática de correção. Java
é a linguagem de programação e o ambiente de desenvolvimento usados nesse padrão.
Repositório de código
O código desse padrão está disponível em Easytrieve to Modern Languages Transformation with AWS Transform
Práticas recomendadas
Estabeleça uma estrutura de projeto padronizada — Crie uma estrutura de quatro pastas (código-fonte, bre-doc, dados de entrada, dados de saída), valide a integridade e documente o conteúdo antes da transformação.
Use arquivos de linha de base para validação — Use arquivos de entrada de linha de base de produção, faça uma comparação byte por byte com a saída da linha de base, aceite tolerância zero para desvios.
Use todos os documentos de referência disponíveis — Para aumentar a precisão da transformação, forneça todos os documentos de referência disponíveis, como requisitos de negócios e listas de verificação de codificação.
Forneça informações para a melhoria da qualidade — a AWS Transform personalização extrai automaticamente os aprendizados das execuções de transformação (feedback do desenvolvedor, problemas de código) e cria itens de conhecimento para eles. Após cada transformação bem-sucedida, revise os itens de conhecimento e aprove aquele que você gostaria que fosse usado em futuras execuções. Isso melhora a qualidade das transformações futuras.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Provisione a infraestrutura para AWS Transform fins personalizados. | Implante a infraestrutura pronta para produção necessária para hospedar um ambiente de transformação seguro. Isso inclui uma instância privada do Amazon EC2 configurada com as ferramentas necessárias, as permissões do IAM e as configurações de rede para converter o código do Easytrieve. Para provisionar o ambiente usando infraestrutura como código (IaC), siga as instruções de implantação no repositório Easytrieve to Modern Languages Transformation | Desenvolvedor de aplicações e administrador da AWS |
Prepare os materiais de entrada para transformação. |
| Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Crie a definição de transformação BRE | Siga estas etapas para criar a definição de transformação personalizada para BRE (Business Rule Extraction) a partir do código-fonte do Easytrieve. 1. Acesse o repositório de códigos desse padrão e copie bre_transformation_definition.md da pasta documents junto com a pasta document_references com o guia de codificação do EZT. 2. Faça upload desse conteúdo no upload da AWS Transform CLI para um local de sua escolha e anote o local do caminho a ser usado nas próximas etapas. 3. Invoque AWS Transform a partir da CLI com o comando atx. 4. Forneça esse prompt na CLI: Crie uma transformação personalizada usando meu arquivo de definição de transformação disponível em path <path to content from step #2 > AWS Transform cria uma nova definição de transformação personalizada para a geração de BRE. 5. Revise a definição da transformação e faça alterações, se necessário. | Desenvolvedor de aplicativos |
Publique a definição de transformação BRE | Depois de analisar e validar a definição de transformação BRE, você pode publicá-la no registro AWS Transform personalizado com um prompt de linguagem natural, fornecendo um nome de definição como Easytrieve-Business-Rule-Extract. | Desenvolvedor de aplicativos |
Crie a definição de transformação. | Siga estas etapas para criar a definição de transformação personalizada para a transformação EZT em Java com validação funcional.
| Desenvolvedor de aplicativos |
Publique a definição de transformação. | Depois de analisar e validar a definição de transformação, você pode publicá-la no registro AWS Transform personalizado com um prompt de linguagem natural, fornecendo um nome de definição como Easytrieve-to-Java-Migration. | Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Execute o trabalho de geração BRE. | Execute o comando AWS Transform CLI, escolhendo a opção não interativa ou interativa: Non-interactive execução (totalmente autônoma):
Execução interativa (com supervisão humana):
Retomar a execução interrompida:
OU
Mova o documento BRE gerado para a pasta bre-doc/ para ser usado como entrada durante a Easytrieve-to-Java etapa de transformação. | Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Revise o resumo da validação da transformação. | Antes de executar a transformação AWS Transform personalizada, verifique se a
| Desenvolvedor de aplicativos |
Execute o trabalho de transformação personalizado. | Execute o comando AWS Transform CLI, escolhendo a opção não interativa ou interativa:
AWS Transform valida automaticamente por meio de build/test comandos durante a execução da transformação. | Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Revise o resumo da validação da transformação. |
| Desenvolvedor de aplicativos |
Acesse relatórios de validação. | Insira estes comandos para revisar os artefatos de validação detalhados:
| Desenvolvedor de aplicativos |
Habilite itens de conhecimento para aprendizado contínuo. | Melhore a precisão da transformação futura promovendo itens de conhecimento sugeridos para sua configuração persistente. Depois de uma transformação, o agente armazena padrões identificados e regras de mapeamento em seu diretório de sessão local. Para revisar e aplicar esses itens aprendidos, execute estes comandos na sua instância do Amazon EC2:
| Desenvolvedor de aplicativos |
Solução de problemas
| Problema | Solução |
|---|---|
Configuração do caminho de entrada e saída Os arquivos de entrada não estão sendo lidos ou os arquivos de saída não estão sendo gravados corretamente. | Especifique o caminho completo do diretório em que os arquivos de entrada são armazenados e indique claramente o local em que a saída deve ser gravada. Certifique-se de que as permissões de acesso adequadas estejam configuradas para esses diretórios. As melhores práticas incluem usar caminhos absolutos em vez de caminhos relativos para evitar ambigüidade e verificar se todos os caminhos especificados existem com as permissões apropriadas read/write . |
Retomando as execuções interrompidas A execução foi interrompida ou precisa ser continuada de onde foi interrompida | Você pode retomar a execução de onde parou fornecendo o ID da conversa no comando da CLI. Encontre o ID da conversa nos registros da sua tentativa de execução anterior. |
Resolvendo restrições de memória Ocorre um erro de falta de memória durante a execução. | Você pode pedir AWS Transform para compartilhar o tamanho atual da JVM na memória e, em seguida, aumentar a alocação de memória com base nessas informações. Esse ajuste ajuda a acomodar maiores requisitos de processamento. Considere dividir trabalhos grandes em lotes menores se as restrições de memória persistirem após os ajustes. |
Abordando discrepâncias no arquivo de saída Os arquivos de saída não correspondem às expectativas e AWS Transform indicam que nenhuma alteração adicional é possível. | Forneça feedback específico e motivos técnicos explicando por que a saída atual está incorreta. Inclua documentação técnica ou comercial adicional para atender às suas necessidades. Esse contexto detalhado ajuda a AWS Transform corrigir o código para gerar os arquivos de saída adequados.
|