

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Créez un visualiseur de fichiers mainframe avancé dans le cloud AWS
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud"></a>

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

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

Ce modèle fournit des exemples de code et des étapes pour vous aider à créer un outil avancé pour parcourir et examiner les fichiers au format fixe de votre mainframe à l'aide des services sans serveur AWS. Le modèle fournit un exemple de la façon de convertir un fichier d'entrée du mainframe en un document Amazon OpenSearch Service à des fins de navigation et de recherche. L'outil de visualisation de fichiers peut vous aider à réaliser les objectifs suivants :
+ Conservez la même structure et la même mise en page des fichiers du mainframe pour garantir la cohérence dans votre environnement de migration cible AWS (par exemple, vous pouvez conserver la même mise en page pour les fichiers dans une application par lots qui transmet des fichiers à des tiers externes)
+ Accélérez le développement et les tests lors de la migration de votre mainframe
+ Support des activités de maintenance après la migration

## Conditions préalables et limitations
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Un cloud privé virtuel (VPC) doté d'un sous-réseau accessible par votre ancienne plateforme
+ 
**Note**  
Un fichier d'entrée et le cahier COBOL (Common Business Oriented Language) correspondant (: pour des exemples de fichier d'entrée et de cahier COBOL, voir le référentiel. [gfs-mainframe-solutions](https://github.com/aws-samples/gfs-mainframe-patterns.git) GitHub Pour plus d'informations sur les copybooks COBOL, consultez le guide de programmation [Enterprise COBOL for z/OS 6.3](https://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf) sur le site Web d'IBM.)

**Limites**
+ L'analyse des cahiers est limitée à un maximum de deux niveaux imbriqués (SURVENUS)

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

**Pile technologique source**
+ Fichiers d'entrée au format [FB (Fixed Blocked)](https://www.ibm.com/docs/en/zos-basic-skills?topic=set-data-record-formats)
+ Mise en page du cahier COBOL

**Pile technologique cible**
+ Amazon Athena
+ Amazon OpenSearch Service
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Lambda
+ AWS Step Functions

**Architecture cible**

Le schéma suivant montre le processus d'analyse et de conversion d'un fichier d'entrée du mainframe en document de OpenSearch service à des fins de navigation et de recherche.

![Processus d'analyse et de conversion du fichier d'entrée du mainframe en OpenSearch service.](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/cce68438-bcf2-48c1-b86b-01242235ec76.png)


Le schéma suivant illustre le flux de travail suivant :

1. Un utilisateur ou une application administrateur envoie les fichiers d'entrée vers un compartiment S3 et les copybooks COBOL vers un autre compartiment S3.

1. 
**Note**  
Le compartiment S3 contenant les fichiers d'entrée invoque une fonction Lambda qui lance un flux de travail Step Functions sans serveur. : L'utilisation d'un déclencheur d'événement S3 et d'une fonction Lambda pour piloter le flux de travail Step Functions dans ce modèle est facultative. Les exemples de GitHub code de ce modèle n'incluent pas l'utilisation de ces services, mais vous pouvez utiliser ces services en fonction de vos besoins.

1. Le flux de travail Step Functions coordonne tous les processus par lots à partir des fonctions Lambda suivantes :
   + La `s3copybookparser.py` fonction analyse la mise en page du cahier et extrait les attributs des champs, les types de données et les décalages (nécessaires au traitement des données d'entrée).
   + La `s3toathena.py` fonction crée une mise en page de table Athena. Athena analyse les données d'entrée traitées par la `s3toathena.py` fonction et les convertit en fichier CSV.
   + La `s3toelasticsearch.py` fonction ingère le fichier de résultats depuis le compartiment S3 et le transmet au OpenSearch service.

1. Les utilisateurs accèdent à OpenSearch Dashboards with OpenSearch Service pour récupérer les données sous différents formats de tables et de colonnes, puis exécuter des requêtes sur les données indexées.

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

**Services AWS**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) est un service de requêtes interactif qui vous permet d'analyser les données directement dans Amazon Simple Storage Service (Amazon S3) à l'aide du langage SQL standard.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) est un service de calcul qui vous permet d'exécuter du code sans avoir à provisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez. Dans ce modèle, vous utilisez Lambda pour implémenter la logique de base, telle que l'analyse de fichiers, la conversion de données et le chargement de données dans OpenSearch Service pour un accès interactif aux fichiers.
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) est un service géré qui vous aide à déployer, exploiter et dimensionner des clusters de OpenSearch services dans le cloud AWS. Dans ce modèle, vous utilisez le OpenSearch service pour indexer les fichiers convertis et fournir des fonctionnalités de recherche interactives aux utilisateurs.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
+ [L'interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) est un service d'orchestration sans serveur qui vous permet de combiner les fonctions Lambda et d'autres services AWS pour créer des applications critiques pour l'entreprise. Dans ce modèle, vous utilisez Step Functions pour orchestrer les fonctions Lambda.

**Autres outils**
+ [GitHub](https://github.com/)est un service d'hébergement de code qui fournit des outils de collaboration et de contrôle de version.
+ [Python](https://www.python.org/) est un langage de programmation de haut niveau.

**Code**

Le code de ce modèle est disponible dans le GitHub [gfs-mainframe-patterns](https://github.com/aws-samples/gfs-mainframe-patterns.git)référentiel.

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

### Préparer l'environnement cible
<a name="prepare-the-target-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez le compartiment S3. | [Créez un compartiment S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) pour stocker les copybooks, les fichiers d'entrée et les fichiers de sortie. Nous recommandons la structure de dossiers suivante pour votre compartiment S3 :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 
| Créez la fonction s3copybookparser. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 
| Créez la fonction s3toathena. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 
| Créez la fonction s3toelasticsearch. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 
| Créez le cluster OpenSearch de services. | **Création du cluster**[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)<br />**Accorder l'accès au rôle IAM**<br />Pour fournir un accès détaillé au rôle IAM (`arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**`) de la fonction Lambda, procédez comme suit :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 
| Créez des Step Functions pour l'orchestration. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 

### Déployer et exécuter
<a name="deploy-and-run"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez les fichiers d'entrée et les cahiers dans le compartiment S3. | Téléchargez des exemples de fichiers depuis le dossier d'échantillons du [GitHub ](https://github.com/aws-samples/gfs-mainframe-patterns.git)référentiel et chargez-les dans le compartiment S3 que vous avez créé précédemment.[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 
| Invoquez les Step Functions. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/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>Par exemple :<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 général | 
| Validez l'exécution du flux de travail dans Step Functions. | Dans la [console Step Functions](https://console.aws.amazon.com/states/home), passez en revue l'exécution du flux de travail dans l'**inspecteur Graph**. Les états d'exécution sont codés par couleur pour représenter l'état d'exécution. Par exemple, le bleu indique **En cours**, le vert indique la **réussite** et le rouge indique l'**échec**. Vous pouvez également consulter le tableau dans la section **Historique des événements d'exécution** pour obtenir des informations plus détaillées sur les événements d'exécution.<br />Pour un exemple d'exécution d'un flux de travail graphique, voir le *graphe Step Functions* dans la section *Informations supplémentaires* de ce modèle. | AWS général | 
| Validez les journaux de livraison sur Amazon CloudWatch. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)Pour un exemple de journaux de livraison réussis, consultez *les journaux de CloudWatch livraison* dans la section *Informations supplémentaires* de ce modèle. | AWS général | 
| Validez le fichier formaté dans les OpenSearch tableaux de bord et effectuez des opérations sur les fichiers. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS général | 

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

**Références**
+ [Exemple de cahier COBOL (documentation](https://www.ibm.com/docs/en/record-generator/3.0?topic=SSMQ4D_3.0.0/documentation/cobol_rcg_examplecopybook.html) IBM)
+ [Aide aux fichiers BMC Compuware (documentation BMC](https://www.bmc.com/it-solutions/bmc-compuware-file-aid.html))

**Didacticiels**
+ [Tutoriel : Utilisation d'un déclencheur Amazon S3 pour appeler une fonction Lambda (documentation](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) AWS Lambda)
+ [Comment créer un flux de travail sans serveur avec AWS Step Functions et AWS Lambda (documentation AWS](https://aws.amazon.com/getting-started/hands-on/create-a-serverless-workflow-step-functions-lambda/))
+ [Utilisation OpenSearch de tableaux de bord avec Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) (documentation AWS)

## Informations supplémentaires
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-additional"></a>

**Graphe Step Functions**

L'exemple suivant montre un graphe Step Functions. Le graphique montre l'état d'exécution des fonctions Lambda utilisées dans ce modèle.

![Le graphe Step Functions montre l'état d'exécution des fonctions Lambda utilisées dans ce modèle.](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/11093e5d-2f9e-4bbf-8abc-f3b2980dd550.png)


**CloudWatch journaux de livraison**

L'exemple suivant montre les journaux de livraison réussis pour l'exécution de l'`s3toelasticsearch`exécution.


| 
| 
| 2008-10T 15:53:33 .033-05:00 | Nombre de documents de traitement : 100 |  | 
| --- |--- |--- |
|  | 2008-10T 15:53:33 .171-05:00 | [INFO] 02:08-10T 20:53:33 .171 Z a1b2c3d4-5678-90ab-cdef- Post:443/\_BULK [statut : 200 requête:0,100 s] EXAMPLE11111 https://search-essearch-3h4uqclifeqaj2vg4mphe7ffle.us-east-2.es.amazonaws.com | 
|  | 2008-10T 15:53:33 .172-05:00 | Rédaction en masse réussie : 100 documents | 