Modernisez l'application CardDemo mainframe en utilisant 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.

Modernisez l'application CardDemo mainframe en utilisant AWS Transform

Créée par Santosh Kumar Singh (AWS) et Cheryl du Preez (AWS)

Récapitulatif

AWS Transformest conçu pour accélérer la modernisation des applications mainframe. Il utilise l'IA générative pour rationaliser le processus de modernisation du mainframe. Il automatise les tâches complexes, telles que l'analyse du code existant, la documentation du mainframe, l'extraction des règles métier, la décomposition des applications monolithiques dans le domaine métier et le refactoring du code. Il accélère les projets de modernisation en automatisant des tâches complexes, telles que l'analyse des applications et la planification des séquences de migration. Lorsque vous décomposez des applications monolithiques, AWS Transform séquencez intelligemment la transformation des applications mainframe, ce qui vous permet de transformer les fonctions métiers en parallèle. AWS Transform peut accélérer la prise de décision et améliorer l'agilité opérationnelle et l'efficacité de la migration.

Ce modèle fournit des step-by-step instructions pour vous aider à tester les capacités de modernisation du mainframe AWS Transform by using CardDemo, qui est un exemple d'application mainframe open source.

Conditions préalables et limitations

Prérequis

  • Un actif Compte AWS

  • AWS IAM Identity Center, activé

  • Autorisations permettant aux administrateurs d'activer AWS Transform

  • Autorisations permettant aux administrateurs d'accepter les demandes de connexion Amazon Simple Storage Service (Amazon S3) pour AWS Transform l'application Web

Limites

  • AWS Transform n'est disponible que dans certains cas Régions AWS. Pour obtenir la liste complète des régions prises en charge, consultez la section Régions prises en charge pour AWS Transform.

  • AWS Transform prend en charge l'analyse du code, la génération de documents, l'extraction des règles métier, la décomposition et le refactoring du langage COBOL (Common Business-Oriented Language) vers Java. Pour plus d'informations, consultez les sections Fonctionnalités et fonctionnalités clés et Types de fichiers pris en charge pour la transformation des applications mainframe.

  • Il existe un quota de service pour les capacités de transformation du mainframe dans AWS Transform. Pour plus d'informations, consultez la section Quotas pour AWS Transform.

  • Pour collaborer sur un espace de travail partagé, tous les utilisateurs doivent être des utilisateurs enregistrés de la même instance AWS IAM Identity Center que celle associée à votre instance de l'application AWS Transform Web.

  • Le compartiment Amazon S3 AWS Transform doit se trouver dans la même Compte AWS région.

Architecture

Le schéma suivant montre l'architecture que vous avez configurée dans ce modèle.

Utilisation d'AWS Transform pour moderniser une application mainframe stockée dans un compartiment Amazon S3.

Le schéma suivant illustre le flux de travail suivant :

  1. AWS Transform utilise un connecteur pour accéder à l'application CardDemo mainframe, qui est stockée dans un compartiment Amazon S3.

  2. AWS Transform permet AWS IAM Identity Center de gérer l'accès et l'authentification des utilisateurs. Le système met en œuvre plusieurs niveaux de contrôles de sécurité pour l'authentification, l'autorisation, le chiffrement et la gestion des accès afin de protéger le code et les artefacts pendant le traitement. Les utilisateurs interagissent avec l' AWS Transform agent via une interface de chat. Vous pouvez fournir des instructions à l'agent AI pour des tâches spécifiques en anglais. Pour plus d'informations, consultez Human in the loop (HITL) dans la AWS Transform documentation.

  3. L'agent AI interprète les instructions de l'utilisateur, crée un plan de travail, divise le travail en tâches exécutables et l'exécute de manière autonome. Les utilisateurs peuvent examiner et approuver la transformation. Les tâches de transformation sont les suivantes :

    • Analyse du code : AWS Transform analyse le code de chaque fichier pour obtenir des détails tels que le nom du fichier, le type de fichier, les lignes de code et leurs chemins. L'agent analyse le code source, exécute des classifications, crée des mappages de dépendances et identifie les artefacts manquants. Il identifie également les composants dupliqués.

    • Génération de documents : AWS Transform génère de la documentation pour l'application mainframe. En analysant le code, il peut créer automatiquement une documentation détaillée des programmes d'application, y compris des descriptions de la logique métier, des flux, des intégrations et des dépendances présents dans vos anciens systèmes.

    • Extraction de la logique métier : AWS Transform analyse les programmes COBOL pour documenter leur logique métier de base, afin de vous aider à comprendre la logique métier fondamentale.

    • Décomposition du code : AWS Transform décompose le code en domaines qui tiennent compte des dépendances entre les programmes et les composants. Le regroupement de fichiers et de programmes connexes au sein d'un même domaine améliore l'organisation et permet de préserver la structure logique de l'application lors de sa décomposition en composants plus petits.

    • Planification de la vague de migration — Sur la base des domaines que vous avez créés pendant la phase de décomposition, AWS Transform génère un plan de vague de migration avec un ordre de modernisation recommandé.

    • Refactorisation du code : AWS Transform refactorise le code de tous les fichiers de domaine ou de certains fichiers de domaine en code Java. L'objectif de cette étape est de préserver la logique métier critique de l'application tout en la refactorisant pour en faire une application Java modernisée et optimisée pour le cloud.

  4. AWS Transform stocke le code refactorisé, les documents générés, les artefacts associés et les bibliothèques d'exécution dans votre compartiment Amazon S3. Vous pouvez effectuer les actions suivantes :

    • Accédez au dossier d'exécution de votre compartiment Amazon S3.

    • Créez et déployez l'application en suivant la section Création et déploiement de votre application modernisée après le refactoring figurant dans la documentation. AWS Transform

    • Via l'interface de chat, demandez et téléchargez un échantillon ou un modèle AWS CloudFormation Hashicorp Terraform. AWS Cloud Development Kit (AWS CDK) Ces modèles peuvent vous aider à déployer les AWS ressources nécessaires pour prendre en charge l'application refactorisée.

    • Utilisez Reforge pour améliorer la qualité du code refactorisé en utilisant de grands modèles de langage (). LLMs Le moteur de refactorisation préserve l'équivalence fonctionnelle du COBOL tout en le transformant en code Java. La reforge est une étape facultative qui est disponible après la transformation. Cette étape permet LLMs de restructurer le code pour qu'il ressemble étroitement à Java natif, ce qui peut améliorer la lisibilité et la maintenabilité. Reforge ajoute également des commentaires lisibles par l'homme pour vous aider à comprendre le code, et met en œuvre des modèles de codage modernes et les meilleures pratiques.

Outils

Services AWS

  • 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 IAM Identity Centervous permet de gérer de manière centralisée l'accès par authentification unique (SSO) à vos applications Comptes AWS et à celles du cloud.

  • 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.

Référentiel de code

Vous pouvez utiliser l'application open source pour AWS CardDemoordinateur central comme exemple d'application pour démarrer la modernisation du mainframe.

Bonnes pratiques

  • Commencez modestement : commencez par un code petit et moins complexe (15 000 à 20 000 lignes de code) pour comprendre comment AWS Transform analyse et transforme les applications mainframe.

  • Combinez avec l'expertise humaine — Utilisez-le AWS Transform comme accélérateur tout en appliquant l'expertise humaine pour des résultats optimaux.

  • Révision et test approfondis — Passez toujours en revue le code transformé avec soin et effectuez des tests complets pour valider l'équivalence fonctionnelle après la transformation.

  • Fournir des commentaires — Pour fournir des commentaires et des suggestions d'amélioration, utilisez le bouton Envoyer des commentaires dans le AWS Management Console ou créez un dossier auprès de AWS Support. Pour plus d'informations, consultez la section Création d'un dossier de support. Vos commentaires sont précieux pour l'amélioration des services et le développement futur.

Épopées

TâcheDescriptionCompétences requises

Créez un compartiment.

Créez un compartiment Amazon S3 dans le même compartiment Compte AWS et dans la région où AWS Transform il est activé. Vous utilisez ce compartiment pour stocker le code de l'application mainframe, et vous AWS Transform l'utilisez pour stocker les documents générés, le code refactorisé et les autres fichiers associés à la transformation. Pour obtenir des instructions, consultez la section Création d'un compartiment dans la documentation Amazon S3.

AWS général

Préparez l'exemple d'application pour ordinateur central.

  1. Entrez la commande suivante pour cloner le CardDemoréférentiel sur votre station de travail locale :

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

  2. Créez un nouveau dossier nommécarddemo.

  3. Copiez le app dossier, qui contient le code source du mainframe, depuis le référentiel cloné vers le carddemo dossier.

  4. Compressez le cardemo dossier dans un fichier ZIP.

  5. Téléchargez le fichier ZIP dans le compartiment Amazon S3 que vous avez créé. Pour obtenir des instructions, consultez la section Chargement d'objets dans la documentation Amazon S3.

Développeur d'applications, DevOps ingénieur
TâcheDescriptionCompétences requises

Ajoutez des utilisateurs à IAM Identity Center.

Ajoutez vos utilisateurs potentiels à IAM Identity Center. Suivez les instructions de la section Ajout d'utilisateurs dans IAM Identity Center dans la AWS Transform documentation.

Administrateur AWS

Activez AWS Transform et ajoutez des utilisateurs.

  1. Activer AWS Transform. Suivez les instructions de la section Activer AWS Transform.

  2. Ajoutez des utilisateurs à AWS Transform. Suivez les instructions de la section Ajouter des utilisateurs à AWS Transform.

Administrateur AWS

Configurez l'accès des utilisateurs à l'application AWS Transform Web.

Chaque utilisateur doit accepter l'invitation pour accéder à l'application AWS Transform Web. Suivez les instructions de la section Acceptation de l'invitation dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Connectez-vous à l'application AWS Transform Web.

Suivez les instructions de la section Se connecter à AWS Transform.

Développeur d'applications, propriétaire de l'application

Configurez un espace de travail.

Configurez un espace de travail dans lequel les utilisateurs peuvent collaborer dans l'application AWS Transform Web. Suivez les instructions de la section Configuration de votre espace de travail dans la AWS Transform documentation.

Administrateur AWS
TâcheDescriptionCompétences requises

Créez une tâche de transformation.

Créez une tâche de transformation pour moderniser l'application CardDemo mainframe. Pour obtenir des instructions, consultez la section Créer et démarrer une tâche dans la AWS Transform documentation. Lorsque vous êtes invité à définir les objectifs dans l'interface de AWS Transform chat, choisissez Effectuer la modernisation du mainframe (IBM z/OS vers AWS), puis sélectionnez Analyser le code, Générer la documentation technique, Logique métier, Décomposer le code, Planifier la séquence de migration et Transformer le code en Java.

Développeur d'applications, propriétaire de l'application

Configurez le connecteur.

Établissez un connecteur vers le compartiment Amazon S3 qui contient l'application CardDemo mainframe. Ce connecteur permet d'accéder AWS Transform aux ressources du bucket et d'exécuter des fonctions de transformation consécutives. Pour obtenir des instructions, consultez la section Configuration d'un connecteur dans la AWS Transform documentation.

Administrateur AWS

Effectuez une analyse de code.

  1. Sur la page Spécifier l'emplacement des actifs, entrez le chemin du compartiment Amazon S3 pour le fichier carddemo ZIP que vous avez chargé.

  2. Choisissez Approuver et envoyer à AWS Transform. Il commence à analyser le code.

  3. Surveillez l'état dans l'onglet Worklog.

  4. Lorsque l'analyse est terminée, sous Analyser le code dans le volet de navigation de gauche, choisissez Afficher les résultats de l'analyse du code.

  5. (Facultatif) Choisissez Télécharger pour télécharger la liste complète des ressources, le code source manquant et le fichier de dépendance.

Pour plus d'informations, consultez la section Analyse du code dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Générez de la documentation technique.

  1. Dans le volet de navigation de gauche, sous Générer la documentation technique, choisissez Sélectionner les fichiers et configurer les paramètres.

  2. Développez COBOL ou JCL, puis sélectionnez un ou plusieurs fichiers.

  3. Choisissez le niveau de détail de la documentation :

    • Résumé — Fournit une vue d'ensemble de haut niveau de chaque fichier inclus dans le champ d'application. Donne également un résumé d'une ligne de chaque fichier.

    • Spécification fonctionnelle détaillée : fournit des informations complètes pour chaque fichier inclus dans le périmètre de transformation de l'application mainframe. Certains détails incluent la logique et le flux, les règles métier identifiées, le flux de données, les dépendances, le traitement des entrées et des sorties et divers détails des transactions.

  4. Choisissez Envoyer à AWS Transform.

  5. Surveillez la progression dans l'onglet Worklog.

    Note

    Le temps de génération des documents varie de quelques minutes à quelques heures, selon le nombre de fichiers et de lignes de code.

  6. Lorsque vous avez terminé, sélectionnez Consulter les résultats de la documentation.

  7. Accédez au document généré via l'application Web ou téléchargez-le. La documentation générée est également stockée dans le compartiment Amazon S3.

  8. Explorez la documentation générée en posant des questions spécifiques dans l'interface de chat. Par exemple, vous pouvez dire « Dites-moi les fonctionnalités de CBACT01C ».

Pour plus d'informations, voir Génération de documentation technique dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Extrayez la logique métier.

  1. Dans le volet de navigation de gauche, développez Extract business logic, puis sélectionnez Select files for business logic extraction.

  2. Développez COBOL ou JCL, puis sélectionnez un ou plusieurs fichiers.

  3. Choisissez Envoyer à AWS Transform.

  4. Surveillez la progression dans l'onglet Worklog.

    Note

    Le temps d'extraction de la logique métier varie de quelques minutes à quelques heures, selon le nombre de fichiers et de lignes de code.

  5. Lorsque l'extraction est terminée, choisissez Examiner les résultats de l'extraction de la logique métier.

  6. Sélectionnez un fichier COBOL ou JCL, puis choisissez Afficher.

  7. Modifiez le champ d'application dans le diagramme de flux et les règles fonctionnelles pour passer en revue les différents niveaux des organigrammes, y compris le code correspondant.

  8. (Facultatif) Passez en revue la logique métier générée, qui est stockée au format JSON dans votre compartiment Amazon S3.

Pour plus d'informations, voir Extraire la logique métier dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Décomposez le code.

  1. Dans le volet de navigation de gauche, développez le code, puis choisissez Décomposer en domaines.

  2. Dans la liste Actions, sélectionnez Créer un domaine.

  3. Entrez un nom pour le nouveau domaine, tel queBill payment.

  4. (Facultatif) Fournissez une description.

  5. Dans la barre de recherche Rechercher des fichiersCB00, recherchez puis sélectionnez le fichier.

  6. Choisissez Marquer comme graine.

  7. Vérifiez que le drapeau de départ passe de Non à Oui.

  8. Choisissez Créer.

  9. Choisissez Enregistrer.

  10. Choisissez Decompose.

  11. Passez en revue le résultat de décomposition en choisissant le nom de domaine.

  12. Lorsque la décomposition est terminée, choisissez Envoyer vers AWS Transform.

Pour plus d'informations sur la décomposition et les germes, consultez la section Décomposition dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Planifiez les vagues de migration.

Planifiez les vagues de migration de l' CardDemo application. Suivez les instructions de la section Planification des vagues de migration dans la AWS Transform documentation pour revoir et modifier le plan des vagues.

Développeur d'applications, propriétaire de l'application

Refactorisez le code.

  1. Refactorisez l'application CardDemo mainframe en code Java dans tous les fichiers de domaine ou dans certains fichiers de domaine. Suivez les instructions du code Refactor de la AWS Transform documentation.

  2. Une fois le processus de refactorisation terminé, créez et déployez l'application Java modernisée. Suivez les instructions de la section Créez et déployez votre application modernisée après le refactoring dans la documentation. AWS Transform

Développeur d'applications, propriétaire de l'application

(Facultatif) Utilisez Reforge pour améliorer le code Java.

  1. Créez une nouvelle tâche, puis entrez un objectif deReforge the code.

  2. Entrez le nom d'un projet qui a été modernisé grâce à AWS Transform. Ce projet doit se trouver dans votre compartiment Amazon S3.

  3. Entrez la liste des classes Java qui indique les classes de service à reforger.

  4. Passez en revue la sortie générée dans le compartiment Amazon S3.

Pour plus d'informations, consultez Reforge dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Simplifiez le déploiement.

AWS Transform peut fournir des modèles d'infrastructure sous forme de code (IaC) pour CloudFormation AWS CDK, ou Terraform. Ces modèles vous aident à déployer des composants de base, notamment des ressources de calcul, de base de données, de stockage et de sécurité.

  1. Dans l'interface de AWS Transform chat, demandez les modèles en saisissantShare the mainframe refactor <service> templates, où se <service> trouve l'un des services iAc pris en charge.

  2. Déployez le modèle en utilisant le service de votre choix. Consultez par exemple les ressources suivantes :

Pour plus d'informations, consultez la section Capacités de déploiement dans la AWS Transform documentation.

Développeur d'applications, propriétaire de l'application

Résolution des problèmes

ProblèmeSolution

Vous ne pouvez pas afficher le code source ou le document généré dans l'application AWS Transform Web.

Ajoutez une politique à l'autorisation CORS pour le compartiment Amazon S3 afin de l'autoriser AWS Transform comme origine. Pour plus d'informations, consultez la section Autorisations CORS du compartiment S3 dans la AWS Transform documentation.

Ressources connexes

AWS documentation

Autres AWS ressources

Vidéos et didacticiels

Note

AWS Transform était auparavant connu sous le nom d'Amazon Q Developer transform for mainframe.