

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

# Crie um visualizador avançado de arquivos de mainframe na Nuvem AWS
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud"></a>

*Boopathy Gopalsamy e Jeremiah O’Connor, Amazon Web Services*

## Resumo
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-summary"></a>

Esse padrão fornece exemplos de código e etapas para ajudá-lo a criar uma ferramenta avançada para navegar e revisar seus arquivos de formato fixo de mainframe usando os serviços de tecnologia sem servidor da AWS. O padrão fornece um exemplo de como converter um arquivo de entrada de mainframe em um documento do Amazon OpenSearch Service para navegação e pesquisa. A ferramenta de visualização de arquivos pode ajudá-lo a conseguir o seguinte:
+ Reter a mesma estrutura e layout de arquivos de mainframe para obter consistência em seu ambiente de migração de destino da AWS (por exemplo, você pode manter o mesmo layout para arquivos em um aplicativo em lote que transmite arquivos para terceiros)
+ Acelerar o desenvolvimento e os testes durante a migração do mainframe
+ Apoiar as atividades de manutenção após a migração

## Pré-requisitos e limitações
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma nuvem privada virtual (VPC) com uma sub-rede acessível por sua plataforma legada
+ 
**nota**  
Um arquivo de entrada e seu caderno correspondente de linguagem orientada a negócios (COBOL) (: Para obter exemplos de arquivos de entrada e cadernos COBOL, consulte no repositório. [gfs-mainframe-solutions](https://github.com/aws-samples/gfs-mainframe-patterns.git) GitHub Para obter mais informações sobre os copybooks do COBOL, consulte o Guia de Programação do [Enterprise COBOL for z/OS 6.3](https://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf) no site da IBM.)

**Limitações**
+ A análise do copybook é limitada a não mais do que dois níveis aninhados (OCCURS)

## Arquitetura
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-architecture"></a>

**Pilha de tecnologia de origem**
+ Arquivos de entrada no formato [FB (Fixed Blocked)](https://www.ibm.com/docs/en/zos-basic-skills?topic=set-data-record-formats)
+ Layout de cadernos em COBOL

**Pilha de tecnologias de destino**
+ Amazon Athena
+  OpenSearch Serviço Amazon
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Lambda
+ AWS Step Functions

**Arquitetura de destino**

O diagrama a seguir mostra o processo de análise e conversão de um arquivo de entrada de mainframe em um documento de OpenSearch serviço para navegação e pesquisa.

![\[Processo para analisar e converter o arquivo de entrada do mainframe em Serviço. OpenSearch\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/cce68438-bcf2-48c1-b86b-01242235ec76.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Um usuário administrador ou aplicativo envia os arquivos de entrada para um bucket do S3 e os copybooks do COBOL para outro bucket do S3.

1. 
**nota**  
O bucket do S3 com os arquivos de entrada invoca uma função do Lambda que inicia um fluxo de trabalho de Step Functions de tecnologia sem servidor. : O uso de um acionador de evento do S3 e de uma função do Lambda para conduzir o fluxo de trabalho do Step Functions neste padrão é opcional. Os exemplos de GitHub código nesse padrão não incluem o uso desses serviços, mas você pode usá-los com base em seus requisitos.

1. O fluxo de trabalho do Step Functions coordena todos os processos em lote das seguintes funções do Lambda:
   + A função `s3copybookparser.py` analisa o layout do caderno e extrai atributos de campo, tipos de dados e deslocamentos (necessários para o processamento de dados de entrada).
   + A função `s3toathena.py` cria um layout de tabela do Athena. O Athena analisa os dados de entrada que são processados pela função `s3toathena.py` e os converte em um arquivo CSV.
   + A `s3toelasticsearch.py` função ingere o arquivo de resultados do bucket do S3 e envia o arquivo para o Service. OpenSearch 

1. Os usuários acessam os OpenSearch painéis com o OpenSearch Service para recuperar os dados em vários formatos de tabela e coluna e, em seguida, executar consultas nos dados indexados.

## Ferramentas
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-tools"></a>

**Serviços da AWS**
+ O [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) é um serviço de consultas interativas que ajuda na análise de dados diretamente no Amazon Simple Storage Service (Amazon S3) usando SQL padrão.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda você a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado. Nesse padrão, você usa o Lambda para implementar a lógica central, como analisar arquivos, converter dados e carregar dados no OpenSearch Service para acesso interativo a arquivos.
+ O [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) é um serviço gerenciado que ajuda você a implantar, operar e escalar clusters de OpenSearch serviços na nuvem da AWS. Nesse padrão, você usa o OpenSearch Service para indexar os arquivos convertidos e fornecer recursos de pesquisa interativa para os usuários.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ A ‭[AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)‭ é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) é um serviço de orquestração de tecnologia sem servidor que permite combinar funções do Lambda e outros serviços da AWS para criar aplicações essenciais aos negócios. Nesse padrão, você usa o Step Functions para orquestrar funções do Lambda.

**Outras ferramentas**
+ [GitHub](https://github.com/)é um serviço de hospedagem de código que fornece ferramentas de colaboração e controle de versão.
+ O [Python](https://www.python.org/) é uma linguagem de programação de alto nível.

**Código **

O código desse padrão está disponível no GitHub [gfs-mainframe-patterns](https://github.com/aws-samples/gfs-mainframe-patterns.git)repositório.

## Épicos
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-epics"></a>

### Preparar o ambiente de destino
<a name="prepare-the-target-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o bucket do S3. | [Crie um bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) para armazenar os cadernos, arquivos de entrada e arquivos de saída. Recomendamos a seguinte estrutura de pastas para seu bucket do S3:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 
| Crie a função s3copybookparser. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 
| Crie a função s3toathena. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 
| Crie a função s3toelasticsearch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 
| Crie o cluster OpenSearch de serviços. | **Criar um cluster**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)**Conceder acesso ao perfil do IAM**Para fornecer acesso refinado ao perfil do IAM (`arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**`) da função Lambda, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 
| Crie Step Functions para orquestração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 

### Implemente e execute
<a name="deploy-and-run"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Carregue os arquivos de entrada e os cadernos para seu bucket do S3. | Faça o download dos arquivos de amostra da pasta de amostra do [GitHub ](https://github.com/aws-samples/gfs-mainframe-patterns.git)repositório e faça o upload dos arquivos para o bucket do S3 que você criou anteriormente.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 
| chame o Step Functions.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)<pre>{<br />  "s3_copybook_bucket_name": "<BUCKET NAME>",<br />  "s3_copybook_bucket_key": "<COPYBOOK PATH>",<br />  "s3_source_bucket_name": "<BUCKET NAME",<br />  "s3_source_bucket_key": "INPUT FILE PATH"<br />}</pre>Por exemplo:<pre>{<br />  "s3_copybook_bucket_name": "fileaidtest",<br />  "s3_copybook_bucket_key": "copybook/acctix.cpy",<br />  "s3_source_bucket_name": "fileaidtest",<br />  "s3_source_bucket_key": "input/acctindex"<br />}</pre> | AWS geral | 
| Valide a execução do fluxo de trabalho em Step Functions. | No [console Step Functions](https://console.aws.amazon.com/states/home), revise a execução do fluxo de trabalho no **inspetor gráfico**. Os estados de execução são codificados por cores para representar o status da execução. Por exemplo, azul indica **Em andamento**, verde indica **Sucesso** e vermelho indica **Falha**. Você também pode revisar a tabela na seção **Histórico de eventos de execução** para obter informações mais detalhadas sobre os eventos de execução.Para obter um exemplo de execução gráfica do fluxo de trabalho, consulte o *gráfico Step Functions* na seção *Informações adicionais* desse padrão. | AWS geral | 
| Valide os registros de entrega na Amazon CloudWatch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)Para ver um exemplo de registros de entrega bem-sucedidos, consulte *os registros de CloudWatch entrega* na seção *Informações adicionais* desse padrão. | AWS geral | 
| Valide o arquivo formatado nos OpenSearch painéis e execute operações de arquivo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS geral | 

## Recursos relacionados
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-resources"></a>

**Referências**
+ [Exemplo de copybook COBOL](https://www.ibm.com/docs/en/record-generator/3.0?topic=SSMQ4D_3.0.0/documentation/cobol_rcg_examplecopybook.html) (documentação da IBM)
+ [BMC Compuware File-AID](https://www.bmc.com/it-solutions/bmc-compuware-file-aid.html) (documentação da BMC)

**Tutoriais**
+ [Tutorial: Uso de um acionador do Amazon S3 para invocar uma função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) (documentação do AWS Lambda)
+ [Como faço para criar um fluxo de trabalho de tecnologia sem servidor com o AWS Step Functions e o AWS Lambda](https://aws.amazon.com/getting-started/hands-on/create-a-serverless-workflow-step-functions-lambda/) (documentação da AWS)
+ [Usando OpenSearch painéis com o Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) (documentação da AWS)

## Mais informações
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-additional"></a>

**Gráfico de Step Functions**

O exemplo a seguir mostra um gráfico do Step Functions. O gráfico mostra o status da execução das funções do Lambda usadas nesse padrão.

![\[O gráfico do Step Functions exibe o status de execução das funções do Lambda usadas neste padrão.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/11093e5d-2f9e-4bbf-8abc-f3b2980dd550.png)


**CloudWatch registros de entrega**

O exemplo a seguir mostra registros de entrega bem-sucedidos para a execução da execução `s3toelasticsearch`.


| 
| 
| 2022-08-10T15:53:33.033-05:00 | Número de documentos de processamento: 100 |  | 
| --- |--- |--- |
|  | 2022-08-10T15:53:33.171-05:00 | [INFO] 2022-08-10T 20:53:33,171 Z a1b2c3d4-5678-90ab-cdef- POST:443/\$1bulk [status: 200 solicitação: 0,100s] EXAMPLE11111 https://search-essearch-3h4uqclifeqaj2vg4mphe7ffle.us-east-2.es.amazonaws.com | 
|  | 2022-08-10T15:53:33.172-05:00 | Gravação em massa bem-sucedida: 100 documentos | 