View a markdown version of this page

Trasforma Easytrieve in linguaggi moderni utilizzando soluzioni personalizzate AWS Transform - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Trasforma Easytrieve in linguaggi moderni utilizzando soluzioni personalizzate AWS Transform

Shubham Roy, Subramanyam Malisetty e Harshitha Shashidhar, Amazon Web Services

Riepilogo

Questo modello fornisce indicazioni prescrittive per una trasformazione più rapida e a basso rischio dei carichi di lavoro mainframe Broadcom Easytrieve Report Generator (EZT) utilizzando la trasformazione personalizzata.AWS Transform language-to-language Risolve le sfide legate alla modernizzazione dei carichi di lavoro EZT mainframe proprietari e di nicchia, comunemente utilizzati per l'elaborazione di dati in batch e la generazione di report. Il modello sostituisce approcci di migrazione costosi, lunghi e soggetti a errori che si basano su strumenti proprietari e rare competenze nel mainframe con una soluzione automatizzata di intelligenza artificiale agentica su cui creare. AWS Transform

Questo modello fornisce una definizione di trasformazione personalizzata pronta all'uso per la trasformazione EZT. La definizione utilizza più input di trasformazione:

AWS Transform custom utilizza questi input per generare applicazioni funzionalmente equivalenti nei linguaggi di destinazione moderni, come Java o Python.

Il processo di trasformazione utilizza l'esecuzione intelligente dei test, il debug automatizzato e le funzionalità di correzione iterativa per convalidare l'equivalenza funzionale rispetto agli output previsti. Supporta inoltre l'apprendimento continuo, abilitando la definizione di trasformazione personalizzata per migliorare la precisione e la coerenza tra le trasformazioni successive. Utilizzando questo modello, le organizzazioni possono ridurre gli sforzi e i rischi legati alla migrazione, far fronte al debito tecnico di nicchia nel settore mainframe e modernizzare i carichi di lavoro EZT AWS per migliorare l'agilità, l'affidabilità, la sicurezza e l'innovazione.

Prerequisiti e limitazioni

Prerequisiti

  • Un account attivo AWS  

  • Un carico di lavoro EZT mainframe con dati di input e output 

Limitazioni

Limitazioni dell'ambito

  • Supporto linguistico: per questo modello di trasformazione specifico è supportata solo la trasformazione da EZT a Java. 

  • Fuori ambito: la trasformazione di altri linguaggi di programmazione mainframe richiede una nuova definizione di trasformazione personalizzata in custom. AWS Transform

Limitazioni del processo

  • Dipendenza dalla convalida: senza dati di output di base, la trasformazione non può essere convalidata. 

  • Logica proprietaria: utilità altamente specifiche e sviluppate su misura richiedono documentazione utente aggiuntiva e materiali di riferimento per essere interpretate correttamente dall'agente AI.

Limitazioni tecniche

Versioni del prodotto

  • AWS Transform CLI — Versione più recente

  • Node.js — versione 20 o successiva

  • Git — Versione più recente

  • Ambiente di destinazione

    • Java: versione 17 o successiva

    • Spring Boot: la versione 3.x è l'obiettivo principale per le applicazioni refactorizzate

    • Maven — versione 3.6 o successiva

Architecture

Stack tecnologico di origine

  • Sistema operativo: IBM z/OS

  • Linguaggio di programmazione — Easytrieve, Job control language (JCL)

  • Database: IBM DB2 for z/OS, Virtual Storage Access Method (VSAM), file flat per mainframe

Stack tecnologico Target

  • Sistema operativo: Amazon Linux

  • Elaborazione: Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute

  • Linguaggio di programmazione: Java

  • Database Amazon Relational Database Service (Amazon RDS)

Architettura di Target

diagramma dell'architettura di destinazione per utilizzare AWS Transform custom per trasformare EZT in codice moderno.

Flusso di lavoro

Questa soluzione utilizza un modello di trasformazione di language-to-language migrazione AWS Transform personalizzato per modernizzare le applicazioni mainframe Easytrieve (EZT) verso Java attraverso un flusso di lavoro automatizzato in quattro fasi.

Fase 1: Fornisci il codice legacy a For Mainframe, che: AWS Transform

  • Analizza il codice

  • Estrae la logica aziendale di alto livello

  • Estrae la logica aziendale dettagliata.

Passaggio 2: crea una cartella con gli input richiesti:

  • Regole aziendali EZT estratte utilizzando per mainframe AWS Transform  

  • Documentazione di riferimento sulla programmazione EZT 

  • Codice sorgente EZT

  • Set di dati di input e output del mainframe

Fase 3: Creare ed eseguire una definizione di trasformazione personalizzata

  1. Usa la AWS Transform CLI per descrivere gli obiettivi di trasformazione in linguaggio naturale. AWS Transform custom analizza le guide di programmazione BRE, codice sorgente ed EZT per generare una definizione di trasformazione personalizzata per la revisione e l'approvazione degli sviluppatori.

  2. Quindi, richiama la AWS Transform CLI con il codice sorgente del progetto. AWS Transform custom crea piani di trasformazione, converte EZT in Java dopo l'approvazione, genera file di supporto, crea il JAR eseguibile e convalida i criteri di uscita.

  3. Utilizzate l'agente di convalida per testare l'equivalenza funzionale rispetto all'output del mainframe. L'agente Self-Debugger risolve i problemi in modo autonomo. I risultati finali includono codice Java convalidato e report di convalida HTML.

Automazione e scalabilità

  • Architettura di esecuzione multimodale Agentic AI: AWS Transform personalizzata sfrutta l'intelligenza artificiale agentica con 3 modalità di esecuzione (conversazionale, interattiva e di automazione completa) per automatizzare attività di trasformazione complesse tra cui analisi del codice, refactoring, pianificazione e test della trasformazione.

  • Sistema di feedback adattivo per l'apprendimento: la piattaforma implementa meccanismi di apprendimento continuo attraverso l'analisi di esempi di codice, l'analisi della documentazione e l'integrazione del feedback degli sviluppatori con definizioni di trasformazione versionate.

  • Architettura di elaborazione simultanea delle applicazioni: il sistema consente l'esecuzione parallela distribuita di più operazioni di trasformazione delle applicazioni contemporaneamente su un'infrastruttura scalabile.

Tools (Strumenti)

Servizi AWS  

  • AWS Transform custom è un servizio di intelligenza artificiale agentica utilizzato per trasformare le applicazioni EZT legacy in linguaggi di programmazione moderni. 

  • AWS Transformutilizza l'intelligenza artificiale agentica per aiutarti ad accelerare la modernizzazione dei carichi di lavoro legacy, come .NET, mainframe e carichi di lavoro. VMware

  • AWS Transform for mainframe viene utilizzato per analizzare le applicazioni EZT legacy per estrarre la logica di business incorporata e generare una documentazione completa sulle regole aziendali, inclusi riepiloghi logici, definizioni di acronimi e basi di conoscenza strutturate. Questi servono come dati di input personalizzati. AWS Transform  

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati. Amazon S3 funge da servizio di storage principale per l'archiviazione AWS Transform personalizzata di definizioni di trasformazione, repository di codice e risultati di elaborazione.

  • AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle. IAM fornisce il framework di sicurezza per la gestione AWS Transform personalizzata delle autorizzazioni e del controllo degli accessi per le operazioni di trasformazione.

Altri strumenti

  • AWS Transform CLI è l'interfaccia a riga di comando AWS Transform personalizzata, che consente agli sviluppatori di definire, eseguire e gestire trasformazioni di codice personalizzate tramite conversazioni in linguaggio naturale e modalità di esecuzione automatizzate. AWS Transform custom supporta sia sessioni interattive (atx custom def exec) sia trasformazioni autonome per la modernizzazione scalabile delle codebase.

  • Sistema di controllo della versione Git utilizzato per la protezione delle filiali, il monitoraggio delle modifiche e le funzionalità di rollback durante le applicazioni di correzione automatizzate. 

  • Java è il linguaggio di programmazione e l'ambiente di sviluppo utilizzati in questo modello. 

Deposito di codice

Il codice per questo modello è disponibile in Easytrieve to Modern Languages Transformation con AWS Transform Custom on. GitHub

Best practice

  • Stabilisci una struttura di progetto standardizzata: crea una struttura a quattro cartelle (codice sorgente, bre-doc, dati di input, dati di output), convalida la completezza e il contenuto del documento prima della trasformazione.

  • Utilizza i file di base per la convalida: utilizza i file di input di base di produzione, esegui il confronto con l'output di base, accetta la tolleranza zero per le deviazioni. byte-by-byte

  • Utilizza tutti i documenti di riferimento disponibili: per aumentare la precisione della trasformazione, fornisci tutti i documenti di riferimento disponibili, come i requisiti aziendali e le liste di controllo per la codifica.

  • Fornisci input per il miglioramento della qualità: la funzionalità AWS Transform personalizzata estrae automaticamente gli apprendimenti dalle esecuzioni di trasformazione (feedback degli sviluppatori, problemi relativi al codice) e crea elementi di conoscenza per essi. Dopo ogni trasformazione riuscita, rivedi gli elementi di conoscenza e approva quelli che desideri utilizzare nelle future esecuzioni. Ciò migliora la qualità delle trasformazioni future.

Epiche

OperazioneDescriptionCompetenze richieste

Configurazione AWS Transform per mainframe.

Configura l'ambiente e le autorizzazioni richieste AWS Identity and Access Management (IAM) per supportare i flussi di lavoro di modernizzazione del mainframe. Per ulteriori informazioni, consulta la sezione Trasformazione delle applicazioni mainframe nella documentazione. AWS

Sviluppatore di app

Genera la documentazione Business Rule Extract (BRE).

Estrai la logica aziendale dal codice sorgente EZT o COBOL per generare documentazione funzionale. Per istruzioni su come avviare il processo di estrazione e rivedere l'output, consulta Extract business logic nella documentazione. AWS Transform

Sviluppatore di app
OperazioneDescriptionCompetenze richieste

Fornisci l'infrastruttura per scopi AWS Transform personalizzati.

Implementa l'infrastruttura pronta per la produzione necessaria per ospitare un ambiente di trasformazione sicuro. Ciò include un'istanza Amazon EC2 privata configurata con gli strumenti necessari, le autorizzazioni IAM e le impostazioni di rete per la conversione del codice Easytrieve. Per effettuare il provisioning dell'ambiente utilizzando l'infrastruttura come codice (IaC), segui le istruzioni di distribuzione nell'archivio Easytrieve to Modern Languages Transformation with Custom. AWS Transform GitHub

Sviluppatore di app, amministratore AWS

Prepara i materiali di input per la trasformazione.

  1. Immettete questo comando per creare la struttura delle cartelle:

    mkdir -p /root/transform-workspace/mainframe-source/{source-code,bre-doc,input-data,output-data}

    Questo crea le seguenti cartelle:

    • source-code— Archiviazione per il codice sorgente EZT

    • bre-doc— Archiviazione per il documento BRE generato

    • input-data— Archiviazione dei dati di input per l'esecuzione in batch del mainframe (Sequential/Text/DB2 file in formato EBCDIC)

    • output-data— Archiviazione dei dati di output nel mainframe dopo l'esecuzione in batch (Sequential/Text/DB2 file in formato EBCDIC)

  2. Inserisci questi comandi per inizializzare il repository Git:

    cd /root/transform-workspace/mainframe-source/source-code git init git add . git commit -m "Initial commit"
Sviluppatore di app
OperazioneDescriptionCompetenze richieste

Crea una definizione di trasformazione.

Segui questi passaggi per creare la definizione di trasformazione personalizzata per la trasformazione da EZT a Java con convalida funzionale.

  1. Vai al repository del codice relativo a questo pattern e copia il contenuto della cartella. documents Questo dovrebbe includere transformation_definition.md, summaries.md e la cartella con la guida alla codifica EZT. document_references

  2. Carica il contenuto nella AWS Transform CLI, carica in una posizione a tua scelta e annota la posizione del percorso da utilizzare nei passaggi successivi.

  3. Richiama AWS Transform dalla CLI con atx il comando.

  4. Fornisci questo prompt nella CLI: Crea una trasformazione personalizzata utilizzando il mio file di definizione della trasformazione disponibile in AWS Transform path crea una nuova definizione <path to content from step #2 > di trasformazione personalizzata per la trasformazione da EZT a Java.

  5. Rivedi la definizione di trasformazione e apporta le modifiche se necessario.

Sviluppatore di app

Pubblica la definizione di trasformazione.

Dopo la revisione e la convalida della definizione di trasformazione, è possibile pubblicarla nel registro AWS Transform personalizzato con un prompt in linguaggio naturale, fornendo un nome di definizione come EasyTrieve-to-Java-Migration.

Sviluppatore di app
OperazioneDescriptionCompetenze richieste

Consulta il riepilogo della convalida della trasformazione.

Prima di eseguire la trasformazione AWS Transform personalizzata, verificate che la input-data cartella contenga i file di dati richiesti acquisiti prima dell'esecuzione del processo batch del mainframe. Dopo l'esecuzione del processo batch del mainframe, assicuratevi che la output-data cartella acquisisca i file risultanti. Tutti i file sono in formato Sequential/Text/DB 2 e utilizzano la codifica EBCDIC in base ai requisiti di esecuzione.

  • Inserisci i dati di input nella cartella input-data/

  • Posiziona l'output di base nella cartella output-data/

Sviluppatore di app

Esegui il processo di trasformazione personalizzato.

Esegui il comando AWS Transform CLI, scegliendo l'opzione non interattiva o interattiva:

:# Non-interactive execution (fully autonomous): atx custom def exec \ --transformation-name "Easytrieve-to-Java-Migration" \ --code-repository-path ~/root/transform-workspace/mainframe-source/source-code \ --build-command "mvn clean install" \ --non-interactive \ --trust-all-tools \ # Interactive execution (with human oversight): atx custom def exec \ -n "Easytrieve-to-Java-Migration" \ -p ~/root/transform-workspace/mainframe-source/source-code \ -c "mvn clean install" # Resume interrupted execution: atx -resume # OR atx --conversation-id <conversation-id>

AWS Transform si convalida automaticamente tramite build/test comandi durante l'esecuzione della trasformazione.

Sviluppatore di app
OperazioneDescriptionCompetenze richieste

Consulta il riepilogo della convalida della trasformazione.

  1. Attendi AWS Transform la convalida automatica del codice tramite i comandi build e test.

  2. Inserisci questo comando per trovare la sessione più recente:

    LATEST_SESSION=$(ls -t ~/.aws/atx/custom/ | head -1
  3. Inserisci questo comando per visualizzare il riepilogo della convalida:

    cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
  4. Inserisci questo comando per verificare lo stato generale:

    grep "OVERALL STATUS" ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
Sviluppatore di app

Accedi ai report di convalida.

Inserisci questi comandi per esaminare gli artefatti di convalida dettagliati:

# Full validation report cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_report.html # Generated code location ls ~/.aws/atx/custom/$LATEST_SESSION/generated/ # Execution logs cat ~/.aws/atx/custom/$LATEST_SESSION/logs/execution.log
Sviluppatore di app

Abilita gli elementi di conoscenza per l'apprendimento continuo.

Migliora la precisione delle trasformazioni future promuovendo gli elementi di conoscenza suggeriti nella tua configurazione persistente. Dopo una trasformazione, l'agente memorizza i modelli e le regole di mappatura identificati nella directory della sessione locale. Per rivedere e applicare questi elementi appresi, esegui questi comandi sulla tua istanza Amazon EC2:

# List all knowledge items for a specific transformation definition atx custom def list-ki -n <transformation-name> # Retrieve the details of a specific knowledge item atx custom def get-ki -n <transformation-name> --id <id> # Update the status of a knowledge item (ENABLED or DISABLED) atx custom def update-ki-status -n <transformation-name> --id <id> --status ENABLED # Update the knowledge item configuration to enable auto-approval atx custom def update-ki-config -n <transformation-name> --auto-enabled TRUE
Sviluppatore di app

Risoluzione dei problemi

ProblemaSoluzione

Configurazione del percorso di input e output

I file di input non vengono letti o i file di output non vengono scritti correttamente. 

Specificate il percorso completo della directory in cui sono archiviati i file di input e indicate chiaramente la posizione in cui scrivere l'output. Assicurati che siano configurate le autorizzazioni di accesso adeguate per queste directory. 

Le migliori pratiche includono l'utilizzo di percorsi assoluti anziché percorsi relativi per evitare ambiguità e la verifica che tutti i percorsi specificati esistano con le autorizzazioni appropriate. read/write  

Ripresa delle esecuzioni interrotte

L'esecuzione è stata interrotta o deve essere continuata dal punto in cui è stata interrotta

Puoi riprendere l'esecuzione dal punto in cui l'avevi interrotta fornendo l'ID della conversazione nel comando CLI.

Trova l'ID della conversazione nei registri del tuo precedente tentativo di esecuzione.  

Risoluzione dei vincoli di memoria

Si verifica un errore di memoria esaurita durante l'esecuzione.

È possibile chiedere AWS Transform di condividere la dimensione corrente della JVM in memoria e quindi aumentare l'allocazione della memoria in base a queste informazioni. Questa regolazione consente di soddisfare requisiti di elaborazione più elevati.

Prendi in considerazione la possibilità di suddividere i lavori di grandi dimensioni in batch più piccoli se i vincoli di memoria persistono dopo le regolazioni. 

Risolvere le discrepanze tra i file di output

I file di output non corrispondono alle aspettative e AWS Transform indicano che non sono possibili ulteriori modifiche.

Fornisci feedback specifici e motivi tecnici che spieghino perché l'uscita corrente non è corretta. Includi documentazione tecnica o commerciale aggiuntiva a supporto delle tue esigenze. Questo contesto dettagliato aiuta a AWS Transform correggere il codice per generare i file di output corretti. 

  • Esempi specifici che confrontano l'output previsto con quello effettivo 

  • Riferimenti alla documentazione o agli standard pertinenti

  • Spiegazione chiara dell'impatto aziendale della discrepanza  

Risorse correlate

Allegati

Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip