

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membangun penampil file mainframe tingkat lanjut di AWS Cloud
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud"></a>

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

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

Pola ini menyediakan contoh kode dan langkah-langkah untuk membantu Anda membangun alat canggih untuk menjelajahi dan meninjau file format tetap mainframe Anda dengan menggunakan layanan tanpa server AWS. Pola ini memberikan contoh cara mengonversi file input mainframe ke dokumen OpenSearch Layanan Amazon untuk menjelajah dan mencari. Alat penampil file dapat membantu Anda mencapai hal berikut:
+ Pertahankan struktur dan tata letak file mainframe yang sama untuk konsistensi di lingkungan migrasi target AWS Anda (misalnya, Anda dapat mempertahankan tata letak yang sama untuk file dalam aplikasi batch yang mentransmisikan file ke pihak eksternal)
+ Mempercepat pengembangan dan pengujian selama migrasi mainframe
+ Mendukung kegiatan pemeliharaan setelah migrasi

## Prasyarat dan batasan
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Virtual Private Cloud (VPC) dengan subnet yang dapat dijangkau oleh platform lama Anda
+ 
**catatan**  
File input dan copybook bahasa berorientasi bisnis umum (COBOL) yang sesuai (: Untuk contoh file input dan copybook COBOL, lihat di repositori. [gfs-mainframe-solutions](https://github.com/aws-samples/gfs-mainframe-patterns.git) GitHub Untuk informasi selengkapnya tentang copybook COBOL, lihat Panduan Pemrograman [COBOL Enterprise untuk z/OS 6.3](https://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf) di situs web IBM.)

**Batasan**
+ Penguraian copybook dibatasi tidak lebih dari dua level bersarang (TERJADI)

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

**Tumpukan teknologi sumber**
+ Masukan file dalam [format FB (Tetap Diblokir)](https://www.ibm.com/docs/en/zos-basic-skills?topic=set-data-record-formats)
+ Tata letak copybook COBOL

**Tumpukan teknologi target**
+ Amazon Athena
+  OpenSearch Layanan Amazon
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Lambda
+ AWS Step Functions

**Arsitektur target**

Diagram berikut menunjukkan proses parsing dan konversi file input mainframe ke dokumen OpenSearch Service untuk browsing dan pencarian.

![\[Proses untuk mengurai dan mengonversi file input mainframe ke OpenSearch Layanan.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/cce68438-bcf2-48c1-b86b-01242235ec76.png)


Diagram menunjukkan alur kerja berikut:

1. Pengguna admin atau aplikasi mendorong file input ke satu bucket S3 dan copybook COBOL ke bucket S3 lainnya.

1. 
**catatan**  
Bucket S3 dengan file input memanggil fungsi Lambda yang memulai alur kerja Step Functions tanpa server. : Penggunaan pemicu peristiwa S3 dan fungsi Lambda untuk menggerakkan alur kerja Step Functions dalam pola ini adalah opsional. Contoh GitHub kode dalam pola ini tidak termasuk penggunaan layanan ini, tetapi Anda dapat menggunakan layanan ini berdasarkan kebutuhan Anda.

1. Alur kerja Step Functions mengkoordinasikan semua proses batch dari fungsi Lambda berikut:
   + `s3copybookparser.py`Fungsi mem-parsing tata letak copybook dan mengekstrak atribut bidang, tipe data, dan offset (diperlukan untuk pemrosesan data input).
   + `s3toathena.py`Fungsi ini menciptakan tata letak tabel Athena. Athena mem-parsing data input yang diproses oleh `s3toathena.py` fungsi dan mengonversi data ke file CSV.
   + `s3toelasticsearch.py`Fungsi ini menyerap file hasil dari bucket S3 dan mendorong file ke Service. OpenSearch 

1. Pengguna mengakses OpenSearch Dasbor dengan OpenSearch Layanan untuk mengambil data dalam berbagai format tabel dan kolom dan kemudian menjalankan kueri terhadap data yang diindeks.

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

**Layanan AWS**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) adalah layanan kueri interaktif yang membantu Anda menganalisis data secara langsung di Amazon Simple Storage Service (Amazon S3) menggunakan SQL standar.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) adalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan. Dalam pola ini, Anda menggunakan Lambda untuk mengimplementasikan logika inti, seperti mengurai file, mengonversi data, dan memuat data ke OpenSearch Layanan untuk akses file interaktif.
+ [Amazon OpenSearch Service adalah layanan](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) terkelola yang membantu Anda menerapkan, mengoperasikan, dan menskalakan kluster OpenSearch Layanan di AWS Cloud. Dalam pola ini, Anda menggunakan OpenSearch Layanan untuk mengindeks file yang dikonversi dan menyediakan kemampuan pencarian interaktif bagi pengguna.
+ [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
+ [AWS Command Line Interface (AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) adalah layanan orkestrasi tanpa server yang membantu Anda menggabungkan fungsi Lambda dan layanan AWS lainnya untuk membangun aplikasi yang penting bagi bisnis. Dalam pola ini, Anda menggunakan Step Functions untuk mengatur fungsi Lambda.

**Alat-alat lainnya**
+ [GitHub](https://github.com/)adalah layanan hosting kode yang menyediakan alat kolaborasi dan kontrol versi.
+ [Python adalah bahasa](https://www.python.org/) pemrograman tingkat tinggi.

**Kode**

Kode untuk pola ini tersedia di GitHub [gfs-mainframe-patterns](https://github.com/aws-samples/gfs-mainframe-patterns.git)repositori.

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

### Siapkan lingkungan target
<a name="prepare-the-target-environment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat ember S3. | [Buat bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) untuk menyimpan copybook, file input, dan file output. Kami merekomendasikan struktur folder berikut untuk bucket S3 Anda:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 
| Buat fungsi s3copybookparser. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 
| Buat fungsi s3toathena. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 
| Buat fungsi s3toelasticsearch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 
| Buat kluster OpenSearch Layanan. | **Buat cluster**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)**Berikan akses ke peran IAM**Untuk memberikan akses berbutir halus ke peran IAM fungsi Lambda ()`arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**`, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 
| Buat Step Functions untuk orkestrasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 

### Menyebarkan dan menjalankan
<a name="deploy-and-run"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Unggah file input dan copybook ke bucket S3. | Unduh file sampel dari folder sampel [GitHub ](https://github.com/aws-samples/gfs-mainframe-patterns.git)repositori dan unggah file ke bucket S3 yang Anda buat sebelumnya.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 
| Memanggil Step Functions. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/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>Contoh:<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 Umum | 
| Validasi eksekusi alur kerja di Step Functions. | Di [konsol Step Functions](https://console.aws.amazon.com/states/home), tinjau eksekusi alur kerja di **inspektur Grafik**. Status eksekusi dijalankan diberi kode warna untuk mewakili status eksekusi. Misalnya, biru menunjukkan **Dalam Kemajuan**, hijau menunjukkan **Berhasil,** dan merah menunjukkan **Gagal**. Anda juga dapat meninjau tabel di bagian **Riwayat peristiwa eksekusi** untuk informasi lebih rinci tentang peristiwa eksekusi.Untuk contoh eksekusi alur kerja grafis, lihat *grafik Step Functions* di bagian *Informasi tambahan* dari pola ini. | AWS Umum | 
| Validasi log pengiriman di Amazon CloudWatch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)Untuk contoh log pengiriman yang berhasil, lihat *log CloudWatch pengiriman* di bagian *Informasi tambahan* dari pola ini. | AWS Umum | 
| Validasi file yang diformat di OpenSearch Dasbor dan lakukan operasi file. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | AWS Umum | 

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

**Referensi**
+ [Contoh Copybook COBOL (dokumentasi](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](https://www.bmc.com/it-solutions/bmc-compuware-file-aid.html) (dokumentasi BMC)

**Tutorial**
+ [Tutorial: Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda (dokumentasi AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html))
+ [Bagaimana cara membuat alur kerja tanpa server dengan AWS Step Functions dan AWS Lambda](https://aws.amazon.com/getting-started/hands-on/create-a-serverless-workflow-step-functions-lambda/) (dokumentasi AWS)
+ [Menggunakan OpenSearch Dasbor dengan OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) (dokumentasi AWS)

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

**Grafik Step Functions**

Contoh berikut menunjukkan grafik Step Functions. Grafik menunjukkan status eksekusi run untuk fungsi Lambda yang digunakan dalam pola ini.

![\[Grafik Step Functions menunjukkan status eksekusi run untuk fungsi Lambda yang digunakan dalam pola ini.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/11093e5d-2f9e-4bbf-8abc-f3b2980dd550.png)


**CloudWatch log pengiriman**

Contoh berikut menunjukkan log pengiriman yang berhasil untuk eksekusi `s3toelasticsearch` eksekusi.


| 
| 
| 2022-08-10T 15:53:33.033-05:00 | Jumlah dokumen pemrosesan: 100 |  | 
| --- |--- |--- |
|  | 2022-08-10T 15:53:33.171-05:00 | [INFO] 2022-08-10T 20:53:33.171 Z a1b2c3d4-5678-90ab-cdef- Post:443/\$1Bulk [status: 200 permintaan: 0.100s] EXAMPLE11111 https://search-essearch-3h4uqclifeqaj2vg4mphe7ffle.us-east-2.es.amazonaws.com | 
|  | 2022-08-10T 15:53:33.172-05:00 | Penulisan massal berhasil: 100 dokumen | 