As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Coleção de artefatos de origem de mainframe
Este tópico descreve o processo de coleta do código-fonte do mainframe e artefatos relacionados para apoiar as iniciativas de modernização do mainframe usando o Transform. AWS A coleta e a preparação adequadas dos artefatos de origem são essenciais para uma análise, planejamento de migração e implementação bem-sucedidos.
Inventário de código fonte
Tipos de código-fonte do aplicativo
Os seguintes tipos de código-fonte do aplicativo são compatíveis:
Programas COBOL
Scripts de JCL
Programas Assembler
PL/I programas
Transações do CICS
Programas naturais
Scripts REXX
Programas Easytrieve
Cadernos e inclui
Bibliotecas Proc
Recursos do banco de dados
Os seguintes ativos de banco de dados são compatíveis:
Scripts DB2 DCLGEN e DDL
Definições de banco de dados IMS (PSBs e DBDs)
Definições de arquivo VSAM
Esquemas de banco de dados físicos e lógicos
Procedimentos e gatilhos do banco de dados
Extensões de arquivo de código-fonte
Se você não tiver certeza da extensão, deixe-a em branco ou em.txt e o AWS Transform a classificará para você.
A tabela a seguir lista extensões de arquivo comuns para artefatos de origem de mainframe.
| Language/Type | Extensões comuns | Description |
|---|---|---|
| COBOL | .cbl, .cob, .cobol | Programas de origem COBOL |
| JCL | .jcl | Scripts da Job Control Language |
| Assembler | .asm | Programas de linguagem Assembler |
| PL/I | .pl1 | PL/I programas de idiomas |
| Definição do CICS | .csd | Definição do sistema CICS (CSD) |
| Natural | .nat | Programas naturais |
| REXX | .rex, .rexx | Scripts REXX |
| Easytrieve | .ezt | Programas de relatórios Easytrieve |
| Livros cadernos | .copiar | cadernos COBOL |
| BMS | .bms | Basic Mapping Support (BMS) |
| PL/I cadernos | .pl1_copy | PL/I cadernos |
| DB2 DCLGEN | .dcl | Gerador de declarações Db2 |
| Definição do Db2 | .sql, .ddl | Definições do banco de dados Db2 |
| Definição de IMS | .ims | Conjunto de dados de definição de recursos do IMS (IMS Stage 1) |
| MFS | .mfs | IMS MFS (serviço de formato de mensagem) |
| PSB | .psb | IMS PSB (bloco de especificação do programa) |
| DBD | .dbd | Definições do banco de dados IMS |
| Processo JCL | .prc, .proc | Bibliotecas de procedimentos JCL |
| O JCL inclui | .inc | JCL Incluir arquivos |
| Macros | .mac | Macros do Assembler |
| Cartões de controle | .ctl | Cartões de controle JCL Utility |
Métodos de coleta
Extração do código-fonte
Use clientes FTP seguros (WinSCP/FileZilla) para extração interativa de código-fonte de bibliotecas PDS de mainframe.
Extração do esquema DB2
O software cliente DB2 LUW (Linux, UNIX e Windows) inclui o db2look utilitário como parte de seu pacote de instalação. O db2look utilitário extrai instruções DDL (Data Definition Language) de um banco de dados DB2.
Execute este comando: .
db2look -dDATABASE_NAME-iuserid-wpassword-a -e -m -l -x -f -createdb -printdbcfg -oDATABASE_NAME.sql
A lista a seguir descreve os parâmetros:
-d: especifica o nome do banco de dados do qual extrair o esquemaDATABASE_NAME-i: ID do usuário para autenticação do banco de dadosuserid-w: Senha para autenticação do banco de dadospassword-a: Extrai informações de autorização (concessões)-e: extrai todos os objetos do banco de dados (tabelas, visualizações, índices etc.)-m: Extrai estatísticas e características físicas-l: extrai comentários de tabelas e colunas-x: Extratos explicam tabelas-f: formata a saída para melhor legibilidade-createdb: inclui instruções de criação de banco de dados-printdbcfg: inclui parâmetros de configuração do banco de dados-o: especifica o nome do arquivo de saídaDATABASE_NAME.sql
Extraindo informações do catálogo do mainframe
O comando LISTCAT no IDCAMS é um utilitário para recuperar informações do catálogo sobre conjuntos de dados no mainframe. Isso é útil durante projetos de modernização do mainframe para inventariar conjuntos de dados e entender suas características.
//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 /*
Extraindo definições do CICS
O utilitário IBM-provided DFHCSDUP pode extrair definições de recursos CICS do arquivo CICS System Definition (CSD).
Use o seguinte JCL para descarregar as definições existentes do 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 /*
Extraindo definições do IMS
Para extrair as definições do IMS, você pode gerar o arquivo de transação do IMS usando o utilitário DFSURDD0. Esse utilitário cria instruções de macro de estágio 1 que você pode usar para fins de migração. Somente o IMS Stage 1 é suportado atualmente.
Use o seguinte JCL para extrair as definições do 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 /*
Extraindo informações do CA-7 agendador
CA-7 as informações do cronograma de trabalho são incluídas nos relatórios do LJOB. Use o utilitário LJOB com o LIST=NODD parâmetro para gerar os relatórios no mainframe. Os relatórios devem ter uma .ca7 extensão. Cada relatório deve ter caracteres ANSI de controle de transporte na coluna 1. Você pode criar um relatório com caracteres de controle de transporte na coluna 1 especificando DCB=RECFM=FBA (ou FA) no JCL usado para executar o utilitário LJOB.
Por exemplo: LJOB,JOB=ZBN*,LIST=ALL
Para obter mais informações, consulte a documentação da Broadcom
Extraindo dados SMF
Os registros do System Management Facility (SMF) fornecem métricas de atividade usadas pelo AWS Transform para analisar o trabalho em lote e o uso de transações do CICS. Os seguintes tipos de registro SMF são suportados: 14, 15, 30 (subtipo 5), 64, 102, 110 (subtipo 1 com classes de dados 1, 3 e 4).
Requisitos de formato para registros SMF:
Deve incluir os tipos de registro 30 e 110 (no mínimo)
Deve estar no formato EBCDIC binário bruto com bytes RDW (palavra descritora de registro) incluídos
Deve ser fornecido como um dos seguintes:
Um arquivo de até 600 MB compactado no formato.zip
Um arquivo de até 5 GB compactado no formato.tar.gz ou .gz
Deve ser armazenado em uma pasta separada do seu código-fonte no Amazon S3
Forneça um mínimo de 13 meses de registros SMF para capturar ciclos de lotes anuais e padrões sazonais que prazos mais curtos podem perder.
Opção 1: extrair e classificar registros SMF
Use o exemplo de JCL a seguir para extrair e classificar registros 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 /*
Personalize os seguintes valores no JCL anterior:
Cartão de trabalho: Atualizar conta, classe e msgclass
DUMPIN: aponte para seus conjuntos de dados SMF
DUMPOUT: especifique o nome do conjunto de dados de saída e o HLQ
TIPO: Selecione os tipos de registro (14, 15, 30, 110 ou outros)
DATA: Formato yyyy/ddd (por exemplo, 2026/055,2026/056)
ESPAÇO: ajuste com base no volume de dados esperado
Remova a etapa SORT se não for necessário
Opção 2: extrair dados SMF com o DFSORT
Você pode usar o DFSORT para consolidar e relatar dados históricos do SMF. Isso é útil se você armazenar seus registros SMF em um GDG por dia ou semana. A tarefa a seguir usa o DFSORT para consolidar registros SMF do arquivo SORTIN e filtrar com base nos registros especificados no parâmetro 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')
Para baixar os dados enquanto mantém os dados RDW, você pode usar um servidor FTP para receber o arquivo extraído. Certifique-se de que os dados sejam transferidos em formato binário e que a opção RDW seja usada para que o RDW seja incluído na transferência de dados. O trabalho a seguir mostra um exemplo de trabalho de FTP para transferir esse arquivo.
//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
Carregando relatório SCRT
Você também pode carregar um Sub-Capacity relatório da Ferramenta de Relatórios (SCRT) no AWS Transform.
Upload do inventário do
Depois de coletar todos os artefatos, conclua as seguintes etapas:
Organize arquivos em subpastas por tipo de artefato (por exemplo, /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7).
Comprima a pasta de nível superior em um único arquivo.zip.
Faça o upload do arquivo.zip para o bucket do Amazon S3 conectado ao AWS seu espaço de trabalho Transform.
nota
Os registros SMF devem ser colocados em uma pasta separada do seu código-fonte no bucket do Amazon S3 e devem estar no formato .tar.gz ou .gz.
Para obter instruções detalhadas sobre como conectar seu bucket do Amazon S3 ao AWS Transform, consulte. Configurar um conector