Tutoriel : Configuration d'un pipeline CI/CD à utiliser avec Micro Focus Enterprise Developer - AWS Modernisation du mainframe

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.

Tutoriel : Configuration d'un pipeline CI/CD à utiliser avec Micro Focus Enterprise Developer

Ce didacticiel explique comment importer, modifier, compiler et exécuter l' BankDemo exemple d'application dans Micro Focus Enterprise Developer, puis comment valider vos modifications pour déclencher un pipeline CI/CD.

Prérequis

Téléchargez les fichiers suivants.

L'objectif de chaque fichier est le suivant :

basic-infra.yaml

Ce AWS CloudFormation modèle crée l'infrastructure de base nécessaire au pipeline CI/CD :VPC, compartiments Amazon S3, etc.

pipeline.yaml

Ce AWS CloudFormation modèle est utilisé par une fonction Lambda pour lancer la pile de pipelines. Assurez-vous que ce modèle se trouve dans un compartiment Amazon S3 accessible au public. Ajoutez le lien vers ce compartiment comme valeur par défaut pour le PipelineTemplateURL paramètre dans le basic-infra.yaml modèle.

m2-code-sync-function.zip

Cette fonction Lambda crée le CodeCommit référentiel, la structure de répertoire basée surconfig_git.yaml, et lance la pile de pipelines à l'aide de. pipeline.yaml Assurez-vous que ce fichier zip est disponible dans un compartiment Amazon S3 accessible au public dans tous les pays Régions AWS où la modernisation des AWS mainframes est prise en charge. Nous vous recommandons de stocker le fichier dans un compartiment Région AWS et de le répliquer dans tous les compartiments. Régions AWS Utilisez une convention de dénomination pour le compartiment avec un suffixe identifiant le compartiment spécifique Région AWS (par exemple,m2-cicd-deployment-source-eu-west-1) et ajoutez le préfixe m2-cicd-deployment-source comme valeur par défaut pour le paramètre DeploymentSourceBucket et formez le compartiment complet en utilisant la fonction de AWS CloudFormation substitution !Sub {DeploymentSourceBucket}-${AWS::Region} tout en faisant référence à ce compartiment dans le basic-infra.yaml modèle de ressource. SourceSyncLambdaFunction

config_git.yml

CodeCommit définition de la structure du répertoire. Pour de plus amples informations, veuillez consulter Exemple de fichier YAML déclencheur config_git.yml.

BANKDEMO-source.zip.

BankDemo code source et fichier de configuration créés à partir du CodeCommit référentiel.

BANKDEMO-exercise.zip.

BankDemo source pour les exercices didacticiels créés à partir du CodeCommit référentiel.

Création d'une infrastructure de base pour le pipeline CI/CD

Utilisez le AWS CloudFormation modèle basic-infra.yaml pour créer la pile d'infrastructure de base du pipeline CI/CD via la AWS CloudFormation console. Cette pile crée des compartiments Amazon S3 dans lesquels vous pouvez télécharger le code et les données de votre application, ainsi qu'une AWS Lambda fonction de support pour créer d'autres ressources nécessaires, telles qu'un AWS CodeCommit référentiel et un AWS CodePipeline pipeline.

Note

Pour lancer cette pile, vous avez besoin d'autorisations d'administrationIAM, d'Amazon S3, de Lambda AWS CloudFormation et d'autorisations d'utilisation. AWS KMS

  1. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

  2. Créez une nouvelle pile avec l'une des options suivantes :

    • Sélectionnez Créer une pile. C'est la seule option disponible si une pile est en cours d'exécution.

    • Sur la page Stacks, choisissez Create Stack. Cette option n'est visible que si aucune pile n'est en cours d'exécution.

  3. Sur la page Spécifier le modèle :

    • Dans Préparer le modèle, sélectionnez Le modèle est prêt.

    • Dans Spécifier le modèle, choisissez Amazon S3 URL comme source du modèle et entrez l'une des informations suivantes URLs en fonction de votre Région AWS.

      • https://m2-us-east-1.s3.us-east-1.amazonaws.com/cicd/mf/basic-infra.yaml

      • https://m2-eu-central-1.s3.eu-central-1.amazonaws.com/cicd/mf/basic-infra.yaml

    • Pour accepter vos paramètres, choisissez Next.

    La page Créer une pile s'ouvre.

    La page de détails de la pile contenant les valeurs de modernisation AWS du mainframe est renseignée.

    Effectuez les modifications suivantes :

    • Fournissez les valeurs appropriées pour le nom de la pile et les paramètres de configuration réseau.

    • La plupart des paramètres des configurations de déploiement sont préremplis de manière appropriée, vous n'avez donc pas besoin de les modifier. Selon votre modèle Région AWS, remplacez le AWS CloudFormation modèle de pipeline par l'un des modèles Amazon S3 suivantsURLs.

      • https://m2-us-east-1.s3.amazonaws.com/cicd/mf/pipeline.yaml

      • https://m2-eu-central-1.s3.eu-central-1.amazonaws.com/cicd/mf/pipeline.yaml

    • Choisissez Suivant.

    Note

    Ne modifiez pas les valeurs des paramètres par défaut, sauf si vous avez vous-même modifié le AWS CloudFormation modèle.

  4. Dans Configurer les options de pile, choisissez Next.

  5. Dans Fonctionnalités, sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources AWS CloudFormation pour autoriser la création d'un IAM rôle en votre nom. Sélectionnez Créer la pile.

    Note

    Le provisionnement de cette pile peut prendre de 3 à 5 minutes.

  6. Une fois la pile créée avec succès, accédez à la section Sorties de la pile nouvellement provisionnée. Vous y trouverez le compartiment Amazon S3 dans lequel vous devez télécharger le code de votre mainframe et les fichiers dépendants.

    L'onglet AWS CloudFormation Sorties, qui affiche les compartiments Amazon S3.

Création d'un AWS CodeCommit référentiel et d'un pipeline CI/CD

Au cours de cette étape, vous créez un CodeCommit référentiel et approvisionnez une pile de pipeline CI/CD en appelant une fonction Lambda qui appelle AWS CloudFormation pour créer la pile de pipelines.

  1. Téléchargez l'BankDemo exemple d'application sur votre ordinateur local.

  2. Téléchargez bankdemo.zip depuis votre machine locale vers le compartiment Amazon S3 créé dansCréation d'une infrastructure de base pour le pipeline CI/CD.

  3. Téléchargement config_git.yml.

  4. Modifiez le config_git.yml si nécessaire, comme suit :

    • Ajoutez votre propre nom de référentiel cible, votre branche cible et votre propre message de validation.

      repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch
    • Ajoutez l'adresse e-mail à laquelle vous souhaitez recevoir des notifications.

      pipeline-config: # Send pipeline failure notifications to these email addresses alert-notifications: - myname@mycompany.com # Send notifications for manual approval before production deployment to these email addresses approval-notifications: - myname@mycompany.com
  5. Téléchargez le config_git.yml fichier contenant la définition de la structure des dossiers du CodeCommit référentiel dans le compartiment Amazon S3 créé dansCréation d'une infrastructure de base pour le pipeline CI/CD. Cela invoquera la fonction Lambda qui approvisionnera automatiquement le référentiel et le pipeline.

    Cela créera un CodeCommit référentiel avec le nom fourni dans le config_git.yml fichier target-repository défini ; par exemple,bankdemo-repo.

    La fonction Lambda créera également la pile du pipeline CI/CD. AWS CloudFormation La AWS CloudFormation pile aura le même préfixe que le target-repository nom fourni, suivi d'une chaîne aléatoire (par exemplebankdemo-repo-01234567. Vous pouvez trouver le CodeCommit référentiel URL et le lien URL permettant d'accéder au pipeline créé dans la console AWS de gestion.

    AWS CloudFormation Onglet Sorties indiquant les points de terminaison du CodeCommit référentiel et CodePipeline.
  6. Si la création du CodeCommit référentiel est terminée, le pipeline CI/CD sera immédiatement déclenché pour effectuer un CI/CD complet.

  7. Une fois que le fichier a été transféré, il déclenche automatiquement le pipeline qui sera créé, déployé en phase de préparation, exécutera des tests et attendra l'approbation manuelle avant de le déployer dans l'environnement de production.

Exemple de fichier YAML déclencheur config_git.yml

repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch directory-structure: - '/': files: - build.xml - '*.yaml' - '*.yml' - '*.xml' - 'LICENSE.txt' readme: | # Root Folder - 'build.xml' : Build configuration for the application - tests: files: - '*.py' readme: | # Test Folder - '*.py' : Test scripts - config: files: - 'BANKDEMO.csd' - 'BANKDEMO.json' - 'BANKDEMO_ED.json' - 'dfhdrdat' - 'ESPGSQLXA.dll' - 'ESPGSQLXA64.so' - 'ESPGSQLXA64_S.so' - 'EXTFH.cfg' - 'm2-2021-04-28.normal.json' - 'MFDBFH.cfg' - 'application-definition-template-config.json' readme: | # Config Folder This folder contains the application configuration files. - 'BANKDEMO.csd' : CICS Resource definitions export file - 'BANKDEMO.json' : Enterprise Server configuration - 'BANKDEMO_ED.json' : Enterprise Server configuration for ED - 'dfhdrdat' : CICS resource definition file - 'ESPGSQLXA.dll' : XA switch module Windows - 'ESPGSQLXA64.so' : XA switch module Linux - 'ESPGSQLXA64_S.so' : XA switch module Linux - 'EXTFH.cfg' : Micro Focus File Handler configuration - 'm2-2021-04-28.normal.json' : M2 request document - 'MFDBFH.cfg' : Micro Focus Database File Handler - 'application-definition-template-config.json' : Application definition for M2 - source: subdirs: - .settings: files: - '.bms.mfdirset' - '.cbl.mfdirset' - copybook: files: - '*.cpy' - '*.inc' readme: | # Copy folder This folder contains the source for COBOL copy books, PLI includes, ... - .cpy COBOL copybooks - .inc PLI includes # - ctlcards: # files: # - '*.ctl' # - 'KBNKSRT1.txt' # readme: | # # Control Card folder # This folder contains the source for Batch Control Cards # - .ctl Control Cards - ims: files: - '*.dbd' - '*.psb' readme: | # ims folder This folder contains the IMS DB source files with the extensions - .dbd for IMS DBD source - .psb for IMS PSB source - jcl: files: - '*.jcl' - '*.ctl' - 'KBNKSRT1.txt' - '*.prc' readme: | # jcl folder This folder contains the JCL source files with the extensions - .jcl # - proclib: # files: # - '*.prc' # readme: | # # proclib folder # This folder contains the JCL procedures referenced via PROCLIB statements in the JCL with extensions # - .prc - rdbms: files: - '*.sql' readme: | # rdbms folder This folder contains any DB2 related source files with extensions - .sql for any kind of SQL source - screens: files: - '*.bms' - '*.mfs' readme: | # screens folder This folder contains the screens source files with the extensions - .bms for CICS BMS screens - .mfs for IMS MFS screens subdirs: - .settings: files: - '*.bms.mfdirset' - cobol: files: - '*.cbl' - '*.pli' readme: | # source folder This folder contains the program source files with the extensions - .cbl for COBOL source - .pli for PLI source subdirs: - .settings: files: - '*.cbl.mfdirset' - tests: files: - 'test_script.py' readme: | # tests Folder This folder contains the application test scripts pipeline-config: alert-notifications: - myname@mycompany.com approval-notifications: - myname@mycompany.com

Création d'Enterprise Developer AppStream 2.0

Pour configurer Micro Focus Enterprise Developer sur AppStream 2.0, voirTutoriel : Configuration de Micro Focus Enterprise Developer sur AppStream 2.0.

Pour connecter le CodeCommit référentiel à Enterprise Developer, utilisez le nom indiqué target-repository dansExemple de fichier YAML déclencheur config_git.yml.

Configuration et test pour les développeurs d'entreprise

Connectez-vous à l'instance Enterprise Developer AppStream 2.0 que vous avez créée dansCréation d'Enterprise Developer AppStream 2.0.

  1. Démarrez Enterprise Developer à partir du démarrage de Windows. Choisissez Micro Focus Enterprise Developer, puis choisissez Enterprise Developer pour Eclipse. Si vous commencez pour la première fois, cela peut prendre un certain temps.

  2. Dans le lanceur Eclipse, dans Workspace : entrez C:\Users\<username>\workspace puis choisissez Launch.

    Note

    Assurez-vous de choisir le même emplacement après vous être reconnecté à l'instance AppStream 2.0. La sélection de l'espace de travail n'est pas permanente.

  3. Dans Bienvenue, choisissez Open COBOL Perspective. Cela ne sera affiché que la première fois pour un nouvel espace de travail.

Cloner le BankDemo CodeCommit référentiel dans Enterprise Developer

  1. Choisissez Fenêtre/Perspective /Perspective ouverte/Autre... /Git.

  2. Choisissez Cloner un dépôt Git.

  3. Dans Clone Git Repository, entrez les informations suivantes :

    • Dans Emplacement URI, entrez le nom HTTPS URL du CodeCommit référentiel.

      Note

      Copiez le clone URL HTTPS du CodeCommit référentiel dans la console AWS de gestion et collez-le ici. Ils URI seront divisés en chemins Host et Repository.

    • CodeCommit Référencez les informations d'identification de l'utilisateur dans Authentication User and Password et choisissez Stocker dans Secure Store.

  4. Dans Sélection de branche, choisissez Branche principale, puis Suivant.

  5. Dans Destination locale, dans Répertoire, entrez C:\Users\<username>\workspace et choisissez Terminer.

    Le processus de clonage est terminé lorsqu'il BANKDEMO [main] est affiché dans la vue Git Repositories.

Création d'un COBOL projet BankDemo mainframe et création d'une application

  1. Passez à la COBOLperspective.

  2. Dans Project, désactivez la création automatique.

  3. Dans Fichier, choisissez Nouveau, puis Mainframe COBOL Project.

  4. Dans New Mainframe COBOL Project, entrez les informations suivantes :

    • Dans Nom du projet, entrezBankDemo.

    • Choisissez le modèle Micro Focus [64 bits].

    • Choisissez Finish (Terminer).

  5. Dans COBOLExplorer, développez le nouveau BankDemo projet.

    Note

    [BANKDEMO main]entre crochets indique que le projet est connecté au BankDemo CodeCommit dépôt local.

  6. Si l'arborescence n'affiche pas les entrées relatives aux COBOL programmes, aux cahiers, à la BMS source et aux JCL fichiers, choisissez Actualiser dans le menu contextuel du BankDemo projet.

  7. BankDemo Dans le menu contextuel, choisissez Propriétés/Micro Focus/Paramètres du projet/COBOL:

    • Choisissez Jeu de caractères - ASCII.

    • Choisissez Appliquer, puis Fermer.

  8. Si la génération de la COBOL source BMS et ne démarre pas immédiatement, vérifiez dans le menu Projet que l'option Générer automatiquement est activée.

    La sortie de compilation sera affichée dans la vue de la console et devrait être terminée au bout de quelques minutes avec des messages BUILD SUCCESSFUL etBuild finished with no errors.

    L' BankDemo application doit maintenant être compilée et prête pour une exécution locale.

Création d'un environnement local BankDemo CICS et par lots pour les tests

  1. Dans COBOLExplorer, développezBANKDEMO / config.

  2. Dans l'éditeur, ouvrezBANKDEMO_ED.json.

  3. Recherchez la chaîne ED_Home= et modifiez le chemin pour pointer vers le projet Enterprise Developer, comme suit :D:\\<username>\\workspace\\BANKDEMO. Notez l'utilisation de barres obliques doubles (\\) dans la définition du chemin.

  4. Enregistrez et fermez le fichier .

  5. Choisissez Server Explorer.

  6. Dans le menu contextuel par défaut, choisissez Ouvrir la page d'administration. La page d'administration de Micro Focus Enterprise Server s'ouvre dans le navigateur par défaut.

  7. Pour les sessions AppStream 2.0 uniquement, apportez les modifications suivantes afin de préserver votre région Enterprise Server locale pour les tests locaux :

    • Dans Directory Server/Default, choisissez PROPERTIES/Configuration.

    • Remplacez l'emplacement du référentiel parD:\<username>\My Files\Home Folder\MFDS.

    Note

    Vous devez effectuer les étapes 5 à 8 après chaque nouvelle connexion à une instance AppStream 2.0.

  8. Dans Directory Server/Default, choisissez Importer, puis effectuez les étapes suivantes :

    • À l'étape 1 : Type d'importation, choisissez JSONet choisissez Next.

    • À l'étape 2 : Télécharger, cliquez pour télécharger le fichier dans un carré bleu.

    • Dans Choisir le fichier à télécharger, entrez :

      • Nom du fichier :D:\<username>\workspace\BANKDEMO\config\BANKDEMO_ED.json.

      • Choisissez Ouvrir.

    • Choisissez Suivant.

    • À l'étape 3 : les régions effacent les ports des points de terminaison.

    • Choisissez Suivant.

    • À l'étape 4 : Importer, choisissez Importer.

    • Choisissez Finish (Terminer).

    La liste affiche désormais un nouveau nom de serveurBANKDEMO.

Démarrez le BANKDEMO serveur depuis Enterprise Developer

  1. Choisissez Enterprise Developer.

  2. Dans Server Explorer, choisissez Default, puis Refresh dans le menu contextuel.

    La liste des serveurs devrait désormais également s'afficherBANKDEMO.

  3. Choisissez BANKDEMO.

  4. Dans le menu contextuel, choisissez Associer au projet, puis choisissez BANKDEMO.

  5. Dans le menu contextuel, choisissez Démarrer.

    La vue de la console doit afficher le journal du démarrage du serveur.

    Si le message BANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completed s'affiche, le serveur est prêt à tester l'CICSBANKDEMOapplication.

Démarrez le terminal Rumba 3270

  1. Depuis le démarrage de Windows, lancez Micro Focus Rumba+ Desktop/Rumba+ Desktop.

  2. Dans Bienvenue, choisissez CREATENEWSESSION/Mainframe Display.

  3. Dans Mainframe Display, choisissez Connection/ Configure.

  4. Dans Configuration de session, choisissez Connection/TN3270.

  5. Dans Nom d'hôte/adresse, choisissez Insérer et entrez l'adresse IP127.0.0.1.

  6. Dans Port Telnet, entrez port6000.

  7. Choisissez Appliquer.

  8. Choisissez Se connecter.

    L'écran de CICS bienvenue affiche un écran avec le message de ligne 1 :This is the Micro Focus MFE CICS region BANKDEMO.

  9. Appuyez sur CTRL +Shift+Z pour effacer l'écran.

Exécuter une BankDemo transaction

  1. Dans un écran vide, entrezBANK.

  2. À l'écran BANK10, dans le champ de saisie pour l'ID utilisateur... :, entrez guest et appuyez sur Entrée.

  3. À l'écran BANK20, dans le champ de saisie situé avant Calculer le coût d'un prêt, entrez / (barre oblique) et appuyez sur Entrée.

  4. Dans l'écran BANK70 :

    • Dans Le montant que vous souhaitez emprunter... :, entrez10000.

    • Dans À un taux d'intérêt de... :, entrez5.0.

    • Dans Depuis combien de mois... :, entrez10.

    • Appuyez sur Entrée.

    Le résultat suivant doit être affiché :

    Resulting monthly payment.............: $1023.06

    Ceci termine la configuration de BANKDEMO l'application dans Enterprise Developer.

Arrêter le BANKDEMO serveur depuis Enterprise Developer

  1. Dans l'Explorateur de serveurs, choisissez Par défaut, puis sélectionnez Actualiser dans le menu contextuel.

  2. Choisissez BANKDEMO.

  3. Dans le menu contextuel, choisissez Stop.

    La vue de la console doit afficher le journal de l'arrêt du serveur.

    Si le message Server: BANKDEMO stopped successfully s'affiche, cela signifie que le serveur s'est correctement arrêté.

Exercice 1 : Améliorer le calcul du prêt dans BANKDEMO l'application

Dans ce scénario, vous allez suivre le processus consistant à apporter un exemple de modification au code, à le déployer et à le tester.

Le service des prêts souhaite un nouveau champ sur l'écran de calcul du prêt BANK7 0 pour afficher le montant total du prêt. Cela nécessite un changement de l'BMSécran MBANK7 0. CBL, en ajoutant un nouveau champ et le programme de gestion d'écran correspondant SBANK7 0P. CBLavec des cahiers connexes. De plus, la routine de calcul du prêt en BBANK7 0P. CBLdoit être étendu avec la formule supplémentaire.

Pour terminer cet exercice, assurez-vous de remplir les conditions préalables suivantes.

  • Téléchargez BANKDEMO-exercise.zip pourD:\PhotonUser\My Files\Home Folder.

  • Extrayez le fichier zip dansD:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise.

  • Créez un dossierD:\PhotonUser\My Files\Home Folder\AnalysisRules.

  • Copiez le fichier Loan+Calculation+Update.General-1.xml de règles du BANKDEMO-exercise dossier versD:\PhotonUser\My Files\Home Folder\AnalysisRules.

Note

Le code change dans*. CBLet*. CPYsont marqués d'un EXER 01 dans les colonnes 1 à 6 pour cet exercice.

Ajouter une règle d'analyse des prêts à Enterprise Developer Code Analysis

Les règles d'analyse définies dans Micro Focus Enterprise Analyzer peuvent être exportées depuis Enterprise Analyzer et importées dans Enterprise Developer pour exécuter les mêmes règles d'analyse dans toutes les sources du projet Enterprise Developer.

  1. Ouvrir Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules.

  2. Choisissez Modifier... et entrez le nom du dossier D:\PhotonUser\My Files\Home Folder\AnalysisRules contenant le fichier de règlesLoan+Calculation+Update.General-1.xml.

  3. Choisissez Finish (Terminer).

  4. Choisissez Appliquer, puis Fermer.

  5. Dans le menu contextuel BANKDEMO du projet, choisissez Code Analysis.

    Vous devriez voir une entrée pour la mise à jour du calcul du prêt.

Étape 1 : Effectuer une analyse de code pour le calcul du prêt

Avec la nouvelle règle d'analyse, nous voulons identifier les COBOL programmes et les lignes de code qui correspondent aux modèles de recherche*PAYMENT*, *LOAN* ainsi que *RATE* dans les expressions, les instructions et les variables. Cela vous aidera à naviguer dans le code et à identifier les modifications de code requises.

  1. Dans le menu contextuel BANKDEMO du projet, choisissez Analyse du code/Mise à jour du calcul du prêt.

    Cela exécutera la règle de recherche et listera les résultats dans un nouvel onglet appelé Analyse du code. L'analyse est terminée lorsque la barre de progression verte en bas à droite disparaît.

    L'onglet Analyse du code doit afficher une liste détaillée des instructionsBBANK20P.CBL, expressions BBANK70P.CBL et SBANK70P.CBL variables correspondant aux modèles de recherche, et chacune répertoriant chacune d'entre elles.

    En regardant le résultat, seuls les littéraux déplacés correspondent au modèle de recherche. BBANK20P.CBL Ce programme peut donc être ignoré.

  2. Dans la barre de menu de l'onglet, choisissez - Icône pour tout réduire.

  3. Développez SBANK70P.CBL et sélectionnez n'importe quelle ligne dans n'importe quel ordre en double-cliquant pour voir comment cela ouvrira le code source et surlignera la ligne sélectionnée dans le code source. Vous reconnaîtrez également que toutes les lignes de source identifiées sont marquées.

Étape 2 : Modifier CICS BMS la carte, COBOL programmer et tester

Nous allons d'abord modifier la BMS carteMBANK70.BMS, le programme de gestion d'écran SBANK70P.CBL et le cahier CBANKDAT.CPY pour afficher le nouveau champ. Pour éviter tout codage inutile dans cet exercice, les modules source modifiés sont disponibles dans le D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 dossier. Normalement, un développeur utilise les résultats de l'analyse du code pour naviguer et modifier les sources. Si vous avez le temps et souhaitez effectuer les modifications manuelles, utilisez les informations fournies dans *Modification manuelle en MBANK7 0. BMSet SBANK7 0P. CBL(Facultatif) *.

Pour des modifications rapides, copiez les fichiers suivants :

  1. ..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMS à D:\PhotonUser\workspace\bankdemo\source\screens.

  2. .\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBL à D:\PhotonUser\workspace\bankdemo\source\cobol.

  3. ..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPY à D:\PhotonUser\workspace\bankdemo\source\copybook.

  4. Pour vous assurer que tous les programmes concernés par les modifications sont compilés, choisissez Project/Clean... /Nettoyez tous les projets.

Pour les modifications manuelles apportées à MBANK70.BMS etSBANK70P.CBL, procédez comme suit :

  • Pour le changement manuel de BMS MBANK70.BMS source, ajoutez après le PAYMENT champ :

    • TXT09 avec les mêmes attributs que TXT 08 et INITIAL la valeur « Montant total du prêt »

    • TOTALavec les mêmes attributs que PAYMENT

Changements de test

Pour tester les modifications, répétez les étapes décrites dans les sections suivantes :

  1. Démarrez le BANKDEMO serveur depuis Enterprise Developer

  2. Démarrez le terminal Rumba 3270

  3. Exécuter une BankDemo transaction

    De plus, vous devriez maintenant également voir le texteTotal Loan Amount.....................:.

  4. Arrêter le BANKDEMO serveur depuis Enterprise Developer

Étape 3 : Ajouter le calcul du montant total dans le COBOL programme

Dans un deuxième temps, nous modifierons BBANK70P.CBL et ajouterons le calcul du montant total du prêt. La source préparée avec les modifications requises est disponible dans D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 le dossier. Si vous avez le temps et souhaitez effectuer les modifications manuelles, utilisez les informations fournies dans *Modification manuelle dans BBANK7 0P. CBL(Facultatif) *.

Pour un changement rapide, copiez le fichier suivant :

  • ..\BANKDEMO-exercise\Exercis01\source\cobol\BBANK70P.CBL à D:\PhotonUser\workspace\bankdemo\source\cobol.

Pour apporter une modification manuelle àBBANK70P.CBL, procédez comme suit :

  • Utilisez le résultat de l'analyse du code pour identifier les modifications requises.

Changements de test

Pour tester les modifications, répétez les étapes décrites dans les sections suivantes :

  1. Démarrez le BANKDEMO serveur depuis Enterprise Developer

  2. Démarrez le terminal Rumba 3270

  3. Exécuter une BankDemo transaction

    De plus, vous devriez maintenant également voir le texteTotal Loan Amount.....................: $10230.60.

  4. Arrêter le BANKDEMO serveur depuis Enterprise Developer

Étape 4 : valider les modifications et exécuter le pipeline CI/CD

Validez les modifications dans le CodeCommit référentiel central et déclenchez le pipeline CI/CD pour créer, tester et déployer les modifications.

  1. Dans le BANKDEMO projet, dans le menu contextuel, choisissez Team/Commit.

  2. Dans l'onglet Git Staging, entrez le message de validation suivant :Added Total Amount Calculation.

  3. Choisissez Commit et Push... .

  4. Ouvrez la CodePipeline console et vérifiez l'état de l'exécution du pipeline.

    Note

    Si vous rencontrez un problème avec la fonction Commit ou Push de Teams ou Enterprise Developer, utilisez l'interface de ligne de commande Git Bash.

Exercice 2 : Extraire le calcul du prêt dans BankDemo l'application

Dans le prochain exercice, vous allez travailler sur un autre exemple de demande de modification. Dans ce scénario, le service des prêts souhaite réutiliser la routine de calcul des prêts de manière autonome. WebService La routine doit rester active COBOL et doit également être appelable depuis le CICS COBOL programme BBANK70P.CBL existant.

Étape 1 : Refactoriser la routine de calcul des prêts dans une section COBOL

Dans un premier temps, nous extrayons la routine de calcul du prêt dans une COBOL section. Cette étape est nécessaire pour extraire le code dans un COBOL programme autonome à l'étape suivante.

  1. Ouvrez BBANK70P.CBL dans l'COBOLéditeur.

  2. Dans l'éditeur, choisissez dans le menu contextuel Analyse du code/Mise à jour du calcul du prêt. Cela analysera uniquement la source actuelle à la recherche de modèles définis dans la règle d'analyse.

  3. Dans le résultat de l'onglet Analyse du code, recherchez la première instruction DIVIDE WS-LOAN-INTEREST BY 12 arithmétique.

  4. Double-cliquez sur l'instruction pour accéder à la ligne source dans l'éditeur. Il s'agit du premier énoncé de la routine de calcul des prêts.

  5. Marquez le bloc de code suivant pour que la routine de calcul du prêt soit extraite dans une section.

    DIVIDE WS-LOAN-INTEREST BY 12 GIVING WS-LOAN-INTEREST ROUNDED. COMPUTE WS-LOAN-MONTHLY-PAYMENT ROUNDED = ((WS-LOAN-INTEREST * ((1 + WS-LOAN-INTEREST) ** WS-LOAN-TERM)) / (((1 + WS-LOAN-INTEREST) * WS-LOAN-TERM) - 1 )) * WS-LOAN-PRINCIPAL. EXER01 COMPUTE WS-LOAN-TOTAL-PAYMENT = EXER01 (WS-LOAN-MONTHLY-PAYMENT * WS-LOAN-TERM).
  6. Dans le menu contextuel de l'éditeur, choisissez Refactor/Extract to Section... .

  7. Entrez le nouveau nom de section : LOAN - CALCULATION.

  8. Choisissez OK.

    Le bloc de code marqué a maintenant été extrait dans la nouvelle LOAN-CALCULATION section et le bloc de code a été remplacé par l'PERFROM LOAN-CALCULATIONinstruction.

Changements de test

Pour tester les modifications, répétez les étapes décrites dans les sections suivantes.

  1. Démarrez le BANKDEMO serveur depuis Enterprise Developer

  2. Démarrez le terminal Rumba 3270

  3. Exécuter une BankDemo transaction

    De plus, vous devriez maintenant également voir le texteTotal Loan Amount.....................: $10230.60.

  4. Arrêter le BANKDEMO serveur depuis Enterprise Developer

    Note

    Si vous souhaitez éviter les étapes ci-dessus pour extraire le bloc de code dans une section, vous pouvez copier la source modifiée pour l'étape 1 de ..\BANKDEMO-exercise\Exercis02\Step1\cobol\BBANK70P.CBL versD:\PhotonUser\workspace\bankdemo\source\cobol.

Étape 2 : Extraire la routine de calcul des prêts dans un programme autonome COBOL

À l'étape 2, le bloc de code de la LOAN-CALCULATION section sera extrait vers un programme autonome et le code d'origine sera remplacé par un code permettant d'appeler le nouveau sous-programme.

  1. Ouvrez BBANK70P.CBL dans l'éditeur et recherchez la nouvelle PERFORM LOAN-CALCULATION déclaration créée à l'étape 1.

  2. Placez le curseur dans le nom de la section. Il sera marqué en gris.

  3. Dans le menu contextuel, sélectionnez Refactor->Extraire la section/le paragraphe vers le programme... .

  4. Dans Extraire la section/le paragraphe à programmer, entrez le nouveau nom de fichier :. LOANCALC CBL.

  5. Choisissez OK.

    Le nouveau LOANCALC.CBL programme s'ouvre dans l'éditeur.

  6. Faites défiler la page vers le bas et passez en revue le code extrait et généré pour l'interface d'appel.

  7. Sélectionnez l'éditeur avec BBANK70P.CBL et accédez àLOAN-CALCULATION SECTION. Vérifiez le code généré pour appeler le nouveau sous-programmeLOANCALC.CBL.

    Note

    L'CALLinstruction utilise DFHEIBLK et DFHCOMMAREA appelle LOANCALC avec des blocs CICS de contrôle. Comme nous voulons appeler le nouveau LOANCALC.CBL sous-programme en tant que CICS non-programme, nous devons supprimer DFHEIBLK et annuler DFHCOMMAREA l'appel en commentant ou en supprimant.

Changements de test

Pour tester les modifications, répétez les étapes décrites dans les sections suivantes.

  1. Démarrez le BANKDEMO serveur depuis Enterprise Developer

  2. Démarrez le terminal Rumba 3270

  3. Exécuter une BankDemo transaction

    De plus, vous devriez maintenant également voir le texteTotal Loan Amount.....................: $10230.60.

  4. Arrêter le BANKDEMO serveur depuis Enterprise Developer

    Note

    Si vous souhaitez éviter les étapes ci-dessus pour extraire le bloc de code dans une section, vous pouvez copier la source modifiée pour l'étape 1 depuis ..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBL et LOANCALC.CBL versD:\PhotonUser\workspace\bankdemo\source\cobol.

Étape 3 : valider les modifications et exécuter le pipeline CI/CD

Validez les modifications dans le CodeCommit référentiel central et déclenchez le pipeline CI/CD pour créer, tester et déployer les modifications.

  1. Dans le BANKDEMO projet, dans le menu contextuel, choisissez Team/Commit.

  2. Dans l'onglet Git Staging

    • Ajoutez des étapes non planifiées. LOANCALC CBLet LOANCALC. CBL.mfdirset.

    • Entrez un message de validation :Added Total Amount Calculation.

  3. Choisissez Commit et Push... .

  4. Ouvrez la CodePipeline console et vérifiez l'état de l'exécution du pipeline.

    Note

    Si vous rencontrez un problème avec la fonction Commit ou Push de Teams ou Enterprise Developer, utilisez l'interface de ligne de commande Git Bash.

Nettoyage des ressources

Si vous n'avez plus besoin des ressources que vous avez créées pour ce didacticiel, supprimez-les afin qu'elles ne continuent pas à vous être facturées. Procédez comme suit :