View a markdown version of this page

Transformez Easytrieve en langues modernes en utilisant des outils personnalisés AWS Transform - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transformez Easytrieve en langues modernes en utilisant des outils personnalisés AWS Transform

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

Résumé

Ce modèle fournit des conseils prescriptifs pour une transformation plus rapide et moins risquée des charges de travail EZT (Broadcom Easytrieve Report Generator) du mainframe à l'aide d'une transformation personnalisée.AWS Transform language-to-language Il permet de relever les défis liés à la modernisation des charges de travail EZT des ordinateurs centraux de niche et propriétaires qui sont couramment utilisées pour le traitement des données par lots et la génération de rapports. Ce modèle remplace les approches de migration coûteuses, longues et sujettes aux erreurs qui s'appuient sur des outils propriétaires et une expertise rare en matière de mainframe par une solution automatisée d'intelligence artificielle agentique sur laquelle vous créez. AWS Transform

Ce modèle fournit une définition de transformation personnalisée prête à l'emploi pour la transformation EZT. La définition utilise plusieurs entrées de transformation :

  • Règles commerciales EZT extraites à l'aide de AWS Transform for mainframe

  • Documentation de référence sur la programmation EZT

  • Code source d'EZT

  • Ensembles de données d'entrée et de sortie du mainframe

AWS Transform custom utilise ces entrées pour générer des applications fonctionnellement équivalentes dans des langages cibles modernes, tels que Java ou Python.

Le processus de transformation utilise l'exécution intelligente des tests, le débogage automatique et les fonctionnalités de correction itérative pour valider l'équivalence fonctionnelle par rapport aux résultats attendus. Il prend également en charge l'apprentissage continu, permettant la définition personnalisée des transformations afin d'améliorer la précision et la cohérence entre les transformations successives. Grâce à ce modèle, les entreprises peuvent réduire les efforts et les risques liés à la migration, remédier à la dette technique des ordinateurs centraux spécialisés et moderniser les charges de travail EZT AWS afin d'améliorer l'agilité, la fiabilité, la sécurité et l'innovation.

Conditions préalables et limitations

Conditions préalables

  • Un AWS compte actif 

  • Une charge de travail EZT pour ordinateur central avec des données d'entrée et de sortie 

Limites

Limites de portée

  • Support linguistique — Seule la transformation EZT vers Java est prise en charge pour ce modèle de transformation spécifique. 

  • Hors de portée — La transformation d'autres langages de programmation mainframe nécessite une nouvelle définition de transformation personnalisée en mode AWS Transform personnalisé.

Limites du processus

  • Dépendance de validation — Sans données de sortie de référence, la transformation ne peut pas être validée. 

  • Logique propriétaire — Les utilitaires hautement spécifiques développés sur mesure nécessitent une documentation utilisateur et des documents de référence supplémentaires pour être correctement interprétés par l'agent d'intelligence artificielle.

Limites techniques

Versions du produit

  • AWS Transform CLI — Dernière version

  • Node.js — version 20 ou ultérieure

  • Git — Dernière version

  • Environnement cible

    • Java — version 17 ou ultérieure

    • Spring Boot : la version 3.x est la cible principale des applications refactorisées

    • Maven — version 3.6 ou ultérieure

Architecture

Pile technologique source

  • Système d'exploitation — IBM z/OS

  • Langage de programmation — Easytrieve, langage de contrôle des tâches (JCL)

  • Base de données : IBM DB2 pour z/OS, méthode d'accès au stockage virtuel (VSAM), fichiers plats du mainframe

Pile technologique cible

  • Système d'exploitation — Amazon Linux

  • Calcul — Amazon Elastic Compute Cloud (Amazon EC2)

  • Langage de programmation — Java

  • Base de données Amazon Relational Database Service (Amazon RDS)

Architecture cible

schéma d'architecture cible pour l'utilisation personnalisée d'AWS Transform pour transformer EZT en code moderne.

Flux de travail

Cette solution utilise un modèle de transformation de language-to-language migration AWS Transform personnalisé pour moderniser les applications mainframe Easytrieve (EZT) vers Java grâce à un flux de travail automatisé en quatre étapes.

Étape 1 — Fournissez votre ancien code à AWS Transform for Mainframe, qui :

  • Analyse le code

  • Extrait la logique métier de haut niveau

  • Extrait la logique métier détaillée.

Étape 2 — Créez un dossier avec les entrées requises :

  • Règles commerciales EZT extraites à l'aide de AWS Transform for mainframe 

  • Documentation de référence sur la programmation EZT 

  • Code source d'EZT

  • Ensembles de données d'entrée et de sortie du mainframe

Étape 3 — Création et exécution d'une définition de transformation personnalisée

  1. Utilisez la AWS Transform CLI pour décrire les objectifs de transformation en langage naturel. AWS Transform analyse de manière personnalisée le BRE, le code source et les guides de programmation EZT afin de générer une définition de transformation personnalisée pour examen et approbation par les développeurs.

  2. Invoquez ensuite la AWS Transform CLI avec le code source du projet. AWS Transform custom crée des plans de transformation, convertit EZT en Java après approbation, génère des fichiers de support, crée le fichier JAR exécutable et valide les critères de sortie.

  3. Utilisez l'agent de validation pour tester l'équivalence fonctionnelle par rapport à la sortie du mainframe. L'agent Self-Debugger résout les problèmes de manière autonome. Les livrables finaux incluent du code Java validé et des rapports de validation HTML.

Automatisation et mise à l'échelle

  • Architecture d'exécution multimode d'Agentic AI : AWS Transform custom exploite l'IA agentic avec 3 modes d'exécution (conversationnel, interactif, automatisation complète) pour automatiser les tâches de transformation complexes, notamment l'analyse du code, le refactoring, la planification de la transformation et les tests.

  • Système de feedback adaptatif sur l'apprentissage : la plateforme met en œuvre des mécanismes d'apprentissage continu par le biais de l'analyse d'échantillons de code, de l'analyse de la documentation et de l'intégration des commentaires des développeurs avec des définitions de transformation versionnées.

  • Architecture de traitement simultané des applications : le système permet l'exécution parallèle distribuée de plusieurs opérations de transformation d'applications simultanément sur une infrastructure évolutive.

Outils

Services AWS  

  • AWS Transform custom est un service d'IA agentique utilisé pour transformer les applications EZT existantes en langages de programmation modernes. 

  • AWS Transformutilise l'IA agentic pour vous aider à accélérer la modernisation des charges de travail existantes, telles que .NET, le mainframe et les charges de travail. VMware

  • AWS Transform pour mainframe est utilisé pour analyser les applications EZT existantes afin d'extraire la logique métier intégrée et de générer une documentation complète sur les règles métier, y compris des résumés logiques, des définitions d'acronymes et des bases de connaissances structurées. Elles servent de données d'entrée pour la AWS Transform personnalisation. 

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données. Amazon S3 est le principal service de stockage AWS Transform personnalisé pour le stockage des définitions de transformation, des référentiels de code et des résultats de traitement.

  • Gestion des identités et des accès AWS (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser. IAM fournit le cadre de sécurité pour la AWS Transform personnalisation, la gestion des autorisations et le contrôle d'accès pour les opérations de transformation.

Autres outils

  • AWS Transform La CLI est l'interface de ligne de commande pour AWS Transform la personnalisation, permettant aux développeurs de définir, d'exécuter et de gérer des transformations de code personnalisées par le biais de conversations en langage naturel et de modes d'exécution automatisés. AWS Transform custom prend en charge à la fois les sessions interactives (atx custom def exec) et les transformations autonomes pour une modernisation évolutive des bases de code.

  • Système de contrôle de version Git utilisé pour la protection des branches, le suivi des modifications et les fonctionnalités de restauration lors d'une application de correction automatique. 

  • Java est le langage de programmation et l'environnement de développement utilisés dans ce modèle. 

Référentiel de code

Le code de ce modèle est disponible dans Easytrieve to Modern Languages Transformation with AWS Transform Custom on. GitHub

Bonnes pratiques

  • Établissez une structure de projet standardisée : créez une structure à quatre dossiers (code source, bre-doc, données d'entrée, données de sortie), validez l'exhaustivité et le contenu du document avant la transformation.

  • Utiliser des fichiers de référence pour la validation : utilisez les fichiers d'entrée de référence de production, effectuez une byte-by-byte comparaison avec la sortie de référence, acceptez une tolérance zéro pour les écarts.

  • Utiliser tous les documents de référence disponibles — Pour augmenter la précision de la transformation, fournissez tous les documents de référence disponibles, tels que les exigences commerciales et les listes de contrôle de codage.

  • Fournissez des informations pour améliorer la qualité : la AWS Transform personnalisation extrait automatiquement les enseignements tirés des exécutions de transformation (commentaires des développeurs, problèmes de code) et crée des éléments de connaissances pour ces derniers. Après chaque transformation réussie, passez en revue les éléments de connaissances et approuvez celui que vous souhaitez utiliser lors de futures exécutions. Cela améliore la qualité des transformations futures.

Épopées

Sous-tâcheDescriptionCompétences requises

Configurez AWS Transform pour le mainframe.

Configurez l'environnement et les autorisations requises Gestion des identités et des accès AWS (IAM) pour prendre en charge les flux de travail de modernisation du mainframe. Pour plus d'informations, consultez la section Transformation des applications mainframe dans AWS la documentation.

Développeur d’applications

Générez de la documentation Business Rule Extract (BRE).

Extrayez la logique métier du code source EZT ou COBOL pour générer une documentation fonctionnelle. Pour obtenir des instructions sur la façon de lancer le processus d'extraction et de consulter le résultat, consultez la section Extraire la logique métier dans la AWS Transform documentation.

Développeur d’applications
Sous-tâcheDescriptionCompétences requises

Fournissez l'infrastructure AWS Transform sur mesure.

Déployez l'infrastructure prête pour la production requise pour héberger un environnement de transformation sécurisé. Cela inclut une instance Amazon EC2 privée configurée avec les outils nécessaires, les autorisations IAM et les paramètres réseau pour convertir le code Easytrieve. Pour configurer l'environnement à l'aide de l'infrastructure en tant que code (IaC), suivez les instructions de déploiement du référentiel Easytrieve to Modern Languages Transformation with AWS Transform Custom GitHub .

Développeur d'applications, administrateur AWS

Préparez les matières premières pour la transformation.

  1. Entrez cette commande pour créer la structure de dossiers :

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

    Cela crée les dossiers suivants :

    • source-code— Stockage du code source EZT

    • bre-doc— Stockage du document BRE généré

    • input-data— Stockage des données d'entrée pour l'exécution par lots sur le mainframe (Sequential/Text/DB2 fichiers au format EBCDIC)

    • output-data— Stockage des données de sortie sur le mainframe après l'exécution par lots (Sequential/Text/DB2 fichiers au format EBCDIC)

  2. Entrez les commandes suivantes pour initialiser le dépôt Git :

    cd /root/transform-workspace/mainframe-source/source-code git init git add . git commit -m "Initial commit"
Développeur d’applications
Sous-tâcheDescriptionCompétences requises

Créez une définition de transformation.

Suivez ces étapes pour créer la définition de transformation personnalisée pour la transformation EZT vers Java avec validation fonctionnelle.

  1. Accédez au dépôt de code pour ce modèle et copiez le contenu du documents dossier. Cela devrait inclure transformation_definition.md, summaries.md et le dossier contenant le guide de codage EZT. document_references

  2. Téléchargez ce contenu dans le téléchargement de la AWS Transform CLI vers un emplacement de votre choix et notez l'emplacement du chemin à utiliser dans les étapes suivantes.

  3. Appelez AWS Transform depuis la CLI avec la atx commande.

  4. Fournissez cette invite dans la CLI : créer une transformation personnalisée à l'aide de mon fichier de définition de transformation disponible sur path AWS Transform <path to content from step #2 > crée une nouvelle définition de transformation personnalisée pour la transformation EZT vers Java.

  5. Passez en revue la définition de la transformation et apportez des modifications si nécessaire.

Développeur d’applications

Publiez la définition de la transformation.

Après avoir examiné et validé la définition de transformation, vous pouvez la publier dans le registre AWS Transform personnalisé à l'aide d'une invite en langage naturel, en fournissant un nom de définition tel que EasyTrieve-to-Java-Migration.

Développeur d’applications
Sous-tâcheDescriptionCompétences requises

Consultez le résumé de validation de la transformation.

Avant d'exécuter la transformation AWS Transform personnalisée, vérifiez que le input-data dossier contient les fichiers de données requis capturés avant l'exécution du traitement par lots du mainframe. Après l'exécution de la tâche par lots sur le mainframe, assurez-vous que le output-data dossier capture les fichiers obtenus. Tous les fichiers sont au format Sequential/Text/DB 2 utilisant le codage EBCDIC en fonction des exigences d'exécution.

  • Placer les données d'entrée dans input-data/ un dossier

  • Placer la sortie de référence dans output-data/ un dossier

Développeur d’applications

Exécutez le travail de transformation personnalisé.

Exécutez la commande AWS Transform CLI en choisissant l'option non interactive ou interactive :

:# 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 valide automatiquement par le biais de build/test commandes lors de l'exécution de la transformation.

Développeur d’applications
Sous-tâcheDescriptionCompétences requises

Consultez le résumé de validation de la transformation.

  1. Attendez que le AWS Transform code soit automatiquement validé par le biais des commandes de compilation et de test.

  2. Entrez cette commande pour trouver la dernière session :

    LATEST_SESSION=$(ls -t ~/.aws/atx/custom/ | head -1
  3. Entrez cette commande pour afficher le résumé de validation :

    cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
  4. Entrez cette commande pour vérifier l'état général :

    grep "OVERALL STATUS" ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
Développeur d’applications

Accédez aux rapports de validation.

Entrez les commandes suivantes pour passer en revue les artefacts de validation détaillés :

# 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
Développeur d’applications

Activez les éléments de connaissances pour un apprentissage continu.

Améliorez la précision des transformations futures en intégrant les éléments de connaissances suggérés à votre configuration permanente. Après une transformation, l'agent stocke les modèles identifiés et les règles de mappage dans votre répertoire de session local. Pour consulter et appliquer ces éléments appris, exécutez les commandes suivantes sur votre instance 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
Développeur d’applications

Résolution des problèmes

ProblèmeSolution

Configuration des chemins d'entrée et de sortie

Les fichiers d'entrée ne sont pas lus ou les fichiers de sortie ne sont pas écrits correctement. 

Spécifiez le chemin complet du répertoire dans lequel les fichiers d'entrée sont stockés et indiquez clairement l'emplacement où la sortie doit être écrite. Assurez-vous que les autorisations d'accès appropriées sont configurées pour ces répertoires. 

Les meilleures pratiques incluent l'utilisation de chemins absolus plutôt que de chemins relatifs pour éviter toute ambiguïté et la vérification que tous les chemins spécifiés existent avec les read/write autorisations appropriées. 

Reprise des exécutions interrompues

L'exécution a été interrompue ou doit être poursuivie là où elle s'est arrêtée

Vous pouvez reprendre l'exécution là où vous l'avez interrompue en fournissant l'ID de conversation dans la commande CLI.

Trouvez l'identifiant de conversation dans les journaux de votre précédente tentative d'exécution.  

Résolution des contraintes de mémoire

Une erreur de mémoire insuffisante se produit lors de l'exécution.

Vous pouvez demander AWS Transform de partager la taille actuelle de la JVM en mémoire, puis d'augmenter l'allocation de mémoire en fonction de ces informations. Cet ajustement permet de répondre à des exigences de traitement plus importantes.

Envisagez de diviser les tâches volumineuses en lots plus petits si les contraintes de mémoire persistent après les ajustements. 

Corriger les divergences entre les fichiers de sortie

Les fichiers de sortie ne correspondent pas aux attentes et AWS Transform indiquent qu'aucune autre modification n'est possible.

Fournissez des commentaires spécifiques et des raisons techniques expliquant pourquoi la sortie actuelle est incorrecte. Incluez de la documentation technique ou commerciale supplémentaire pour répondre à vos besoins. Ce contexte détaillé permet de AWS Transform corriger le code afin de générer les fichiers de sortie appropriés. 

  • Exemples spécifiques comparant les résultats attendus aux résultats réels 

  • Références à la documentation ou aux normes pertinentes

  • Explication claire de l'impact commercial de l'écart  

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip