

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

# Crea un visualizzatore di file mainframe avanzato nel cloud AWS
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud"></a>

*Boopathy GOPALSAMY e Jeremiah O'Connor, Amazon Web Services*

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

Questo modello fornisce esempi di codice e passaggi per aiutarti a creare uno strumento avanzato per la navigazione e la revisione dei file mainframe in formato fisso utilizzando i servizi serverless AWS. Il modello fornisce un esempio di come convertire un file di input mainframe in un documento Amazon OpenSearch Service per la navigazione e la ricerca. Lo strumento di visualizzazione dei file può aiutarti a ottenere quanto segue:
+ Mantieni la stessa struttura e lo stesso layout dei file mainframe per garantire la coerenza nell'ambiente di migrazione di destinazione AWS (ad esempio, puoi mantenere lo stesso layout per i file in un'applicazione batch che trasmette i file a parti esterne)
+ Velocizza lo sviluppo e i test durante la migrazione del mainframe
+ Supporta le attività di manutenzione dopo la migrazione

## Prerequisiti e limitazioni
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un cloud privato virtuale (VPC) con una sottorete raggiungibile dalla tua piattaforma legacy
+ 
**Nota**  
Un file di input e il corrispondente quaderno COBOL (Common Business-Oriented Language) (: Per esempi di file di input e quaderni COBOL, consultate il repository. [gfs-mainframe-solutions](https://github.com/aws-samples/gfs-mainframe-patterns.git) GitHub [Per ulteriori informazioni sui quaderni COBOL, consulta la Guida alla programmazione di Enterprise COBOL for 6.3 sul sito Web IBM.) z/OS ](https://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf)

**Limitazioni**
+ L'analisi dei copybook è limitata a non più di due livelli annidati (OCCURS)

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

**Stack di tecnologia di origine**
+ File di input in formato [FB (Fixed Blocked](https://www.ibm.com/docs/en/zos-basic-skills?topic=set-data-record-formats))
+ Layout del quaderno COBOL

**Stack tecnologico Target**
+ Amazon Athena
+  OpenSearch Servizio Amazon
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Lambda
+ AWS Step Functions

**Architettura Target**

Il diagramma seguente mostra il processo di analisi e conversione di un file di input del mainframe in un documento di OpenSearch servizio per la navigazione e la ricerca.

![\[Processo di analisi e conversione del file di input del mainframe in Service. OpenSearch\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/cce68438-bcf2-48c1-b86b-01242235ec76.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Un utente o un'applicazione amministratore invia i file di input a un bucket S3 e i quaderni COBOL a un altro bucket S3.

1. 
**Nota**  
Il bucket S3 con i file di input richiama una funzione Lambda che avvia un flusso di lavoro Step Functions senza server. : L'uso di un trigger di eventi S3 e della funzione Lambda per guidare il flusso di lavoro Step Functions in questo modello è facoltativo. Gli esempi di GitHub codice di questo modello non includono l'uso di questi servizi, ma è possibile utilizzarli in base alle proprie esigenze.

1. Il flusso di lavoro Step Functions coordina tutti i processi batch delle seguenti funzioni Lambda:
   + La `s3copybookparser.py` funzione analizza il layout del quaderno ed estrae gli attributi dei campi, i tipi di dati e gli offset (necessari per l'elaborazione dei dati di input).
   + La `s3toathena.py` funzione crea un layout di tabella Athena. Athena analizza i dati di input elaborati dalla `s3toathena.py` funzione e li converte in un file CSV.
   + La `s3toelasticsearch.py` funzione acquisisce il file dei risultati dal bucket S3 e lo invia al servizio. OpenSearch 

1. Gli utenti accedono a OpenSearch Dashboards with OpenSearch Service per recuperare i dati in vari formati di tabelle e colonne e quindi eseguire query sui dati indicizzati.

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

**Servizi AWS**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) è un servizio di query interattivo che ti aiuta ad analizzare i dati direttamente in Amazon Simple Storage Service (Amazon S3) utilizzando SQL standard.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di elaborazione che ti aiuta a eseguire codice senza dover fornire o gestire server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di calcolo che utilizzi. In questo modello, si utilizza Lambda per implementare la logica di base, come l'analisi dei file, la conversione dei dati e il caricamento dei dati in OpenSearch Service per l'accesso interattivo ai file.
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) è un servizio gestito che ti aiuta a distribuire, gestire e scalare i cluster OpenSearch di servizi nel cloud AWS. In questo modello, utilizzi OpenSearch Service per indicizzare i file convertiti e fornire funzionalità di ricerca interattive per gli utenti.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [AWS Command Line Interface (AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) è uno strumento open source che ti aiuta a interagire con i servizi AWS tramite comandi nella tua shell a riga di comando.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) è un servizio di orchestrazione senza server che ti aiuta a combinare funzioni Lambda e altri servizi AWS per creare applicazioni aziendali critiche. In questo modello, usi Step Functions per orchestrare le funzioni Lambda.

**Altri strumenti**
+ [GitHub](https://github.com/)è un servizio di code-hosting che fornisce strumenti di collaborazione e controllo delle versioni.
+ [Python](https://www.python.org/) è un linguaggio di programmazione di alto livello.

**Codice**

Il codice per questo pattern è disponibile nel repository. GitHub [gfs-mainframe-patterns](https://github.com/aws-samples/gfs-mainframe-patterns.git)

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

### Prepara l'ambiente di destinazione
<a name="prepare-the-target-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il bucket S3. | [Crea un bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) per archiviare i quaderni, i file di input e i file di output. Ti consigliamo la seguente struttura di cartelle per il tuo bucket S3:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 
| Crea la funzione s3copybookparser. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 
| Crea la funzione s3toathena. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 
| Crea la funzione s3toelasticsearch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 
| Crea il cluster OpenSearch di servizi. | **Crea il cluster**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)**Concedi l'accesso al ruolo IAM**Per fornire un accesso granulare al ruolo IAM (`arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**`) della funzione Lambda, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 
| Crea Step Functions per l'orchestrazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 

### Implementa ed esegui
<a name="deploy-and-run"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Carica i file di input e i quaderni nel bucket S3. | Scarica i file di esempio dalla cartella di esempio del [GitHub ](https://github.com/aws-samples/gfs-mainframe-patterns.git)repository e carica i file nel bucket S3 che hai creato in precedenza.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 
| Invoca Step Functions. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/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>Esempio:<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> | Informazioni generali su AWS | 
| Convalida l'esecuzione del flusso di lavoro in Step Functions. | Nella [console Step Functions](https://console.aws.amazon.com/states/home), esaminate l'esecuzione del flusso di lavoro nell'**ispettore Graph**. Gli stati di esecuzione sono codificati a colori per rappresentare lo stato di esecuzione. **Ad esempio, il blu indica **In corso**, il verde indica **Riuscito e il rosso indica Non riuscito**.** È inoltre possibile consultare la tabella nella sezione **Cronologia degli eventi di esecuzione** per informazioni più dettagliate sugli eventi di esecuzione.Per un esempio di esecuzione grafica del flusso di lavoro, vedete il *grafico Step Functions* nella sezione *Informazioni aggiuntive* di questo modello. | Informazioni generali su AWS | 
| Convalida i registri di spedizione in Amazon. CloudWatch | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)Per un esempio di registri di consegna riusciti, consulta i *registri di CloudWatch consegna* nella sezione *Informazioni aggiuntive* di questo modello. | Informazioni generali su AWS | 
| Convalida il file formattato nelle OpenSearch dashboard ed esegui operazioni sui file. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Informazioni generali su AWS | 

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

**Riferimenti**
+ [Esempio di quaderno COBOL (documentazione](https://www.ibm.com/docs/en/record-generator/3.0?topic=SSMQ4D_3.0.0/documentation/cobol_rcg_examplecopybook.html) IBM)
+ [BMC Compuware File-AID (documentazione BMC](https://www.bmc.com/it-solutions/bmc-compuware-file-aid.html))

**Tutorial**
+ [Tutorial: utilizzo di un trigger Amazon S3 per richiamare una funzione Lambda (documentazione AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html))
+ [Come posso creare un flusso di lavoro serverless con AWS Step Functions e AWS Lambda (documentazione AWS](https://aws.amazon.com/getting-started/hands-on/create-a-serverless-workflow-step-functions-lambda/))
+ [Utilizzo di OpenSearch dashboard con Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) (documentazione AWS)

## Informazioni aggiuntive
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-additional"></a>

**Grafico Step Functions**

L'esempio seguente mostra un grafico Step Functions. Il grafico mostra lo stato di esecuzione delle funzioni Lambda utilizzate in questo modello.

![\[Il grafico Step Functions mostra lo stato dell'esecuzione per le funzioni Lambda utilizzate in questo modello.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/11093e5d-2f9e-4bbf-8abc-f3b2980dd550.png)


**CloudWatch registri di consegna**

L'esempio seguente mostra i log di consegna riusciti per l'esecuzione dell'`s3toelasticsearch`esecuzione.


| 
| 
| 2022-08-10T 15:53:33.033-05:00 | Numero di documenti di elaborazione: 100 |  | 
| --- |--- |--- |
|  | 2022-08-10T 15:53:33.171-05:00 | [INFORMAZIONI] 2022-08-10T 20:53:33.171 Z a1b2c3d4-5678-90ab-cdef- Post:443/\$1bulk [stato:200 richiesta:0.100s] EXAMPLE11111 https://search-essearch-3h4uqclifeqaj2vg4mphe7ffle.us-east-2.es.amazonaws.com | 
|  | 2022-08-10T 15:53:33.172-05:00 | Scrittura in blocco riuscita: 100 documenti | 