00:00:00Découvrez comment les développeurs peuvent utiliser Clod Code pour moderniser une base de code COBOL.
00:00:05Pour cette démonstration,
00:00:06nous utiliserons le référentiel de démonstration de modernisation des ordinateurs centraux d'AWS.
00:00:11C'est un système de gestion de cartes de crédit de taille moyenne contenant environ 100 fichiers,
00:00:16dont des programmes COBOL,
00:00:17des copybooks et des scripts JCL.
00:00:19Phase 1 – Découverte et documentation Notre base de code COBOL d'exemple n'a pratiquement aucune documentation.
00:00:25C'est bien sûr courant avec les bases de code héritées,
00:00:28où la logique métier critique et les exigences réglementaires sont intégrées dans du code non documenté,
00:00:33les développeurs qui ont écrit le code ont quitté l'organisation depuis longtemps,
00:00:37et les développeurs maîtrisant COBOL sont difficiles à embaucher.
00:00:40Nous avons d'abord créé un sous-agent spécialisé en utilisant la commande /agent de Clod Code.
00:00:44C'était notre expert en documentation COBOL et traducteur.
00:00:47Les sous-agents peuvent être invoqués par Clod Code en parallèle,
00:00:51et ils fonctionnent avec leurs propres fenêtres de contexte isolées pour éviter de polluer le fil principal.
00:00:56Nous avons activé le mode réflexion et demandé à Clod Code d'analyser l'architecture de la base de code.
00:01:01Clod Code a créé une liste de tâches pour les 94 fichiers et a suivi sa progression pour s'assurer qu'aucun fichier n'a été traité deux fois et qu'aucune étape n'a été oubliée.
00:01:09La documentation que Clod a produite allait bien au-delà de simples commentaires de code.
00:01:13Par exemple,
00:01:14regardons le programme de calcul d'intérêts CBACT04C.
00:01:20Il a extrait le processus métier complet : comment le programme lit les soldes des catégories de transactions,
00:01:25recherche les taux d'intérêt par groupe de comptes,
00:01:28applique les règles métier pour les taux de secours et met à jour les enregistrements de comptes.
00:01:33Clod a fait cela pour chaque fichier,
00:01:35mais a aussi créé deux fichiers mémoire en texte brut.
00:01:39Catalog.txt traduit les noms cryptiques comme CBACT04C en programme de calcul d'intérêts par lots.
00:01:48Relationships.txt mappe chaque dépendance en utilisant un format simple délimité par des tirets.
00:01:55À partir de ces indices,
00:01:56Clod a ensuite généré des diagrammes mermaid,
00:01:58une carte complète du flux de traitement par lots quotidien,
00:02:01montrant comment les données circulent depuis l'entrée des transactions jusqu'à la comptabilisation,
00:02:06le calcul des intérêts et enfin les relevés clients.
00:02:08Dans cette démonstration,
00:02:10Clod Code a fonctionné continuellement pendant une heure pour rédiger plus de 100 pages de documentation,
00:02:15mais Clod Code peut fonctionner pendant plus de 30 heures de manière autonome,
00:02:19et les techniques utilisées ici s'adaptent à des bases de code beaucoup plus grandes.
00:02:23Phase 2.
00:02:24Migration et vérification.
00:02:26Après avoir entièrement documenté la base de code Cobalt,
00:02:28nous avons demandé à Clod de migrer l'une de ses fonctionnalités principales vers Java.
00:02:31Nous avons basculé en mode planification pour nous assurer que Clod réfléchirait à l'ensemble de la stratégie de migration sans éditer prématurément les fichiers.
00:02:39Clod a analysé le programme autrefois connu sous le nom de CBACT04C et a identifié des modèles Cobalt complexes comme le traitement des sauts de ligne et la coordination multi-fichiers.
00:02:50Clod a développé un plan de migration pour cette fonctionnalité avec cinq phases.
00:02:541.
00:02:55Créer la structure du projet.
00:02:562.
00:02:57Traduire les modèles de données des copybooks en classes Java.
00:02:593.
00:03:00Construire la couche E/S compatible avec les formats de fichiers originaux.
00:03:044.
00:03:05Convertir la logique métier tout en préservant les comportements spécifiques à Cobalt.
00:03:08Et enfin,
00:03:09créer un harnais de test double,
00:03:11l'un utilisant GNU Cobalt 3.2.0 pour la base de code originale et l'autre en Java 17.
00:03:17Le code Java résultant allait bien au-delà d'une simple traduction de syntaxe.
00:03:20Clod a créé des classes Java appropriées avec des modèles de conception adéquats,
00:03:23une gestion des erreurs et une journalisation.
00:03:25Du Java idiomatique qu'une équipe de développement moderne maintiendrait réellement.
00:03:30Ensuite,
00:03:30vérification pour s'assurer que le nouveau code Java fonctionnait de la même manière que le code Cobalt qu'il remplaçait.
00:03:37Clod a créé plusieurs fichiers de données de test et les a exécutés contre les programmes Cobalt originaux et les nouveaux programmes.
00:03:43La vérification a comparé non seulement les résultats finaux,
00:03:46mais aussi les calculs intermédiaires,
00:03:47les écritures de fichiers et les transformations de données.
00:03:50Le résultat était une fidélité parfaite bit par bit.
00:03:53Chaque calcul,
00:03:54chaque règle métier et chaque cas particulier a été préservé.
00:03:57Bien sûr,
00:03:58cette application de démonstration est bien plus petite que vos bases de code Cobalt héritées.
00:04:02Mais toutes les techniques présentées ici sont évolutives.
00:04:04Clod Code permettra à vos développeurs de moderniser les bases de code avec une confiance et une efficacité qui auraient tout simplement été impossibles il y a seulement 12 mois.