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.
Collection d'artefacts provenant des sources du mainframe
Cette rubrique décrit le processus de collecte du code source du mainframe et des artefacts associés afin de soutenir les initiatives de modernisation du mainframe à l'aide AWS de Transform. La collecte et la préparation appropriées des artefacts sources sont essentielles à la réussite de l'analyse, de la planification de la migration et de la mise en œuvre.
Inventaire du code source
Types de code source des applications
Les types de code source d'application suivants sont pris en charge :
Programmes COBOL
Scripts JCL
Programmes d'assemblage
PL/I programmes
Transactions CICS
Programmes naturels
Scripts REXX
Programmes Easytrieve
Copybooks et inclusions
Bibliothèques Proc
Ressources de base de données
Les actifs de base de données suivants sont pris en charge :
Scripts DB2 DCLGEN et DDL
Définitions de base de données IMS (PSB et DBD)
Définitions de fichiers VSAM
Schémas de base de données physiques et logiques
Procédures et déclencheurs de base de données
Extensions de fichiers de code source
Si vous n'êtes pas sûr de l'extension, laissez-la vide ou .txt et AWS Transform la classera pour vous.
Le tableau suivant répertorie les extensions de fichier courantes pour les artefacts sources du mainframe.
| Language/Type | Extensions courantes | Description |
|---|---|---|
| COBOL | .cbl, .cob, .cobol | Programmes source COBOL |
| JCL | .jcl | Scripts du langage Job Control |
| Assembleur | .asm | Programmes en langage assembleur |
| PL/I | .pl1 | PL/I programmes de langue |
| Définition du CICS | .csd | Définition du système CICS (CSD) |
| Naturel | .nat | Programmes naturels |
| REXX | .rex, .rexx | Scripts REXX |
| Easy Trieve | .ezt | Programmes de rapports Easytrieve |
| Cahiers | .copie | cahiers COBOL |
| BMS | .bms | Support cartographique de base (BMS) |
| PL/I cahiers | .pl1_copie | PL/I cahiers |
| DB2 DCLGEN | .dcl | Générateur de déclarations DB2 |
| Définition de DB2 | .sql, .ddl | Définitions de base de données DB2 |
| Définition IMS | .ims | Ensemble de données de définition des ressources IMS (IMS Stage 1) |
| MFS | .mfs | IMS MFS (service de formatage des messages) |
| PSB | .psb | IMS PSB (bloc de spécification du programme) |
| DBD | .dbd | Définitions des données IMS |
| Procédé JCL | .prc, .proc | Bibliothèques de procédures JCL |
| JCL inclut | .inc | JCL Inclure des fichiers |
| Macros | .mac | Macros d'assemblage |
| Cartes de contrôle | .ctl | Cartes de contrôle JCL Utility |
Méthodes de collecte
Extraction du code source
Utilisez des clients FTP sécurisés (WinSCP/FileZilla) pour l'extraction interactive du code source à partir des bibliothèques PDS du mainframe.
Extraction du schéma DB2
Le logiciel client DB2 LUW (Linux, UNIX et Windows) inclut l'db2lookutilitaire dans son package d'installation. L'db2lookutilitaire extrait les instructions DDL (Data Definition Language) d'une base de données DB2.
Exécutez la commande suivante :
db2look -dDATABASE_NAME-iuserid-wpassword-a -e -m -l -x -f -createdb -printdbcfg -oDATABASE_NAME.sql
La liste suivante décrit les paramètres :
-d: Spécifie le nom de la base de données dont le schéma doit être extraitDATABASE_NAME-i: ID utilisateur pour l'authentification de la base de donnéesuserid-w: mot de passe pour l'authentification de base de donnéespassword-a: Extrait les informations d'autorisation (subventions)-e: extrait tous les objets de base de données (tables, vues, index, etc.)-m: Extrait les statistiques et les caractéristiques physiques-l: extrait les commentaires des tables et des colonnes-x: Des extraits expliquent les tableaux-f: Formate la sortie pour une meilleure lisibilité-createdb: inclut les instructions de création de base de données-printdbcfg: inclut les paramètres de configuration de base de données-o: Spécifie le nom du fichier de sortieDATABASE_NAME.sql
Extraction des informations de catalogue depuis le mainframe
La commande LISTCAT dans IDCAMS est un utilitaire permettant de récupérer les informations du catalogue concernant les ensembles de données sur le mainframe. Cela est utile lors des projets de modernisation du mainframe pour inventorier les ensembles de données et comprendre leurs caractéristiques.
//LSTCATJ JOB 'LISTCAT',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=IDCAMS //* //SYSPRINT DD DSN=AWS.M2.CATALOG.LIST, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0) //* //SYSIN DD * LISTCAT ENT('AWS.M2.CARDDEMO.*') ALL LISTCAT ENT('SYS1.*') ALL /*
Extraire les définitions du CICS
L'utilitaire IBM-provided DFHCSDUP peut extraire les définitions de ressources CICS du fichier CSD (CICS System Definition).
Utilisez le JCL suivant pour décharger les définitions existantes du DFHCSD :
//CSDEXTJ JOB 'EXTRACT CSD',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFHCSDUP,REGION=0M, // PARM='CSD(READONLY),PAGESIZE(60),NOCOMPAT' //* //STEPLIB DD DSN=your-hlq.SDFHLOAD,DISP=SHR //DFHCSD DD DSN=your-hlq.DFHCSD,DISP=SHR //* //CBDOUT DD DSN=your-hlq.CSD, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * EXTRACT GROUP(cics-group) USERPROGRAM(DFH0CBDC) OBJECTS /*
Extraction de définitions IMS
Pour extraire les définitions IMS, vous pouvez générer le fichier de transaction IMS à l'aide de l'utilitaire DFSURDD0. Cet utilitaire crée des instructions de macro de phase 1 que vous pouvez utiliser à des fins de migration. Seul IMS Stage 1 est actuellement pris en charge.
Utilisez le JCL suivant pour extraire les définitions IMS :
//IMSEXTJ JOB 'IMS STAGE 1',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFSURDD0,MEMLIMIT=12G //* //STEPLIB DD DISP=SHR,DSN=your-hlq.SDFSRESL //* //RDDSDSN DD DISP=SHR,DSN=your-rdds//* //SYSOUT DD DSN=your-hlq.STAGE1.IMS, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * OUTPUT=MAC /*
Extraction des informations du CA-7 planificateur
CA-7 les informations relatives aux horaires de travail sont incluses dans les rapports LJOB. Utilisez l'utilitaire LJOB avec le LIST=NODD paramètre pour générer les rapports sur le mainframe. Les rapports doivent avoir une .ca7 extension. Chaque rapport doit comporter des caractères de contrôle de chariot ANSI dans la colonne 1. Vous pouvez créer un rapport avec des caractères de commande de chariot dans la colonne 1 en spécifiant DCB=RECFM=FBA (ou FA) dans la JCL utilisée pour exécuter l'utilitaire LJOB.
Par exemple : LJOB,JOB=ZBN*,LIST=ALL
Pour plus d'informations, consultez la documentation de Broadcom
Extraction de données SMF
Les enregistrements du System Management Facility (SMF) fournissent les mesures d'activité utilisées par AWS Transform pour analyser l'utilisation des tâches par lots et des transactions CICS. Les types d'enregistrement SMF suivants sont pris en charge : 14, 15, 30 (sous-type 5), 64, 102, 110 (sous-type 1 avec classes de données 1, 3 et 4).
Exigences de format pour les enregistrements SMF :
Doit inclure les types d'enregistrement 30 et 110 (au minimum)
Doit être au format binaire brut EBCDIC avec des octets RDW (Record Descriptor Word) inclus
Doit être fourni sous l'une des formes suivantes :
Un fichier jusqu'à 600 Mo compressé au format .zip
Un fichier jusqu'à 5 Go compressé au format .tar.gz ou .gz
Doit être stocké dans un dossier distinct de votre code source dans Amazon S3
Fournissez au moins 13 mois d'enregistrements SMF pour capturer les cycles de lots annuels et les modèles saisonniers susceptibles de ne pas être pris en compte sur des périodes plus courtes.
Option 1 : Extraire et trier les enregistrements SMF
Utilisez l'exemple de JCL suivant pour extraire et trier les enregistrements SMF :
//SMFEXTR JOB (ACCT),'EXTRACT SMF',CLASS=A, // MSGCLASS=X,NOTIFY=&SYSUID //*-------------------------------------------------------------------* //* SMF RECORD EXTRACTION TEMPLATE //* CUSTOMIZE: Job card, dataset names, date range, record types //*-------------------------------------------------------------------* //* //* STEP 1: EXTRACT SMF RECORDS //* //EXTRACT EXEC PGM=IFASMFDP //SYSPRINT DD SYSOUT=* //* //* INPUT: Specify your SMF datasets (MAN files or GDG) //* //DUMPIN DD DISP=SHR,DSN=SYS1.MAN1// DD DISP=SHR,DSN=SYS1.MAN2// DD DISP=SHR,DSN=SYS1.MAN3//* //* OUTPUT: Extracted SMF records //* //DUMPOUT DD DSN=your.hlq.SMF.EXTRACT, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=27998) //* //* CONTROL CARDS //* //SYSIN DD * INDD(DUMPIN,OPTIONS(DUMP)) OUTDD(DUMPOUT,TYPE(14,15,30,110)) DATE(yyyy/ddd,yyyy/ddd) START(0000) END(2359) /* //* //* STEP 2: SORT EXTRACTED RECORDS (OPTIONAL) //* //SORT EXEC PGM=SORT //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.SORTED, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(11,4,CH,A,7,4,CH,A,15,4,CH,A),EQUALS /*
Personnalisez les valeurs suivantes dans la JCL précédente :
Job card : Mettre à jour le compte, la classe et le msgclass
DUMPIN : pointez vers vos ensembles de données SMF
DUMPOUT : Spécifiez le nom du jeu de données en sortie et le HLQ
TYPE : Sélectionnez les types d'enregistrement (14, 15, 30, 110 ou autres)
DATE : Format yyyy/ddd (par exemple 2026/055,2026/056)
ESPACE : Ajustez en fonction du volume de données attendu
Supprimer l'étape de tri si elle n'est pas nécessaire
Option 2 : Extraire les données SMF avec DFSORT
Vous pouvez utiliser DFSORT pour consolider et rapporter les données SMF historiques. Cela est utile si vous stockez vos enregistrements SMF dans un GDG par jour ou par semaine. La tâche suivante utilise DFSORT pour consolider les enregistrements SMF du fichier SORTIN et filtrer en fonction des enregistrements spécifiés dans le paramètre INCLUDE COND.
//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=S,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //SORTJES2 EXEC PGM=SORT,REGION=0M //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.OUTPUT, // DISP=(MOD,CATLG,DELETE), // DCB=(BUFNO=20, // RECFM=VBS,LRECL=32760,BLKSIZE=27998), // SPACE=(CYL,(1400,900),RLSE) //SORTWK1 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK2 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK3 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK4 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SYSIN DD * OPTION COPY INCLUDE COND=(6,1,BI,EQ,X'0E',OR,6,1,BI,EQ,X'0F',OR, 6,1,BI,EQ,X'1E',OR,6,1,BI,EQ,X'40',OR, 6,1,BI,EQ,X'50',OR,6,1,BI,EQ,X'59',OR, 6,1,BI,EQ,X'5C',OR,6,1,BI,EQ,X'65',OR, 6,1,BI,EQ,X'66',OR,6,1,BI,EQ,X'6E')
Pour télécharger les données tout en conservant les données RDW, vous pouvez utiliser un serveur FTP pour recevoir le fichier extrait. Assurez-vous que les données sont transférées au format binaire et que l'option RDW est utilisée afin que le RDW soit inclus dans le transfert de données. La tâche suivante montre un exemple de tâche FTP pour transférer ce fichier.
//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=A,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //STEP1 EXEC PGM=FTP,REGION=2048K //SYSIN DD *10.10.10.10useridpasswordtype i LOCSITE RDW put 'your.hlq.SMF.OUTPUT'SMFREQS.SMFquit
Téléchargement du rapport SCRT
Vous pouvez également télécharger un Sub-Capacity rapport d'outil de reporting (SCRT) dans AWS Transform.
Téléchargement de l'inventaire des applications
Après avoir collecté tous les artefacts, procédez comme suit :
Organisez les fichiers en sous-dossiers par type d'artefact (par exemple, /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7).
Compressez le dossier de premier niveau dans un seul fichier .zip.
Téléchargez le fichier .zip dans le compartiment Amazon S3 connecté à votre espace de travail AWS Transform.
Note
Les enregistrements SMF doivent être placés dans un dossier distinct de votre code source dans le compartiment Amazon S3 et doivent être au format .tar.gz ou .gz.
Pour obtenir des instructions détaillées sur la connexion de votre compartiment Amazon S3 à AWS Transform, consultezConfiguration d'un connecteur.