View a markdown version of this page

Raccolta di artefatti sorgenti per mainframe - AWS Trasformazione

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Raccolta di artefatti sorgenti per mainframe

Questo argomento descrive il processo di raccolta del codice sorgente del mainframe e degli artefatti correlati per supportare le iniziative di modernizzazione del mainframe utilizzando Transform. AWS La raccolta e la preparazione adeguate degli artefatti di origine sono fondamentali per il successo dell'analisi, della pianificazione della migrazione e dell'implementazione.

Inventario del codice sorgente

Tipi di codice sorgente dell'applicazione

Sono supportati i seguenti tipi di codice sorgente dell'applicazione:

  • Programmi COBOL

  • script JCL

  • Programmi Assembler

  • PL/I programmi

  • transazioni CICS

  • Programmi naturali

  • Script REXX

  • Programmi Easytrieve

  • Quaderni e articoli inclusi

  • Librerie Proc

Risorse del database

Sono supportate le seguenti risorse di database:

  • Script DB2 DCLGEN e DDL

  • Definizioni del database IMS (PSB e DBD)

  • Definizioni dei file VSAM

  • Schemi di database fisici e logici

  • Procedure e trigger del database

Estensioni dei file del codice sorgente

Se non sei sicuro dell'estensione, lasciala vuota o in formato.txt e AWS Transform la classificherà automaticamente.

La tabella seguente elenca le estensioni di file più comuni per gli artefatti di origine del mainframe.

Estensioni dei file del codice sorgente del mainframe
Language/Type Estensioni comuni Description
COBOL .cbl, .cob, .cobol Programmi sorgente COBOL
JCL .jcl Script Job Control Language
Assemblatore .asm programmi in linguaggio Assembler
PL/I .pl1 PL/I programmi linguistici
Definizione CICS .csd definizione del sistema CICS (CSD)
Naturale .nat Programmi naturali
REXX .rex, .rexx script REXX
Facile trieve .ezt Programmi di report Easytrieve
Quaderni .copy quaderni COBOL
BMS .bms Basic Mapping Support (BMS)
PL/I quaderni .pl1_copy PL/I quaderni
Db2 DCLGEN .dcl generatore di dichiarazioni Db2
Definizione Db2 .sql, .ddl Definizioni del database Db2
Definizione IMS .ims Set di dati di definizione delle risorse IMS (IMS Stage 1)
MFS .mfs IMS MFS (servizio di formattazione dei messaggi)
PSB .psb IMS PSB (blocco delle specifiche del programma)
DBD .dbd Definizioni del database IMS
JCL Proc .prc, .proc Librerie di procedure JCL
JCL include .inc JCL Include file
Macro .mac Macro Assembler
Schede di controllo .ctl Schede di controllo JCL Utility

Metodi di raccolta

Estrazione del codice sorgente

Utilizzate client FTP sicuri (WinSCP/FileZilla) per l'estrazione interattiva del codice sorgente dalle librerie PDS mainframe.

Estrazione dello schema DB2

Il software client DB2 LUW (Linux, UNIX e Windows) include l'db2lookutilità come parte del pacchetto di installazione. L'db2lookutilità estrae le istruzioni DDL (Data Definition Language) da un database DB2.

Esegui il comando seguente:

db2look -d DATABASE_NAME -i userid -w password -a -e -m -l -x -f -createdb -printdbcfg -o DATABASE_NAME.sql

L'elenco seguente descrive i parametri:

  • -d DATABASE_NAME: specifica il nome del database da cui estrarre lo schema

  • -i userid: ID utente per l'autenticazione del database

  • -w password: password per l'autenticazione del database

  • -a: estrae le informazioni di autorizzazione (concessioni)

  • -e: estrae tutti gli oggetti del database (tabelle, viste, indici e così via)

  • -m: estrae statistiche e caratteristiche fisiche

  • -l: estrae i commenti di tabelle e colonne

  • -x: gli estratti spiegano le tabelle

  • -f: formatta l'output per una migliore leggibilità

  • -createdb: include istruzioni per la creazione di database

  • -printdbcfg: include i parametri di configurazione del database

  • -o DATABASE_NAME.sql: specifica il nome del file di output

Estrazione delle informazioni del catalogo dal mainframe

Il comando LISTCAT di IDCAMS è un'utilità per recuperare le informazioni del catalogo sui set di dati sul mainframe. Ciò è utile durante i progetti di modernizzazione del mainframe per inventariare i set di dati e comprenderne le caratteristiche.

//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 /*

Estrazione delle definizioni CICS

L'utilità IBM-provided DFHCSDUP può estrarre le definizioni delle risorse CICS dal file CICS System Definition (CSD).

Utilizzate il seguente JCL per scaricare le definizioni esistenti dal 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 /*

Estrazione delle definizioni IMS

Per estrarre le definizioni IMS, è possibile generare il file di transazione IMS utilizzando l'utilità DFSURDD0. Questa utilità crea istruzioni macro di fase 1 che è possibile utilizzare per scopi di migrazione. Attualmente è supportato solo IMS Stage 1.

Utilizza il seguente JCL per estrarre le definizioni 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 /*

Estrazione CA-7 delle informazioni sullo scheduler

CA-7 le informazioni sulla pianificazione delle mansioni sono incluse nei report LJOB. Utilizzate l'utilità LJOB con il LIST=NODD parametro per generare i report sul mainframe. I report devono avere un'.ca7estensione. Ogni rapporto deve contenere caratteri ANSI Carriage Control nella colonna 1. È possibile creare un report con caratteri di controllo del carrello nella colonna 1 specificando DCB=RECFM=FBA (o FA) nel codice JCL utilizzato per eseguire l'utilità LJOB.

Ad esempio: LJOB,JOB=ZBN*,LIST=ALL

Per ulteriori informazioni, consulta la documentazione di Broadcom.

Estrazione di dati SMF

I record di System Management Facility (SMF) forniscono metriche di attività utilizzate da AWS Transform per analizzare i processi in batch e l'utilizzo delle transazioni CICS. Sono supportati i seguenti tipi di record SMF: 14, 15, 30 (sottotipo 5), 64, 102, 110 (sottotipo 1 con classe di dati 1, 3 e 4).

Requisiti di formato per i record SMF:

  • Deve includere i tipi di record 30 e 110 (come minimo)

  • Deve essere in formato EBCDIC binario non elaborato con byte RDW (Record Descriptor Word) inclusi

  • Deve essere fornito in uno dei seguenti formati:

    • Un file fino a 600 MB compresso in formato.zip

    • Un file di dimensioni fino a 5 GB compresso in formato.tar.gz o .gz

  • Deve essere archiviato in una cartella separata dal codice sorgente in Amazon S3

Fornisci almeno 13 mesi di record SMF per acquisire cicli di batch annuali e modelli stagionali che potrebbero non essere rilevati in intervalli di tempo più brevi.

Opzione 1: Estrarre e ordinare i record SMF

Utilizzate il seguente esempio di JCL per estrarre e ordinare i record 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 /*

Personalizza i seguenti valori nel JCL precedente:

  1. Job card: aggiorna account, classe e msgclass

  2. DUMPIN: indica i tuoi set di dati SMF

  3. DUMPOUT: specifica il nome del set di dati di output e l'HLQ

  4. TIPO: Seleziona i tipi di record (14, 15, 30, 110 o altri)

  5. DATA: formato yyyy/ddd (ad esempio 2026/055,2026/056)

  6. SPAZIO: regola in base al volume di dati previsto

  7. Rimuovi il passaggio SORT se non necessario

Opzione 2: Estrarre i dati SMF con DFSORT

È possibile utilizzare DFSORT per consolidare e riportare i dati SMF storici. Ciò è utile se si archiviano i record SMF in un GDG per giorno o settimana. Il seguente processo utilizza DFSORT per consolidare i record SMF dal file SORTIN e filtrare in base ai record specificati nel parametro 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')

Per scaricare i dati conservando i dati RDW, è possibile utilizzare un server FTP per ricevere il file estratto. Assicurati che i dati vengano trasferiti in formato binario e che venga utilizzata l'opzione RDW in modo che l'RDW sia incluso nel trasferimento dei dati. Il seguente job mostra un esempio di job FTP per trasferire questo file.

//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.10 userid password type i LOCSITE RDW put 'your.hlq.SMF.OUTPUT' SMFREQS.SMF quit

Caricamento del rapporto SCRT

Puoi anche caricare un Sub-Capacity rapporto SCRT (Reporting Tool) in Transform. AWS

Caricamento dell'inventario delle applicazioni

Dopo aver raccolto tutti gli artefatti, completa i seguenti passaggi:

  1. Organizza i file in sottocartelle per tipo di elemento (ad esempio, /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7).

  2. Comprimi la cartella di primo livello in un unico file.zip.

  3. Carica il file.zip nel bucket Amazon S3 collegato al tuo spazio di lavoro Transform. AWS

Nota

I record SMF devono essere collocati in una cartella separata dal codice sorgente all'interno del bucket Amazon S3 e devono essere in formato.tar.gz o.gz.

Per istruzioni dettagliate su come collegare il bucket Amazon S3 a AWS Transform, consulta. Configura un connettore