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.
Table des matières
- Prérequis
- Création d'une infrastructure de base pour le pipeline CI/CD
- Création d'un AWS CodeCommit référentiel et d'un pipeline CI/CD
- Création d'Enterprise Developer AppStream 2.0
- Configuration et test pour les développeurs d'entreprise
- Cloner le BankDemo CodeCommit référentiel dans Enterprise Developer
- Création d'un COBOL projet BankDemo mainframe et création d'une application
- Création d'un environnement local BankDemo CICS et par lots pour les tests
- Démarrez le BANKDEMO serveur depuis Enterprise Developer
- Démarrez le terminal Rumba 3270
- Exécuter une BankDemo transaction
- Arrêter le BANKDEMO serveur depuis Enterprise Developer
- Exercice 1 : Améliorer le calcul du prêt dans BANKDEMO l'application
- Ajouter une règle d'analyse des prêts à Enterprise Developer Code Analysis
- Étape 1 : Effectuer une analyse de code pour le calcul du prêt
- Étape 2 : Modifier CICS BMS la carte, COBOL programmer et tester
- Étape 3 : Ajouter le calcul du montant total dans le COBOL programme
- Étape 4 : valider les modifications et exécuter le pipeline CI/CD
- Exercice 2 : Extraire le calcul du prêt dans BankDemo l'application
- Nettoyage des ressources
Prérequis
Téléchargez les fichiers suivants.
-
basic-infra.yaml
-
pipeline.yaml
-
m2-code-sync-function.zip
-
config_git.yml
-
BANKDEMO-source.zip
-
BANKDEMO-exercise.zip
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 lebasic-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 sur
config_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éfixem2-cicd-deployment-source
comme valeur par défaut pour le paramètreDeploymentSourceBucket
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 lebasic-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
-
Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.
-
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.
-
-
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.
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.
-
-
Dans Configurer les options de pile, choisissez Next.
-
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.
-
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.
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.
-
Téléchargez l'BankDemo exemple d'application
sur votre ordinateur local. -
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. -
Téléchargement
config_git.yml
. -
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
-
-
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
fichiertarget-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-
. 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.01234567
-
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.
-
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
Rubriques
- Cloner le BankDemo CodeCommit référentiel dans Enterprise Developer
- Création d'un COBOL projet BankDemo mainframe et création d'une application
- Création d'un environnement local BankDemo CICS et par lots pour les tests
- Démarrez le BANKDEMO serveur depuis Enterprise Developer
- Démarrez le terminal Rumba 3270
- Exécuter une BankDemo transaction
- Arrêter le BANKDEMO serveur depuis Enterprise Developer
Connectez-vous à l'instance Enterprise Developer AppStream 2.0 que vous avez créée dansCréation d'Enterprise Developer AppStream 2.0.
-
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.
-
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.
-
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
-
Choisissez Fenêtre/Perspective /Perspective ouverte/Autre... /Git.
-
Choisissez Cloner un dépôt Git.
-
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.
-
-
Dans Sélection de branche, choisissez Branche principale, puis Suivant.
-
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
-
Passez à la COBOLperspective.
-
Dans Project, désactivez la création automatique.
-
Dans Fichier, choisissez Nouveau, puis Mainframe COBOL Project.
-
Dans New Mainframe COBOL Project, entrez les informations suivantes :
-
Dans Nom du projet, entrez
BankDemo
. -
Choisissez le modèle Micro Focus [64 bits].
-
Choisissez Finish (Terminer).
-
-
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. -
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.
-
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.
-
-
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
-
Dans COBOLExplorer, développez
BANKDEMO / config
. -
Dans l'éditeur, ouvrez
BANKDEMO_ED.json
. -
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. -
Enregistrez et fermez le fichier .
-
Choisissez Server Explorer.
-
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.
-
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 par
D:\<username>\My Files\Home Folder\MFDS
.
Note
Vous devez effectuer les étapes 5 à 8 après chaque nouvelle connexion à une instance AppStream 2.0.
-
-
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 serveur
BANKDEMO
. -
Démarrez le BANKDEMO serveur depuis Enterprise Developer
-
Choisissez Enterprise Developer.
-
Dans Server Explorer, choisissez Default, puis Refresh dans le menu contextuel.
La liste des serveurs devrait désormais également s'afficherBANKDEMO.
-
Choisissez BANKDEMO.
-
Dans le menu contextuel, choisissez Associer au projet, puis choisissez BANKDEMO.
-
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
-
Depuis le démarrage de Windows, lancez Micro Focus Rumba+ Desktop/Rumba+ Desktop.
-
Dans Bienvenue, choisissez CREATENEWSESSION/Mainframe Display.
-
Dans Mainframe Display, choisissez Connection/ Configure.
-
Dans Configuration de session, choisissez Connection/TN3270.
-
Dans Nom d'hôte/adresse, choisissez Insérer et entrez l'adresse IP
127.0.0.1
. -
Dans Port Telnet, entrez port
6000
. -
Choisissez Appliquer.
-
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
. -
Appuyez sur CTRL +Shift+Z pour effacer l'écran.
Exécuter une BankDemo transaction
-
Dans un écran vide, entrez
BANK
. -
À l'écran BANK10, dans le champ de saisie pour l'ID utilisateur... :, entrez
guest
et appuyez sur Entrée. -
À 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. -
Dans l'écran BANK70 :
-
Dans Le montant que vous souhaitez emprunter... :, entrez
10000
. -
Dans À un taux d'intérêt de... :, entrez
5.0
. -
Dans Depuis combien de mois... :, entrez
10
. -
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
-
Dans l'Explorateur de serveurs, choisissez Par défaut, puis sélectionnez Actualiser dans le menu contextuel.
-
Choisissez BANKDEMO.
-
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
Rubriques
- Ajouter une règle d'analyse des prêts à Enterprise Developer Code Analysis
- Étape 1 : Effectuer une analyse de code pour le calcul du prêt
- Étape 2 : Modifier CICS BMS la carte, COBOL programmer et tester
- Étape 3 : Ajouter le calcul du montant total dans le COBOL programme
- Étape 4 : valider les modifications et exécuter le pipeline CI/CD
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
pour D:\PhotonUser\My Files\Home Folder
. -
Extrayez le fichier zip dans
D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise
. -
Créez un dossier
D:\PhotonUser\My Files\Home Folder\AnalysisRules
. -
Copiez le fichier
Loan+Calculation+Update.General-1.xml
de règles duBANKDEMO-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.
-
Ouvrir
Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules
. -
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
. -
Choisissez Finish (Terminer).
-
Choisissez Appliquer, puis Fermer.
-
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.
-
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 instructions
BBANK20P.CBL
, expressionsBBANK70P.CBL
etSBANK70P.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é. -
Dans la barre de menu de l'onglet, choisissez - Icône pour tout réduire.
-
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 :
-
..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMS
àD:\PhotonUser\workspace\bankdemo\source\screens
. -
.\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBL
àD:\PhotonUser\workspace\bankdemo\source\cobol
. -
..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPY
àD:\PhotonUser\workspace\bankdemo\source\copybook
. -
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 lePAYMENT
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 :
-
Exécuter une BankDemo transaction
De plus, vous devriez maintenant également voir le texte
Total Loan Amount.....................:
.
É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 :
-
Exécuter une BankDemo transaction
De plus, vous devriez maintenant également voir le texte
Total Loan Amount.....................: $10230.60
.
É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.
-
Dans le BANKDEMO projet, dans le menu contextuel, choisissez Team/Commit.
-
Dans l'onglet Git Staging, entrez le message de validation suivant :
Added Total Amount Calculation
. -
Choisissez Commit et Push... .
-
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
Rubriques
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.
-
Ouvrez
BBANK70P.CBL
dans l'COBOLéditeur. -
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.
-
Dans le résultat de l'onglet Analyse du code, recherchez la première instruction
DIVIDE WS-LOAN-INTEREST BY 12
arithmétique. -
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.
-
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).
-
Dans le menu contextuel de l'éditeur, choisissez Refactor/Extract to Section... .
-
Entrez le nouveau nom de section : LOAN - CALCULATION.
-
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-CALCULATION
instruction.
Changements de test
Pour tester les modifications, répétez les étapes décrites dans les sections suivantes.
-
Exécuter une BankDemo transaction
De plus, vous devriez maintenant également voir le texte
Total Loan Amount.....................: $10230.60
. -
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.
-
Ouvrez
BBANK70P.CBL
dans l'éditeur et recherchez la nouvellePERFORM LOAN-CALCULATION
déclaration créée à l'étape 1. -
Placez le curseur dans le nom de la section. Il sera marqué en gris.
-
Dans le menu contextuel, sélectionnez Refactor->Extraire la section/le paragraphe vers le programme... .
-
Dans Extraire la section/le paragraphe à programmer, entrez le nouveau nom de fichier :. LOANCALC CBL.
-
Choisissez OK.
Le nouveau
LOANCALC.CBL
programme s'ouvre dans l'éditeur. -
Faites défiler la page vers le bas et passez en revue le code extrait et généré pour l'interface d'appel.
-
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'
CALL
instruction utiliseDFHEIBLK
etDFHCOMMAREA
appelleLOANCALC
avec des blocs CICS de contrôle. Comme nous voulons appeler le nouveauLOANCALC.CBL
sous-programme en tant que CICS non-programme, nous devons supprimerDFHEIBLK
et annulerDFHCOMMAREA
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.
-
Exécuter une BankDemo transaction
De plus, vous devriez maintenant également voir le texte
Total Loan Amount.....................: $10230.60
. -
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
etLOANCALC.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.
-
Dans le BANKDEMO projet, dans le menu contextuel, choisissez Team/Commit.
-
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
.
-
-
Choisissez Commit et Push... .
-
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 :
-
Supprimez le CodePipeline pipeline. Pour plus d'informations, voir Supprimer un pipeline CodePipeline dans le Guide de AWS CodePipeline l'utilisateur.
-
Supprimez le CodeCommit référentiel. Pour plus d'informations, voir Supprimer un CodeCommit référentiel dans le Guide de AWS CodeCommit l'utilisateur.
-
Supprimez le compartiment S3 ;. Pour plus d'informations, consultez Supprimer un compartiment dans le guide de l'utilisateur d'Amazon Simple Storage Service.
-
Supprimez la AWS CloudFormation pile. Pour plus d'informations, consultez la section Suppression d'une pile sur la AWS CloudFormation console dans le Guide de AWS CloudFormation l'utilisateur.