Nesta página, descrevemos como revisar a avaliação dos recursos descobertos e analisar os arquivos de origem do aplicativo usando a IA generativa.
Os resultados da avaliação fornecem detalhes como as linhas de código e o número de chamadas encontradas no aplicativo, o que ajuda a planejar a migração. Além disso, a análise fornece um resumo do programa, o que ajuda você a entender a semântica dele.
Antes de começar
Analisar os resultados da avaliação do aplicativo
Para abrir uma avaliação e analisar os resultados, siga estas etapas:
- Abra a Mainframe Assessment Tool em um navegador da Web.
- No menu de navegação, clique em Avaliações.
- Na página Avaliações, clique na seta de expansão para abrir uma avaliação específica.
O painel de avaliação aparece e inclui as seguintes páginas:
- Descoberta: descubra e analise o código-fonte.
- Domínios: receba insights gerados com IA para os domínios da sua empresa.
- Recursos: Confira insights gerados por IA para recursos.
Descobrir e analisar o código-fonte
A página Descoberta oferece uma visão geral da análise do código-fonte do aplicativo que você enviou para avaliação.
Para descobrir e analisar seu código-fonte, siga estas etapas:
Clique em Encontrar inventário.
Para selecionar um tipo de relatório, na lista Tipo de relatório, escolha o tipo que você quer visualizar.
A tabela a seguir lista diferentes tipos de relatórios e as descrições deles:
Tipo de relatório Descrição Detalhes Inventário Fornece detalhes sobre o número de arquivos, linhas de código e tipos de programa. - Contagem por tipo de arquivo:número de arquivos por idioma.
- Linhas de código por tipo de arquivo:número de linhas de código por tipo de arquivo.
- Linhas de código reais x comentadas:número de linhas de código comparado ao número de linhas de comentários.
- Categoria – lote/on-line:número de programas em lote comparado a programas on-line.
- Total de linhas de código:número total de linhas de código em todos os arquivos incluídos na avaliação. Use esses dados para entender o tamanho geral da base de código.
Tipos de módulos Categoriza módulos com base nas relações de chamada, especificamente para COBOL e JCL. - Módulos chamados de programas COBOL:número de módulos chamados diretamente do código-fonte COBOL.
- Módulos chamados da JCL:número de módulos que são chamados diretamente nos seus arquivos JCL.
- Cinco principais utilitários de módulo COBOL:lista de utilitários usados com frequência pelos seus programas COBOL.
- Os cinco principais utilitários de módulo JCL:lista de utilitários usados com frequência em jobs JCL.
Complexidade Para programas COBOL, mostra a complexidade do código-fonte usando a complexidade ciclomática (métrica de McCabe). As métricas de McCabe representam o número de caminhos de execução ou pontos de decisão no código-fonte. Esse valor qualitativo ajuda a identificar quais aplicativos podem ser mais fáceis ou mais complexos de modernizar.
- Tabela de complexidade:um detalhamento arquivo por arquivo das métricas de complexidade calculadas, como a contagem de complexidade. Uma contagem de complexidade mais alta sugere um programa mais complexo.
- Simples: complexidade < 100
- Média: 100 <= complexidade < 500
- Complexa: 500 <= complexidade < 1000
- Muito complexo: 1000 <= complexidade
- Mapeamento de complexidade:representação visual da tabela de complexidade que oferece uma visão geral da complexidade na base de código.
Dependência de chamada Mostra o gráfico de chamadas de todas as entidades enviadas. O tamanho dos ícones está relacionado ao número de chamadas recebidas e feitas. Módulos de motorista Mostra módulos que chamam muitos outros módulos. O tamanho dos ícones está relacionado ao número de chamadas recebidas e feitas. Conjuntos de dados Fornece uma visão detalhada de todos os conjuntos de dados envolvidos na avaliação. - Linhagem do conjunto de dados:mostra como cada conjunto de dados é usado em diferentes jobs, etapas e programas.
- Campos do conjunto de dados:lista todos os campos em cada conjunto de dados, além dos tipos de dados, posições iniciais, tamanhos, indicadores principais e outras propriedades.
Bancos de dados Lista as tabelas do DB2 e os segmentos do IMS usados na avaliação. Detalha a linhagem de dados, as colunas e as propriedades de cada segmento e tabela. Programas órfãos Lista todos os programas que não chamam nem são chamados por outra entidade. - Nome do programa:identifica o módulo do programa encontrado no código-fonte enviado, mas que não parece ser chamado ou executado por nenhuma outra parte do aplicativo.
- Arquivo de origem original:o nome do arquivo que contém o código-fonte do nome do programa correspondente.
Módulos ausentes Mostra módulos usados no código, mas não encontrados durante a análise de entrada. - Ausente do arquivo:o arquivo de origem específico que contém uma referência a um módulo ou componente que não foi encontrado nos arquivos de avaliação enviados.
- Nome do módulo ausente:o nome do módulo ou componente que está faltando nos arquivos enviados.
- Tipo de módulo ausente:o tipo do componente ausente, que ajuda a entender a natureza da dependência. Por exemplo,
DATASET_SCHEMA,COPYBOOKouPROC.
Use essa guia para entender o que estava faltando e considere adicionar esses módulos antes de executar a avaliação novamente.
Problemas de análise Mostra todos os erros encontrados durante a análise do código-fonte. - Arquivo de origem:nome do arquivo específico do código-fonte enviado em que o analisador encontrou um problema.
- Gravidade:indica a gravidade do problema de análise. Por exemplo,
Warning. - Problemas:fornece uma descrição do problema encontrado pelo analisador de código.
Chamadas do CICS Mostra as chamadas do CICS feitas em cada programa e os parâmetros delas. É possível filtrar os resultados por comando, programa ou parâmetro. Conexões de jobs JCL Mostra as dependências entre jobs JCL com base em conjuntos de dados compartilhados, tabelas do DB2 e segmentos do IMS. - Jobs conectados com base em uma fonte de dados compartilhada:mostra a conexão entre dois jobs se um deles grava dados em uma fonte compartilhada e o outro lê dessa mesma fonte. Os jobs que apenas leem da mesma fonte de dados não são conectados entre si.
- Jobs conectados com base em uma fonte de dados compartilhada (visualização tabular): mostra os detalhes da conexão entre os jobs.
- Dependências de jobs de gravadores para leitores:mostra o job do gravador, o programa do gravador, a fonte de dados, o programa do leitor e o job do leitor.
Parâmetros de substituição de JCL Mostra os valores resolvidos dos parâmetros JCL. - Nome do job:identifica de forma exclusiva um job JCL específico, um conjunto de instruções para o mainframe que executa um processo em lote.
- Nome da etapa:identifica uma única etapa de execução em um job JCL. Um job consiste em uma ou mais etapas. Cada etapa geralmente executa um programa ou procedimento específico.
- Nome da definição de dados:mostra o nome de uma instrução de definição de dados em um procedimento JCL.
- Nome do conjunto de dados:identifica o nome de um arquivo ou conjunto de dados, conforme ele existe nos volumes de armazenamento do mainframe.
- Nome do parâmetro:refere-se a um parâmetro simbólico que age como uma variável em um procedimento JCL.
- Valor do parâmetro:refere-se ao valor atribuído a um parâmetro simbólico em um procedimento JCL.
Transações Mostra as relações extraídas entre programas, transações e telas para IMS e CICS. - Programa:o nome de um programa IMS ou CICS on-line.
- Transação:um código de transação IMS ou CICS que pode ser usado para programar a execução do programa.
- Tela:o nome da tela ou do mapa usado pelo programa ou pela transação.
Entidades duplicadas Lista os programas que têm o mesmo ID. - Nome:o nome de um dos programas em um conjunto de programas com o mesmo ID.
- Tipo:o tipo do programa, por exemplo,
COBOLouJCL. - Arquivo de origem:o arquivo de origem que contém esse programa.
- Arquivo de origem adicional:lista os outros arquivos de origem que contêm programas com o mesmo ID.
Receber insights gerados por IA para o domínio da sua empresa
A página Domínios oferece insights gerados por IA para os domínios de negócios associados a essa avaliação. Uma avaliação pode ter vários domínios, tantos quanto você especificou ao criar a avaliação. Cada domínio tem um status, resumo, lógica de negócios, fluxo de dados e recursos associados próprios. Os domínios ajudam a dividir partes da sua base de código como pertencentes a uma função comercial específica.
Para usar esse recurso, é necessário ativar os insights de IA e adicionar um domínio comercial ao criar a avaliação. Se essa página não estiver disponível, crie uma nova avaliação e ative os insights de IA.
Para receber uma descrição gerada por IA dos domínios comerciais do seu aplicativo, siga estas etapas:
Clique em Domains.
Uma lista de domínios é exibida, junto com o status de cada um.
Para conferir o resumo, a lógica de negócios e o fluxo de dados de um domínio específico, clique em Mostrar mais.
Você vê descrições detalhadas geradas por IA do domínio comercial do seu aplicativo. Essas descrições incluem a finalidade, a lógica, o processamento de dados, o fluxo de dados e as dependências de dados.
Para pesquisar um domínio específico, digite o nome dele no campo Pesquisar.
Opcional: para conferir a lista de recursos associados a esse domínio, clique em Ver recursos.
Imagens de domínio
A página Domínios também mostra imagens geradas por IA que representam seus domínios comerciais. Cada imagem de domínio é gerada com base na especificação do domínio para representar visualmente as funções e os sistemas descritos nele.
A geração de imagens de domínio tem os seguintes requisitos:
- Uso do endpoint global da Vertex AI.
- Modelos de IA compatíveis:
defaultegemini 3 pro.
Conferir insights gerados por IA para recursos
A página Recursos oferece um resumo, uma lógica detalhada e sugestões de código para um programa ou job no seu aplicativo de mainframe. Também é possível conferir o status, o tipo, o idioma e o modo de execução (em lote ou on-line) de cada recurso.
A página Recursos mostra uma nova entrada na tabela para cada recurso descoberto, mostrando o status da avaliação.
- Pendente:o recurso está aguardando a análise.
- Em andamento:a avaliação do recurso está em andamento.
- Concluída:a análise de recursos foi concluída.
- Aviso:a avaliação foi concluída com um aviso não bloqueador durante a geração de código.
Para restringir a seleção de recursos, aplique filtros no campo Filter.
Selecione um nome de propriedade para filtrar e insira um valor de propriedade. Por exemplo, para filtrar todos os recursos pelo status da avaliação, defina o nome da propriedade como Status e selecione um valor como Warning ou Completed.
Para conferir os detalhes de um recurso, siga estas etapas:
Na tabela Todos os recursos, clique no nome de um recurso.
A página Resumo aparece. Ela fornece um resumo gerado por IA do recurso, além do caso de negócios e da análise de interação do usuário.
Para conferir a lógica detalhada sobre o recurso, clique em Lógica detalhada.
Para programas COBOL e jobs JCL, a página Lógica detalhada fornece detalhes granulares, no nível do parágrafo e do método sobre o recurso, além de casos de teste.
Para conferir os campos de saída, clique em Campos de saída.
Para programas COBOL, a página Campos de saída fornece um resumo de campos de dados específicos que um programa gera e as descrições deles.
Para ver as sugestões de código, clique em Sugestões de código.
Para programas COBOL, a página Sugestões de código oferece uma sugestão de código gerada por IA nas linguagens de programação selecionadas ao criar a avaliação.
Para acessar a tela do BMS, clique em Mapas do BMS.
Para recursos da BMS, a página Mapas da BMS mostra a tela da interface.
Exportar relatório HTML
Baixe o relatório de avaliação como um arquivo ZIP em formato HTML para conferir off-line ou compartilhar com outras pessoas.
Para fazer o download do relatório, siga estas etapas:
- No menu de navegação, clique em Avaliações.
- Na página Avaliações, clique na seta para ver uma avaliação específica.
- Clique em Exportar.
- Clique em Relatório HTML.
- Opcional: para baixar um relatório com apenas os recursos selecionados, filtre os recursos e clique em Baixar relatório.
O relatório é baixado como um arquivo ZIP no seu computador. O arquivo ZIP inclui um arquivo HTML para cada programa na sua avaliação. Esses arquivos HTML contêm as informações encontradas na página Avaliações, incluindo resumos, lógica detalhada e sugestões de código gerado.
O arquivo ZIP também contém um sumário chamado index.html,
que tem links para todos os arquivos do arquivo.
Exportar dados de avaliação para o banco de dados Neo4j
É possível exportar os dados de avaliação para um banco de dados Neo4j e analisar e consultar as relações complexas entre os componentes do aplicativo de mainframe. Os dados são baixados no formato JSON Lines, que pode ser importado para o banco de dados do Neo4j.
Para exportar os dados de avaliação para seu banco de dados Neo4j, siga estas etapas:
- No painel à esquerda, clique em Avaliações.
- Na página Avaliações, clique na seta de uma avaliação específica.
- Clique em Exportar.
- Clique em Gráfico do Neo4j.
O arquivo será baixado como um arquivo compactado no seu computador. O arquivo zip inclui os dados do gráfico. Esse arquivo contém nós e relações de programas, jobs JCL, conjuntos de dados, bancos de dados e mapas BMS.
Depois de baixar os dados da avaliação, você pode importá-los para seu próprio banco de dados Neo4j seguindo estas etapas: 1. Verifique se você tem um banco de dados Neo4j instalado e em execução.
Instale a biblioteca APOC. O APOC é necessário para importar dados no formato JSON.
Extraia o arquivo JSON Lines que contém os dados do gráfico do arquivo baixado. Cada linha desse arquivo é um objeto JSON que representa um nó ou uma relação dos resultados da avaliação.
Copie o arquivo de linhas JSON para o diretório
importda instalação do banco de dados Neo4j para que os procedimentos APOC possam acessá-lo usandofile:///.Para melhorar o desempenho em grandes conjuntos de dados, crie restrições para todos os rótulos de nós usando uma consulta semelhante a esta:
CALL apoc.load.jsonl('file:///<your-data-file>.jsonl') YIELD value WHERE value.type = 'node' UNWIND value.labels as label WITH distinct label CALL apoc.cypher.doIt("CREATE CONSTRAINT IF NOT EXISTS FOR (n:" + apoc.text.quoteLabel(label) + ") REQUIRE n.id IS UNIQUE", {}) YIELD value RETURN count(*);Essa consulta lê os rótulos de nós do arquivo e cria uma restrição exclusiva na propriedade
idpara cada rótulo. Essas restrições também criam índices que aceleram a importação e a consulta de dados.Importe nós usando uma consulta Cypher semelhante a esta:
CALL apoc.load.jsonl('file:///<your-data-file>.jsonl') YIELD value WHERE value.type = 'node' CALL apoc.merge.node(value.labels, {id: value.id}, value.properties, value.properties) YIELD node RETURN count(node);Essa consulta lê cada linha do arquivo e, se for um nó, cria um nó correspondente no banco de dados Neo4j com seus rótulos e propriedades, usando
MERGEpara evitar duplicados com base noiddo nó.Depois de importar os nós, importe os relacionamentos usando uma consulta semelhante a esta:
CALL apoc.load.jsonl('file:///<your-data-file>.jsonl') YIELD value WHERE value.type = 'relationship' MATCH (startNode{id: value.start.id}), (endNode{id: value.end.id}) CALL apoc.merge.relationship(startNode, value.label, {}, value.properties, endNode) YIELD rel RETURN count(rel);Essa consulta lê objetos de relacionamento do arquivo e cria relacionamentos no banco de dados Neo4j entre os nós criados na etapa anterior.
Depois de concluir essas etapas, os dados da avaliação serão carregados no banco de dados do Neo4j, e você poderá usar o navegador Neo4j ou outras ferramentas para explorar o gráfico.
Peça ao Gemini
Sempre que precisar de ajuda para entender algo na página, peça ajuda ao Gemini.
Para pedir ajuda ao Gemini, siga estas etapas:
Na página em que você precisa de ajuda, clique no ícone
Perguntar ao Gemini.O painel Perguntar ao Gemini aparece. Você pode fazer perguntas sobre a avaliação. Por exemplo, você pode fazer perguntas sobre a finalidade comercial de um programa específico, como
which program is responsible for calculating the claim rate?.Para limpar o histórico de chat, clique no ícone Mais e em Limpar chat.
A seguir
- Saiba como configurar as opções.