View a markdown version of this page

Coleção de artefatos de origem de mainframe - AWS Transformação

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.

Extensões de arquivo de código-fonte 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 -d DATABASE_NAME -i userid -w password -a -e -m -l -x -f -createdb -printdbcfg -o DATABASE_NAME.sql

A lista a seguir descreve os parâmetros:

  • -d DATABASE_NAME: especifica o nome do banco de dados do qual extrair o esquema

  • -i userid: ID do usuário para autenticação do banco de dados

  • -w password: Senha para autenticação do banco de dados

  • -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 DATABASE_NAME.sql: especifica o nome do arquivo de saída

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:

  1. Cartão de trabalho: Atualizar conta, classe e msgclass

  2. DUMPIN: aponte para seus conjuntos de dados SMF

  3. DUMPOUT: especifique o nome do conjunto de dados de saída e o HLQ

  4. TIPO: Selecione os tipos de registro (14, 15, 30, 110 ou outros)

  5. DATA: Formato yyyy/ddd (por exemplo, 2026/055,2026/056)

  6. ESPAÇO: ajuste com base no volume de dados esperado

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

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:

  1. Organize arquivos em subpastas por tipo de artefato (por exemplo, /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7).

  2. Comprima a pasta de nível superior em um único arquivo.zip.

  3. 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