

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

# Mainframe
<a name="mainframe-pattern-list"></a>

**Topics**
+ [Akses Layanan AWS dari IBM z/OS dengan menginstal AWS CLI](access-aws-services-from-ibm-z-os-by-installing-aws-cli.md)
+ [Cadangkan dan arsipkan data mainframe ke Amazon S3 menggunakan BMC AMI Cloud Data](back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.md)
+ [Membangun program COBOL Db2 dengan menggunakan dan AWS Mainframe Modernization AWS CodeBuild](build-cobol-db2-programs-mainframe-modernization-codebuild.md)
+ [Bangun PAC Server Perusahaan Fokus Mikro dengan Amazon EC2 Auto Scaling dan Systems Manager](build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.md)
+ [Membangun penampil file mainframe tingkat lanjut di AWS Cloud](build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.md)
+ [Kontainerisasi beban kerja mainframe yang telah dimodernisasi oleh Blu Age](containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.md)
+ [Mengonversi dan membongkar data EBCDIC ke ASCII di AWS dengan menggunakan Python](convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.md)
+ [Konversi file mainframe dari format EBCDIC ke format ASCII yang dibatasi karakter di Amazon S3 menggunakan AWS Lambda](convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda.md)
+ [Mengkonversi file data mainframe dengan layout rekaman yang kompleks menggunakan Micro Focus](convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.md)
+ [Menerapkan lingkungan untuk aplikasi Blu Age kontainer dengan menggunakan Terraform](deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.md)
+ [Hasilkan wawasan z/OS data Db2 dengan menggunakan dan AWS Mainframe Modernization Amazon Q di Quick Sight](generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.md)
+ [Hasilkan wawasan data dengan menggunakan AWS Mainframe Modernization dan Amazon Q di Quick Sight](generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.md)
+ [Menerapkan otentikasi berbasis Microsoft Entra ID dalam aplikasi mainframe modern AWS Blu Age](implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.md)
+ [Integrasikan Stonebranch Universal Controller dengan AWS Mainframe Modernisasi](integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.md)
+ [Memigrasi dan mereplikasi file VSAM ke Amazon RDS atau Amazon MSK menggunakan Connect from Excently](migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.md)
+ [Modernisasi aplikasi CardDemo mainframe dengan menggunakan AWS Transform](modernize-carddemo-mainframe-app.md)
+ [Memodernisasi dan menyebarkan aplikasi mainframe menggunakan dan Terraform AWS Transform](modernize-mainframe-app-transform-terraform.md)
+ [Modernisasi manajemen output mainframe AWS dengan menggunakan Rocket Enterprise Server dan LRS X PageCenter](modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.md)
+ [Modernisasi beban kerja pencetakan batch mainframe dengan menggunakan Rocket Enterprise Server dan LRS AWS VPSX/LFI](modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Modernisasi mainframe: aktif AWS dengan Rocket DevOps Software Enterprise Suite](mainframe-modernization-devops-on-aws-with-micro-focus.md)
+ [Modernisasi beban kerja pencetakan online mainframe di AWS dengan menggunakan Micro Focus Enterprise Server dan LRS VPSX/MFI](modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Pindahkan file mainframe langsung ke Amazon S3 menggunakan Transfer Family](move-mainframe-files-directly-to-amazon-s3-using-transfer-family.md)
+ [Optimalkan kinerja aplikasi modern AWS Blu Age Anda](optimize-performance-aws-blu-age-modernized-application.md)
+ [Mengamankan dan merampingkan akses pengguna dalam database federasi Db2 di AWS dengan menggunakan konteks tepercaya](secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts.md)
+ [Transfer z/OS data Db2 skala besar ke Amazon S3 dalam file CSV](transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.md)
+ [Ubah Easytrieve ke bahasa modern dengan menggunakan kustom AWS Transform](transform-easytrieve-modern-languages.md)
+ [Lebih banyak pola](mainframe-more-patterns-pattern-list.md)

# Akses Layanan AWS dari IBM z/OS dengan menginstal AWS CLI
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli"></a>

*Souma Ghosh, Paulo Vitor Pereira, dan Phil de Valence, Amazon Web Services*

## Ringkasan
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-summary"></a>

The [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) adalah alat open source untuk mengelola beberapa AWS layanan dengan menggunakan perintah dalam shell baris perintah. Dengan konfigurasi minimal, Anda dapat menjalankan perintah dari sesi baris perintah seperti command prompt, terminal, dan bash shell untuk mengimplementasikan fungsionalitas yang setara dengan yang disediakan oleh browser Konsol Manajemen AWS berbasis.

Semua AWS infrastruktur sebagai layanan (IaaS) administrasi, manajemen, dan fungsi akses dalam Konsol Manajemen AWS tersedia di AWS API dan. AWS CLI Anda dapat menginstal AWS CLI pada z/OS mainframe IBM untuk langsung mengakses, mengelola, dan berinteraksi dengan Layanan AWS dari z/OS. AWS CLI Ini memungkinkan pengguna dan aplikasi untuk melakukan berbagai tugas, seperti:
+ Mentransfer file atau kumpulan data antara penyimpanan objek z/OS Amazon Simple Storage Service (Amazon S3) dan melihat konten bucket
+ Memulai dan menghentikan AWS sumber daya yang berbeda; misalnya, memulai pekerjaan batch di AWS Mainframe Modernization lingkungan
+ Memanggil AWS Lambda fungsi untuk menerapkan logika bisnis umum
+ Mengintegrasikan dengan kecerdasan buatan dan pembelajaran mesin (AI/ML) dan layanan analitik

Pola ini menjelaskan cara menginstal, mengkonfigurasi, dan menggunakan AWS CLI pada z/OS. You can install it globally, so it's available to all z/OS pengguna, atau pada tingkat pengguna. Pola ini juga merinci cara menggunakan AWS CLI dalam sesi baris perintah interaktif dari z/OS Unix System Services (USS) atau sebagai pekerjaan batch.

## Prasyarat dan batasan
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-prereqs"></a>

**Prasyarat**
+ **Komunikasi jaringan dari z/OS ke AWS**

  Secara default, AWS CLI mengirim permintaan ke Layanan AWS dengan menggunakan HTTPS pada port TCP 443. AWS CLI Agar berhasil menggunakan, Anda harus dapat membuat koneksi keluar pada port TCP 443. Anda dapat menggunakan salah satu perintah z/OS USS berikut (beberapa di antaranya mungkin tidak diinstal di lingkungan Anda) untuk menguji konektivitas jaringan dari z/OS ke AWS:

  ```
  ping amazonaws.com
  dig amazonaws.com
  traceroute amazonaws.com
  curl -k https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html
  ```
+ **AWS credentials**

  Untuk berkomunikasi dengan AWS Cloud layanan dari z/OS, Anda harus mengonfigurasi beberapa kredensil dengan hak istimewa untuk mengakses target. AWS CLI Akun AWS Untuk perintah terprogram ke AWS, Anda dapat menggunakan kunci akses, yang terdiri dari ID kunci akses dan kunci akses rahasia. Jika Anda tidak memiliki access key, Anda dapat membuatnya dari Konsol Manajemen AWS. Sebagai praktik terbaik, jangan gunakan kunci akses untuk pengguna Akun AWS root untuk tugas apa pun kecuali pengguna root diperlukan. Sebagai gantinya, [buat pengguna IAM administrator baru](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin) dan [persiapkan izin hak istimewa paling](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#LeastPrivilege) sedikit**** untuk mengatur pengguna dengan kunci akses. Setelah Anda membuat pengguna, Anda dapat [membuat ID kunci akses dan kunci akses rahasia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) untuk pengguna ini.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)
+ **IBM Python untuk z/OS**

   AWS CLI Memerlukan Python 3.8 atau yang lebih baru. IBM telah mengaktifkan Python untuk berjalan z/OS [dengan IBM Open Enterprise Python](https://www.ibm.com/products/open-enterprise-python-zos) untuk z/OS. [IBM Open Enterprise Python tersedia tanpa biaya melalui Shopz SMP/E, atau Anda dapat mengunduh file PAX dari situs web IBM.](https://www.ibm.com/account/reg/signup?formid=urx-49465) Untuk petunjuk, lihat [dokumentasi instalasi dan konfigurasi](https://www.ibm.com/docs/en/python-zos) untuk IBM Open Enterprise Python untuk z/OS.

**Batasan**
+ Petunjuk penginstalan yang disediakan dalam pola ini **hanya berlaku untuk AWS CLI versi 1**. Versi terbaru dari versi AWS CLI ini adalah 2. Namun, pola ini menggunakan versi yang lebih lama karena metode instalasi berbeda untuk versi 2, dan executable biner yang tersedia untuk versi 2 tidak kompatibel dengan sistem. z/OS 

**Versi produk**
+ AWS CLI versi 1
+ Python 3.8 atau yang lebih baru

## Arsitektur
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-architecture"></a>

**Tumpukan teknologi**
+ Mainframe berjalan z/OS
+ Layanan Sistem z/OS UNIX Mainframe (USS)
+ Mainframe Open MVS (OMVS) - Antarmuka perintah lingkungan z/OS shell UNIX
+ Disk mainframe, seperti perangkat penyimpanan akses langsung (DASD)
+ AWS CLI

**Arsitektur target**

Diagram berikut menunjukkan AWS CLI penyebaran pada IBM z/OS. Anda dapat memanggil AWS CLI dari sesi pengguna interaktif, seperti SSH, dan sesi telnet. Anda juga dapat memanggilnya dari pekerjaan batch dengan menggunakan bahasa kontrol pekerjaan (JCL), atau dari program apa pun yang dapat memanggil perintah shell z/OS Unix.

![\[AWS CLI pada z/OS mainframe IBM yang mengakses layanan AWS.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/c3883500-bd00-4c56-982a-26d5e0b8b093.png)


 AWS CLI Berkomunikasi dengan Layanan AWS titik akhir melalui jaringan. TCP/IP Koneksi jaringan ini dapat terjadi melalui internet atau melalui AWS Direct Connect koneksi pribadi dari pusat data pelanggan ke pusat AWS Cloud data. Komunikasi diautentikasi dengan AWS kredensil dan dienkripsi. 

**Otomatisasi dan skala**

Anda dapat menjelajahi kemampuan Layanan AWS dengan AWS CLI dan mengembangkan skrip shell USS untuk mengelola AWS sumber daya Anda dari z/OS. Anda juga dapat menjalankan AWS CLI perintah dan skrip shell dari lingkungan z/OS batch, dan Anda dapat mengotomatiskan pekerjaan batch untuk berjalan pada jadwal tertentu dengan mengintegrasikan dengan penjadwal mainframe. AWS CLI perintah atau skrip dapat dikodekan di dalam parameter (PARMs) dan prosedur (PROCs), dan dapat diskalakan dengan mengikuti pendekatan standar memanggil PARM atau PROC dari pekerjaan batch yang berbeda dengan parameter yang berbeda.

## Alat
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) adalah alat open source yang membantu Anda berinteraksi Layanan AWS melalui perintah di shell baris perintah Anda.

## Praktik terbaik
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-best-practices"></a>
+ Untuk alasan keamanan, batasi izin akses ke direktori USS tempat detail kunci AWS akses disimpan. Izinkan akses hanya ke pengguna atau program yang menggunakan AWS CLI.
+ Jangan gunakan kunci akses pengguna Akun AWS root untuk tugas apa pun. Sebagai gantinya, [buat pengguna IAM administrator baru](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin) untuk Anda sendiri dan atur dengan kunci akses.


| 
| 
| Pengguna IAM memiliki kredensi jangka panjang yang menghadirkan risiko keamanan. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan. | 
| --- |

## Epik
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-epics"></a>

### Instal AWS CLI versi 1 di z/OS USS
<a name="install-cli-version-1-on-z-os-uss"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal Python 3.8 atau yang lebih baru. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Administrator mainframe z/OS  | 
| Tetapkan variabel lingkungan USS. | Tambahkan variabel lingkungan ke profil. Anda dapat menambahkan ini ke `/u/cliuser/.profile` file untuk pengguna individu (`cliuser`) atau ke `/etc/profile` file untuk semua pengguna.Pola ini mengasumsikan bahwa Python telah diinstal di `/u/awscli/python` direktori. Jika direktori instalasi Anda berbeda, perbarui kode yang sesuai.<pre># Python configuration<br />export BPXKAUTOCVT='ON'<br />export CEERUNOPTS='FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)'<br />export TAGREDIR_ERR=txt<br />export TAGREDIR_IN=txt<br />export TAGREDIR_OUT=txt<br /><br /># AWS CLI configuration<br />export PATH=/u/cliuser/python/bin:$PATH<br />export PYTHONPATH=/u/cliuser/python:$PYTHONPATH</pre> | Administrator mainframe z/OS  | 
| Uji instalasi Python. | Jalankan perintah **python**:<pre>python --version</pre>Output harus mengkonfirmasi bahwa Anda memiliki Python 3.8 atau yang lebih baru diinstal dengan benar. | Administrator mainframe z/OS  | 
| Verifikasi atau instal **pip**. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Administrator mainframe z/OS  | 
| Instal AWS CLI versi 1. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Administrator mainframe z/OS  | 

### Konfigurasikan AWS CLI akses dari z/OS
<a name="configure-cli-access-from-z-os"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan tombol AWS akses, Wilayah default, dan output. | [AWS CLI Dokumentasi](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html) menjelaskan berbagai opsi untuk mengatur AWS akses. Anda dapat memilih konfigurasi sesuai dengan standar organisasi Anda. Contoh ini menggunakan konfigurasi kredensi jangka pendek.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Administrator AWS, administrator Mainframe, z/OS pengembang z/OS Mainframe | 
| Uji AWS CLI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) |  z/OS Administrator mainframe, pengembang z/OS Mainframe | 

### Opsi 1 - Transfer data dari USS ke Amazon S3 secara interaktif dari sesi USS
<a name="option-1-transfer-data-from-uss-to-s3-interactively-from-a-uss-session"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Unduh dan transfer file CSV sampel. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Pengembang aplikasi, pengembang Mainframe z/OS  | 
| Buat bucket S3 dan unggah file CSV. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Pengembang aplikasi, pengembang Mainframe z/OS  | 
| Lihat bucket S3 dan file yang diunggah. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)Untuk informasi selengkapnya tentang mengunggah objek, lihat [Memulai Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html) S3 di dokumentasi Amazon S3. | AWS Umum | 
| Jalankan kueri SQL pada tabel Amazon Athena. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)Output dari query SQL akan menampilkan isi file CSV Anda. | AWS Umum, Pengembang aplikasi | 

### Opsi 2 - Transfer data dari USS ke Amazon S3 dengan menggunakan batch JCL
<a name="option-2-transfer-data-from-uss-to-s3-by-using-batch-jcl"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Unggah file sampel. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Pengembang mainframe z/OS  | 
| Buat batch JCL. | Kodekan JCL batch sebagai berikut untuk membuat bucket S3 tujuan, mengunggah kumpulan data, dan mencantumkan konten bucket. Pastikan untuk mengganti nama direktori, nama file, dan nama bucket ke nilai Anda sendiri.<pre>//AWSCLICP JOB ACTINFO1,'IBMUSER',CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1), <br />// NOTIFY=&SYSUID,TIME=1440 <br />//*---------------------------------------------------------<br />//* Sample job for AWS CLI <br />//*--------------------------------------------------------- <br />//USSCMD EXEC PGM=BPXBATCH<br />//STDERR  DD SYSOUT=*<br />//STDOUT  DD SYSOUT=*<br />//STDENV  DD *<br /> export PATH=/u/cliuser/python/bin:$PATH<br />//STDPARM DD *<br />SH<br /> export _BPXK_AUTOCVT=ON;<br /> aws s3 mb s3://DOC-EXAMPLE-BUCKET2;<br /> cp "//'USER.DATA.FIXED'" /tmp/tmpfile;<br /> aws s3 cp /tmp/tmpfile s3://DOC-EXAMPLE-BUCKET2/USER.DATA.FIXED; <br /> rm /tmp/tmpfile;<br /> aws s3 ls s3://DOC-EXAMPLE-BUCKET2;<br />/*</pre> | Pengembang mainframe z/OS  | 
| Kirimkan pekerjaan batch JCL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Pengembang mainframe z/OS  | 
| Lihat kumpulan data yang diunggah ke bucket S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | AWS Umum | 

## Sumber daya terkait
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-resources"></a>
+ [AWS CLI Dokumentasi versi 1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html)
+ [AWS Mainframe Modernization Referensi Perintah CLI](https://docs.aws.amazon.com/cli/latest/reference/m2/)
+ [AWS Mainframe Modernization](https://aws.amazon.com/mainframe-modernization/)

## Informasi tambahan
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-additional"></a>

**USER.DATA.FIXED dalam opsi ISPF 3.4 (utilitas daftar dataset)**

![\[Melihat isi kumpulan data di z/OS.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/96c25145-3d4d-4007-99f6-5eeb9e88642d.png)


**SYSOUT dari pekerjaan batch yang dikirimkan**

![\[Output standar dari log pekerjaan.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/03fffbd2-7d2b-43b2-bf14-736b3d150e38.png)


## Lampiran
<a name="attachments-4e3188d8-287f-4ced-8c29-80a01cbbdf50"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/4e3188d8-287f-4ced-8c29-80a01cbbdf50/attachments/attachment.zip)

# Cadangkan dan arsipkan data mainframe ke Amazon S3 menggunakan BMC AMI Cloud Data
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data"></a>

*Santosh Kumar Singh, Gilberto Biondo, dan Maggie Li, Amazon Web Services*

*Mikhael Liberman, Perangkat Lunak Mainframe Model9*

## Ringkasan
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-summary"></a>

Pola ini menunjukkan cara mencadangkan dan mengarsipkan data mainframe langsung ke Amazon Simple Storage Service (Amazon S3), lalu mengingat dan mengembalikan data tersebut ke mainframe dengan menggunakan BMC AMI Cloud Data (sebelumnya dikenal sebagai Model9 Manager). Jika Anda mencari cara untuk memodernisasi solusi cadangan dan arsip Anda sebagai bagian dari proyek modernisasi mainframe atau untuk memenuhi persyaratan kepatuhan, pola ini dapat membantu memenuhi tujuan tersebut.

Biasanya, organisasi yang menjalankan aplikasi bisnis inti pada mainframe menggunakan pustaka pita virtual (VTL) untuk mencadangkan penyimpanan data seperti file dan log. Metode ini bisa mahal karena mengkonsumsi MIPS yang dapat ditagih, dan data yang disimpan pada kaset di luar mainframe tidak dapat diakses. Untuk menghindari masalah ini, Anda dapat menggunakan BMC AMI Cloud Data untuk mentransfer data mainframe operasional dan historis secara cepat dan hemat biaya langsung ke Amazon S3. Anda dapat menggunakan BMC AMI Cloud Data untuk mencadangkan dan mengarsipkan data AWS sambil TCP/IP memanfaatkan mesin IBM z Integrated Information Processor (ZiIP) untuk mengurangi biaya, paralelisme, dan waktu transfer.

## Prasyarat dan batasan
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ BMC AMI Cloud Data dengan kunci lisensi yang valid
+ Konektivitas TCP/IP antara mainframe dan AWS
+ Peran AWS Identity and Access Management (IAM) untuk read/write akses ke bucket S3
+ Akses produk keamanan mainframe (RACF) untuk menjalankan proses BMC AMI Cloud
+  z/OS Agen BMC AMI Cloud (Java versi 8 64-bit SR5 FP16 atau lebih baru) yang memiliki port jaringan yang tersedia, aturan firewall yang mengizinkan akses ke bucket S3, dan sistem file khusus z/FS 
+ [Persyaratan](https://docs.bmc.com/docs/cdacv27/management-server-requirements-1245343255.html) terpenuhi untuk server manajemen BMC AMI Cloud

**Batasan**
+ BMC AMI Cloud Data menyimpan data operasionalnya dalam database PostgreSQL yang berjalan sebagai wadah Docker pada instance Amazon Elastic Compute Cloud (Amazon) yang sama dengan server manajemen. EC2 Amazon Relational Database Service (Amazon RDS) saat ini tidak didukung sebagai backend untuk BMC AMI Cloud Data. Untuk informasi selengkapnya tentang pembaruan produk terbaru, lihat [Apa yang Baru?](https://docs.bmc.com/docs/cdacv27/what-s-new-1245343246.html) dalam dokumentasi BMC.
+ Pola ini mencadangkan dan mengarsipkan data z/OS mainframe saja. BMC AMI Cloud Data mencadangkan dan mengarsipkan hanya file mainframe.
+ Pola ini tidak mengubah data menjadi format terbuka standar seperti JSON atau CSV. Gunakan layanan transformasi tambahan seperti [BMC AMI Cloud Analytics](https://www.bmc.com/it-solutions/bmc-ami-cloud-analytics.html) (sebelumnya dikenal sebagai Model9 Gravity) untuk mengonversi data menjadi format terbuka standar. Aplikasi cloud-native dan alat analisis data dapat mengakses data setelah ditulis ke cloud.

**Versi produk**
+ BMC AMI Cloud Data versi 2.x

## Arsitektur
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-architecture"></a>

**Tumpukan teknologi sumber**
+ Mainframe berjalan z/OS
+ File mainframe seperti kumpulan data dan file z/OS UNIX System Services (USS)
+ Disk mainframe, seperti perangkat penyimpanan akses langsung (DASD)
+ Mainframe tape (pustaka rekaman virtual atau fisik)

**Tumpukan teknologi target**
+ Amazon S3
+  EC2 Instans Amazon di cloud pribadi virtual (VPC)
+ AWS Direct Connect
+ Amazon Elastic File System (Amazon EFS)

**Arsitektur target**

Diagram berikut menunjukkan arsitektur referensi di mana agen perangkat lunak BMC AMI Cloud Data pada mainframe mendorong proses pencadangan dan arsip data lama yang menyimpan data di Amazon S3.

![\[Agen perangkat lunak BMC AMI Cloud Data pada mainframe yang mendorong proses pencadangan dan arsip data lama\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/bde3b029-184e-4eb0-933b-f8caf6cc40ab/images/a24cd6c1-b131-49ea-8238-f3aea5ab8134.png)


Diagram menunjukkan alur kerja berikut:

1. Agen perangkat lunak BMC AMI Cloud Data berjalan pada partisi logis mainframe (). LPARs Agen perangkat lunak membaca dan menulis data mainframe dari DASD atau merekam langsung ke Amazon S3 melalui TCP/IP.

1. AWS Direct Connect mengatur koneksi fisik dan terisolasi antara jaringan lokal dan AWS. Untuk keamanan yang ditingkatkan, jalankan site-to-site VPN di atas Direct Connect untuk mengenkripsi data dalam perjalanan.

1. Bucket S3 menyimpan file mainframe sebagai data penyimpanan objek, dan agen BMC AMI Cloud Data langsung berkomunikasi dengan bucket S3. Sertifikat digunakan untuk enkripsi HTTPS dari semua komunikasi antara agen dan Amazon S3. Enkripsi data Amazon S3 digunakan untuk mengenkripsi dan melindungi data saat istirahat.

1. Server manajemen BMC AMI Cloud Data berjalan sebagai kontainer Docker pada EC2 instance. Instans berkomunikasi dengan agen yang berjalan di bucket mainframe LPARs dan S3.

1. Amazon EFS dipasang pada EC2 instans aktif dan pasif untuk berbagi penyimpanan Network File System (NFS). Ini untuk memastikan bahwa metadata yang terkait dengan kebijakan yang dibuat di server manajemen tidak hilang jika terjadi failover. Jika terjadi failover oleh server aktif, server pasif dapat diakses tanpa kehilangan data. Jika server pasif gagal, server aktif dapat diakses tanpa kehilangan data.

## Alat
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) membantu Anda membuat dan mengonfigurasi sistem file bersama di file AWS Cloud.
+ [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 hampir semua jumlah data.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) membantu Anda meluncurkan AWS sumber daya ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur yang dapat diskalakan. AWS
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)menghubungkan jaringan internal Anda ke AWS Direct Connect lokasi melalui kabel serat optik Ethernet standar. Dengan koneksi ini, Anda dapat membuat antarmuka virtual langsung ke AWS layanan publik sambil melewati penyedia layanan internet di jalur jaringan Anda.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

**Alat BMC**
+ [BMC AMI Cloud management server](https://docs.bmc.com/docs/cdacv27/bmc-ami-cloud-overview-1245343249.html) adalah aplikasi GUI yang berjalan sebagai wadah Docker pada Amazon Linux Amazon Machine Image (AMI) untuk Amazon. EC2 Server manajemen menyediakan fungsionalitas untuk mengelola aktivitas BMC AMI Cloud seperti melaporkan, membuat dan mengelola kebijakan, menjalankan arsip, dan melakukan pencadangan, penarikan, dan pemulihan.
+ [Agen BMC AMI Cloud](https://docs.bmc.com/docs/cdacv27/bmc-ami-cloud-overview-1245343249.html) berjalan pada LPAR mainframe lokal yang membaca dan menulis file langsung ke penyimpanan objek dengan menggunakan TCP/IP. Tugas yang dimulai berjalan pada LPAR mainframe dan bertanggung jawab untuk membaca dan menulis cadangan dan mengarsipkan data ke dan dari Amazon S3.
+ [BMC AMI Cloud Mainframe Command Line Interface (M9CLI)](https://docs.bmc.com/docs/cdacv27/command-line-interface-cli-reference-1245343519.html) memberi Anda serangkaian perintah untuk melakukan tindakan BMC AMI Cloud langsung dari TSO/E atau dalam operasi batch, tanpa ketergantungan pada server manajemen.

## Epik
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-epics"></a>

### Buat bucket S3 dan kebijakan IAM
<a name="create-an-s3-bucket-and-iam-policy"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat ember S3. | [Buat bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) untuk menyimpan file dan volume yang ingin Anda cadangkan dan arsipkan dari lingkungan mainframe Anda. | AWS Umum | 
| Buat kebijakan IAM. | Semua server dan agen manajemen BMC AMI Cloud memerlukan akses ke bucket S3 yang Anda buat pada langkah sebelumnya.Untuk memberikan akses yang diperlukan, buat kebijakan IAM berikut:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "Listfolder",<br />            "Action": [<br />                "s3:ListBucket",<br />                "s3:GetBucketLocation",<br />                "s3:ListBucketVersions"<br />            ],<br />            "Effect": "Allow",<br />            "Resource": [<br />                "arn:aws:s3:::<Bucket Name>"<br />            ]<br />        },<br />        {<br />            "Sid": "Objectaccess",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",<br />                "s3:GetObjectAcl",<br />                "s3:GetObject",<br />                "s3:DeleteObjectVersion",<br />                "s3:DeleteObject",<br />                "s3:PutObjectAcl",<br />                "s3:GetObjectVersion"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::<Bucket Name>/*"<br />            ]<br />        }<br />    ]<br />}</pre> | AWS Umum | 

### Dapatkan lisensi perangkat lunak BMC AMI Cloud dan unduh perangkat lunaknya
<a name="get-the-bmc-ami-cloud-software-license-and-download-the-software"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Dapatkan lisensi perangkat lunak BMC AMI Cloud. | Untuk mendapatkan kunci lisensi perangkat lunak, hubungi [tim BMC AMI Cloud](https://www.bmc.com/it-solutions/bmc-ami-cloud.html?vd=model9-io). Output dari z/OS `D M=CPU` perintah diperlukan untuk menghasilkan lisensi. | Membangun memimpin | 
| Unduh perangkat lunak BMC AMI Cloud dan kunci lisensi. | Dapatkan file instalasi dan kunci lisensi dengan mengikuti instruksi dalam [dokumentasi BMC](https://docs.bmc.com/docs/cdacv27/preparing-to-install-the-bmc-ami-cloud-agent-1245343285.html). | Administrator infrastruktur mainframe | 

### Instal agen perangkat lunak BMC AMI Cloud di mainframe
<a name="install-the-bmc-ami-cloud-software-agent-on-the-mainframe"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal agen perangkat lunak BMC AMI Cloud. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Administrator infrastruktur mainframe | 

### Siapkan server manajemen BMC AMI Cloud pada sebuah instans EC2
<a name="set-up-a-bmc-ami-cloud-management-server-on-an-ec2-instance"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat instans Amazon EC2 Linux 2. | Luncurkan dua instans Amazon EC2 Linux 2 di Availability Zone yang berbeda dengan mengikuti petunjuk dari [Langkah 1: Luncurkan instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance) di EC2 dokumentasi Amazon.Instans harus memenuhi persyaratan perangkat keras dan perangkat lunak yang direkomendasikan berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Untuk informasi lebih lanjut, lihat [dokumentasi BMC](https://docs.bmc.com/docs/cdacv27/preparing-to-install-the-management-server-on-linux-1245343268.html). | Arsitek cloud, Administrator Cloud | 
| Buat sistem file Amazon EFS. | Buat sistem file Amazon EFS dengan mengikuti petunjuk dari [Langkah 1: Buat sistem file Amazon EFS Anda](https://docs.aws.amazon.com/efs/latest/ug/gs-step-two-create-efs-resources.html) di dokumentasi Amazon EFS.Saat membuat sistem file, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Administrator cloud, arsitek Cloud | 
| Instal Docker dan konfigurasikan server manajemen. | **Connect ke EC2 instans Anda:**Connect ke EC2 instans Anda dengan mengikuti petunjuk dari [Connect ke instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html) dalam EC2 dokumentasi Amazon.**Konfigurasikan EC2 instans Anda:**Untuk setiap EC2 contoh, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Arsitek cloud, Administrator Cloud | 
| Instal perangkat lunak server manajemen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Untuk memecahkan masalah, buka log yang disimpan di folder. `/data/model9/logs/`**** Untuk informasi lebih lanjut, lihat [dokumentasi BMC](https://docs.bmc.com/docs/cdacv27/performing-the-management-server-installation-on-linux-1245343272.html). | Arsitek cloud, Administrator Cloud | 

### Tambahkan agen dan tentukan kebijakan cadangan atau arsip di server manajemen BMC AMI Cloud
<a name="add-an-agent-and-define-a-backup-or-archive-policy-on-the-bmc-ami-cloud-management-server"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tambahkan agen baru. | Sebelum Anda menambahkan agen baru, konfirmasikan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Anda harus membuat agen di server manajemen sebelum menentukan kebijakan cadangan dan arsip apa pun. Untuk membuat agen, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Setelah agen dibuat, Anda akan melihat status **terhubung** terhadap penyimpanan objek dan agen mainframe di jendela baru yang muncul di tabel. | Administrator atau pengembang penyimpanan mainframe | 
| Buat kebijakan cadangan atau arsip. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Administrator atau pengembang penyimpanan mainframe | 

### Jalankan kebijakan cadangan atau arsip dari server manajemen
<a name="run-the-backup-or-archive-policy-from-the-management-server"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan kebijakan cadangan atau arsip. | Jalankan kebijakan pencadangan atau arsip data yang Anda buat sebelumnya dari server manajemen baik secara manual maupun otomatis (berdasarkan jadwal). Untuk menjalankan kebijakan secara manual:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Administrator atau pengembang penyimpanan mainframe | 
| Kembalikan kebijakan cadangan atau arsip. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Administrator atau pengembang penyimpanan mainframe | 

### Jalankan kebijakan cadangan atau arsip dari mainframe
<a name="run-the-backup-or-archive-policy-from-the-mainframe"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan kebijakan cadangan atau arsip dengan menggunakan M9CLI. | Gunakan M9CLI untuk melakukan proses pencadangan dan pemulihan dari TSO/E, REXX, atau melalui JCLs tanpa mengatur aturan di server manajemen BMC AMI Cloud.**Menggunakan TSO/E:**Jika Anda menggunakan TSO/E, pastikan `M9CLI REXX` itu digabungkan ke. `TSO` Untuk mencadangkan dataset melalui TSO/E, gunakan perintah. `TSO M9CLI BACKDSN <DSNAME>`Untuk informasi selengkapnya tentang perintah M9CLI, lihat [referensi CLI](https://docs.bmc.com/docs/cdacv27/command-line-interface-cli-reference-1245343519.html) dalam dokumentasi BMC.**Menggunakan JCLs:**Untuk menjalankan kebijakan pencadangan dan arsip dengan menggunakan JCLs, jalankan `M9CLI` perintah.**Menggunakan operasi batch:**Contoh berikut menunjukkan cara mengarsipkan dataset dengan menjalankan `M9CLI` perintah dalam batch:<pre>//JOBNAME JOB …<br />//M9CLI EXEC PGM=IKJEFT01<br />//STEPLIB DD DISP=SHR,DSN=<MODEL9 LOADLIB><br />//SYSEXEC DD DISP=SHR,DSN=<MODEL9 EXEC LIB><br />//SYSTSPRT DD SYSOUT=*<br />//SYSPRINT DD SYSOUT=*<br />//SYSTSIN DD TSO M9CLI ARCHIVE <br /> M9CLI ARCHIVE <DSNNAME OR DSN PATTERN>   <br />/</pre> | Administrator atau pengembang penyimpanan mainframe | 
| Jalankan kebijakan pencadangan atau arsip dalam batch JCL. | **BMC AMI Cloud menyediakan sampel rutin JCL yang disebut M9SAPIJ.** Anda dapat menyesuaikan **M9SAPIJ** untuk menjalankan kebijakan tertentu yang dibuat di server manajemen dengan JCL. Pekerjaan ini juga dapat menjadi bagian dari penjadwal batch untuk menjalankan proses pencadangan dan pemulihan secara otomatis.Pekerjaan batch mengharapkan nilai wajib berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Anda juga dapat mengubah nilai lain dengan mengikuti instruksi pada pekerjaan sampel. | Administrator atau pengembang penyimpanan mainframe | 

## Sumber daya terkait
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-resources"></a>
+ [Modernisasi Mainframe dengan AWS (dokumentasi AWS](https://aws.amazon.com/mainframe/))
+ [Bagaimana Cloud Backup untuk Mainframe Memotong Biaya dengan Model9 dan AWS (AWS](https://aws.amazon.com/blogs/apn/how-cloud-backup-for-mainframes-cuts-costs-with-model9-and-aws/) Partner Network Blog)
+ [Cara Mengaktifkan Analisis Data Mainframe di AWS Menggunakan Model9](https://aws.amazon.com/blogs/apn/how-to-enable-mainframe-data-analytics-on-aws-using-model9/) (AWS Partner Network Blog)
+ [Rekomendasi Ketahanan AWS Direct Connect (dokumentasi](https://aws.amazon.com/directconnect/resiliency-recommendation/?nc=sn&loc=4&dn=2) AWS)
+ [Dokumentasi BMC AMI Cloud](https://docs.bmc.com/docs/cdacv27/getting-started-1245343248.html) (situs BMC)

# Membangun program COBOL Db2 dengan menggunakan dan AWS Mainframe Modernization AWS CodeBuild
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild"></a>

*Luis Gustavo Dantas dan Eduardo Zimelewicz, Amazon Web Services*

## Ringkasan
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-summary"></a>

**catatan**  
AWS Mainframe Modernization Layanan (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Pola ini menjelaskan cara membuat AWS CodeBuild proyek sederhana untuk mengkompilasi dan mengikat program COBOL Db2 dengan menggunakan alat Replatform. AWS Mainframe Modernization Ini memungkinkan penerapan dan eksekusi program-program ini di lingkungan runtime AWS Mainframe Modernization Replatform.

COBOL, bahasa pemrograman berorientasi bisnis, mendukung banyak aplikasi penting karena keandalan dan keterbacaannya. IBM Db2, sistem manajemen database relasional, mengelola volume data yang besar secara efisien dan terintegrasi dengan program COBOL melalui SQL. Bersama-sama, COBOL dan Db2 membentuk tulang punggung operasi misi kritis di industri seperti keuangan dan pemerintah, meskipun munculnya teknologi yang lebih baru.

Migrasi komponen COBOL dan Db2 dari lingkungan mainframe ke platform lain mengarah pada tantangan seperti kompatibilitas platform, kompleksitas integrasi, migrasi data, dan pengoptimalan kinerja. Memindahkan komponen penting ini membutuhkan perencanaan yang cermat, keahlian teknis, dan sumber daya untuk memastikan migrasi yang lancar sambil mempertahankan keandalan dan fungsionalitas.

 AWS Mainframe Modernization Layanan ini menyediakan alat dan sumber daya untuk memplatform ulang aplikasi mainframe dan database untuk berjalan pada AWS infrastruktur, seperti instans Amazon Elastic Compute Cloud (Amazon). EC2 Ini melibatkan pemindahan beban kerja mainframe ke cloud tanpa perubahan kode besar.

Proses precompile dan bind Db2 sangat penting untuk mengoptimalkan kinerja dan keandalan aplikasi database. Prakompilasi mengubah pernyataan SQL yang disematkan menjadi kode yang dapat dieksekusi, yang mengurangi overhead runtime dan meningkatkan efisiensi. Proses mengikat menghubungkan kode yang telah dikompilasi sebelumnya dengan struktur database, memfasilitasi jalur akses dan optimasi kueri. Proses ini memastikan integritas data, meningkatkan daya tanggap aplikasi, dan menjaga terhadap kerentanan keamanan. Aplikasi yang dikompilasi dan terikat dengan benar meminimalkan konsumsi sumber daya, meningkatkan skalabilitas, dan mengurangi risiko serangan injeksi SQL.

## Prasyarat dan batasan
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-prereqs"></a>

**Prasyarat**
+ Akses konsol tingkat administratif Akun AWS dan administratif.
+ Sistem database IBM Db2, seperti IBM Db2 untuk z/OS atau Db2 untuk Linux, Unix, dan Windows (LUW).
+ Perangkat lunak IBM Data Server Client, yang tersedia untuk diunduh dari situs web [IBM](https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers). Untuk informasi selengkapnya, lihat [tipe IBM Data Server Client dan Data Server Driver](https://www.ibm.com/docs/en/db2/11.5?topic=overviews-data-server-clients).
+ Program COBOL Db2 yang akan dikompilasi dan diikat. Atau, pola ini menyediakan program sampel dasar yang dapat Anda gunakan.
+ Virtual Private Cloud (VPC) aktif AWS dengan jaringan pribadi. Untuk informasi tentang membuat VPC, lihat dokumentasi [Amazon Virtual Private Cloud (Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)).
+ Sebuah repositori kontrol sumber seperti GitHub atau. GitLab

**Keterbatasan**
+ Untuk AWS CodeBuild kuota, lihat [Kuota](https://docs.aws.amazon.com/codebuild/latest/userguide/limits.html) untuk. AWS CodeBuild
+ Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [Layanan AWS berdasarkan Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Untuk titik akhir tertentu, lihat halaman [titik akhir dan kuota Layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

## Arsitektur
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-architecture"></a>

**Tumpukan teknologi sumber**

Tumpukan sumber meliputi:
+ Program COBOL yang menggunakan database Db2 untuk menyimpan data
+ Kompiler IBM COBOL dan Db2 untuk precompiler z/OS 
+ Bagian lain dari pengaturan mainframe, seperti sistem file, manajer transaksi, dan spool

**Tumpukan teknologi target**

Pendekatan pola ini berfungsi untuk dua opsi: memindahkan data dari Db2 ke Db2 z/OS untuk LUW, atau tetap menggunakan Db2 untuk z/OS. Arsitektur target meliputi:
+ Program COBOL yang menggunakan database Db2 untuk menyimpan data
+ AWS Mainframe Modernization Alat kompilasi replatform
+ AWS CodeBuild sebagai infrastruktur untuk membangun aplikasi
+  AWS Cloud Sumber daya lain seperti Amazon Linux

**Arsitektur target**

![\[Arsitektur untuk membangun program COBOL Db2 di AWS.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/5895fa34-f05b-4cc3-a59f-a596f9116c66/images/0dda414a-21a7-41d1-b86b-7ff3b1c6fbda.png)


Diagram ini menggambarkan hal sebagai berikut:

1. Pengguna mengunggah kode mereka ke repositori kontrol sumber seperti atau. GitHub GitLab

1. AWS CodePipeline memperhatikan perubahan dan mendapatkan kode dari repositori.

1. CodePipeline Memulai AWS CodeBuild dan mengirimkan kode

1. CodeBuild mengikuti instruksi dalam `buildspec.yml` template (disediakan di bagian [Informasi tambahan](#build-cobol-db2-programs-mainframe-modernization-codebuild-additional)) untuk:

   1. Dapatkan Klien Server Data IBM dari bucket Amazon Simple Storage Service (Amazon S3).

   1. Instal dan atur IBM Data Server Client.

   1. Ambil kredensi Db2 dari. AWS Secrets Manager

   1. Hubungi server Db2.

   1. Prakompilasi, kompilasi, dan ikat program COBOL.

   1. Simpan produk jadi dalam ember S3 AWS CodeDeploy untuk digunakan.

1. CodePipeline dimulai CodeDeploy.

1. CodeDeploy mengkoordinasikan agennya, yang sudah diinstal di lingkungan runtime. Agen mengambil aplikasi dari Amazon S3 dan menginstalnya berdasarkan instruksi di. `appspec.yml`

Untuk menjaga hal-hal sederhana dan fokus pada build, instruksi dalam pola ini mencakup langkah 1 hingga 4 tetapi tidak termasuk penerapan program COBOL Db2.

**Otomatisasi dan skala**

Untuk mempermudah, pola ini menjelaskan cara menyediakan sumber daya secara manual. Namun, ada banyak opsi otomatisasi yang tersedia, seperti,, dan HashiCorp Terraform CloudFormation AWS Cloud Development Kit (AWS CDK), yang mengotomatiskan tugas-tugas ini. Untuk informasi lebih lanjut, lihat [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)dan [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/home.html)dokumentasi.

## Alat
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-tools"></a>

**Layanan AWS**
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)adalah layanan build terkelola penuh yang membantu Anda mengkompilasi kode sumber, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)mengotomatiskan penerapan ke Amazon EC2 atau instans, fungsi AWS Lambda , atau layanan Amazon Elastic Container Service (Amazon ECS) lokal.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)membantu Anda dengan cepat memodelkan dan mengkonfigurasi berbagai tahapan rilis perangkat lunak dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perubahan perangkat lunak secara terus menerus.
+ [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)menyediakan alat dan sumber daya untuk membantu Anda merencanakan dan mengimplementasikan migrasi dan modernisasi dari mainframe ke lingkungan runtime AWS terkelola.

**Alat lainnya**
+ **Gambar Amazon ECR untuk alat AWS Mainframe Modernization Replatform**. Untuk mengkompilasi aplikasi COBOL, Anda harus memulai CodeBuild dengan menggunakan image Amazon Elastic Container Registry (Amazon ECR) Registry ECR) yang berisi alat Replatform: AWS Mainframe Modernization 

  `673918848628.dkr.ecr.<your-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1`

  Untuk informasi lebih lanjut tentang gambar ECR yang tersedia, lihat [tutorial](https://docs.aws.amazon.com/m2/latest/userguide/tutorial-build-mf.html) di *Panduan AWS Mainframe Modernization Pengguna*.
+ Perangkat lunak [IBM Data Server Client](https://www.ibm.com/docs/en/db2/11.5?topic=overviews-data-server-clients) sangat penting untuk pra-kompilasi dan pengikatan program COBOL Db2 di. CodeBuild Ini bertindak sebagai jembatan antara kompiler COBOL dan Db2.

## Praktik terbaik
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-best-practices"></a>
+ Tidak setiap program COBOL bergantung pada Db2 sebagai lapisan persistensi datanya. Pastikan bahwa arahan kompilasi untuk mengakses Db2 diterapkan hanya untuk program COBOL yang dirancang khusus untuk berinteraksi dengan Db2. Menerapkan logika untuk membedakan antara program COBOL Db2 dan program COBOL yang tidak menggunakan Db2.
+ Kami menyarankan Anda menghindari kompilasi program yang belum dimodifikasi. Menerapkan proses untuk mengidentifikasi program mana yang memerlukan kompilasi.

## Epik
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-epics"></a>

### Buat infrastruktur cloud
<a name="create-the-cloud-infrastructure"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat bucket S3 untuk meng-host IBM Data Server Client dan artefak pipeline. | Anda perlu menyiapkan bucket S3 untuk (a) mengunggah Klien Server Data IBM, (b) menyimpan kode Anda dari repositori, dan (c) menyimpan hasil proses pembuatan.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Untuk cara membuat bucket S3, lihat dokumentasi [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | AWS Umum | 
| Unggah Klien Server Data IBM ke bucket S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS Umum | 
| Buat AWS Secrets Manager rahasia untuk kredensi Db2 Anda. | Untuk membuat rahasia untuk menyimpan DB2 kredensil Anda dengan aman:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Untuk informasi selengkapnya tentang membuat rahasia, lihat [dokumentasi Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). | AWS Umum | 
| Verifikasi bahwa Db2 dapat diakses dari subnet VPC. | AWS CodeBuild membutuhkan koneksi ke server Db2 sehingga Klien Server Data dapat melakukan operasi prakompilasi dan mengikat. Pastikan itu CodeBuild dapat mencapai server Db2 melalui koneksi yang aman.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | Administrator jaringan, AWS Umum | 

### Buat artefak aplikasi
<a name="create-the-application-artifacts"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat aset COBOL Db2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | Pengembang aplikasi | 
| Buat file `buildspec.yml`. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS DevOps | 
| Connect repositori Anda ke. CodePipeline | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Anda akan memerlukan Nama Sumber Daya Amazon (ARN) untuk koneksi saat Anda membuat kebijakan AWS Identity and Access Management (IAM) untuk langkah CodePipeline selanjutnya. | AWS DevOps | 

### Mengatur Konfigurasi Izin
<a name="configure-permissions"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat kebijakan IAM untuk CodeBuild. |  CodeBuild Proyek ini memerlukan akses ke beberapa sumber daya, termasuk Secrets Manager dan Amazon S3.Untuk mengatur izin yang diperlukan:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Untuk informasi selengkapnya tentang membuat kebijakan IAM, lihat dokumentasi [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html). | AWS Umum | 
| Buat peran IAM untuk CodeBuild. | Agar kebijakan keamanan tersedia CodeBuild, Anda perlu mengonfigurasi peran IAM.Untuk membuat peran ini:1. Di [konsol IAM](https://console.aws.amazon.com/iam), di panel navigasi, pilih **Peran, **Buat** Peran**.3. Untuk **jenis entitas Tepercaya**, pertahankan **Layanan AWS**pengaturan default.4. Untuk **kasus penggunaan**, pilih CodeBuild layanan, dan kemudian pilih **Berikutnya**.4. Dalam daftar kebijakan IAM yang tersedia, cari kebijakan yang Anda buat CodeBuild, lalu pilih **Berikutnya** untuk melampirkannya ke peran.5. Tentukan nama untuk peran, dan pilih **Buat peran** untuk menyimpannya untuk referensi di masa mendatang CodeBuild.Untuk informasi selengkapnya tentang membuat peran IAM untuk sebuah Layanan AWS, lihat dokumentasi [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). | AWS Umum | 
| Buat kebijakan IAM untuk CodePipeline. |  AWS CodePipeline Pipeline memerlukan akses ke beberapa sumber daya, termasuk repositori kode Anda dan Amazon S3.Ulangi langkah-langkah yang diberikan sebelumnya CodeBuild untuk membuat kebijakan IAM CodePipeline (pada langkah 2, pilih **CodePipeline**sebagai ganti **CodeBuild**). | AWS DevOps | 
| Buat peran IAM untuk CodePipeline. | Agar kebijakan keamanan tersedia CodePipeline, Anda perlu mengonfigurasi peran IAM.Untuk membuat peran ini:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS DevOps | 

### Kompilasi dan ikat program COBOL Db2
<a name="compile-and-bind-the-cobol-db2-program"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat CodePipeline pipeline dan CodeBuild proyek. | Untuk membuat CodePipeline pipeline dan CodeBuild proyek yang mengkompilasi dan mengikat program COBOL Db2:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS DevOps | 
| Tinjau output. | Verifikasi keberhasilan build dengan meninjau log CodePipeline build. | AWS DevOps | 
| Periksa hasil di Db2. | Verifikasi versi paket pada tabel SYSPLAN.<pre>select CAST(NAME AS VARCHAR(10)) as name, VALIDATE, LAST_BIND_TIME, LASTUSED, CAST(PKGVERSION AS VARCHAR(10)) as PKGVERSION from SYSIBM.SYSPLAN where NAME = 'CDB2SMP' order by LAST_BIND_TIME desc<br /></pre>Versi harus cocok dengan ID CodeBuild build, yang ada `CDB2SMP` dalam contoh kita:<pre>NAME       VALIDATE LAST_BIND_TIME             LASTUSED   PKGVERSION<br />---------- -------- -------------------------- ---------- ----------<br />CDB2SMP    B        2024-05-18-11.53.11.503738 01/01/0001 19</pre> |  | 

## Pemecahan masalah
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Terkadang, AWS konsol beralih Wilayah saat Anda berpindah antar layanan. | Pastikan untuk memverifikasi yang dipilih Wilayah AWS setiap kali Anda beralih antar layanan. Wilayah AWS Pemilih berada di sudut kanan atas jendela konsol. | 
| Mungkin sulit untuk mengidentifikasi masalah konektivitas Db2 dari. CodeBuild | Untuk memecahkan masalah konektivitas, tambahkan perintah DB2 connect berikut ke file. `buildspec.yml` Penambahan ini membantu Anda men-debug dan menyelesaikan masalah konektivitas.<pre>db2 connect to $DB_NAME user $DB2USER using $DB2PASS</pre> | 
| Terkadang, panel peran di konsol IAM tidak langsung menampilkan kebijakan IAM yang Anda buat. | Jika Anda mengalami penundaan, segarkan layar untuk menampilkan informasi terbaru. | 

## Sumber daya terkait
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-resources"></a>

**Dokumentasi IBM**
+ [IBM Data Server Client dan tipe driver](https://www.ibm.com/docs/en/db2/11.5?topic=overviews-data-server-clients)
+ [Unduh IBM Data Server Client dan jenis driver](https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers)

**AWS dokumentasi**
+ [Panduan Pengguna Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [AWS CodeBuild Panduan Pengguna](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)
+ [AWS Mainframe Modernization Panduan Pengguna](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)
+ [AWS Secrets Manager Panduan Pengguna](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [AWS CodePipeline Panduan Pengguna](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)
+ [AWS CodeDeploy Panduan Pengguna****](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-codedeploy.html)

## Informasi tambahan
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-additional"></a>

**CodeBuild kebijakan**

Ganti placeholder`<RegionID>`,,`<AccountID>`, `<SubnetARN>``<BucketARN>`, dan `<DB2CredSecretARN>` dengan nilai-nilai Anda.

```
{"Version": "2012-10-17",		 	 	 
    "Statement": [
        {"Action": "ecr:GetAuthorizationToken", "Effect": "Allow", "Resource": "*" },
        {"Action": ["ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", 
                    "ecr:BatchCheckLayerAvailability"],
         "Effect": "Allow", 
         "Resource": "arn:aws:ecr:*:673918848628:repository/m2-enterprise-build-tools"},
        {"Action": "s3:PutObject", "Effect": "Allow", "Resource": "arn:aws:s3:::aws-m2-repo-*/*"},
        {"Action": ["logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup"],
         "Effect": "Allow", "Resource": "arn:aws:logs:<RegionId>:<AccountId>:*"},
        {"Action": ["ec2:DescribeVpcs", "ec2:DescribeSubnets", 
                    "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", 
                    "ec2:DescribeDhcpOptions", "ec2:DeleteNetworkInterface", 
                    "ec2:CreateNetworkInterface"],
         "Effect": "Allow", "Resource": "*"},
        {"Action": "ec2:CreateNetworkInterfacePermission", 
         "Effect": "Allow", "Resource": ["<SubnetARN>"]},
        {"Action": "s3:*", "Effect": "Allow", "Resource": ["<BucketARN>/*","<BucketARN>"]},
        {"Action": "secretsmanager:GetSecretValue", 
         "Effect": "Allow", "Resource": "<DB2CredSecretARN>"}
    ]
}
```

**CodePipeline kebijakan**

Ganti placeholder `<BucketARN>` dan `<ConnectionARN>` dengan nilai-nilai Anda.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {"Action": ["s3:List*", "s3:GetObjectVersion", "s3:GetObject", "s3:GetBucketVersioning" ], 
        "Effect": "Allow",
        "Resource": ["<BucketARN>/*", "<BucketARN>"]},
        {"Action": ["codebuild:StartBuild", "codebuild:BatchGetBuilds"], 
         "Effect": "Allow", "Resource": "*"},
        {"Action": ["codestar-connections:UseConnection"],
         "Effect": "Allow", "Resource": "<ConnectionARN>"}
        ]
}
```

**`buildspec.yml`**

Ganti `<your-bucket-name>` placeholder dengan nama bucket S3 Anda yang sebenarnya.

```
version: 0.2
phases:
  pre_build:
    commands:
      - /var/microfocuslicensing/bin/mfcesd -no > /var/microfocuslicensing/logs/mfcesd_startup.log 2>&1 &
      - |
        mkdir $CODEBUILD_SRC_DIR/db2client
        aws s3 cp s3://<your-bucket-name>/v11.5.8_linuxx64_client.tar.gz $CODEBUILD_SRC_DIR/db2client/ >> /dev/null 2>&1
        tar -xf $CODEBUILD_SRC_DIR/db2client/v11.5.8_linuxx64_client.tar.gz -C $CODEBUILD_SRC_DIR/db2client/
        cd $CODEBUILD_SRC_DIR/db2client/
        ./client/db2_install -f sysreq -y -b /opt/ibm/db2/V11.5 >> /dev/null 2>&1        
        useradd db2cli
        /opt/ibm/db2/V11.5/instance/db2icrt -s client -u db2cli db2cli
        DB2CRED=$(aws secretsmanager get-secret-value --secret-id dev-db2-cred | jq -r '.SecretString | fromjson')
        read -r DB2USER DB2PASS DB_NODE DB_HOST DB_PORT DB_NAME DB_QUAL <<<$(echo $DB2CRED | jq -r '.username, .password, .db2node, .db2host, .db2port, .db2name, .qualifier')
        . /home/db2cli/sqllib/db2profile
        db2 catalog tcpip node $DB_NODE remote $DB_HOST server $DB_PORT
        db2 catalog db $DB_NAME as $DB_NAME at node $DB_NODE authentication server
  build:
    commands:
      - |
        revision=$CODEBUILD_SRC_DIR/loadlib
        mkdir -p $revision; cd $revision
        . /opt/microfocus/EnterpriseDeveloper/bin/cobsetenv
        cob -zU $CODEBUILD_SRC_DIR/CDB2SMP.cbl -C "DB2(DB==${DB_NAME} PASS==${DB2USER}.${DB2PASS} VERSION==${CODEBUILD_BUILD_NUMBER} COLLECTION==DB2AWSDB"
artifacts:
  files:
    - "**/*"
  base-directory: $revision
```

# Bangun PAC Server Perusahaan Fokus Mikro dengan Amazon EC2 Auto Scaling dan Systems Manager
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager"></a>

*Kevin Yung dan Krithika Palani Selvam, Amazon Web Services*

*Peter Woods, Tidak Ada*

*Abraham Rondon, Fokus Mikro*

## Ringkasan
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-summary"></a>

Pola ini memperkenalkan arsitektur skalabel untuk aplikasi mainframe menggunakan [Micro Focus Enterprise Server di Scale-Out Performance and Availability Cluster (PAC)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-F6E1BBB7-AEC2-45B1-9E36-1D86B84D2B85.html) dan grup EC2 Auto Scaling Amazon Elastic Compute Cloud (Amazon) di Amazon Web Services ().AWS Solusinya sepenuhnya otomatis dengan AWS Systems Manager dan kait siklus hidup Amazon EC2 Auto Scaling. Dengan menggunakan pola ini, Anda dapat mengatur aplikasi online dan batch mainframe Anda untuk mencapai ketahanan tinggi dengan secara otomatis menskalakan masuk dan keluar berdasarkan permintaan kapasitas Anda. 

**catatan**  
Pola ini diuji dengan Micro Focus Enterprise Server versi 6.0. Untuk versi 8, lihat [Mengatur Waktu Proses Fokus Mikro (di Amazon EC2)](https://docs.aws.amazon.com/m2/latest/userguide/mf-runtime-setup.html).

## Prasyarat dan batasan
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-prereqs"></a>

**Prasyarat**
+ Akun AWS aktif.
+ Perangkat lunak dan lisensi Micro Focus Enterprise Server. Untuk detailnya, hubungi [penjualan Micro Focus](https://www.microfocus.com/en-us/contact/contactme).
+ Pemahaman tentang konsep membangun kembali dan memberikan aplikasi mainframe untuk dijalankan di Micro Focus Enterprise Server. Untuk ikhtisar tingkat tinggi, lihat [Lembar Data Server Perusahaan Fokus Mikro](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf).
+ Pemahaman tentang konsep-konsep dalam Kinerja dan Ketersediaan Cluster Kinerja dan Ketersediaan Server Micro Focus Enterprise. Untuk informasi selengkapnya, lihat [dokumentasi Micro Focus Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-F6E1BBB7-AEC2-45B1-9E36-1D86B84D2B85.html).
+ Pemahaman tentang konsep keseluruhan aplikasi mainframe DevOps dengan integrasi berkelanjutan (CI). Untuk pola AWS Prescriptive Guidance yang dikembangkan oleh AWS dan Micro Focus, lihat [Modernisasi mainframe: DevOps ](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/mainframe-modernization-devops-on-aws-with-micro-focus.html) dengan Micro Focus. AWS 

**catatan**  
Pola ini diuji dengan Micro Focus Enterprise Server versi 6. Untuk versi 8, lihat [Mengatur Waktu Proses Fokus Mikro (di Amazon EC2)](https://docs.aws.amazon.com/m2/latest/userguide/mf-runtime-setup.html).

**Batasan**
+ Untuk daftar platform yang didukung oleh Micro Focus Enterprise Server, lihat [Lembar Data Server Perusahaan Fokus Mikro](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf).
+ Skrip dan tes yang digunakan dalam pola ini didasarkan pada Amazon EC2 Windows Server 2019; versi Windows Server dan sistem operasi lainnya tidak diuji untuk pola ini.
+ Pola ini didasarkan pada Micro Focus Enterprise Server 6.0 untuk Windows; rilis sebelumnya atau yang lebih baru tidak diuji dalam pengembangan pola ini.

**Versi produk**
+ Server Perusahaan Fokus Mikro 6.0
+ Windows Server 2019

## Arsitektur
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-architecture"></a>

Dalam lingkungan mainframe konvensional, Anda harus menyediakan perangkat keras untuk meng-host aplikasi dan data perusahaan Anda. Untuk memenuhi dan memenuhi lonjakan permintaan musiman, bulanan, triwulanan, atau bahkan belum pernah terjadi sebelumnya atau tidak terduga, pengguna mainframe harus *meningkatkan skala* dengan membeli penyimpanan tambahan dan kapasitas komputasi. Meningkatkan jumlah penyimpanan dan sumber daya kapasitas komputasi meningkatkan kinerja secara keseluruhan, tetapi penskalaannya tidak linier.

Ini tidak terjadi ketika Anda mulai mengadopsi model konsumsi sesuai permintaan di AWS dengan menggunakan Amazon Auto EC2 Scaling dan Micro Focus Enterprise Server. Bagian berikut menjelaskan secara rinci cara membuat arsitektur aplikasi mainframe yang sepenuhnya otomatis dan dapat diskalakan menggunakan Micro Focus Enterprise Server Scale-Out Performance and Availability Cluster (PAC) dengan grup Amazon Auto Scaling. EC2  

**Arsitektur penskalaan otomatis Micro Focus Enterprise Server**

Pertama, penting untuk memahami konsep dasar Micro Focus Enterprise Server. Lingkungan ini menyediakan lingkungan penyebaran x86 yang kompatibel dengan mainframe untuk aplikasi yang secara tradisional berjalan di mainframe IBM. Ini memberikan proses online dan batch dan lingkungan transaksi yang mendukung hal-hal berikut:
+ IBM COBOL
+ IBM PL/I
+ Lowongan kerja batch IBM JCL
+ Transaksi IBM CICS dan IMS TM
+ Layanan web
+ Utilitas batch umum, termasuk SORT

Micro Focus Enterprise Server memungkinkan aplikasi mainframe berjalan dengan sedikit perubahan. Beban kerja mainframe yang ada dapat dipindahkan ke platform x86 dan dimodernisasi untuk memanfaatkan ekstensi asli AWS Cloud untuk ekspansi cepat ke pasar atau geografi baru. 

[Modernisasi Mainframe pola AWS Prescriptive Guidance: di DevOps AWS dengan Micro Focus](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/mainframe-modernization-devops-on-aws-with-micro-focus.html) memperkenalkan arsitektur untuk mempercepat pengembangan dan pengujian aplikasi mainframe di AWS menggunakan Micro Focus Enterprise Developer dan Enterprise Test Server dengan AWS dan AWS. CodePipeline CodeBuild Pola ini berfokus pada penerapan aplikasi mainframe ke lingkungan produksi AWS untuk mencapai ketersediaan dan ketahanan yang tinggi.

Dalam lingkungan produksi mainframe, Anda mungkin telah menyiapkan IBM Parallel Sysplex di mainframe untuk mencapai kinerja tinggi dan ketersediaan tinggi. Untuk membuat arsitektur scale-out yang mirip dengan Sysplex, Micro Focus memperkenalkan Performance and Availability Cluster (PAC) ke Enterprise Server. PACs mendukung penerapan aplikasi mainframe ke beberapa wilayah Server Perusahaan yang dikelola sebagai satu gambar dan diskalakan dalam instance Amazon. EC2 PACs juga mendukung kinerja aplikasi yang dapat diprediksi dan throughput sistem sesuai permintaan. 

Dalam PAC, beberapa instance Enterprise Server bekerja sama sebagai entitas logis tunggal. Kegagalan satu instance Server Perusahaan, oleh karena itu, tidak akan mengganggu kelangsungan bisnis karena kapasitas dibagi dengan wilayah lain sementara instance baru secara otomatis dimulai menggunakan fungsionalitas standar industri seperti grup Amazon Auto Scaling EC2 . Ini menghilangkan satu titik kegagalan, meningkatkan ketahanan terhadap masalah perangkat keras, jaringan, dan aplikasi. Instans Enterprise Server yang diskalakan dapat dioperasikan dan dikelola dengan menggunakan Enterprise Server Common Web Administration (ESCWA) APIs, menyederhanakan pemeliharaan operasional dan kemudahan servis Server Perusahaan. 

**catatan**  
Micro Focus merekomendasikan bahwa [Performance and Availability Cluster (PAC)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-C06DC883-8A67-44DB-8553-8F0DD2062DAB.html) harus terdiri dari setidaknya tiga wilayah Server Perusahaan sehingga ketersediaan tidak terganggu jika wilayah Server Perusahaan gagal atau memerlukan pemeliharaan.

Konfigurasi PAC memerlukan layanan manajemen basis data relasional yang didukung (RDBMS) untuk mengelola database wilayah, database lintas wilayah, dan database penyimpanan data opsional. Database penyimpanan data harus digunakan untuk mengelola file Metode Akses Penyimpanan Virtual (VSAM) menggunakan dukungan Micro Focus Database File Handler untuk meningkatkan ketersediaan dan skalabilitas. Didukung RDBMSs termasuk yang berikut:
+ Microsoft SQL Server 2009 R2 dan yang lebih baru
+ PostgreSQL 10.x, termasuk Amazon Aurora PostgreSQL Edisi yang kompatibel
+ DB2 10.4 dan kemudian

[Untuk detail persyaratan RDBMS dan PAC yang didukung, lihat [Server Perusahaan Fokus Mikro - Prasyarat dan Server Perusahaan Fokus Mikro -](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-486C5A4B-E3CD-4B17-81F3-32F9DE970EA5.html) Konfigurasi PAC yang Disarankan.](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-7038DB6F-E89F-4B5F-BCAA-BD1456F6CCA3.html)

Diagram berikut menunjukkan pengaturan arsitektur AWS khas untuk Micro Focus PAC. 

![\[Arsitektur Tiga-Availability Zone dengan lima langkah yang dijelaskan dalam tabel setelah diagram.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/64e3c22b-1058-4ab8-855f-18bbbed5dc13/images/df291568-a442-454f-80bf-49e4ffff4f6d.png)


 


| 
| 
|  | **Komponen** | **Deskripsi** | 
| --- |--- |--- |
| 1 | Server Perusahaan melakukan grup penskalaan otomatis | Siapkan grup penskalaan otomatis yang digunakan dengan instance Enterprise Server di PAC. Jumlah instans dapat ditingkatkan atau diprakarsai oleh CloudWatch alarm Amazon menggunakan metrik. CloudWatch  | 
| 2 | Enterprise Server ESCWA instance grup penskalaan otomatis  | Siapkan grup penskalaan otomatis yang digunakan dengan Enterprise Server Common Web Administration (ESCWA). ESCWA menyediakan manajemen cluster. APIs   Server ESCWA bertindak sebagai bidang kontrol untuk menambah atau menghapus Server Perusahaan dan memulai atau menghentikan wilayah Server Perusahaan di PAC selama peristiwa penskalaan otomatis instance Server Perusahaan.   Karena instans ESCWA hanya digunakan untuk manajemen PAC, pola lalu lintasnya dapat diprediksi, dan persyaratan kapasitas penskalaan otomatis yang diinginkan dapat diatur ke 1.  | 
| 3 | Instans Amazon Aurora dalam pengaturan Multi-AZ | Siapkan sistem manajemen basis data relasional (RDBMS) untuk meng-host file data pengguna dan sistem untuk dibagikan di seluruh instance Server Perusahaan. | 
| 4 | Amazon ElastiCache (Redis OSS) contoh dan replika | Siapkan instance utama ElastiCache (Redis OSS) dan setidaknya satu replika untuk meng-host data pengguna dan bertindak sebagai repositori scale-out (SOR) untuk instance Server Perusahaan. Anda dapat mengonfigurasi satu atau beberapa [repositori scale-out](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-3840E10F-80AA-4109-AF2C-894237D3AD00.html) untuk menyimpan jenis data pengguna tertentu.   Enterprise Server menggunakan database Redis NoSQL sebagai SOR[, persyaratan untuk menjaga integritas PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-176B97CA-4F9F-4CE1-952F-C3F4FB0ADD25.html). | 
| 5 | Penyeimbang Beban Jaringan | Siapkan penyeimbang beban, berikan nama host untuk aplikasi untuk terhubung ke layanan yang disediakan oleh instance Enterprise Server (misalnya, mengakses aplikasi melalui emulator 3270). | 

Komponen-komponen ini membentuk persyaratan minimum untuk cluster PAC Server Micro Focus Enterprise. Bagian selanjutnya mencakup otomatisasi manajemen cluster.

**Menggunakan AWS Systems Manager Automation untuk penskalaan**

Setelah klaster PAC digunakan di AWS, PAC dikelola melalui Enterprise Server Common Web Administration (ESCWA). APIs 

Untuk mengotomatiskan tugas manajemen klaster selama peristiwa penskalaan otomatis, Anda dapat menggunakan runbook Otomasi Systems Manager dan Amazon Auto EC2 Scaling dengan Amazon. EventBridge Arsitektur otomatisasi ini ditunjukkan pada diagram berikut.

![\[AWS architecture diagram showing EventBridge, Systems Manager, and EC2 Auto Scaling integration.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/64e3c22b-1058-4ab8-855f-18bbbed5dc13/images/6f9e4035-fafd-4aee-a6cc-d5e95d6514c2.png)


 


| 
| 
|  | **Komponen** | **Deskripsi** | 
| --- |--- |--- |
| 1 | Kait siklus hidup penskalaan otomatis | Siapkan kait siklus hidup penskalaan otomatis dan kirim notifikasi ke Amazon EventBridge saat instans baru diluncurkan dan instans yang ada dihentikan di grup penskalaan otomatis. | 
| 2 | Amazon EventBridge | Siapkan EventBridge aturan Amazon untuk merutekan peristiwa penskalaan otomatis ke target runbook Automation Systems Manager. | 
| 3 | Runbook otomatisasi | Siapkan runbook Systems Manager Automation untuk menjalankan PowerShell skrip Windows dan memanggil ESCWA untuk mengelola PAC APIs . Sebagai contoh, lihat bagian *Informasi tambahan*. | 
| 4 | Instans Enterprise Server ESCWA dalam grup penskalaan otomatis | Siapkan instance Enterprise Server ESCWA dalam grup penskalaan otomatis. Instans ESCWA menyediakan APIs untuk mengelola PAC.  | 

## Alat
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-tools"></a>
+ [Micro Focus Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-A2F23243-962B-440A-A071-480082DF47E7.html) — Micro Focus Enterprise Server menyediakan lingkungan run untuk aplikasi yang dibuat dengan varian lingkungan pengembangan terintegrasi (IDE) dari Enterprise Developer.
+ [ EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) Amazon — Amazon EC2 Auto Scaling membantu Anda memastikan bahwa Anda memiliki jumlah instans EC2 Amazon yang benar yang tersedia untuk menangani pemuatan aplikasi Anda. Anda membuat koleksi EC2 instance, yang disebut grup Auto Scaling, dan menentukan jumlah instans minimum dan maksimum.
+ [Amazon ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html) — Amazon ElastiCache adalah layanan web untuk menyiapkan, mengelola, dan menskalakan penyimpanan data dalam memori terdistribusi atau lingkungan cache di cloud. Layanan ini menyediakan solusi caching beperforma tinggi, dapat diskalakan, dan hemat biaya.
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) - Amazon Relational Database Service (Amazon RDS) adalah layanan web yang memudahkan pengaturan, pengoperasian, dan skala database relasional di AWS Cloud. Ini menyediakan efisiensi biaya, kapasitas resizable untuk database relasional dan mengelola tugas-tugas administrasi database umum. 
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) — AWS Systems Manager adalah layanan AWS yang dapat Anda gunakan untuk melihat dan mengontrol infrastruktur di AWS. Menggunakan konsol Systems Manager, Anda dapat melihat data operasional dari beberapa layanan AWS dan mengotomatiskan tugas operasional di seluruh sumber daya AWS Anda. Systems Manager membantu Anda menjaga keamanan dan kepatuhan dengan memindai instans terkelola Anda dan melaporkan (atau mengambil tindakan korektif) setiap pelanggaran kebijakan yang terdeteksi.

## Epik
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-epics"></a>

### Buat instans Amazon Aurora
<a name="create-an-amazon-aurora-instance"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat CloudFormation template AWS untuk instans Amazon Aurora. | Gunakan [cuplikan kode contoh AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RDS.html) untuk membuat CloudFormation templat yang akan membuat instance Edisi yang kompatibel dengan Amazon Aurora PostgreSQL. | Arsitek awan | 
| Terapkan CloudFormation tumpukan untuk membuat instance Amazon Aurora. | Gunakan CloudFormation template untuk membuat instance yang kompatibel dengan Aurora PostgreSQL yang mengaktifkan replikasi Multi-AZ untuk beban kerja produksi. | Arsitek awan | 
| Konfigurasikan pengaturan koneksi database untuk Enterprise Server. | Ikuti petunjuk dalam [dokumentasi Micro Focus](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-40748F62-84B3-4B7B-8E96-5484ADEDFB5F.html) untuk menyiapkan string koneksi dan konfigurasi database untuk Micro Focus Enterprise Server. | Insinyur data, DevOps insinyur | 

### Buat ElastiCache klaster Amazon untuk instans Redis
<a name="create-an-elclong-cluster-for-the-redis-instance"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat CloudFormation template untuk ElastiCache cluster Amazon untuk instance Redis. | Gunakan [cuplikan kode contoh AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElastiCache.html) untuk membuat CloudFormation template yang akan membuat ElastiCache klaster Amazon untuk instance Redis. | Arsitek awan | 
| Terapkan CloudFormation tumpukan untuk membuat ElastiCache klaster Amazon untuk instance Redis. | Buat ElastiCache klaster Amazon untuk instans Redis yang mengaktifkan replikasi Multi-AZ untuk beban kerja produksi. | Arsitek awan | 
| Konfigurasikan pengaturan koneksi PSOR Server Perusahaan. | Ikuti petunjuk dalam [dokumentasi Micro Focus](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2A420ADD-4CA6-472D-819F-371C037C0653.html) untuk menyiapkan konfigurasi koneksi PAC Scale-Out Repository (PSOR) untuk Micro Focus Enterprise Server PAC. | DevOps insinyur | 

### Buat grup penskalaan otomatis Micro Focus Enterprise Server ESCWA
<a name="create-a-micro-focus-enterprise-server-escwa-automatic-scaling-group"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat AMI Server Perusahaan Fokus Mikro. | Buat instance Amazon EC2 Windows Server dan instal biner Micro Focus Enterprise Server dalam EC2 instance. Buat Amazon Machine Image (AMI) dari EC2 instance. Untuk informasi selengkapnya, lihat [dokumentasi instalasi Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-FACEF60F-BAE3-446C-B2B4-4379A5DF6D9F.html). | Arsitek awan | 
| Buat CloudFormation template untuk Enterprise Server ESCWA.  | Gunakan [cuplikan kode contoh AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScaling.html) untuk membuat templat untuk membuat tumpukan khusus Enterprise Server ESCWA dalam grup penskalaan otomatis. | Arsitek awan | 
| Menerapkan CloudFormation tumpukan untuk membuat grup EC2 penskalaan Amazon untuk Enterprise Server ESCWA. | Gunakan CloudFormation template untuk menyebarkan grup penskalaan otomatis dengan Micro Focus Enterprise Server ESCWA AMI yang dibuat di cerita sebelumnya. | Arsitek awan | 

### Membuat runbook AWS Systems Manager Automation
<a name="create-an-aws-systems-manager-automation-runbook"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat CloudFormation template untuk runbook Systems Manager Automation. | Gunakan contoh cuplikan kode di bagian *Informasi tambahan* untuk membuat CloudFormation template yang akan membuat runbook Systems Manager Automation untuk mengotomatisasi pembuatan PAC, skala Server Perusahaan, dan skala Server Perusahaan. | Arsitek awan | 
| Menerapkan CloudFormation tumpukan yang berisi runbook Systems Manager Automation. | Gunakan CloudFormation template untuk menyebarkan tumpukan yang berisi runbook Otomasi untuk pembuatan PAC, skala Server Perusahaan, dan skala Server Perusahaan. | Arsitek awan | 

### Buat grup penskalaan otomatis untuk Micro Focus Enterprise Server
<a name="create-an-automatic-scaling-group-for-micro-focus-enterprise-server"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat CloudFormation template untuk menyiapkan grup penskalaan otomatis untuk Micro Focus Enterprise Server. | Gunakan [cuplikan kode contoh AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScaling.html) untuk membuat CloudFormation template yang akan membuat grup penskalaan otomatis. Template ini akan menggunakan kembali AMI yang sama yang dibuat untuk instance Micro Focus Enterprise Server ESCWA. Kemudian gunakan [cuplikan kode contoh AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) untuk membuat peristiwa siklus hidup penskalaan otomatis dan siapkan Amazon EventBridge untuk memfilter peristiwa penskalaan dan penskalaan dalam templat yang sama. CloudFormation  | Arsitek awan | 
| Terapkan CloudFormation tumpukan untuk grup penskalaan otomatis untuk Server Perusahaan Fokus Mikro. | Terapkan CloudFormation tumpukan yang berisi grup penskalaan otomatis untuk Server Perusahaan Fokus Mikro. | Arsitek awan | 

## Sumber daya terkait
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-resources"></a>
+ [Kluster Kinerja dan Ketersediaan Server Perusahaan Fokus Mikro (PAC)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-613F5E2D-2FBC-47AE-9327-48CA4FF84C5B.html) 
+ [Kait EC2 siklus hidup Auto Scaling Amazon](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
+ [Menjalankan otomatisasi dengan pemicu menggunakan EventBridge](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-cwe-target.html)

## Informasi tambahan
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-additional"></a>

Skenario berikut harus otomatis untuk penskalaan atau penskalaan cluster PAC.

**Otomatisasi untuk memulai atau membuat ulang PAC**

Pada awal cluster PAC, Enterprise Server memerlukan ESCWA untuk memanggil APIs untuk membuat konfigurasi PAC. Ini memulai dan menambahkan wilayah Server Perusahaan ke dalam PAC. Untuk membuat atau membuat ulang PAC, gunakan langkah-langkah berikut: 

1. Konfigurasikan [PAC Scale-Out Repository (PSOR)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2A420ADD-4CA6-472D-819F-371C037C0653.html) di ESCWA dengan nama yang diberikan.

   ```
   POST /server/v1/config/groups/sors
   ```

1. Buat PAC dengan nama tertentu dan lampirkan PSOR ke sana.

   ```
   POST /server/v1/config/groups/pacs
   ```

1. Konfigurasikan database wilayah dan basis data lintas wilayah jika ini adalah pertama kalinya Anda menyiapkan PAC.
**catatan**  
Langkah ini menggunakan kueri SQL dan alat **dbhfhadmin baris perintah Micro Focus** Enterprise Suite untuk membuat database dan mengimpor data awal.

1. Instal definisi PAC ke wilayah Server Perusahaan.

   ```
   POST /server/v1/config/mfds 
   POST /native/v1/config/groups/pacs/${pac_uid}/install
   ```

1. Mulai wilayah Server Perusahaan di PAC.

   ```
   POST /native/v1/regions/${host_ip}/${port}/${region_name}/start
   ```

Langkah-langkah sebelumnya dapat diimplementasikan dengan menggunakan PowerShell skrip Windows. 

Langkah-langkah berikut menjelaskan cara membangun otomatisasi untuk membuat PAC dengan menggunakan kembali skrip Windows PowerShell .

1. Buat template EC2 peluncuran Amazon yang mengunduh atau membuat PowerShell skrip Windows sebagai bagian dari proses bootstrap. Misalnya, Anda dapat menggunakan data EC2 pengguna untuk mengunduh skrip dari bucket Amazon Simple Storage Service (Amazon S3).

1. Buat runbook AWS Systems Manager Automation untuk menjalankan skrip Windows PowerShell .

1. Kaitkan runbook ke instance ESCWA dengan menggunakan tag instance.

1. Buat grup penskalaan otomatis ESCWA dengan menggunakan template peluncuran. 

Anda dapat menggunakan contoh CloudFormation cuplikan AWS berikut untuk membuat runbook Otomasi.

*Contoh CloudFormation cuplikan untuk runbook Systems Manager Automation yang digunakan untuk pembuatan PAC*

```
  PACInitDocument:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Command
       Content:
         schemaVersion: '2.2'
         description: Operation Runbook to create Enterprise Server PAC
         mainSteps:
         - action: aws:runPowerShellScript
           name: CreatePAC
           inputs:
             onFailure: Abort
             timeoutSeconds: "1200"
             runCommand:
             - | 
               C:\Scripts\PAC-Init.ps1
  PacInitAutomation:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Automation
       Content:
         description: Prepare Micro Focus PAC Cluster via ESCWA Server
         schemaVersion: '0.3'
         assumeRole: !GetAtt SsmAssumeRole.Arn
         mainSteps:
           - name: RunPACInitDocument
             action: aws:runCommand
             timeoutSeconds: 300
             onFailure: Abort
             inputs:
               DocumentName: !Ref PACInitDocument
               Targets:
                 - Key: tag:Enterprise Server - ESCWA
                   Values:
                     - "true"
   PacInitDocumentAssociation:
     Type: AWS::SSM::Association
     Properties:
       DocumentVersion: "$LATEST"
       Name: !Ref PACInitDocument
       Targets:
         - Key: tag:Enterprise Server - ESCWA
           Values:
             - "true"
```

Untuk informasi selengkapnya, lihat [Server Perusahaan Fokus Mikro - Mengkonfigurasi PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2B15EBA5-84AF-47C3-9F8E-EE57EB17245F.html).

**Otomatisasi untuk penskalaan dengan instance Server Perusahaan baru**

Ketika instance Enterprise Server diskalakan, wilayah Enterprise Server harus ditambahkan ke PAC. Langkah-langkah berikut menjelaskan cara memanggil ESCWA APIs dan menambahkan wilayah Server Perusahaan ke dalam PAC. 

1. Instal definisi PAC ke wilayah Server Perusahaan.

   ```
   POST '/server/v1/config/mfds'
   POST /native/v1/config/groups/pacs/${pac_uid}/install
   ```

1. Hangat Mulai wilayah di PAC.

   ```
   POST /native/v1/regions/${host_ip}/${port}/${region_name}/start
   ```

1. Tambahkan instance Enterprise Server ke penyeimbang beban dengan mengaitkan grup penskalaan otomatis ke penyeimbang beban.

Langkah-langkah sebelumnya dapat diimplementasikan dengan menggunakan PowerShell skrip Windows. Untuk informasi selengkapnya, lihat [Server Perusahaan Fokus Mikro - Mengkonfigurasi PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2B15EBA5-84AF-47C3-9F8E-EE57EB17245F.html).

Langkah-langkah berikut dapat digunakan untuk membangun otomatisasi berbasis peristiwa untuk menambahkan instance Enterprise Server yang baru diluncurkan ke PAC dengan menggunakan kembali skrip Windows PowerShell . 

1. Buat template EC2 peluncuran Amazon untuk instance Enterprise Server yang menyediakan Wilayah Server Perusahaan selama bootstrap. Misalnya, Anda dapat menggunakan perintah Micro Focus Enterprise Server mfds untuk mengimpor konfigurasi wilayah. Untuk detail lebih lanjut dan opsi yang tersedia untuk perintah ini, lihat [Referensi Server Perusahaan](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/HRADRHCOMM06.html).

1. Buat grup penskalaan otomatis Enterprise Server yang menggunakan template peluncuran yang dibuat pada langkah sebelumnya.

1. Buat runbook Systems Manager Automation untuk menjalankan skrip Windows PowerShell . 

1. Kaitkan runbook ke instance ESCWA dengan menggunakan tag instance.

1. Buat EventBridge aturan Amazon untuk memfilter peristiwa EC2 Instance Launch Successful untuk grup penskalaan otomatis Enterprise Server, dan buat target untuk menggunakan runbook Otomasi.

Anda dapat menggunakan contoh CloudFormation cuplikan berikut untuk membuat runbook Otomasi dan aturannya. EventBridge 

*Contoh CloudFormation cuplikan untuk Systems Manager yang digunakan untuk menskalakan instance Enterprise Server*

```
  ScaleOutDocument:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Command
       Content:
         schemaVersion: '2.2'
         description: Operation Runbook to Adding MFDS Server into an existing PAC 
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"
           InstanceId:
             type: String
             default: "Not-Available"
         mainSteps:
         - action: aws:runPowerShellScript
           name: Add_MFDS
           inputs:
             onFailure: Abort
             timeoutSeconds: "300"
             runCommand:
             - |
               $ip = "{{InstanceIpAddress}}"
               if ( ${ip} -eq "Not-Available" ) {
                 $ip = aws ec2 describe-instances --instance-id {{InstanceId}} --output text --query "Reservations[0].Instances[0].PrivateIpAddress"
               }            
               C:\Scripts\Scale-Out.ps1 -host_ip ${ip} -port {{MfdsPort}}
 
   PacScaleOutAutomation:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Automation
       Content:
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"
           InstanceId:
             type: String
             default: "Not-Available"
         description: Scale Out 1 New Server in Micro Focus PAC Cluster via ESCWA Server
         schemaVersion: '0.3'
         assumeRole: !GetAtt SsmAssumeRole.Arn
         mainSteps:
           - name: RunScaleOutCommand
             action: aws:runCommand
             timeoutSeconds: 300
             onFailure: Abort
             inputs:
               DocumentName: !Ref ScaleOutDocument
               Parameters:
                 InstanceIpAddress: "{{InstanceIpAddress}}"
                 InstanceId: "{{InstanceId}}"
                 MfdsPort: "{{MfdsPort}}"
               Targets:
                 - Key: tag:Enterprise Server - ESCWA
                   Values:
                     - "true"
```

**Otomatisasi untuk penskalaan dalam instance Server Perusahaan**

Mirip dengan scaling out, ketika instance Enterprise Server *diskalakan*, event EC2 Instance-terminate Lifecycle Action dimulai, dan proses serta panggilan API berikut diperlukan untuk menghapus instance Micro Focus Enterprise Server dari PAC. 

1. Hentikan wilayah dalam instance Enterprise Server yang mengakhiri.

   ```
   POST "/native/v1/regions/${host_ip}/${port}/${region_name}/stop"
   ```

1. Hapus Enterprise Server Instance dari PAC.

   ```
   DELETE "/server/v1/config/mfds/${uid}"
   ```

1. Kirim sinyal untuk melanjutkan penghentian instance Enterprise Server.

Langkah-langkah sebelumnya dapat diimplementasikan dalam PowerShell skrip Windows. Untuk detail tambahan dari proses ini, lihat [dokumen Micro Focus Enterprise Server - Mengelola PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-E864E2E9-EB49-43BF-9AAD-7FE334749441.html).

Langkah-langkah berikut menjelaskan cara membangun otomatisasi berbasis peristiwa untuk menghentikan instance Enterprise Server dari PAC dengan menggunakan kembali skrip Windows. PowerShell  

1. Buat runbook Systems Manager Automation untuk menjalankan skrip Windows PowerShell .

1. Kaitkan runbook ke instance ESCWA dengan menggunakan tag instance.

1. Buat hook siklus hidup grup penskalaan otomatis untuk EC2 penghentian misalnya.

1. Buat EventBridge aturan Amazon untuk memfilter peristiwa Tindakan Siklus Hidup EC2 Penghentian Instans untuk grup penskalaan otomatis Server Perusahaan, dan buat target untuk menggunakan runbook Otomasi. 

Anda dapat menggunakan contoh CloudFormation template berikut untuk membuat runbook, lifecycle hook, dan aturan Systems Manager Automation. EventBridge 

*Contoh CloudFormation cuplikan untuk runbook Systems Manager Automation yang digunakan untuk penskalaan dalam instance Server Perusahaan*

```
  ScaleInDocument:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Command
       Content:
         schemaVersion: '2.2'
         description: Operation Runbook to Remove MFDS Server from PAC 
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"
           InstanceId:
             type: String
             default: "Not-Available"
         mainSteps:
         - action: aws:runPowerShellScript
           name: Remove_MFDS
           inputs:
             onFailure: Abort
             runCommand:
             - |
               $ip = "{{InstanceIpAddress}}"
               if ( ${ip} -eq "Not-Available" ) {
                 $ip = aws ec2 describe-instances --instance-id {{InstanceId}} --output text --query "Reservations[0].Instances[0].PrivateIpAddress"
               }            
               C:\Scripts\Scale-In.ps1 -host_ip ${ip} -port {{MfdsPort}}
 
   PacScaleInAutomation:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Automation
       Content:
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"            
           InstanceId:
             type: String
             default: "Not-Available"                
         description: Scale In 1 New Server in Micro Focus PAC Cluster via ESCWA Server
         schemaVersion: '0.3'
         assumeRole: !GetAtt SsmAssumeRole.Arn
         mainSteps:
           - name: RunScaleInCommand
             action: aws:runCommand
             timeoutSeconds: "600"
             onFailure: Abort
             inputs:
               DocumentName: !Ref ScaleInDocument
               Parameters:
                 InstanceIpAddress: "{{InstanceIpAddress}}"
                 MfdsPort: "{{MfdsPort}}"
                 InstanceId: "{{InstanceId}}"
               Targets:
                 - Key: tag:Enterprise Server - ESCWA
                   Values:
                     - "true"
           - name: TerminateTheInstance
             action: aws:executeAwsApi
             inputs:
               Service: autoscaling
               Api: CompleteLifecycleAction
               AutoScalingGroupName: !Ref AutoScalingGroup
               InstanceId: "{{ InstanceId }}"
               LifecycleActionResult: CONTINUE
               LifecycleHookName: !Ref ScaleInLifeCycleHook
```

**Otomatisasi untuk pemicu penskalaan EC2 otomatis Amazon**

Proses menyiapkan kebijakan penskalaan untuk instance Enterprise Server memerlukan pemahaman tentang perilaku aplikasi. Dalam kebanyakan kasus, Anda dapat mengatur kebijakan penskalaan pelacakan target. Misalnya, Anda dapat menggunakan pemanfaatan CPU rata-rata sebagai CloudWatch metrik Amazon untuk mengatur kebijakan penskalaan otomatis. Untuk informasi selengkapnya, lihat [Kebijakan penskalaan pelacakan target untuk EC2 Auto Scaling Amazon](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html). Untuk aplikasi yang memiliki pola lalu lintas reguler, pertimbangkan untuk menggunakan kebijakan penskalaan prediktif. Untuk informasi selengkapnya, lihat [Penskalaan prediktif untuk Auto EC2 Scaling Amazon.](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html) 

# 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 | 

# Kontainerisasi beban kerja mainframe yang telah dimodernisasi oleh Blu Age
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age"></a>

*Richard Milner-Watts, Amazon Web Services*

## Ringkasan
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-summary"></a>

[Pola ini menyediakan lingkungan wadah sampel untuk menjalankan beban kerja mainframe yang telah dimodernisasi dengan menggunakan alat Blu Age.](https://www.bluage.com/) Blu Age mengubah beban kerja mainframe lama menjadi kode Java modern. Pola ini menyediakan pembungkus di sekitar aplikasi Java sehingga Anda dapat menjalankannya dengan menggunakan layanan orkestrasi kontainer seperti Amazon Elastic Container Service (Amazon ECS) [Service Elastic Container (Amazon ECS) atau Amazon Elastic [Kubernetes](https://aws.amazon.com/eks/) Service (Amazon](https://aws.amazon.com/ecs/) EKS).

Untuk informasi selengkapnya tentang memodernisasi beban kerja Anda dengan menggunakan layanan Blu Age dan AWS, lihat publikasi AWS Prescriptive Guidance ini:
+ [Menjalankan beban kerja mainframe Blu Age yang dimodernisasi pada infrastruktur AWS tanpa server](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer dengan menggunakan Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)

[Untuk bantuan menggunakan Blu Age untuk memodernisasi beban kerja mainframe Anda, hubungi tim Blu Age dengan memilih **Hubungi pakar kami** di situs web Blu Age.](https://www.bluage.com/) Untuk bantuan dalam memigrasikan beban kerja modern Anda ke AWS, mengintegrasikannya dengan layanan AWS, dan memindahkannya ke produksi, hubungi manajer akun AWS Anda atau isi formulir AWS [Professional Services](https://pages.awscloud.com/AWS-Professional-Services.html).

## Prasyarat dan batasan
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-prereqs"></a>

**Prasyarat**
+ Aplikasi Java modern yang dibuat oleh Blu Age. Untuk tujuan pengujian, pola ini menyediakan contoh aplikasi Java yang dapat Anda gunakan sebagai bukti konsep.
+ Lingkungan [Docker](https://aws.amazon.com/docker/) yang dapat Anda gunakan untuk membangun wadah.

**Batasan**

Bergantung pada platform orkestrasi kontainer yang Anda gunakan, sumber daya yang dapat disediakan untuk wadah (seperti CPU, RAM, dan penyimpanan) mungkin terbatas. Misalnya, jika Anda menggunakan Amazon ECS dengan AWS Fargate, lihat dokumentasi [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) untuk batasan dan pertimbangan.

## Arsitektur
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-architecture"></a>

**Tumpukan teknologi sumber**
+ Usia Blu
+ Java

**Tumpukan teknologi target**
+ Docker

**Arsitektur target**

Diagram berikut menunjukkan arsitektur aplikasi Blu Age dalam wadah Docker.

![\[Aplikasi Blu Age dalam wadah Docker\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/c1747094-357b-4222-b4eb-b1336d810f83/images/0554332d-eff5-49ca-9789-da39b5a10045.png)


1. Titik masuk untuk wadah adalah skrip pembungkus. Skrip bash ini bertanggung jawab untuk mempersiapkan lingkungan runtime untuk aplikasi Blu Age dan memproses output.

1. Variabel lingkungan dalam wadah digunakan untuk mengonfigurasi variabel dalam skrip pembungkus, seperti nama bucket Amazon Simple Storage Service (Amazon S3) dan kredenal database Simple Storage Service (Amazon S3). Variabel lingkungan disediakan oleh AWS Secrets Manager atau Parameter Store, kemampuan AWS Systems Manager. Jika Anda menggunakan Amazon ECS sebagai layanan orkestrasi kontainer, Anda juga dapat melakukan hardcode variabel lingkungan dalam definisi tugas Amazon ECS.

1. Skrip pembungkus bertanggung jawab untuk menarik file input apa pun dari bucket S3 ke dalam wadah sebelum Anda menjalankan aplikasi Blu Age. AWS Command Line Interface (AWS CLI) diinstal di dalam container. Ini menyediakan mekanisme untuk mengakses objek yang disimpan di Amazon S3 melalui titik akhir gateway virtual private cloud (VPC).

1. File Java Archive (JAR) untuk aplikasi Blu Age mungkin perlu berkomunikasi dengan sumber data lain, seperti Amazon Aurora.

1. Setelah selesai, skrip pembungkus mengirimkan file keluaran yang dihasilkan ke dalam bucket S3 untuk diproses lebih lanjut (misalnya, oleh layanan CloudWatch logging Amazon). Pola ini juga mendukung pengiriman file log zip ke Amazon S3, jika Anda menggunakan alternatif untuk CloudWatch logging standar.

## Alat
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)) adalah layanan registri gambar kontainer terkelola yang aman, terukur, dan andal.
+ [Amazon Elastic Container Service (Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)) adalah layanan manajemen kontainer yang cepat dan dapat diskalakan yang membantu Anda menjalankan, menghentikan, dan mengelola kontainer di klaster.

**Alat**
+ [Docker](https://aws.amazon.com/docker/) adalah platform perangkat lunak untuk membangun, menguji, dan menyebarkan aplikasi. Docker mengemas perangkat lunak ke dalam unit standar yang disebut [kontainer](https://aws.amazon.com/containers/), yang memiliki semua yang dibutuhkan perangkat lunak untuk dijalankan, termasuk perpustakaan, alat sistem, kode, dan runtime. Anda dapat menggunakan Docker untuk menyebarkan dan menskalakan aplikasi ke lingkungan apa pun.
+ [Bash](https://www.gnu.org/software/bash/manual/) adalah antarmuka bahasa perintah (shell) untuk sistem operasi GNU.
+ [Java](https://www.java.com/) adalah bahasa pemrograman dan lingkungan pengembangan yang digunakan dalam pola ini.
+ [Blu Age](https://www.bluage.com/) adalah alat modernisasi mainframe AWS yang mengubah beban kerja mainframe lama, termasuk kode aplikasi, dependensi, dan infrastruktur, menjadi beban kerja modern untuk cloud.

**Repositori kode**

Kode untuk pola ini tersedia di [repositori wadah sampel GitHub Blu Age](https://github.com/aws-samples/aws-blu-age-sample-container).

## Praktik terbaik
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-best-practices"></a>
+ Eksternalisasi variabel untuk mengubah perilaku aplikasi Anda dengan menggunakan variabel lingkungan. Variabel-variabel ini memungkinkan solusi orkestrasi kontainer untuk mengubah lingkungan runtime tanpa membangun kembali wadah. Pola ini mencakup contoh variabel lingkungan yang dapat berguna untuk aplikasi Blu Age.
+ Validasi dependensi aplikasi apa pun sebelum Anda menjalankan aplikasi Blu Age Anda. Misalnya, verifikasi bahwa database tersedia dan kredensialnya valid. Tulis tes dalam skrip pembungkus untuk memverifikasi dependensi, dan gagal lebih awal jika tidak terpenuhi.
+ Gunakan logging verbose dalam skrip pembungkus. Berinteraksi langsung dengan wadah yang sedang berjalan dapat menjadi tantangan, tergantung pada platform orkestrasi dan berapa lama pekerjaan itu berlangsung. Pastikan bahwa output yang berguna ditulis `STDOUT` untuk membantu mendiagnosis masalah apa pun. Misalnya, output mungkin termasuk isi direktori kerja aplikasi baik sebelum dan sesudah Anda menjalankan aplikasi.

## Epik
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-epics"></a>

### Dapatkan file JAR aplikasi Blu Age
<a name="obtain-a-blu-age-application-jar-file"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Opsi 1 - Bekerja dengan Blu Age untuk mendapatkan file JAR aplikasi Anda. | Wadah dalam pola ini membutuhkan aplikasi Blu Age. Atau, Anda dapat menggunakan contoh aplikasi Java yang disediakan dengan pola ini untuk prototipe.Bekerja dengan tim Blu Age untuk mendapatkan file JAR untuk aplikasi Anda yang dapat dipanggang ke dalam wadah. Jika file JAR tidak tersedia, lihat tugas berikutnya untuk menggunakan aplikasi sampel sebagai gantinya. | Arsitek awan | 
| Opsi 2 - Bangun atau gunakan file JAR aplikasi sampel yang disediakan. | Pola ini menyediakan file JAR sampel prebuilt. File ini mengeluarkan variabel lingkungan aplikasi `STDOUT` sebelum tidur selama 30 detik dan keluar.File ini diberi nama `bluAgeSample.jar` dan terletak di [folder docker repositori](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/docker). GitHub [Jika Anda ingin mengubah kode dan membangun versi file JAR Anda sendiri, gunakan kode sumber yang terletak di. /java\$1 sample/src/sample \$1java\$1app.java](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample/src) di repositori. GitHub Anda dapat menggunakan skrip build di[. ](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample)/java\$1sample/build.sh untuk mengkompilasi sumber Java dan membangun JAR fie baru. | Pengembang aplikasi | 

### Bangun wadah Blu Age
<a name="build-the-blu-age-container"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning GitHub repositori. | Kloning repositori kode sampel dengan menggunakan perintah:<pre>git clone https://github.com/aws-samples/aws-blu-age-sample-container</pre> | AWS DevOps | 
| Gunakan Docker untuk membangun wadah. | Gunakan Docker untuk membangun wadah sebelum Anda mendorongnya ke registri Docker seperti Amazon ECR:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html) | AWS DevOps | 
| Uji wadah Blu Age. | (Opsional) Jika perlu, uji wadah secara lokal dengan menggunakan perintah:<pre>docker run -it <tag> /bin/bash</pre> | AWS DevOps | 
| Otentikasi ke repositori Docker Anda. | Jika Anda berencana untuk menggunakan Amazon ECR, ikuti petunjuk dalam [dokumentasi Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) untuk menginstal dan mengonfigurasi AWS CLI dan mengautentikasi CLI Docker ke registri default Anda.Kami menyarankan Anda menggunakan [get-login-password perintah](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/get-login-password.html) untuk otentikasi.  [Konsol Amazon ECR](https://console.aws.amazon.com/ecr/) menyediakan versi pra-isi dari perintah ini jika Anda menggunakan tombol perintah **tekan Lihat**. Untuk informasi selengkapnya, lihat [dokumentasi Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-console.html).<pre>aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <account>.dkr.ecr.<region>.amazonaws.com</pre>Jika Anda tidak berencana untuk menggunakan Amazon ECR, ikuti petunjuk yang diberikan untuk sistem registri kontainer Anda. | AWS DevOps | 
| Buat repositori kontainer. | Buat repositori di Amazon ECR. Untuk petunjuknya, lihat pola [Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html) menggunakan Terraform.Jika Anda menggunakan sistem registri kontainer lain, ikuti instruksi yang diberikan untuk sistem itu. | AWS DevOps | 
| Tandai dan dorong wadah Anda ke repositori target. | Jika Anda menggunakan Amazon ECR:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)Untuk informasi selengkapnya, lihat [Mendorong gambar Docker](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) di *Panduan Pengguna Amazon ECR*. | AWS DevOps | 

## Sumber daya terkait
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-resources"></a>

**Sumber daya AWS**
+ [Repositori wadah sampel AWS Blu Age](https://github.com/aws-samples/aws-blu-age-sample-container)
+ [Menjalankan beban kerja mainframe Blu Age yang dimodernisasi pada infrastruktur AWS tanpa server](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Menerapkan lingkungan untuk aplikasi Blu Age dalam kontainer dengan menggunakan Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)
+ [Menggunakan Amazon ECR dengan AWS CLI](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) (Panduan Pengguna *Amazon ECR*)
+ [Otentikasi registri pribadi](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) (*Panduan Pengguna Amazon ECR*)
+ [Dokumentasi Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)
+ [Dokumentasi Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)

**Sumber daya tambahan**
+ [Situs Blu Age](https://www.bluage.com/)
+ [Situs Docker](https://docker.com/)

# Mengonversi dan membongkar data EBCDIC ke ASCII di AWS dengan menggunakan Python
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python"></a>

*Luis Gustavo Dantas, Amazon Web Services*

## Ringkasan
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-summary"></a>

Karena mainframe biasanya meng-host data bisnis penting, memodernisasi data adalah salah satu tugas terpenting saat memigrasikan data ke Amazon Web Services (AWS) Cloud atau lingkungan American Standard Code for Information Interchange (ASCII) lainnya. Pada mainframe, data biasanya dikodekan dalam format Extended Binary-Coded Decimal Interchange Code (EBCDIC). Mengekspor database, Metode Akses Penyimpanan Virtual (VSAM), atau file datar umumnya menghasilkan file EBCDIC biner yang dikemas, yang lebih kompleks untuk dimigrasi. Solusi migrasi database yang paling umum digunakan adalah change data capture (CDC), yang, dalam banyak kasus, secara otomatis mengubah pengkodean data. Namun, mekanisme CDC mungkin tidak tersedia untuk database, VSAM, atau file datar ini. Untuk file-file ini, pendekatan alternatif diperlukan untuk memodernisasi data.

Pola ini menjelaskan cara memodernisasi data EBCDIC dengan mengubahnya menjadi format ASCII. Setelah konversi, Anda dapat memuat data ke database terdistribusi atau memiliki aplikasi di cloud memproses data secara langsung. Pola menggunakan skrip konversi dan file sampel dalam [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities) GitHub repositori.

## Prasyarat dan batasan
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-prereqs"></a>

**Prasyarat**
+ Akun AWS aktif.
+ File input EBCDIC dan copybook bahasa berorientasi bisnis umum (COBOL) yang sesuai. Contoh file EBCDIC dan copybook COBOL disertakan dalam repositori. [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities) GitHub Untuk informasi lebih lanjut tentang copybook COBOL, lihat [Enterprise COBOL untuk z/OS 6.4 Panduan Pemrograman](https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf) di situs web IBM.

**Batasan**
+ Layout file yang didefinisikan di dalam program COBOL tidak didukung. Mereka harus tersedia secara terpisah.

**Versi produk**
+ Python versi 3.8 atau yang lebih baru

## Arsitektur
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-architecture"></a>

**Tumpukan teknologi sumber**
+ Data EBCDIC pada mainframe
+ Copybook COBOL

**Tumpukan teknologi target**
+ Instans Amazon Elastic Compute Cloud (Amazon EC2) di cloud pribadi virtual (VPC)
+ Amazon Elastic Block Store (Amazon EBS)
+ Python dan paket yang diperlukan, JavaScript Object Notation (JSON), sys, dan datetime
+ File datar ASCII siap dibaca oleh aplikasi modern atau dimuat dalam tabel database relasional

**Arsitektur target**

![\[Data EBCDIC dikonversi ke ASCII pada sebuah instance EC2 dengan menggunakan skrip Python dan copybook COBOL\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/f5907bfe-7dff-4cd0-8523-57015ad48c4b/images/4f97b1dd-3f20-4966-a291-22180680ea99.png)


Diagram arsitektur menunjukkan proses konversi file EBCDIC ke file ASCII pada sebuah instance: EC2 

1. Menggunakan skrip **parse\$1copybook\$1to\$1json.py**, Anda mengonversi copybook COBOL ke file JSON.

1. Menggunakan file JSON dan skrip **extract\$1ebcdic\$1to\$1ascii.py**, Anda mengonversi data EBCDIC ke file ASCII.

**Otomatisasi dan skala**

Setelah sumber daya yang diperlukan untuk konversi file manual pertama tersedia, Anda dapat mengotomatiskan konversi file. Pola ini tidak termasuk instruksi untuk otomatisasi. Ada beberapa cara untuk mengotomatiskan konversi. Berikut ini adalah ikhtisar dari satu pendekatan yang mungkin:

1. Merangkum perintah AWS Command Line Interface (AWS CLI) dan perintah skrip Python ke dalam skrip shell.

1. Buat fungsi AWS Lambda yang secara asinkron mengirimkan tugas skrip shell ke dalam sebuah instance. EC2 Untuk informasi selengkapnya, lihat [Menjadwalkan lowongan SSH menggunakan AWS Lambda](https://aws.amazon.com/blogs/compute/scheduling-ssh-jobs-using-aws-lambda/).

1. Buat pemicu Amazon Simple Storage Service (Amazon S3) yang memanggil fungsi Lambda setiap kali file lama diunggah. Untuk informasi selengkapnya, lihat [Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html).

## Alat
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/?id=docs_gateway) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan, dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) menyediakan volume penyimpanan tingkat blok untuk digunakan dengan instans Amazon Elastic Compute Cloud (Amazon). EC2
+ [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.

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

**Repositori kode**

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

## Epik
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-epics"></a>

### Siapkan EC2 instance
<a name="prepare-the-ec2-instance"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Luncurkan sebuah EC2 instance. |  EC2 Instans harus memiliki akses internet keluar. Hal ini memungkinkan instance untuk mengakses kode sumber Python yang tersedia di. GitHub Untuk membuat instance:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | AWS Umum | 
| Instal Git. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | AWS Umum, Linux | 
| Instal Python. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | AWS Umum, Linux | 
| Kloning GitHub repositori. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | AWS Umum, GitHub | 

### Buat file ASCII dari data EBCDIC
<a name="create-the-ascii-file-from-the-ebcdic-data"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Parse copybook COBOL ke dalam file layout JSON. | Di dalam `mainframe-data-utilities` folder, jalankan skrip **parse\$1copybook\$1to\$1json.py**. Modul otomatisasi ini membaca tata letak file dari copybook COBOL dan membuat file JSON. File JSON berisi informasi yang diperlukan untuk menafsirkan dan mengekstrak data dari file sumber. Ini menciptakan metadata JSON dari copybook COBOL. Perintah berikut mengkonversi copybook COBOL ke file JSON.<pre>python3 parse_copybook_to_json.py \<br />-copybook LegacyReference/COBPACK2.cpy \<br />-output sample-data/cobpack2-list.json \<br />-dict sample-data/cobpack2-dict.json \<br />-ebcdic sample-data/COBPACK.OUTFILE.txt \<br />-ascii sample-data/COBPACK.ASCII.txt \<br />-print 10000</pre>Script mencetak argumen yang diterima.<pre>-----------------------------------------------------------------------<br />Copybook file...............| LegacyReference/COBPACK2.cpy<br />Parsed copybook (JSON List).| sample-data/cobpack2-list.json<br />JSON Dict (documentation)...| sample-data/cobpack2-dict.json<br />ASCII file..................| sample-data/COBPACK.ASCII.txt<br />EBCDIC file.................| sample-data/COBPACK.OUTFILE.txt<br />Print each..................| 10000<br />-----------------------------------------------------------------------</pre>Untuk informasi selengkapnya tentang argumen, lihat [file README](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md) di GitHub repositori. | AWS Umum, Linux | 
| Periksa file tata letak JSON. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)<pre> "input": "extract-ebcdic-to-ascii/COBPACK.OUTFILE.txt",<br /> "output": "extract-ebcdic-to-ascii/COBPACK.ASCII.txt",<br /> "max": 0,<br /> "skip": 0,<br /> "print": 10000,<br /> "lrecl": 150,<br /> "rem-low-values": true,<br /> "separator": "|",<br /> "transf": [<br /> {<br /> "type": "ch",<br /> "bytes": 19,<br /> "name": "OUTFILE-TEXT"<br /> } </pre>Atribut yang paling penting dari file layout JSON adalah:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)Untuk informasi selengkapnya tentang file tata letak JSON, lihat file [README di repositori](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md). GitHub  | AWS Umum, JSON | 
| Buat file ASCII.  | Jalankan skrip **extract\$1ebcdic\$1to\$1ascii.py**, yang termasuk dalam GitHub repositori kloning. Skrip ini membaca file EBCDIC dan menulis file ASCII yang dikonversi dan dapat dibaca.<pre>python3 extract_ebcdic_to_ascii.py -local-json sample-data/cobpack2-list.json</pre>Saat skrip memproses data EBCDIC, ia mencetak pesan untuk setiap batch 10.000 catatan. Lihat contoh berikut ini.<pre>------------------------------------------------------------------<br />2023-05-15 21:21:46.322253 | Local Json file   | -local-json | sample-data/cobpack2-list.json<br />2023-05-15 21:21:47.034556 | Records processed | 10000<br />2023-05-15 21:21:47.736434 | Records processed | 20000<br />2023-05-15 21:21:48.441696 | Records processed | 30000<br />2023-05-15 21:21:49.173781 | Records processed | 40000<br />2023-05-15 21:21:49.874779 | Records processed | 50000<br />2023-05-15 21:21:50.705873 | Records processed | 60000<br />2023-05-15 21:21:51.609335 | Records processed | 70000<br />2023-05-15 21:21:52.292989 | Records processed | 80000<br />2023-05-15 21:21:52.938366 | Records processed | 89280<br />2023-05-15 21:21:52.938448 Seconds 6.616232</pre>Untuk informasi tentang cara mengubah frekuensi cetak, lihat [file README](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md) di GitHub repositori. | AWS Umum | 
| Periksa file ASCII. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)Jika Anda menggunakan contoh file EBCDIC yang disediakan, berikut ini adalah catatan pertama dalam file ASCII.<pre>00000000: 2d30 3030 3030 3030 3030 3130 3030 3030  -000000000100000<br />00000010: 3030 307c 3030 3030 3030 3030 3031 3030  000|000000000100<br />00000020: 3030 3030 3030 7c2d 3030 3030 3030 3030  000000|-00000000<br />00000030: 3031 3030 3030 3030 3030 7c30 7c30 7c31  0100000000|0|0|1<br />00000040: 3030 3030 3030 3030 7c2d 3130 3030 3030  00000000|-100000<br />00000050: 3030 307c 3130 3030 3030 3030 307c 2d31  000|100000000|-1<br />00000060: 3030 3030 3030 3030 7c30 3030 3030 7c30  00000000|00000|0<br />00000070: 3030 3030 7c31 3030 3030 3030 3030 7c2d  0000|100000000|-<br />00000080: 3130 3030 3030 3030 307c 3030 3030 3030  100000000|000000<br />00000090: 3030 3030 3130 3030 3030 3030 307c 2d30  0000100000000|-0<br />000000a0: 3030 3030 3030 3030 3031 3030 3030 3030  0000000001000000<br />000000b0: 3030 7c41 7c41 7c0a                      00|A|A|.</pre> | AWS Umum, Linux | 
| Evaluasi file EBCDIC. | Di EC2 konsol Amazon, masukkan perintah berikut. Ini membuka catatan pertama dari file EBCDIC.<pre>head sample-data/COBPACK.OUTFILE.txt -c 150 | xxd</pre>Jika Anda menggunakan contoh file EBCDIC, berikut ini adalah hasilnya.<pre> 00000000: 60f0 f0f0 f0f0 f0f0 f0f0 f1f0 f0f0 f0f0 `...............<br /> 00000010: f0f0 f0f0 f0f0 f0f0 f0f0 f0f0 f1f0 f0f0 ................<br /> 00000020: f0f0 f0f0 f0f0 f0f0 f0f0 f0f0 f0f0 f1f0 ................<br /> 00000030: f0f0 f0f0 f0f0 d000 0000 0005 f5e1 00fa ................<br /> 00000040: 0a1f 0000 0000 0005 f5e1 00ff ffff fffa ................<br /> 00000050: 0a1f 0000 000f 0000 0c10 0000 000f 1000 ................<br /> 00000060: 0000 0d00 0000 0000 1000 0000 0f00 0000 ................<br /> 00000070: 0000 1000 0000 0dc1 c100 0000 0000 0000 ................<br /> 00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................<br /> 00000090: 0000 0000 0000 ......</pre>Untuk mengevaluasi kesetaraan antara sumber dan file target, diperlukan pengetahuan komprehensif tentang EBCDIC. Misalnya, karakter pertama dari contoh file EBCDIC adalah tanda hubung (). `-` Dalam notasi heksadesimal dari file EBCDIC, karakter ini diwakili oleh, dan dalam notasi heksadesimal dari file ASCII`60`, karakter ini diwakili oleh. `2D` Untuk tabel EBCDIC-to-ASCII konversi, lihat [EBCDIC ke ASCII](https://www.ibm.com/docs/en/iis/11.3?topic=tables-ebcdic-ascii) di situs web IBM. | AWS Umum, Linux, EBCDIC | 

## Sumber daya terkait
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-resources"></a>

**Referensi**
+ [Set karakter EBCDIC (dokumentasi](https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set) IBM)
+ [EBCDIC ke ASCII (dokumentasi IBM](https://www.ibm.com/docs/en/iis/11.3?topic=tables-ebcdic-ascii))
+ [COBOL](https://www.ibm.com/docs/en/i/7.1?topic=languages-cobol) (dokumentasi IBM)
+ [Konsep dasar JCL](https://www.ibm.com/docs/en/zos-basic-skills?topic=collection-basic-jcl-concepts) (dokumentasi IBM)
+ [Connect ke instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html) ( EC2 dokumentasi Amazon)

**Tutorial**
+ [Menjadwalkan pekerjaan SSH menggunakan AWS Lambda](https://aws.amazon.com/blogs/compute/scheduling-ssh-jobs-using-aws-lambda/) (postingan blog AWS)
+ [Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda (dokumentasi AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html))

# Konversi file mainframe dari format EBCDIC ke format ASCII yang dibatasi karakter di Amazon S3 menggunakan AWS Lambda
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda"></a>

*Luis Gustavo Dantas, Amazon Web Services*

## Ringkasan
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-summary"></a>

Pola ini menunjukkan kepada Anda cara meluncurkan AWS Lambda fungsi yang secara otomatis mengonversi file mainframe Extended Binary Coded Decimal Interchange Code (EBCDIC) ke file American Standard Code for Information Interchange (ASCII) yang dibatasi karakter. Fungsi Lambda berjalan setelah file ASCII diunggah ke bucket Amazon Simple Storage Service (Amazon S3). Setelah konversi file, Anda dapat membaca file ASCII pada beban kerja berbasis x86 atau memuat file ke dalam database modern.

Pendekatan konversi file yang ditunjukkan dalam pola ini dapat membantu Anda mengatasi tantangan bekerja dengan file EBCDIC di lingkungan modern. File yang dikodekan dalam EBCDIC sering berisi data yang direpresentasikan dalam format desimal biner atau dikemas, dan bidang memiliki panjang tetap. Karakteristik ini menciptakan hambatan karena beban kerja berbasis x86 modern atau lingkungan terdistribusi umumnya bekerja dengan data yang dikodekan ASCII dan tidak dapat memproses file EBCDIC.

## Prasyarat dan batasan
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS
+ Bucket Amazon S3
+ Pengguna AWS Identity and Access Management (IAM) dengan izin administratif
+ AWS CloudShell
+ [Python 3.8.0](https://www.python.org/downloads/release/python-380/) atau yang lebih baru
+ File datar yang dikodekan dalam EBCDIC dan struktur data yang sesuai dalam copybook bahasa berorientasi bisnis umum (COBOL)

**catatan**  
[Pola ini menggunakan contoh file EBCDIC ([Client.ebcdic.txt) dan copybook COBOL yang sesuai (COBKS05.cpy](https://github.com/aws-samples/mainframe-data-utilities/blob/main/sample-data/CLIENT.EBCDIC.txt)).](https://github.com/aws-samples/mainframe-data-utilities/blob/main/LegacyReference/COBKS05.cpy) Kedua file tersedia di GitHub [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities)repositori.

**Batasan**
+ Copybook COBOL biasanya memiliki beberapa definisi tata letak. [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities)Proyek ini dapat mengurai jenis copybook ini tetapi tidak dapat menyimpulkan tata letak mana yang harus dipertimbangkan pada konversi data. Ini karena copybook tidak memegang logika ini (yang tetap pada program COBOL sebagai gantinya). Akibatnya, Anda harus secara manual mengkonfigurasi aturan untuk memilih tata letak setelah Anda mengurai copybook.
+ Pola ini tunduk pada kuota [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

## Arsitektur
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-architecture"></a>

**Tumpukan teknologi sumber**
+ IBM z/OS, IBM i, dan sistem EBCDIC lainnya
+ File berurutan dengan data yang dikodekan dalam EBCDIC (seperti IBM Db2 unload)
+ Copybook COBOL

**Tumpukan teknologi target**
+ Amazon S3
+ Pemberitahuan acara Amazon S3
+ IAM
+ Fungsi Lambda
+ Python 3.8 atau yang lebih baru
+ Utilitas Data Mainframe
+ Metadata JSON
+ File ASCII yang dibatasi karakter

**Arsitektur target**

Diagram berikut menunjukkan arsitektur untuk mengkonversi file mainframe EBCDIC ke file ASCII.

![\[Arsitektur untuk mengonversi file EBCDIC mainframe ke file ASCII\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/97ab4129-2639-4733-86cb-962d91526df4/images/3ca7ca44-373a-434f-8c40-09e7c2abf5ec.png)


Diagram menunjukkan alur kerja berikut:

1. Pengguna menjalankan skrip parser copybook, yang mengubah copybook COBOL menjadi file JSON.

1. Pengguna mengunggah metadata JSON ke bucket Amazon S3. Ini membuat metadata dapat dibaca oleh fungsi Lambda konversi data.

1. Pengguna atau proses otomatis mengunggah file EBCDIC ke bucket Amazon S3.

1. Peristiwa notifikasi Amazon S3 memicu fungsi Lambda konversi data.

1. AWS memverifikasi izin baca-tulis bucket Amazon S3 untuk fungsi Lambda.

1. Lambda membaca file dari bucket Amazon S3 dan mengonversi file secara lokal dari EBCDIC ke ASCII.

1. Lambda mencatat status proses di Amazon. CloudWatch

1. Lambda menulis file ASCII kembali ke Amazon S3.

**catatan**  
Skrip parser copybook berjalan satu kali untuk melakukan konversi metadata ke format JSON, yang kemudian disimpan dalam bucket Amazon S3. Setelah konversi awal, semua file EBCDIC berikutnya yang mereferensikan file JSON yang sama di bucket Amazon S3 akan menggunakan konfigurasi metadata yang ada.

## Alat
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-tools"></a>

**Layanan AWS**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) membantu Anda memantau metrik sumber AWS daya Anda dan aplikasi yang Anda jalankan AWS secara real time.
+ [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 CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)adalah shell berbasis browser yang dapat Anda gunakan untuk mengelola Layanan AWS dengan menggunakan AWS Command Line Interface (AWS CLI) dan berbagai alat pengembangan yang sudah diinstal sebelumnya.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [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. Lambda menjalankan kode Anda hanya bila diperlukan dan menskalakan secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.

**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 [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities)repositori.

## Praktik terbaik
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-best-practices"></a>

Pertimbangkan praktik terbaik berikut:
+ Tetapkan izin yang diperlukan di tingkat Amazon Resource Name (ARN).
+ Selalu berikan izin hak istimewa paling sedikit untuk kebijakan IAM. Untuk informasi selengkapnya, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam dokumentasi IAM.

## Epik
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-epics"></a>

### Buat variabel lingkungan dan folder kerja
<a name="create-environment-variables-and-a-working-folder"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat variabel lingkungan. | Salin variabel lingkungan berikut ke editor teks, lalu ganti `<placeholder>` nilai dalam contoh berikut dengan nilai sumber daya Anda:<pre>bucket=<your_bucket_name><br />account=<your_account_number><br />region=<your_region_code></pre>Anda akan membuat referensi ke bucket Amazon S3 Anda, Akun AWS, dan Wilayah AWS yang lebih baru.Untuk menentukan variabel lingkungan, buka [CloudShell konsol](https://console.aws.amazon.com/cloudshell/), lalu salin dan tempel variabel lingkungan Anda yang diperbarui ke baris perintah.Anda harus mengulangi langkah ini setiap kali CloudShell sesi dimulai ulang. | AWS Umum | 
| Buat folder yang berfungsi. | Untuk menyederhanakan proses pembersihan sumber daya nanti, buat folder kerja CloudShell dengan menjalankan perintah berikut:<pre>mkdir workdir; cd workdir</pre>Anda harus mengubah direktori ke direktori kerja (`workdir`) setiap kali Anda kehilangan koneksi ke CloudShell sesi Anda. | AWS Umum | 

### Mendefinisikan peran dan kebijakan IAM
<a name="define-an-iam-role-and-policy"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat kebijakan kepercayaan untuk fungsi Lambda. | Konverter EBCDIC berjalan dalam fungsi Lambda. Fungsi tersebut harus memiliki peran IAM. Sebelum Anda membuat peran IAM, Anda harus menentukan dokumen kebijakan kepercayaan yang memungkinkan sumber daya untuk mengambil kebijakan tersebut.Dari folder CloudShell kerja, buat dokumen kebijakan dengan menjalankan perintah berikut:<pre>E2ATrustPol=$(cat <<EOF<br />{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "Service": "lambda.amazonaws.com"<br />            },<br />            "Action": "sts:AssumeRole"<br />        }<br />    ]<br />}<br />EOF<br />)<br />printf "$E2ATrustPol" > E2ATrustPol.json</pre> | AWS Umum | 
| Buat peran IAM untuk konversi Lambda. | Untuk membuat peran IAM, jalankan AWS CLI perintah berikut dari folder CloudShell kerja:<pre>aws iam create-role --role-name E2AConvLambdaRole --assume-role-policy-document file://E2ATrustPol.json</pre> | AWS Umum | 
| Buat dokumen kebijakan IAM untuk fungsi Lambda. | Fungsi Lambda harus memiliki akses baca-tulis ke bucket Amazon S3 dan izin tulis untuk Amazon Log. CloudWatch Untuk membuat kebijakan IAM, jalankan perintah berikut dari folder CloudShell kerja:<pre>E2APolicy=$(cat <<EOF<br />{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "Logs",<br />            "Effect": "Allow",<br />            "Action": [<br />                "logs:PutLogEvents",<br />                "logs:CreateLogStream",<br />                "logs:CreateLogGroup"<br />            ],<br />            "Resource": [<br />                "arn:aws:logs:*:*:log-group:*",<br />                "arn:aws:logs:*:*:log-group:*:log-stream:*"<br />            ]<br />        },<br />        {<br />            "Sid": "S3",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:PutObject",<br />                "s3:GetObjectVersion"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::%s/*",<br />                "arn:aws:s3:::%s"<br />            ]<br />        }<br />    ]<br />}<br />EOF<br />)<br />printf "$E2APolicy" "$bucket" "$bucket" > E2AConvLambdaPolicy.json</pre> | AWS Umum | 
| Lampirkan dokumen kebijakan IAM ke peran IAM. | Untuk melampirkan kebijakan IAM ke peran IAM, masukkan perintah berikut dari folder CloudShell kerja Anda:<pre>aws iam put-role-policy --role-name E2AConvLambdaRole --policy-name E2AConvLambdaPolicy --policy-document file://E2AConvLambdaPolicy.json</pre> | AWS Umum | 

### Buat fungsi Lambda untuk konversi EBCDIC
<a name="create-the-lam-function-for-ebcdic-conversion"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Unduh kode sumber konversi EBCDIC. | Dari folder CloudShell kerja, jalankan perintah berikut untuk mengunduh kode mainframe-data-utilities sumber dari GitHub:<pre>git clone https://github.com/aws-samples/mainframe-data-utilities.git mdu</pre> | AWS Umum | 
| Buat paket ZIP. | Dari folder CloudShell kerja, masukkan perintah berikut untuk membuat paket ZIP yang membuat fungsi Lambda untuk konversi EBCDIC:<pre>cd mdu; zip ../mdu.zip *.py; cd ..</pre> | AWS Umum | 
| Buat fungsi Lambda. | Dari folder CloudShell kerja, masukkan perintah berikut untuk membuat fungsi Lambda untuk konversi EBCDIC:<pre>aws lambda create-function \<br />--function-name E2A \<br />--runtime python3.9 \<br />--zip-file fileb://mdu.zip \<br />--handler extract_ebcdic_to_ascii.lambda_handler \<br />--role arn:aws:iam::$account:role/E2AConvLambdaRole \<br />--timeout 10 \<br />--environment "Variables={layout=$bucket/layout/}"</pre> Tata letak variabel lingkungan memberi tahu fungsi Lambda tempat metadata JSON berada. | AWS Umum | 
| Buat kebijakan berbasis sumber daya untuk fungsi Lambda. | Dari folder CloudShell kerja, masukkan perintah berikut untuk mengizinkan pemberitahuan peristiwa Amazon S3 Anda memicu fungsi Lambda untuk konversi EBCDIC:<pre>aws lambda add-permission \<br />--function-name E2A \<br />--action lambda:InvokeFunction \<br />--principal s3.amazonaws.com \<br />--source-arn arn:aws:s3:::$bucket \<br />--source-account $account \<br />--statement-id 1</pre> | AWS Umum | 

### Buat notifikasi acara Amazon S3
<a name="create-the-s3-event-notification"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat dokumen konfigurasi untuk notifikasi acara Amazon S3. | Pemberitahuan peristiwa Amazon S3 memulai fungsi Lambda konversi EBCDIC saat file ditempatkan di folder input.Dari folder CloudShell kerja, jalankan perintah berikut untuk membuat dokumen JSON untuk pemberitahuan acara Amazon S3:<pre>S3E2AEvent=$(cat <<EOF<br />{<br />"LambdaFunctionConfigurations": [<br />    {<br />      "Id": "E2A",<br />      "LambdaFunctionArn": "arn:aws:lambda:%s:%s:function:E2A",<br />      "Events": [ "s3:ObjectCreated:Put" ],<br />      "Filter": {<br />        "Key": {<br />          "FilterRules": [<br />            {<br />              "Name": "prefix",<br />              "Value": "input/"<br />            }<br />          ]<br />        }<br />      }<br />    }<br />  ]<br />}<br />EOF<br />)<br />printf "$S3E2AEvent" "$region" "$account" > S3E2AEvent.json</pre> | AWS Umum | 
| Buat notifikasi acara Amazon S3. | Dari folder CloudShell kerja, masukkan perintah berikut untuk membuat pemberitahuan acara Amazon S3:<pre>aws s3api put-bucket-notification-configuration --bucket $bucket --notification-configuration file://S3E2AEvent.json</pre> | AWS Umum | 

### Buat dan unggah metadata JSON
<a name="create-and-upload-the-json-metadata"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mengurai copybook COBOL. | Dari folder CloudShell kerja, masukkan perintah berikut untuk mengurai contoh copybook COBOL ke dalam file JSON (yang mendefinisikan cara membaca dan mengiris file data dengan benar):<pre>python3       mdu/parse_copybook_to_json.py \<br />-copybook     mdu/LegacyReference/COBKS05.cpy \<br />-output       CLIENT.json \<br />-output-s3key CLIENT.ASCII.txt \<br />-output-s3bkt $bucket \<br />-output-type  s3 \<br />-print        25</pre> | AWS Umum | 
| Tambahkan aturan transformasi. | File data sampel dan copybook COBOL yang sesuai adalah file multi-tata letak. Ini berarti bahwa konversi harus mengiris data berdasarkan aturan tertentu. Dalam hal ini, byte pada posisi 3 dan 4 di setiap baris menentukan tata letak.Dari folder CloudShell kerja, edit `CLIENT.json` file dan ubah konten dari `"transf-rule": [],` yang berikut:<pre>"transf-rule": [<br />{<br />"offset": 4,<br />"size": 2,<br />"hex": "0002",<br />"transf": "transf1"<br />},<br />{<br />"offset": 4,<br />"size": 2,<br />"hex": "0000",<br />"transf": "transf2"<br />}<br />],</pre> | AWS Umum, IBM Mainframe, Cobol | 
| Unggah metadata JSON ke bucket Amazon S3. | Dari folder CloudShell kerja, masukkan AWS CLI perintah berikut untuk mengunggah metadata JSON ke bucket Amazon S3 Anda:<pre>aws s3 cp CLIENT.json s3://$bucket/layout/CLIENT.json</pre> | AWS Umum | 

### Konversikan file EBCDIC
<a name="convert-the-ebcdic-file"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kirim file EBCDIC ke bucket Amazon S3. | Dari folder CloudShell kerja, masukkan perintah berikut untuk mengirim file EBCDIC ke bucket Amazon S3:<pre>aws s3 cp mdu/sample-data/CLIENT.EBCDIC.txt s3://$bucket/input/</pre> Kami menyarankan Anda mengatur folder yang berbeda untuk file input (EBCDIC) dan output (ASCII) agar tidak memanggil fungsi konversi Lambda lagi saat file ASCII diunggah ke bucket Amazon S3. | AWS Umum | 
| Periksa outputnya. | Dari folder CloudShell kerja, masukkan perintah berikut untuk memeriksa apakah file ASCII dihasilkan di bucket Amazon S3 Anda:<pre>aws s3 ls s3://$bucket/</pre> Konversi data dapat memakan waktu beberapa detik untuk terjadi. Kami menyarankan Anda memeriksa file ASCII beberapa kali.Setelah file ASCII tersedia, masukkan perintah berikut untuk melihat konten file yang dikonversi di bucket Amazon S3. Sesuai kebutuhan, Anda dapat mengunduhnya atau menggunakannya langsung dari bucket Amazon S3:<pre>aws s3 cp s3://$bucket/CLIENT.ASCII.txt - | head</pre>Periksa konten file ASCII:<pre>0|0|220|<br />1|1|HERBERT MOHAMED|1958-08-31|BACHELOR|0010000.00|<br />1|2|36|THE ROE AVENUE|<br />2|1|JAYLEN GEORGE|1969-05-29|ELEMENTARY|0020000.00|<br />2|2|365|HEATHFIELD ESPLANADE|<br />3|1|MIKAEEL WEBER|1982-02-17|MASTER|0030000.00|<br />3|2|4555|MORRISON STRAND|<br />4|1|APRIL BARRERA|1967-01-12|DOCTOR|0030000.00|<br />4|2|1311|MARMION PARK|<br />5|1|ALEEZA PLANT|1985-03-01|BACHELOR|0008000.00|</pre> | AWS Umum | 

### Bersihkan lingkungan
<a name="clean-the-environment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| (Opsional) Siapkan variabel dan folder. | Jika Anda kehilangan koneksi dengan CloudShell, sambungkan kembali dan kemudian masukkan perintah berikut untuk mengubah direktori ke folder kerja:<pre>cd workdir</pre>Pastikan bahwa variabel lingkungan didefinisikan:<pre>bucket=<your_bucket_name><br />account=<your_account_number><br />region=<your_region_code></pre> | AWS Umum | 
| Hapus konfigurasi notifikasi untuk bucket. | Dari folder CloudShell kerja, jalankan perintah berikut untuk menghapus konfigurasi pemberitahuan acara Amazon S3:<pre>aws s3api put-bucket-notification-configuration \<br />--bucket=$bucket \<br />--notification-configuration="{}"</pre> | AWS Umum | 
| Hapus fungsi Lambda. | Dari folder CloudShell kerja, masukkan perintah berikut untuk menghapus fungsi Lambda untuk konverter EBCDIC:<pre>aws lambda delete-function \<br />--function-name E2A</pre> | AWS Umum | 
| Hapus peran dan kebijakan IAM. | Dari folder CloudShell kerja, masukkan perintah berikut untuk menghapus peran dan kebijakan konverter EBCDIC:<pre>aws iam delete-role-policy \<br />--role-name E2AConvLambdaRole \<br />--policy-name E2AConvLambdaPolicy<br /><br />aws iam delete-role \<br />--role-name E2AConvLambdaRole</pre> | AWS Umum | 
| Hapus file yang dihasilkan di bucket Amazon S3. | Dari folder CloudShell kerja, masukkan perintah berikut untuk menghapus file yang dihasilkan di bucket Amazon S3:<pre>aws s3 rm s3://$bucket/layout --recursive<br />aws s3 rm s3://$bucket/input --recursive<br />aws s3 rm s3://$bucket/CLIENT.ASCII.txt</pre> | AWS Umum | 
| Hapus folder kerja. | Dari folder CloudShell kerja, masukkan perintah berikut untuk menghapus `workdir` dan isinya:<pre>cd ..; rm -Rf workdir</pre> | AWS Umum | 

## Sumber daya terkait
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-resources"></a>
+ [Utilitas Data Mainframe README](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md) () GitHub
+ [Set karakter EBCDIC (dokumentasi](https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set) IBM)
+ [EBCDIC ke ASCII (dokumentasi IBM](https://www.ibm.com/docs/en/iis/11.7.0?topic=tables-ebcdic-ascii))
+ [COBOL](https://www.ibm.com/docs/en/i/7.6.0?topic=languages-cobol) (dokumentasi IBM)
+ [Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) (dokumentasi)AWS Lambda 

# Mengkonversi file data mainframe dengan layout rekaman yang kompleks menggunakan Micro Focus
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus"></a>

*Peter West, Amazon Web Services*

## Ringkasan
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-summary"></a>

Catatan: AWS Mainframe Modernization Layanan (pengalaman Lingkungan Runtime Terkelola) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Pola ini menunjukkan kepada Anda cara mengonversi file data mainframe dengan data non-teks dan tata letak rekaman kompleks dari EBCDIC (Extended Binary Coded Decimal Interchange Code) pengkodean karakter ke pengkodean karakter ASCII (American Standard Code for Information Interchange) dengan menggunakan file struktur Fokus Mikro. Untuk menyelesaikan konversi file, Anda harus melakukan hal berikut:

1. Siapkan file sumber tunggal yang menjelaskan semua item data dan rekam tata letak di lingkungan mainframe Anda.

1. Buat file struktur yang berisi tata letak catatan data dengan menggunakan Editor File Data Fokus Mikro sebagai bagian dari Alat File Data Klasik Fokus Mikro atau Alat File Data. File struktur mengidentifikasi data non-teks sehingga Anda dapat mengonversi file mainframe dengan benar dari EBCDIC ke ASCII.

1. Uji file struktur dengan menggunakan Classic Data File Tools atau Data File Tools.

## Prasyarat dan batasan
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Micro Focus Enterprise Developer untuk Windows, tersedia melalui [AWS Mainframe Modernisasi](https://aws.amazon.com/mainframe-modernization/)

**Versi produk**
+ Micro Focus Enterprise Server 7.0 dan yang lebih baru

## Alat
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-tools"></a>
+ [Micro Focus Enterprise Developer](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-8D6B7358-AC35-4DAF-A445-607D8D97EBB2.html) menyediakan lingkungan berjalan untuk aplikasi yang dibuat dengan varian lingkungan pengembangan terintegrasi (IDE) dari Enterprise Developer.
+ [Alat File Data Micro Focus Classic](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-06115324-0FBC-4CB7-BE9D-04BCFEA5821A.html) membantu Anda mengonversi, menavigasi, mengedit, dan membuat file data. Alat File Data Klasik termasuk [Data File Converter](https://www.microfocus.com/documentation/visual-cobol/vc60/VS2017/BKFHFHDFCV.html), [Record Layout Editor](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/BKFHFHRLMF.html), dan [Data File Editor](https://www.microfocus.com/documentation/visual-cobol/vc60/VS2017/BKFHFHDFED.html).
+ [Alat File Data](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-B1BCB613-6947-451C-8F71-72FB8254076A.html) Fokus Mikro membantu Anda membuat, mengedit, dan memindahkan file data. Alat File Data termasuk [Editor File Data](https://www.microfocus.com/documentation/visual-cobol/vc60/VS2017/BKFHFHDFED.html), [Utilitas Konversi File, dan Utilitas](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/BKFHFHCONV.html) [Baris Perintah Struktur File Data](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-E84348EB-A93A-481A-A47C-61B0E1C076E6.html).

## Epik
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-epics"></a>

### Siapkan file sumber
<a name="prepare-the-source-file"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Identifikasi komponen sumber. | Identifikasi semua tata letak rekaman yang mungkin untuk file, termasuk definisi ulang yang berisi data non-teks.Jika Anda memiliki tata letak yang berisi definisi ulang, Anda harus memfaktorkan tata letak ini ke tata letak unik yang menggambarkan setiap kemungkinan permutasi struktur data. Biasanya, tata letak catatan file data dapat dijelaskan oleh arketipe berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Untuk informasi selengkapnya tentang membuat tata letak rekaman yang diratakan untuk file yang berisi tata letak rekaman kompleks, lihat [Menghosting ulang aplikasi EBCDIC](https://docs.aws.amazon.com/prescriptive-guidance/latest/mainframe-rehost-ebcdic-ascii/introduction.html) di lingkungan ASCII untuk migrasi mainframe. | Pengembang aplikasi | 
| Identifikasi kondisi tata letak rekaman. | Untuk file dengan beberapa tata letak rekaman atau file yang berisi tata letak kompleks dengan klausa REDEFINES, identifikasi data dan kondisi dalam catatan yang dapat Anda gunakan untuk menentukan tata letak mana yang akan digunakan selama konversi. Kami menyarankan Anda mendiskusikan tugas ini dengan pakar materi pelajaran (UKM) yang memahami program yang memproses file-file ini.Misalnya, file mungkin berisi dua jenis rekaman yang berisi data non-teks. Anda dapat memeriksa sumbernya dan mungkin menemukan kode yang mirip dengan yang berikut ini:<pre>MOVE "M" TO PART-TYPE<br /> MOVE "MAIN ASSEMBLY" TO PART-NAME<br />MOVE "S" TO PART-TYPE<br /> MOVE "SUB ASSEMBLY 1" TO PART-NAME</pre>Kode ini membantu Anda mengidentifikasi hal-hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Anda dapat mendokumentasikan nilai yang digunakan oleh bidang ini untuk mengaitkan tata letak rekaman dengan catatan data yang benar dalam file. | Pengembang aplikasi | 
| Membangun file sumber. | Jika file dijelaskan melalui beberapa file sumber atau jika tata letak rekaman berisi data non-teks yang berada di bawah klausa REDEFINES, maka buat file sumber baru yang berisi tata letak rekaman. Program baru tidak perlu mendeskripsikan file menggunakan pernyataan SELECT dan FD. Program ini hanya dapat berisi deskripsi catatan sebagai 01 tingkat dalam Working-Storage.Anda dapat membuat file sumber untuk setiap file data atau membuat file sumber master yang menjelaskan semua file data. | Pengembang aplikasi | 
| Kompilasi file sumber. | Kompilasi file sumber untuk membangun kamus data. Kami menyarankan Anda mengkompilasi file sumber dengan menggunakan set karakter EBCDIC. Jika direktif IBMCOMP atau arahan ODOSLIDE sedang digunakan, maka Anda harus menggunakan arahan ini dalam file sumber juga.IBMCOMP mempengaruhi penyimpanan byte bidang COMP dan ODOSLIDE mempengaruhi padding pada struktur YANG BERBEDA TERJADI. Jika arahan ini tidak disetel dengan benar, maka alat konversi tidak akan membaca catatan data dengan benar. Ini menghasilkan data yang buruk dalam file yang dikonversi. | Pengembang aplikasi | 

### (Opsi A) Buat file struktur menggunakan Alat File Data Klasik
<a name="option-a-create-the-structure-file-using-classic-data-file-tools"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mulai alat dan muat kamus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 
| Buat tata letak catatan default. | Gunakan tata letak rekaman default untuk semua catatan yang tidak cocok dengan tata letak bersyarat apa pun.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Tata letak default muncul di panel **Layouts** dan dapat diidentifikasi oleh ikon folder merah. | Pengembang aplikasi | 
| Buat tata letak catatan bersyarat. | Gunakan tata letak catatan bersyarat bila ada lebih dari satu tata letak rekaman dalam sebuah file.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 

### (Opsi B) Buat file struktur menggunakan Alat File Data
<a name="option-b-create-the-structure-file-using-data-file-tools"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mulai alat dan muat kamus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 
| Buat tata letak catatan default. | Gunakan tata letak catatan default untuk semua catatan yang tidak cocok dengan tata letak bersyarat apa pun.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Tata letak default muncul di panel **Layouts** dan dapat diidentifikasi dengan ikon “D” biru. | Pengembang aplikasi | 
| Buat tata letak catatan bersyarat. | Gunakan tata letak catatan bersyarat bila ada lebih dari satu tata letak rekaman dalam sebuah file.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 

### (Opsi A) Uji file struktur menggunakan Alat File Data Klasik
<a name="option-a-test-the-structure-file-using-classic-data-file-tools"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Uji file data EBCDIC. | Konfirmasikan bahwa Anda dapat menggunakan file struktur Anda untuk melihat file data uji EBCDIC dengan benar.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 

### (Opsi B) Uji file struktur menggunakan Alat File Data
<a name="option-b-test-the-structure-file-using-data-file-tools"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Uji file data EBCDIC. | Konfirmasikan bahwa Anda dapat menggunakan file struktur Anda untuk melihat file data uji EBCDIC dengan benar.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 

### Uji konversi file data
<a name="test-data-file-conversion"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Uji Konversi Berkas EBCDIC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | Pengembang aplikasi | 

## Sumber daya terkait
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-resources"></a>
+ [Fokus Mikro](https://www.microfocus.com/en-us/products/enterprise-suite/overview) (dokumentasi Fokus Mikro)
+ [Mainframe dan kode lama](https://aws.amazon.com/blogs/?awsf.blog-master-category=category%23mainframe-and-legacy) (postingan Blog AWS)
+ [AWS Prescriptive Guidance (dokumentasi](https://docs.aws.amazon.com/prescriptive-guidance/) AWS)
+ [Dokumentasi AWS](https://docs.aws.amazon.com/index.html) (dokumentasi AWS)
+ [Referensi Umum AWS](https://docs.aws.amazon.com/general/latest/gr/Welcome.html) (dokumentasi AWS)
+ [Glosarium AWS (dokumentasi](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html) AWS)

# Menerapkan lingkungan untuk aplikasi Blu Age kontainer dengan menggunakan Terraform
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform"></a>

*Richard Milner-Watts, Amazon Web Services*

## Ringkasan
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-summary"></a>

Migrasi beban kerja mainframe lama ke arsitektur cloud modern dapat menghilangkan biaya pemeliharaan mainframe—biaya yang hanya meningkat seiring bertambahnya usia lingkungan. Namun, migrasi pekerjaan dari mainframe dapat menimbulkan tantangan unik. Sumber daya internal mungkin tidak akrab dengan logika pekerjaan, dan kinerja tinggi mainframe pada tugas-tugas khusus ini bisa sulit untuk ditiru jika dibandingkan dengan komoditas, digeneralisasi. CPUs Menulis ulang pekerjaan ini bisa menjadi usaha besar dan membutuhkan upaya yang signifikan.

Blu Age mengubah beban kerja mainframe lama menjadi kode Java modern, yang kemudian dapat Anda jalankan sebagai wadah.

Pola ini menyediakan contoh arsitektur tanpa server untuk menjalankan aplikasi kontainer yang telah dimodernisasi dengan alat Blu Age. File HashiCorp Terraform yang disertakan akan membangun arsitektur aman untuk orkestrasi kontainer Blu Age, mendukung tugas batch dan layanan waktu nyata.

Untuk informasi selengkapnya tentang memodernisasi beban kerja Anda dengan menggunakan layanan Blu Age dan AWS, lihat publikasi AWS Prescriptive Guidance ini:
+ [Menjalankan beban kerja mainframe yang telah dimodernisasi dengan Blu Age pada infrastruktur tanpa server AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Kontainerisasi beban kerja mainframe yang telah dimodernisasi oleh Blu Age](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)

[Untuk bantuan menggunakan Blu Age untuk memodernisasi beban kerja mainframe Anda, hubungi tim Blu Age dengan memilih **Hubungi pakar kami** di situs web Blu Age.](https://www.bluage.com/) Untuk bantuan dalam memigrasikan beban kerja modern Anda ke AWS, mengintegrasikannya dengan layanan AWS, dan memindahkannya ke produksi, hubungi manajer akun AWS Anda atau isi formulir AWS [Professional Services](https://pages.awscloud.com/AWS-Professional-Services.html).

## Prasyarat dan batasan
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-prereqs"></a>

**Prasyarat**
+ Contoh aplikasi Blu Age dalam wadah yang disediakan oleh [beban kerja mainframe Containerize yang telah](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html) dimodernisasi oleh pola Blu Age. Aplikasi sampel menyediakan logika untuk menangani pemrosesan input dan output untuk aplikasi modern, dan dapat berintegrasi dengan arsitektur ini.
+ Terraform diperlukan untuk menyebarkan sumber daya ini.

**Batasan**
+ Amazon Elastic Container Service (Amazon ECS) membatasi sumber daya tugas yang dapat disediakan untuk wadah. Sumber daya ini termasuk CPU, RAM, dan penyimpanan. Misalnya, saat menggunakan Amazon ECS dengan AWS Fargate, batas [sumber daya tugas berlaku](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html).

**Versi produk**

Solusi ini diuji dengan versi berikut:
+ Terraform 1.3.6
+ Penyedia AWS Terraform 4.46.0

## Arsitektur
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-architecture"></a>

**Tumpukan teknologi sumber**
+ Usia Blu
+ Terraform

**Tumpukan teknologi target**
+ Edisi yang Kompatibel dengan Amazon Aurora PostgreSQL
+ AWS Backup
+ Amazon Elastic Container Registry (Amazon ECR)
+ Amazon ECS
+ AWS Identity and Access Management Service (IAM)
+ Server Manajemen Kunci AWS (AWS KMS)
+ AWS Secrets Manager
+ Amazon Simple Notification Service (Amazon SNS)
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Step Functions
+ AWS Systems Manager

**Arsitektur target**

Diagram berikut menunjukkan arsitektur solusi.

![\[Deskripsi mengikuti diagram.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/12825490-2622-4f0b-80c9-2c5076d50fa3/images/c0708b0a-aa36-458a-8d6c-d42e3dec7727.png)


1. Solusinya menerapkan peran IAM berikut:
   + Peran tugas batch
   + Peran eksekusi tugas Batch
   + Peran tugas layanan
   + Peran eksekusi tugas layanan
   + Peran Step Functions
   + Peran AWS Backup
   + Peran Pemantauan yang Ditingkatkan RDS.

   Peran tersebut sesuai dengan prinsip akses yang paling tidak diistimewakan.

1. Amazon ECR digunakan untuk menyimpan gambar kontainer yang diatur oleh pola ini.

1. AWS Systems Manager Parameter Store menyediakan data konfigurasi tentang setiap lingkungan ke definisi tugas Amazon ECS saat runtime.

1. AWS Secrets Manager menyediakan data konfigurasi sensitif tentang lingkungan ke definisi tugas Amazon ECS saat runtime. Data telah dienkripsi oleh AWS KMS.

1. Modul Terraform membuat definisi tugas Amazon ECS untuk semua tugas real-time dan batch.

1. Amazon ECS menjalankan tugas batch dengan menggunakan AWS Fargate sebagai mesin komputasi. Ini adalah tugas berumur pendek, dimulai seperti yang dipersyaratkan oleh AWS Step Functions.

1. Amazon Aurora PostgreSQL kompatibel menyediakan database untuk mendukung aplikasi modern. Ini menggantikan database mainframe seperti IBM Db2 atau IBM IMS DB.

1. Amazon ECS menjalankan layanan berumur panjang untuk memberikan beban kerja real-time yang dimodernisasi. Aplikasi stateless ini berjalan secara permanen dengan kontainer yang tersebar di Availability Zone.

1. Network Load Balancer digunakan untuk memberikan akses ke beban kerja real-time. Network Load Balancer mendukung protokol sebelumnya, seperti IBM CICS. Atau, Anda dapat menggunakan Application Load Balancer dengan beban kerja berbasis HTTP.

1. Amazon S3 menyediakan penyimpanan objek untuk input dan output pekerjaan. Wadah harus menangani operasi tarik dan dorong ke Amazon S3 untuk menyiapkan direktori kerja untuk aplikasi Blu Age.

1. Layanan AWS Step Functions digunakan untuk mengatur menjalankan tugas Amazon ECS untuk memproses beban kerja batch.

1. Topik SNS untuk setiap beban kerja batch digunakan untuk mengintegrasikan aplikasi modern dengan sistem lain, seperti email, atau untuk memulai tindakan tambahan, seperti mengirimkan objek keluaran dari Amazon S3 ke FTP.

**catatan**  
Secara default, solusinya tidak memiliki akses ke internet. Pola ini mengasumsikan bahwa virtual private cloud (VPC) akan terhubung ke jaringan lain menggunakan layanan [seperti AWS](https://aws.amazon.com/transit-gateway/) Transit Gateway. Dengan demikian, beberapa titik akhir VPC antarmuka digunakan untuk memberikan akses ke layanan AWS yang digunakan oleh solusi. Untuk mengaktifkan akses internet langsung, Anda dapat menggunakan sakelar di modul Terraform untuk mengganti titik akhir VPC dengan gateway internet dan sumber daya terkait.

**Otomatisasi dan skala**

Penggunaan sumber daya tanpa server di seluruh pola ini membantu memastikan bahwa, dengan memperkecil, ada beberapa batasan pada skala desain ini. Ini mengurangi *kekhawatiran tetangga yang bising*, seperti persaingan untuk sumber daya komputasi yang mungkin dialami pada mainframe asli. Batch task dapat dijadwalkan untuk berjalan secara bersamaan sesuai kebutuhan.

Wadah individu dibatasi oleh ukuran maksimum yang didukung oleh Fargate. Untuk informasi selengkapnya, lihat bagian [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html#fargate-tasks-size](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html#fargate-tasks-size) di dokumentasi Amazon ECS.

Untuk [menskalakan beban kerja real-time secara horizontal](https://nathanpeck.com/amazon-ecs-scaling-best-practices/), Anda dapat menambahkan kontainer.

## Alat
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-tools"></a>

**Layanan AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) adalah mesin database relasional yang dikelola sepenuhnya dan sesuai dengan ACID yang membantu Anda mengatur, mengoperasikan, dan menskalakan penerapan PostgreSQL.
+ [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) adalah layanan terkelola penuh yang membantu Anda memusatkan dan mengotomatiskan perlindungan data di seluruh Layanan AWS, di cloud, dan di tempat.
+ [Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)) adalah layanan registri gambar kontainer terkelola yang aman, terukur, dan andal.
+ [Amazon Elastic Container Service (Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)) adalah layanan manajemen kontainer yang cepat dan dapat diskalakan yang membantu Anda menjalankan, menghentikan, dan mengelola kontainer di klaster.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
+ [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 Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) adalah layanan orkestrasi tanpa server yang membantu Anda menggabungkan AWS Lambda fungsi dan lainnya Layanan AWS untuk membangun aplikasi yang penting bagi bisnis.
+ [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.

**Layanan lainnya**
+ [HashiCorp Terraform](https://www.terraform.io/docs) adalah alat infrastruktur sebagai kode (IAc) yang membantu Anda menggunakan kode untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud. Pola ini menggunakan Terraform untuk membuat arsitektur sampel.

**Repositori kode**

Kode sumber untuk pola ini tersedia di repositori GitHub [Blu Age Sample ECS Infrastructure (Terraform)](https://github.com/aws-samples/aws-blu-age-sample-ecs-infrastructure-using-terraform#aws-blu-age-sample-ecs-infrastructure-terraform).

## Praktik terbaik
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-best-practices"></a>
+ Untuk lingkungan pengujian, gunakan fitur seperti `forceDate` opsi untuk mengonfigurasi aplikasi modern untuk menghasilkan hasil pengujian yang konsisten dengan selalu berjalan selama periode waktu yang diketahui.
+ Sesuaikan setiap tugas satu per satu untuk mengkonsumsi jumlah sumber daya yang optimal. Anda dapat menggunakan [Amazon CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) untuk mendapatkan panduan tentang potensi kemacetan.

## Epik
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-epics"></a>

### Mempersiapkan lingkungan untuk penyebaran
<a name="prepare-the-environment-for-deployment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning kode sumber solusi. | Kloning kode solusi dari [GitHub proyek](https://github.com/aws-samples/aws-blu-age-sample-ecs-infrastructure-using-terraform). | DevOps insinyur | 
| Bootstrap lingkungan dengan menerapkan sumber daya untuk menyimpan status Terraform. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html) | DevOps insinyur | 

### Menyebarkan infrastruktur solusi
<a name="deploy-the-solution-infrastructure"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tinjau dan perbarui konfigurasi Terraform. | Di direktori root, buka file `main.tf,` tinjau isinya, dan pertimbangkan untuk melakukan pembaruan berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html) | DevOps insinyur | 
| Terapkan file Terraform. | Dari terminal Anda, jalankan `terraform apply` perintah untuk menyebarkan semua sumber daya. Tinjau perubahan yang dihasilkan oleh Terraform, dan masukkan **ya** untuk memulai build.Perhatikan bahwa dibutuhkan waktu lebih dari 15 menit untuk menyebarkan infrastruktur ini. | DevOps insinyur | 

### (Opsional) Menyebarkan aplikasi kontainer Blu Age yang valid
<a name="optional-deploy-a-valid-blu-age-containerized-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Dorong gambar wadah Blu Age ke Amazon ECR. | Dorong wadah ke repositori Amazon ECR yang Anda buat di epik sebelumnya. Untuk petunjuk, lihat [dokumentasi Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html).Buat catatan URI gambar kontainer. | DevOps insinyur | 
| Perbarui Terraform untuk mereferensikan gambar wadah Blu Age. | Perbarui file `main.tf`**** untuk mereferensikan gambar kontainer yang Anda unggah. | DevOps insinyur | 
| Menerapkan ulang file Terraform. | Dari terminal Anda, jalankan `terraform apply` untuk menyebarkan semua sumber daya. Tinjau pembaruan yang disarankan dari Terraform, lalu masukkan **ya** untuk melanjutkan penerapan. | DevOps insinyur | 

## Sumber daya terkait
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-resources"></a>
+ [Usia Blu](https://www.bluage.com/)
+ [Menjalankan beban kerja mainframe yang telah dimodernisasi dengan Blu Age pada infrastruktur tanpa server AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Kontainerisasi beban kerja mainframe yang telah dimodernisasi oleh Blu Age](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)

# Hasilkan wawasan z/OS data Db2 dengan menggunakan dan AWS Mainframe Modernization Amazon Q di Quick Sight
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight"></a>

*Shubham Roy, Roshna Razack, dan Santosh Kumar Singh, Amazon Web Services*

## Ringkasan
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-summary"></a>

Catatan: AWS Mainframe Modernization Layanan (pengalaman Lingkungan Runtime Terkelola) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Jika organisasi Anda menghosting data penting bisnis di lingkungan mainframe IBM Db2, mendapatkan wawasan dari data tersebut sangat penting untuk mendorong pertumbuhan dan inovasi. Dengan membuka kunci data mainframe, Anda dapat membangun intelijen bisnis yang lebih cepat, aman, dan terukur untuk mempercepat pengambilan keputusan, pertumbuhan, dan inovasi berbasis data di Amazon Web Services () Cloud.AWS

Pola ini menyajikan solusi untuk menghasilkan wawasan bisnis dan membuat narasi yang dapat dibagikan dari data mainframe di IBM Db2 untuk tabel. z/OS Perubahan data mainframe dialirkan ke topik [Amazon Managed Streaming for Apache Kafka (Amazon](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) MSK [AWS Mainframe Modernization )](https://docs.aws.amazon.com/m2/latest/userguide/precisely.html) menggunakan Replikasi Data dengan Tepat. Menggunakan [konsumsi streaming Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html), data topik MSK Amazon disimpan di tabel gudang data Amazon [Redshift Tanpa Server untuk analitik di Amazon](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-whatis.html) Quick Sight.

Setelah data tersedia di Quick Sight, Anda dapat menggunakan petunjuk bahasa alami dengan [Amazon Q di Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-gen-bi.html) untuk membuat ringkasan data, mengajukan pertanyaan, dan menghasilkan cerita data. Anda tidak perlu menulis kueri SQL atau mempelajari alat intelijen bisnis (BI).

**Konteks bisnis**

Pola ini menyajikan solusi untuk analisis data mainframe dan kasus penggunaan wawasan data. Dengan menggunakan pola, Anda membangun dasbor visual untuk data perusahaan Anda. Untuk mendemonstrasikan solusinya, pola ini menggunakan perusahaan perawatan kesehatan yang menyediakan rencana medis, gigi, dan penglihatan kepada anggotanya di AS. Dalam contoh ini, demografi anggota dan informasi rencana disimpan di IBM Db2 untuk tabel data. z/OS Dasbor visual menunjukkan hal berikut:
+ Distribusi anggota berdasarkan wilayah
+ Distribusi anggota berdasarkan jenis kelamin
+ Distribusi anggota berdasarkan usia
+ Distribusi anggota berdasarkan jenis rencana
+ Anggota yang belum menyelesaikan imunisasi preventif

Untuk contoh distribusi anggota menurut wilayah dan anggota yang belum menyelesaikan imunisasi preventif, lihat bagian Informasi tambahan.

Setelah membuat dasbor, Anda menghasilkan cerita data yang menjelaskan wawasan dari analisis sebelumnya. Cerita data memberikan rekomendasi untuk meningkatkan jumlah anggota yang telah menyelesaikan imunisasi preventif.

## Prasyarat dan batasan
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS. Solusi ini dibangun dan diuji di Amazon Linux 2 di Amazon Elastic Compute Cloud (Amazon EC2).
+ Virtual Private Cloud (VPC) dengan subnet yang dapat diakses oleh sistem mainframe Anda.
+ Database mainframe dengan data bisnis. Untuk contoh data yang digunakan untuk membangun dan menguji solusi ini, lihat bagian *Lampiran.*
+ Ubah pengambilan data (CDC) diaktifkan pada tabel Db2 z/OS . [Untuk mengaktifkan CDC pada Db2 z/OS, lihat dokumentasi IBM.](https://www.ibm.com/docs/en/daafz/7.5?topic=cdc-enabling-data-capture-changes)
+ Tepatnya Connect CDC untuk z/OS diinstal pada z/OS sistem yang menghosting database sumber. CDC Tepat Connect untuk z/OS gambar disediakan sebagai file zip dalam [AWS Mainframe Modernization - Replikasi Data untuk IBM z/OS Amazon](https://aws.amazon.com/marketplace/pp/prodview-doe2lroefogia?applicationId=AWSMPContessa&ref_=beagle&sr=0-1) Machine Image (AMI). Untuk menginstal Connected Connect CDC z/OS di mainframe, lihat dokumentasi [Instalasi yang tepat](https://help.precisely.com/r/AWS-Mainframe-Modernization/Latest/en-US/AWS-Mainframe-Modernization-Data-Replication-for-IBM-z/OS/Install-Precisely-Connect-CDC-z/OS).

**Batasan**
+ Data Db2 mainframe Anda harus berada dalam tipe data yang didukung oleh Accepently Connect CDC. Untuk daftar tipe data yang didukung, lihat [dokumentasi CDC Connect dengan tepat](https://help.precisely.com/r/AWS-Mainframe-Modernization/Latest/en-US/AWS-Mainframe-Modernization-Data-Replication-for-IBM-z/OS/Data-replication-overview/Supported-source-data-types).
+ Data Anda di Amazon MSK harus dalam tipe data yang didukung oleh Amazon Redshift. Untuk daftar tipe data yang didukung, lihat dokumentasi [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html).
+ Amazon Redshift memiliki perilaku dan batas ukuran yang berbeda untuk tipe data yang berbeda. Untuk informasi selengkapnya, lihat [dokumentasi Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html#materialized-view-streaming-ingestion-limitations).
+ Data hampir real-time di Quick Sight bergantung pada interval penyegaran yang disetel untuk database Amazon Redshift.
+ Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [Layanan AWS berdasarkan Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Amazon Q in Quick Sight saat ini tidak tersedia di setiap Wilayah yang mendukung Quick Sight. Untuk titik akhir tertentu, lihat halaman [titik akhir dan kuota Layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

**Versi produk**
+ AWS Mainframe Modernization Replikasi Data dengan Tepatnya versi 4.1.44
+ Python versi 3.6 atau yang lebih baru
+ Apache Kafka versi 3.5.1****

## Arsitektur
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-architecture"></a>

**Arsitektur target**

Diagram berikut menunjukkan arsitektur untuk menghasilkan wawasan bisnis dari data mainframe dengan menggunakan [Replikasi AWS Mainframe Modernization Data dengan Tepatnya dan](https://aws.amazon.com/mainframe-modernization/capabilities/data-replication/) Amazon Q di Quick Sight.

![\[Proses tujuh langkah dari z/OS mainframe ke Amazon. QuickSight\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/cddb6d20-14ae-4276-90d8-14df435db824.png)


Diagram menunjukkan alur kerja berikut:

1. Agen Pembaca Log Tepatnya membaca data dari log Db2 dan menulis data ke penyimpanan sementara pada sistem file OMVS di mainframe.

1. Agen Penerbit membaca log Db2 mentah dari penyimpanan sementara.

1. Daemon pengontrol lokal mengautentikasi, mengotorisasi, memantau, dan mengelola operasi.

1. Agen Terapkan diterapkan di Amazon EC2 dengan menggunakan AMI yang telah dikonfigurasi sebelumnya. Ini terhubung dengan Agen Penerbit melalui daemon pengontrol dengan menggunakan TCP/IP. Agen Terapkan mendorong data ke MSK Amazon menggunakan beberapa pekerja untuk throughput tinggi.

1. Para pekerja menulis data ke topik MSK Amazon dalam format JSON. Sebagai target perantara untuk pesan yang direplikasi, Amazon MSK menyediakan kemampuan failover yang sangat tersedia dan otomatis.

1. Amazon Redshift streaming ingestion menyediakan latensi rendah, konsumsi data berkecepatan tinggi dari Amazon MSK ke database Amazon Redshift Serverless. Prosedur tersimpan di Amazon Redshift melakukan rekonsiliasi data perubahan mainframe (insert/update/deletes) ke dalam tabel Amazon Redshift. Tabel Amazon Redshift ini berfungsi sebagai sumber analisis data untuk Quick Sight.

1. Pengguna mengakses data di Quick Sight untuk analisis dan wawasan. Anda dapat menggunakan Amazon Q di Quick Sight untuk berinteraksi dengan data dengan menggunakan petunjuk bahasa alami.

## Alat
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat menskalakannya atau masuk.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
+ [Amazon Managed Streaming for Apache Kafka (Amazon](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) MSK) adalah layanan yang dikelola sepenuhnya yang membantu Anda membangun dan menjalankan aplikasi yang menggunakan Apache Kafka untuk memproses data streaming.
+ [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) adalah layanan intelijen bisnis skala cloud (BI) yang membantu Anda memvisualisasikan, menganalisis, dan melaporkan data Anda dalam satu dasbor. Pola ini menggunakan kemampuan BI generatif Amazon Q di Quick Sight.
+ [Amazon Redshift Serverless](https://aws.amazon.com/redshift/redshift-serverless/) adalah opsi tanpa server Amazon Redshift yang membuatnya lebih efisien untuk menjalankan dan menskalakan analitik dalam hitungan detik tanpa perlu menyiapkan dan mengelola infrastruktur gudang data.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.

**Alat-alat lainnya**
+ [Connect CDC](https://support.precisely.com/products/connect-cdc-formerly-sqdata/) mengumpulkan dan mengintegrasikan data dari sistem lama ke dalam platform cloud dan data.

**Repositori kode**

Kode untuk pola ini tersedia di repositori GitHub [Mainframe\$1 DataInsights \$1change\$1data\$1reconciliation](https://github.com/aws-samples/Mainframe_DataInsights_change_data_reconcilition). Kode ini adalah prosedur yang disimpan di Amazon Redshift. Prosedur tersimpan ini merekonsiliasi perubahan data mainframe (menyisipkan, memperbarui, dan menghapus) dari Amazon MSK ke dalam tabel Amazon Redshift. Tabel Amazon Redshift ini berfungsi sebagai sumber analisis data untuk Quick Sight.

## Praktik terbaik
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-best-practices"></a>
+ Ikuti [praktik terbaik](https://docs.aws.amazon.com/msk/latest/developerguide/bestpractices.html) saat menyiapkan kluster MSK Amazon Anda.
+ Ikuti [praktik terbaik penguraian data](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html#materialized-view-streaming-recommendations) Amazon Redshift untuk meningkatkan kinerja.
+ Saat Anda membuat peran AWS Identity and Access Management (IAM) untuk pengaturan Tepatnya, ikuti prinsip hak istimewa terkecil dan berikan izin minimum yang diperlukan untuk melakukan tugas. Untuk informasi selengkapnya, lihat [Berikan hak istimewa terkecil](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) dan [praktik terbaik Keamanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam dokumentasi IAM.

## Epik
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-epics"></a>

### Mengatur Replikasi AWS Mainframe Modernization Data dengan Tepat di Amazon EC2
<a name="set-up-m2long-data-replication-with-precisely-on-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan grup keamanan. | Untuk terhubung ke daemon pengontrol dan kluster MSK Amazon, [buat grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) untuk instance tersebut. EC2 Tambahkan aturan masuk dan keluar berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Perhatikan nama grup keamanan. Anda perlu mereferensikan nama saat meluncurkan EC2 instance dan mengonfigurasi cluster MSK Amazon. | DevOps insinyur, AWS DevOps | 
| Buat kebijakan IAM dan peran IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | DevOps insinyur, administrator sistem AWS | 
| Menyediakan sebuah EC2 instance. | Untuk menyediakan EC2 instans untuk menjalankan Excently CDC dan terhubung ke Amazon MSK, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator AWS, DevOps insinyur | 

### Siapkan Amazon MSK
<a name="set-up-msk"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat cluster MSK Amazon. | Untuk membuat cluster MSK Amazon, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Cluster yang disediakan khas membutuhkan waktu hingga 15 menit untuk membuatnya. Setelah cluster dibuat, statusnya berubah dari **Creating** menjadi **Active**. | AWS DevOps, Administrator Cloud | 
| Mengatur SASL/SCRAM otentikasi. | Untuk menyiapkan SASL/SCRAM otentikasi untuk kluster MSK Amazon, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Arsitek awan | 
| Buat topik MSK Amazon. | Untuk membuat topik MSK Amazon, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator awan | 

### Konfigurasikan Mesin Terapkan dengan Tepat di Amazon EC2
<a name="configure-the-precisely-apply-engine-on-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan skrip Tepat untuk mereplikasi perubahan data. | Untuk menyiapkan skrip CDC Connect yang tepat untuk mereplikasi data yang diubah dari mainframe ke topik MSK Amazon, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Misalnya file.ddl, lihat bagian [Informasi tambahan](#generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-additional). | Pengembang aplikasi, arsitek Cloud | 
| Hasilkan kunci ACL jaringan. | Untuk menghasilkan kunci network access control list (network ACL), lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Arsitek cloud, AWS DevOps | 

### Siapkan lingkungan sumber mainframe
<a name="prepare-the-mainframe-source-environment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan default di layar ISPF. | Untuk mengonfigurasi pengaturan default di Fasilitas Produktivitas Sistem Interaktif (ISPF), ikuti petunjuk dalam dokumentasi [Tepatnya](https://help.precisely.com/r/AWS-Mainframe-Modernization/Latest/en-US/AWS-Mainframe-Modernization-Data-Replication-for-IBM-z/OS/Install-Precisely-Connect-CDC-z/OS/Start-ISPF-Panel-Interface). | Administrator sistem mainframe | 
| Konfigurasikan daemon pengontrol. | Untuk mengkonfigurasi daemon pengontrol, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator sistem mainframe | 
| Mengonfigurasi penerbit. | Untuk mengkonfigurasi penerbit, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator sistem mainframe | 
| Perbarui file konfigurasi daemon. | Untuk memperbarui detail penerbit di file konfigurasi daemon pengontrol, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator sistem mainframe | 
| Buat pekerjaan untuk memulai daemon controller. | Untuk membuat pekerjaan, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator sistem mainframe | 
| Hasilkan file JCL penerbit tangkapan. | Untuk membuat file JCL penerbit tangkapan, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator sistem mainframe | 
| Periksa dan perbarui CDC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Administrator sistem mainframe | 
| Kirim file JCL. | Kirimkan file JCL berikut yang Anda konfigurasikan pada langkah sebelumnya:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Setelah Anda mengirimkan file JCL, Anda dapat memulai Apply Engine di Tepat pada EC2 instance. | Administrator sistem mainframe | 

### Jalankan dan validasi CDC
<a name="run-and-validate-cdc"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mulai Apply Engine dan validasi CDC. | Untuk memulai Apply Engine pada EC2 instance dan memvalidasi CDC, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Arsitek cloud, Pengembang aplikasi | 
| Validasi catatan tentang topik MSK Amazon. | Untuk membaca pesan dari topik Kafka, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Pengembang aplikasi, arsitek Cloud | 

### Menyimpan data perubahan mainframe di gudang data Amazon Redshift Tanpa Server
<a name="store-mainframe-change-data-in-an-rsslong-data-warehouse"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan Amazon Redshift Tanpa Server. | [Untuk membuat gudang data Amazon Redshift Tanpa Server, ikuti petunjuk dalam dokumentasi.AWS](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html)Di dasbor Amazon Redshift Tanpa Server, validasi bahwa namespace dan workgroup telah dibuat dan tersedia. Untuk contoh pola ini, prosesnya mungkin memakan waktu 2-5 menit. | Insinyur data | 
| Siapkan peran IAM dan kebijakan kepercayaan yang diperlukan untuk streaming konsumsi. | Untuk mengatur konsumsi streaming Amazon Redshift Tanpa Server dari Amazon MSK, lakukan berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Insinyur data | 
| Hubungkan Amazon Redshift Tanpa Server ke Amazon MSK. | Untuk terhubung ke topik MSK Amazon, buat skema eksternal di Amazon Redshift Tanpa Server. Di Amazon Redshift query editor v2, jalankan perintah SQL berikut, ganti `'iam_role_arn'` dengan peran yang Anda buat sebelumnya dan ganti `'MSK_cluster_arn` 'dengan ARN untuk cluster Anda.<pre>CREATE EXTERNAL SCHEMA member_schema<br />FROM MSK<br />IAM_ROLE 'iam_role_arn'<br />AUTHENTICATION iam<br />URI 'MSK_cluster_arn';</pre> | Insinyur migrasi | 
| Buat tampilan yang terwujud. | Untuk menggunakan data dari topik MSK Amazon di Amazon Redshift Tanpa Server, buat tampilan terwujud. Di Amazon Redshift query editor v2, jalankan perintah SQL berikut, ganti `<MSK_Topic_name>` dengan nama topik MSK Amazon Anda.<pre>CREATE MATERIALIZED VIEW member_view<br />AUTO REFRESH YES<br />AS SELECT<br />kafka_partition, <br />kafka_offset, <br />refresh_time, <br />json_parse(kafka_value) AS Data<br />FROM member_schema.<MSK_Topic_name><br />WHERE CAN_JSON_PARSE(kafka_value); <br /></pre> | Insinyur migrasi | 
| Buat tabel target di Amazon Redshift. | Tabel Amazon Redshift memberikan masukan untuk Quick Sight. Pola ini menggunakan tabel `member_dtls` dan`member_plans`, yang cocok dengan tabel sumber Db2 pada mainframe.Untuk membuat dua tabel di Amazon Redshift, jalankan perintah SQL berikut di editor kueri Amazon Redshift v2:<pre>-- Table 1: members_dtls<br />CREATE TABLE members_dtls (<br /> memberid INT ENCODE AZ64,<br /> member_name VARCHAR(100) ENCODE ZSTD,<br /> member_type VARCHAR(50) ENCODE ZSTD,<br /> age INT ENCODE AZ64,<br /> gender CHAR(1) ENCODE BYTEDICT,<br /> email VARCHAR(100) ENCODE ZSTD,<br /> region VARCHAR(50) ENCODE ZSTD<br />) DISTSTYLE AUTO;<br /><br />-- Table 2: member_plans<br />CREATE TABLE member_plans (<br /> memberid INT ENCODE AZ64,<br /> medical_plan CHAR(1) ENCODE BYTEDICT,<br /> dental_plan CHAR(1) ENCODE BYTEDICT,<br /> vision_plan CHAR(1) ENCODE BYTEDICT,<br /> preventive_immunization VARCHAR(50) ENCODE ZSTD<br />) DISTSTYLE AUTO;</pre> | Insinyur migrasi | 
| Buat prosedur tersimpan di Amazon Redshift. | Pola ini menggunakan prosedur tersimpan untuk menyinkronkan data perubahan (`INSERT`,`UPDATE`,`DELETE`) dari mainframe sumber ke tabel gudang data Amazon Redshift target untuk analitik di Quick Sight.Untuk membuat prosedur tersimpan di Amazon Redshift, gunakan editor kueri v2 untuk menjalankan kode prosedur tersimpan yang ada di repositori. GitHub  | Insinyur migrasi | 
| Baca dari tampilan terwujud streaming dan muat ke tabel target. | Prosedur tersimpan membaca perubahan data dari tampilan streaming yang terwujud dan memuat perubahan data ke tabel target. Untuk menjalankan prosedur yang disimpan, gunakan perintah berikut:<pre>call SP_Members_Load();</pre>Anda dapat menggunakan [Amazon EventBridge](https://aws.amazon.com/eventbridge/) untuk menjadwalkan pekerjaan di gudang data Amazon Redshift untuk memanggil prosedur tersimpan ini berdasarkan persyaratan latensi data Anda. EventBridge menjalankan pekerjaan pada interval tetap. Untuk memantau apakah panggilan sebelumnya ke prosedur selesai, Anda mungkin perlu menggunakan mekanisme seperti mesin [AWS Step Functions](https://aws.amazon.com/step-functions/)status. Untuk informasi selengkapnya, lihat sumber daya berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Pilihan lain adalah menggunakan editor kueri Amazon Redshift v2 untuk menjadwalkan penyegaran. Untuk informasi selengkapnya, lihat [Menjadwalkan kueri dengan editor kueri v2](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-schedule-query.html). | Insinyur migrasi | 

### Connect Quick Sight ke data di Amazon Redshift
<a name="connect-quick-sight-to-data-in-rs"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mengatur Quick Sight. | Untuk mengatur Quick Sight, ikuti instruksi dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html). | Insinyur migrasi | 
| Siapkan koneksi aman antara Quick Sight dan Amazon Redshift. | Untuk mengatur koneksi yang aman antara Quick Sight dan Amazon Redshift, lakukan hal berikut[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Insinyur migrasi | 
| Buat kumpulan data untuk Quick Sight. | Untuk membuat kumpulan data Quick Sight dari Amazon Redshift, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Insinyur migrasi | 
| Bergabunglah dengan kumpulan data. | Untuk membuat analitik di Quick Sight, gabungkan dua tabel dengan mengikuti instruksi dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/joining-data.html#create-a-join).Di panel **Gabung Konfigurasi**, pilih **Left** for **Join type**. Di bawah **klausa Gabung, gunakan**. `memberid from member_plans = memberid from members_details` | Insinyur migrasi | 

### Dapatkan wawasan bisnis dari data mainframe dengan menggunakan Amazon Q di Quick Sight
<a name="get-business-insights-from-the-mainframe-data-by-using-qdev-in-quick-sight"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan Amazon Q di Quick Sight. | Untuk menyiapkan Amazon Q dalam kemampuan BI generatif Quick Sight, ikuti petunjuk dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/generative-bi-get-started.html). | Insinyur migrasi | 
| Analisis data mainframe dan buat dasbor visual. | Untuk menganalisis dan memvisualisasikan data Anda di Quick Sight, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Setelah selesai, Anda dapat mempublikasikan dasbor untuk dibagikan dengan orang lain di organisasi Anda. Sebagai contoh, lihat *Dasbor visual Mainframe* di bagian [Informasi tambahan](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html#generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-additional). | Insinyur migrasi | 

### Buat cerita data dengan Amazon Q di Quick Sight dari data mainframe
<a name="create-a-data-story-with-qdev-in-quick-sight-from-mainframe-data"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat cerita data. | Buat cerita data untuk menjelaskan wawasan dari analisis sebelumnya, dan buat rekomendasi untuk meningkatkan imunisasi preventif bagi anggota:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Insinyur migrasi | 
| Lihat cerita data yang dihasilkan. | Untuk melihat cerita data yang dihasilkan, pilih cerita itu di halaman **Cerita data**. | Insinyur migrasi | 
| Edit cerita data yang dihasilkan. | [Untuk mengubah format, tata letak, atau visual dalam cerita data, ikuti petunjuk dalam dokumentasi.AWS](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-edit.html) | Insinyur migrasi | 
| Bagikan cerita data. | Untuk berbagi cerita data, ikuti instruksi dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-share.html). | Insinyur migrasi | 

## Pemecahan masalah
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Untuk pembuatan kumpulan data Quick Sight ke Amazon Redshift, `Validate Connection` telah salah. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | 
| Mencoba menyalakan mesin Apply pada EC2 instance mengembalikan kesalahan berikut:`-bash: sqdeng: command not found` | Ekspor jalur `sqdata` instalasi dengan menjalankan perintah berikut:<pre>export PATH=$PATH:/usr/sbin:/opt/precisely/di/sqdata/bin</pre> | 
| Mencoba memulai Apply Engine mengembalikan salah satu kesalahan koneksi berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Periksa spool mainframe untuk memastikan bahwa pekerjaan daemon controller berjalan. | 

## Sumber daya terkait
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-resources"></a>
+ [Hasilkan wawasan dengan menggunakan AWS Mainframe Modernization dan Amazon Q di Quick Sight](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html?did=pg_card&trk=pg_card) (pola)
+ [Hasilkan wawasan data dengan menggunakan AWS Mainframe Modernization dan Amazon Q di Quick Sight](https://youtu.be/F8b7l79p6TM?si=gASuQtFbMVuEm7IJ) (demo)
+ [AWS Mainframe Modernization - Replikasi Data untuk IBM z/OS](https://aws.amazon.com/marketplace/pp/prodview-doe2lroefogia?sr=0-4&ref_=beagle&applicationId=AWSMPContessa)
+ [Konsumsi streaming Amazon Redshift ke tampilan yang terwujud](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html)

## Informasi tambahan
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-additional"></a>

**Contoh file.ddl**

*members\$1details.ddl*

```
CREATE TABLE MEMBER_DTLS (
memberid INTEGER NOT NULL,
member_name VARCHAR(50),
member_type VARCHAR(20),
age INTEGER,
gender CHAR(1),
email VARCHAR(100),
region VARCHAR(20)
);
```

*member\$1plans.ddl*

```
CREATE TABLE MEMBER_PLANS (
memberid INTEGER NOT NULL,
medical_plan CHAR(1),
dental_plan CHAR(1),
vision_plan CHAR(1),
preventive_immunization VARCHAR(20)
);
```

**Contoh file.sqd**

Ganti **`<kafka topic name>`**dengan nama topik MSK Amazon Anda.

*script.sqd*

```
-- Name: DB2ZTOMSK: DB2z To MSK JOBNAME DB2ZTOMSK;REPORT EVERY 1;OPTIONS CDCOP('I','U','D');-- Source Descriptions
JOBNAME DB2ZTOMSK;
REPORT EVERY 1;
OPTIONS CDCOP('I','U','D');

-- Source Descriptions 
BEGIN GROUP DB2_SOURCE; 
DESCRIPTION DB2SQL /var/precisely/di/sqdata/apply/DB2ZTOMSK/ddl/mem_details.ddl AS MEMBER_DTLS;
DESCRIPTION DB2SQL /var/precisely/di/sqdata/apply/DB2ZTOMSK/ddl/mem_plans.ddl AS MEMBER_PLANS; 
END GROUP;
-- Source Datastore 
DATASTORE cdc://<zos_host_name>/DB2ZTOMSK/DB2ZTOMSK
OF UTSCDC 
AS CDCIN 
DESCRIBED BY GROUP DB2_SOURCE ;
-- Target Datastore(s)
DATASTORE 'kafka:///<kafka topic name>/key'
OF JSON
AS TARGET
DESCRIBED BY GROUP DB2_SOURCE;
PROCESS INTO TARGET
SELECT
{
REPLICATE(TARGET)
}
FROM CDCIN;
```

**Dasbor visual mainframe**

Data visual berikut dibuat oleh Amazon Q di Quick Sight untuk pertanyaan analisis `show member distribution by region`*.*

![\[Northeast dan Southwest memiliki 8 anggota, Southwest memiliki 5 anggota, Midwest memiliki 4 anggota.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/b40a784c-c1fc-444b-b6df-8bd1f7a6abaa.png)


Data visual berikut dibuat oleh Amazon Q di Quick Sight untuk pertanyaan tersebut`show member distribution by Region who have not completed preventive immunization, in pie chart`.

![\[Pertunjukan Tenggara 6, Southwest menunjukkan 5, dan Midwest menunjukkan 4.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/8a95da3c-df4a-458b-9cfe-44e34f80a235.png)


**Keluaran cerita data**

Tangkapan layar berikut menunjukkan bagian dari cerita data yang dibuat oleh Amazon Q di Quick Sight untuk prompt`Build a data story about Region with most numbers of members. Also show the member distribution by age, member distribution by gender. Recommend how to motivate members to complete immunization. Include 4 points of supporting data for this pattern`.

Dalam pendahuluan, cerita data merekomendasikan memilih wilayah dengan anggota terbanyak untuk mendapatkan dampak terbesar dari upaya imunisasi.

![\[Layar pengantar untuk analisis berdasarkan geografis, demografis, dan usia basis anggota.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/40f13957-2db4-42b7-b7a4-a0dd3dad6899.png)


Cerita data memberikan analisis nomor anggota untuk empat wilayah. Wilayah Timur Laut, Barat Daya, dan Tenggara memiliki anggota terbanyak.

![\[Wilayah Timur Laut dan Barat Daya memiliki 8 anggota, Tenggara memiliki 6 anggota, dan Midwest memiliki 4 anggota.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/fc6ed0a0-b79c-4397-95ac-a2fc4c87482a.png)


Kisah data menyajikan analisis anggota berdasarkan usia.

![\[Bagan yang menunjukkan bahwa basis anggota condong ke arah orang dewasa yang lebih muda dan setengah baya.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/8c56f1ec-3a2e-47a6-bbc4-3631782aa333.png)


Kisah data berfokus pada upaya imunisasi di Midwest.

![\[Rekomendasi untuk kampanye penjangkauan pribadi dan tantangan regional.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/84a647e8-c7d5-4637-94f0-03a611f899b3.png)


![\[Kelanjutan analisis cerita data, dengan hasil dan kesimpulan yang diantisipasi.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/fc9094fc-2a20-485d-b238-e5e4ec70f1d3.png)


## Lampiran
<a name="attachments-18e72bcb-1b9a-406a-8220-83aca7743ad2"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/18e72bcb-1b9a-406a-8220-83aca7743ad2/attachments/attachment.zip)

# Hasilkan wawasan data dengan menggunakan AWS Mainframe Modernization dan Amazon Q di Quick Sight
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight"></a>

*Shubham Roy, Roshna Razack, dan Santosh Kumar Singh, Amazon Web Services*

## Ringkasan
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-summary"></a>

Catatan: AWS Mainframe Modernization Layanan (pengalaman Lingkungan Runtime Terkelola) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Jika organisasi Anda menyimpan data penting bisnis di lingkungan mainframe, mendapatkan wawasan dari data tersebut sangat penting untuk mendorong pertumbuhan dan inovasi. Dengan membuka kunci data mainframe, Anda dapat membangun intelijen bisnis yang lebih cepat, aman, dan terukur untuk mempercepat pengambilan keputusan, pertumbuhan, dan inovasi berbasis data di Amazon Web Services () Cloud.AWS

[Pola ini menyajikan solusi untuk menghasilkan wawasan bisnis dan membuat narasi yang dapat dibagikan dari data mainframe dengan menggunakan transfer [AWS Mainframe Modernization file dengan](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer.html) BMC dan Amazon Q di Quick Sight.](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-gen-bi.html) Kumpulan data mainframe ditransfer ke Amazon Simple Storage Service ([Amazon S3) Simple Storage Service (Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) S3) dengan menggunakan transfer file dengan BMC. AWS Mainframe Modernization AWS Lambda Fungsi memformat dan menyiapkan file data mainframe untuk dimuat ke Quick Sight.

Setelah data tersedia di Quick Sight, Anda dapat menggunakan petunjuk bahasa alami dengan [Amazon Q](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-gen-bi.html) di Quick Sight untuk membuat ringkasan data, mengajukan pertanyaan, dan menghasilkan cerita data. Anda tidak perlu menulis kueri SQL atau mempelajari alat intelijen bisnis (BI).

**Konteks bisnis**

Pola ini menyajikan solusi untuk analisis data mainframe dan kasus penggunaan wawasan data. Dengan menggunakan pola, Anda membangun dasbor visual untuk data perusahaan Anda. Untuk mendemonstrasikan solusinya, pola ini menggunakan perusahaan perawatan kesehatan yang menyediakan rencana medis, gigi, dan penglihatan kepada anggotanya di AS. Dalam contoh ini, demografi anggota dan informasi rencana disimpan dalam kumpulan data mainframe. Dasbor visual menunjukkan hal berikut:
+ Distribusi anggota berdasarkan wilayah
+ Distribusi anggota berdasarkan jenis kelamin
+ Distribusi anggota berdasarkan usia
+ Distribusi anggota berdasarkan jenis rencana
+ Anggota yang belum menyelesaikan imunisasi preventif

Setelah membuat dasbor, Anda menghasilkan cerita data yang menjelaskan wawasan dari analisis sebelumnya. Cerita data memberikan rekomendasi untuk meningkatkan jumlah anggota yang telah menyelesaikan imunisasi preventif.

## Prasyarat dan batasan
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS
+ Kumpulan data mainframe dengan data bisnis
+ Akses untuk menginstal agen transfer file di mainframe

**Batasan**
+ File data mainframe Anda harus dalam salah satu format file yang didukung oleh Quick Sight. Untuk daftar format file yang didukung, lihat [Sumber data yang didukung](https://docs.aws.amazon.com/quicksuite/latest/userguide/supported-data-sources.html).
+ Pola ini menggunakan fungsi Lambda untuk mengonversi file mainframe menjadi format yang didukung oleh Quick Sight.

## Arsitektur
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-architecture"></a>

Diagram berikut menunjukkan arsitektur untuk menghasilkan wawasan bisnis dari data mainframe dengan menggunakan transfer AWS Mainframe Modernization file dengan BMC dan Amazon Q di Quick Sight.

![\[Deskripsi diagram arsitektur mengikuti diagram.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/6fe0f1d9-961c-4089-a746-e5b8d5fd6c1e.png)


Diagram menunjukkan alur kerja berikut:

1. Dataset mainframe yang berisi data bisnis ditransfer ke Amazon S3 dengan AWS Mainframe Modernization menggunakan transfer file dengan BMC.

1. Fungsi Lambda mengonversi file yang ada di bucket S3 tujuan transfer file ke format nilai yang dipisahkan koma (CSV).

1. Fungsi Lambda mengirimkan file yang dikonversi ke bucket S3 kumpulan data sumber.

1. Data dalam file dicerna oleh Quick Sight.

1. Pengguna mengakses data di Quick Sight. Anda dapat menggunakan Amazon Q di Quick Sight untuk berinteraksi dengan data dengan menggunakan petunjuk bahasa alami.

## Alat
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-tools"></a>

**Layanan AWS**
+ [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.
+ [AWS Mainframe Modernization transfer file dengan BMC](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer.html) mengonversi dan mentransfer kumpulan data mainframe ke Amazon S3 untuk kasus penggunaan modernisasi, migrasi, dan augmentasi mainframe.
+ [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) adalah layanan BI skala cloud yang membantu Anda memvisualisasikan, menganalisis, dan melaporkan data Anda dalam satu dasbor. Pola ini menggunakan kemampuan BI generatif [Amazon Q di Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/working-with-quicksight-q.html).
+ [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.

## Praktik terbaik
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-best-practices"></a>
+ [Saat Anda membuat peran AWS Identity and Access Management (IAM) untuk transfer AWS Mainframe Modernization file dengan BMC dan fungsi Lambda, ikuti prinsip hak istimewa paling sedikit.](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)
+ Pastikan kumpulan data sumber Anda telah [mendukung tipe data](https://docs.aws.amazon.com/quicksight/latest/user/supported-data-types-and-values.html) untuk Quick Sight. Jika kumpulan data sumber Anda berisi tipe data yang tidak didukung, konversikan ke tipe data yang didukung. Untuk informasi tentang tipe data mainframe yang tidak didukung dan cara mengonversinya menjadi tipe data yang didukung oleh Amazon Q di Quick Sight, lihat bagian [Sumber daya terkait](#generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-resources).

## Epik
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-epics"></a>

### Mengatur transfer AWS Mainframe Modernization file dengan BMC
<a name="set-up-m2long-file-transfer-with-bmc"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal agen transfer file. | Untuk menginstal agen transfer AWS Mainframe Modernization file, ikuti instruksi dalam [AWS dokumentasi](https://docs.aws.amazon.com/m2/latest/userguide/m2-agent-installation.html). | Administrator sistem mainframe | 
| Buat bucket S3 untuk transfer file mainframe. | [Buat bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) untuk menyimpan file output dari transfer AWS Mainframe Modernization file dengan BMC. Dalam diagram arsitektur, ini adalah bucket tujuan transfer file. | Insinyur migrasi | 
| Buat titik akhir transfer data. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Spesialis Modernisasi AWS Mainframe | 

### Konversi ekstensi nama file mainframe untuk integrasi Quick Sight
<a name="convert-the-mainframe-file-name-extension-for-quick-sight-integration"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat ember S3. | [Buat bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) untuk fungsi Lambda untuk menyalin file mainframe yang dikonversi dari sumber ke bucket tujuan akhir. | Insinyur migrasi | 
| Buat fungsi Lambda. | Untuk membuat fungsi Lambda yang mengubah ekstensi file dan menyalin file mainframe ke bucket tujuan, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Insinyur migrasi | 
| Buat pemicu Amazon S3 untuk menjalankan fungsi Lambda. | Untuk mengonfigurasi pemicu yang memanggil fungsi Lambda, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html)Untuk informasi selengkapnya, lihat [Tutorial: Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html). | Pimpin migrasi | 
| Berikan izin IAM untuk fungsi Lambda. | Izin IAM diperlukan untuk fungsi Lambda untuk mengakses tujuan transfer file dan bucket S3 kumpulan data sumber. Perbarui kebijakan yang terkait dengan peran eksekusi fungsi Lambda dengan mengizinkan `s3:GetObject` dan `s3:DeleteObject`**** izin**** untuk bucket S3 tujuan transfer file dan `s3:PutObject` akses untuk bucket S3 kumpulan data sumber.Untuk informasi selengkapnya, lihat**** bagian [Membuat kebijakan izin](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html#with-s3-example-create-policy) di *Tutorial: Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda*. | Pimpin migrasi | 

### Tentukan tugas transfer data mainframe
<a name="define-a-mainframe-data-transfer-task"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat tugas transfer untuk menyalin file mainframe ke bucket S3. | Untuk membuat tugas transfer file mainframe, ikuti instruksi dalam [AWS Mainframe Modernization dokumentasi](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer-transfer-tasks.html).**Tentukan pengkodean **halaman kode sumber** sebagai **IBM1047** dan pengkodean **halaman kode target** sebagai UTF-8.** | Insinyur migrasi | 
| Verifikasi tugas transfer. | Untuk memverifikasi bahwa transfer data berhasil, ikuti instruksi dalam [AWS Mainframe Modernization dokumentasi](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer-transfer-tasks.html#filetransfer-ts-view-console). Konfirmasikan bahwa file mainframe ada di bucket S3 tujuan transfer file. | Pimpin migrasi | 
| Verifikasi fungsi salinan Lambda. | Verifikasi bahwa fungsi Lambda dimulai dan file tersebut disalin dengan ekstensi.csv ke bucket S3 kumpulan data sumber.File csv yang dibuat oleh fungsi Lambda adalah file data input untuk Quick Sight. Misalnya data, lihat `Sample-data-member-healthcare-APG` file di bagian [Lampiran.](#attachments-53572abb-06c6-4dd7-add4-8fad7e9bfa68) | Pimpin migrasi | 

### Connect Quick Sight ke data mainframe
<a name="connect-quick-sight-to-the-mainframe-data"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mengatur Quick Sight. | Untuk mengatur Quick Sight, ikuti instruksi dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html). | Pimpin migrasi | 
| Buat kumpulan data untuk Quick Sight. | Untuk membuat kumpulan data untuk Quick Sight, ikuti petunjuk dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-s3.html). File data input adalah file mainframe yang dikonversi yang dibuat saat Anda menentukan tugas transfer data mainframe. | Pimpin migrasi | 

### Dapatkan wawasan bisnis dari data mainframe dengan menggunakan Amazon Q di Quick Sight
<a name="get-business-insights-from-the-mainframe-data-by-using-qdev-in-quick-sight"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan Amazon Q di Quick Sight. | Kemampuan ini membutuhkan Enterprise Edition. Untuk mengatur Amazon Q di Quick Sight, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Pimpin migrasi | 
| Analisis data mainframe dan buat dasbor visual. | Untuk menganalisis dan memvisualisasikan data Anda di Quick Sight, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html)Setelah selesai, Anda dapat mempublikasikan dasbor untuk dibagikan dengan orang lain di organisasi Anda. Sebagai contoh, lihat *Dasbor visual Mainframe* di bagian [Informasi tambahan](#generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-additional). | Insinyur migrasi | 

### Buat cerita data dengan Amazon Q di Quick Sight dari data mainframe
<a name="create-a-data-story-with-qdev-in-quick-sight-from-the-mainframe-data"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat cerita data. | Buat cerita data untuk menjelaskan wawasan dari analisis sebelumnya, dan buat rekomendasi untuk meningkatkan imunisasi preventif bagi anggota:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Insinyur migrasi | 
| Lihat cerita data yang dihasilkan. | Untuk melihat cerita data yang dihasilkan, ikuti petunjuk dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-view.html). | Pimpin migrasi | 
| Edit cerita data yang dihasilkan. | [Untuk mengubah format, tata letak, atau visual dalam cerita data, ikuti petunjuk dalam dokumentasi.AWS](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-edit.html) | Pimpin migrasi | 
| Bagikan cerita data. | Untuk berbagi cerita data, ikuti instruksi dalam [AWS dokumentasi](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-share.html). | Insinyur migrasi | 

## Pemecahan masalah
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Tidak dapat menemukan file mainframe atau kumpulan data yang dimasukkan dalam **Data menetapkan kriteria pencarian** untuk **Buat tugas transfer dalam transfer** AWS Mainframe Modernization file dengan BMC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | 

## Sumber daya terkait
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-resources"></a>

Untuk mengonversi tipe data mainframe seperti [PACKED-DECIMAL (COMP-3) atau [BINARY (COMP atau COMP-4)](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=v6-binary-comp-comp-4)](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=v6-packed-decimal-comp-3) ke tipe [data](https://docs.aws.amazon.com/quicksight/latest/user/supported-data-types-and-values.html) yang didukung oleh Quick Sight, lihat pola berikut:
+ [Konversi dan bongkar data EBCDIC ke ASCII dengan menggunakan Python AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)
+ [Konversi file mainframe dari format EBCDIC ke format ASCII yang dibatasi karakter di Amazon S3 menggunakan AWS Lambda](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda.html)

## Informasi tambahan
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-additional"></a>

**S3 CopyLambda .py**

Kode Python berikut dihasilkan dengan menggunakan prompt dengan Amazon Q di IDE:

```
#Create a lambda function triggered by S3. display the S3 bucket name and key
import boto3
s3 = boto3.client('s3')
def lambda_handler(event, context):
print(event)
bucket = event['Records'][0]['s3']['bucket']['name']
key = event['Records'][0]['s3']['object']['key']
print(bucket, key)
#If key starts with object_created, skip copy, print "copy skipped". Return lambda with key value.
if key.startswith('object_created'):
print("copy skipped")
return {
'statusCode': 200,
'body': key
}
# Copy the file from the source bucket to the destination bucket. Destination_bucket_name = 'm2-filetransfer-final-opt-bkt'. Destination_file_key = 'healthdata.csv'
copy_source = {'Bucket': bucket, 'Key': key}
s3.copy_object(Bucket='m2-filetransfer-final-opt-bkt', Key='healthdata.csv', CopySource=copy_source)
print("file copied")
#Delete the file from the source bucket.
s3.delete_object(Bucket=bucket, Key=key)
return {
'statusCode': 200,
'body': 'Copy Successful'
}
```

**Dasbor visual mainframe**

Data visual berikut dibuat oleh Amazon Q di Quick Sight untuk pertanyaan analisis `show member distribution by region`*.*

![\[Bagan yang menunjukkan jumlah anggota untuk barat daya, barat tengah, timur laut, dan tenggara.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/e5c1d049-407d-42ff-bc51-28f9d2b24d4f.png)


Data visual berikut dibuat oleh Amazon Q di Quick Sight untuk pertanyaan tersebut`show member distribution by Region who have not completed preventive immunization, in pie chart`.

![\[Pie chart showing preventive immunization incompletion by region: Southeast 40%, Southwest 33%, Midwest 27%.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/47efa1c1-54c9-47cc-b668-416090021d34.png)


**Keluaran cerita data**

Tangkapan layar berikut menunjukkan bagian dari cerita data yang dibuat oleh Amazon Q di Quick Sight untuk prompt `Build a data story about Region with most numbers of members. Also show the member distribution by medical plan, vision plan, dental plan. Recommend how to motivate members to complete immunization. Include 4 points of supporting data.`

Dalam pendahuluan, cerita data merekomendasikan memilih wilayah dengan anggota terbanyak untuk mendapatkan dampak terbesar dari upaya imunisasi.

![\[Halaman pengantar untuk cerita data yang berfokus pada tingkat penyelesaian imunisasi.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/4612fcc7-51fd-48a5-bc58-b6b0aa9b0ef3.png)


Kisah data memberikan analisis jumlah anggota untuk tiga wilayah teratas, dan menyebut Southwest sebagai wilayah terkemuka untuk berfokus pada upaya imunisasi.

![\[Pie chart showing member distribution by region, with Southwest and Northeast leading at 31% each.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/30d3b56b-3b92-4748-9cef-a73ff9339fee.png)


**catatan**  
Wilayah Barat Daya dan Timur Laut masing-masing memiliki delapan anggota. Namun, Southwest memiliki lebih banyak anggota yang tidak sepenuhnya divaksinasi, sehingga memiliki lebih banyak potensi untuk mendapatkan manfaat dari inisiatif untuk meningkatkan tingkat imunisasi.

## Lampiran
<a name="attachments-53572abb-06c6-4dd7-add4-8fad7e9bfa68"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/53572abb-06c6-4dd7-add4-8fad7e9bfa68/attachments/attachment.zip)

# Menerapkan otentikasi berbasis Microsoft Entra ID dalam aplikasi mainframe modern AWS Blu Age
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application"></a>

*Vishal Jaswani dan Rimpy Tewani, Amazon Web Services*

## Ringkasan
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-summary"></a>

**catatan**  
AWS Mainframe Modernization Layanan (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Aplikasi mainframe yang dimodernisasi dengan menggunakan pola refactoring, seperti yang oleh [AWS Mainframe Modernization Refactor with AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html), memerlukan integrasi mekanisme otentikasi yang cermat ke dalam arsitektur aplikasi baru. Integrasi ini biasanya ditujukan sebagai kegiatan pasca-modernisasi. Tugas dapat menjadi kompleks dan sering melibatkan migrasi atau eksternalisasi sistem otentikasi yang ada untuk menyelaraskan dengan standar keamanan modern dan praktik cloud-native. Pengembang perlu mempertimbangkan cara menerapkan otentikasi secara efektif saat mereka bekerja dalam batasan lingkungan runtime dan pustaka aplikasi yang dimodernisasi. Setelah modernisasi, AWS menyediakan cara untuk memudahkan Anda mengintegrasikan kode modern AWS Blu Age Anda dengan identitas dan sistem manajemen akses seperti Amazon [Cognito dan](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) (sebelumnya dikenal sebagai Azure AD).

Pola ini menjelaskan cara menerapkan mekanisme otentikasi dalam aplikasi modern Anda ketika penyedia otentikasi adalah Microsoft Entra ID, tanpa menghabiskan waktu untuk penelitian dan uji coba. Pola ini menyediakan:
+ Pustaka Angular yang teruji lapangan dan relevan dari Microsoft Authentication Library (MSAL) dan dokumentasi Microsoft Entra ID lainnya yang penting untuk implementasi otentikasi. 
+ Konfigurasi yang diperlukan pada AWS Blu Age Runtime untuk mengaktifkan Spring Security dengan menggunakan 2.0. OAuth 
+ Pustaka yang menangkap identitas pengguna yang diautentikasi dan meneruskannya ke Blu Age AWS Runtime.
+ Langkah-langkah keamanan yang kami rekomendasikan untuk diterapkan.
+ Kiat pemecahan masalah untuk masalah yang umum ditemui dengan pengaturan Microsoft Entra ID.

**catatan**  
Pola ini menggunakan pustaka OAuth ekstensi AWS Blu Age, yang disediakan untuk pelanggan sebagai bagian dari keterlibatan [Layanan AWS Profesional](https://aws.amazon.com/professional-services/) mereka. Perpustakaan ini bukan bagian dari AWS Blu Age Runtime.

## Prasyarat dan batasan
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-prereqs"></a>

**Prasyarat**
+ Aplikasi modern yang diproduksi oleh alat refactoring modernisasi mainframe AWS Blu Age. Pola ini digunakan [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)sebagai contoh aplikasi mainframe open source.
+ Perpustakaan OAuth ekstensi AWS Blu Age, yang disediakan oleh tim AWS Blu Age selama keterlibatan Anda dengan Layanan [AWS Profesional](https://aws.amazon.com/professional-services/).
+ Aktif Akun AWS untuk menyebarkan dan menguji aplikasi modern.
+ Keakraban dengan file konfigurasi AWS Blu Age dan dasar-dasar Microsoft Entra ID.

**Batasan**
+ Pola ini mencakup otentikasi OAuth 2.0 dan alur otorisasi berbasis token dasar. Skenario otorisasi lanjutan dan mekanisme kontrol akses berbutir halus tidak dalam cakupan.
+ Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [Layanan AWS berdasarkan Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Untuk titik akhir tertentu, lihat [Titik akhir dan kuota layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

**Versi produk**

Pola ini dikembangkan dengan menggunakan:
+ AWS Blu Age Runtime versi 4.1.0 (polanya juga berfungsi dengan versi yang lebih baru yang kompatibel ke belakang)
+ Pustaka MSAL versi 3.0.23
+ Kit Pengembangan Java (JDK) versi 17
+ Versi sudut 16.1

## Arsitektur
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-architecture"></a>

**Tumpukan teknologi sumber**

Dalam lingkungan mainframe yang khas, otentikasi diimplementasikan melalui profil pengguna. Profil ini mengidentifikasi pengguna ke sistem, menentukan siapa yang dapat masuk, dan menentukan fungsi mana yang dapat dilakukan pengguna pada sumber daya sistem. Profil pengguna dikelola oleh petugas keamanan atau administrator keamanan.

**Tumpukan teknologi target**
+ ID Microsoft Entra
+ Backend berbasis Java Spring Boot yang dimodernisasi
+ AWS Blu Age Runtime
+ Keamanan Musim Semi dengan OAuth 2.0
+ Aplikasi satu halaman sudut (SPA)

**Arsitektur target**

AWS Blu Age runtime mendukung otentikasi OAuth berbasis 2.0 secara default, sehingga pola menggunakan standar itu untuk melindungi backend. APIs

Diagram berikut menggambarkan aliran proses.

**catatan**  
Diagram mencakup Amazon Aurora sebagai contoh modernisasi basis data meskipun Aurora tidak termasuk dalam langkah-langkah untuk pola ini.

![\[Alur proses untuk otentikasi berbasis Entra ID untuk aplikasi AWS Blu Age.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/e51f24b8-178f-4974-aae9-23a0cc8540f5/images/0fdcdb22-9e46-4b02-86b2-395cba3e2f81.png)


di mana:

1. Pengguna mencoba mengautentikasi dengan Microsoft Entra ID.

1. Microsoft Entra ID mengembalikan token refresh, akses, dan ID yang digunakan aplikasi dalam panggilan berikutnya.

1. Pencegat MSAL menyertakan token akses di `Authorization` header permintaan HTTPS untuk memanggil AWS Blu Age Runtime.

1. `extension-oauth`Pustaka AWS Blu Age mengekstrak informasi pengguna dari header dengan menggunakan file konfigurasi AWS Blu Age Runtime (`application-main.yml`) dan menempatkan informasi ini dalam `SharedContext` objek sehingga logika bisnis dapat menggunakannya.
**catatan**  
`SharedContext`adalah komponen runtime yang disediakan oleh AWS Blu Age yang mengelola konteks aplikasi dan informasi status di seluruh aplikasi modern. Untuk informasi selengkapnya tentang komponen dan pembaruan AWS Blu Age Runtime, lihat [catatan rilis AWS Blu Age di dokumentasi](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html). AWS Mainframe Modernization Untuk informasi selengkapnya tentang `application-main.yml` file, lihat [Mengatur konfigurasi untuk AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html) dalam dokumentasi. AWS Mainframe Modernization 

1.  AWS Blu Age Runtime memeriksa apakah token ada. 

   1. Jika token ada, ia memeriksa validitas token dengan berkomunikasi dengan Microsoft Entra ID. 

   1. Jika token tidak ada, AWS Blu Age Runtime mengembalikan kesalahan dengan kode status HTTP 403.

1. Jika token valid, AWS Blue Age Runtime memungkinkan logika bisnis untuk melanjutkan. Jika token tidak valid, AWS Blu Age Runtime mengembalikan kesalahan dengan kode status HTTP 403.

**OAuth Alur kerja 2.0**

Untuk diagram tingkat tinggi alur kerja OAuth 2.0, lihat dokumentasi [Microsoft Entra](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#protocol-details).

## Alat
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools"></a>

**Layanan AWS**

[AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)menyediakan alat dan sumber daya untuk membantu Anda merencanakan dan mengimplementasikan migrasi dan modernisasi dari mainframe ke lingkungan runtime AWS terkelola. Anda dapat menggunakan fitur refactoring layanan ini, yang disediakan oleh AWS Blu Age, untuk mengonversi dan memodernisasi aplikasi mainframe lama Anda.

**catatan**  
AWS Mainframe Modernization Layanan (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

**Repositori kode**

 CardDemo Aplikasi telah diperbarui untuk menunjukkan integrasi dengan Microsoft Entra ID. Anda dapat mengakses kode dari [GitHub repositori untuk pola ini](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app).

**Konfigurasi backend**

Pola ini memerlukan perubahan pada file `application-main.yml`**** konfigurasi untuk mengaktifkan Spring Security dengan menggunakan OAuth 2.0 pada aplikasi backend.  `.yml`File terlihat seperti ini:

```
gapwalk-application.security: enabled
gapwalk-application:
  security: 
    identity: oauth
    issuerUri: ${issuerUrl}
    claim:
      claims:
        -
          claimName: upn
          claimMapValue: username
spring:
  autoconfigure:
    exclude:
     - org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration
     - org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration
  security:
    oauth2:
      client:
        registration: 
          azure:
            client-id: {clientId}
            client-secret: ${clientSecret}
            provider: azure
            authorization-grant-type: authorization_code
            redirect-uri: ${redirectUri}
            scope: openid
           
        provider:
          azure:
            authorization-uri: ${gapwalk-application.security.issuerUri}/oauth2/v2.0/authorize
            token-uri:  ${gapwalk-application.security.issuerUri}/oauth2/v2.0/token
            jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys
      resourceserver:
        jwt:
          jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys
```

**AWS Pustaka filter OAuth ekstensi Blu Age**

Perpustakaan OAuth ekstensi AWS Blu Age disediakan oleh tim AWS Blu Age selama keterlibatan Anda dengan Layanan [AWS Profesional](https://aws.amazon.com/professional-services/).

Pustaka ini membaca `claim.claims` konfigurasi dalam `application-main.yml` fie yang ditampilkan di blok kode sebelumnya. Konfigurasi ini adalah daftar. Setiap item dalam daftar memberikan dua nilai: `claimName` dan`claimMapValue`. `claimName`merupakan nama kunci dalam JSON Web Token (JWT) yang dikirim oleh frontend, dan `claimMapValue` merupakan nama kunci dalam. `SharedContext` Misalnya, jika Anda ingin menangkap ID pengguna di backend, atur `claimName` ke nama kunci di JWT yang menyimpan `userId` yang disediakan oleh Microsoft Entra ID, dan atur `claimMapValue` ke nama kunci untuk mengambil ID pengguna dalam kode backend.

Misalnya, jika Anda mengatur `UserId``claimMapValue`, Anda dapat menggunakan kode berikut untuk mengekstrak ID pengguna:

```
SharedContext.get().getValue("userId", [UserId]);
```

## Praktik terbaik
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-best-practices"></a>

Dalam penerapan pola ini, pertimbangkan pertimbangan keamanan penting berikut.

**penting**  
Pola ini memberikan dasar untuk integrasi otentikasi. Kami menyarankan Anda menerapkan langkah-langkah keamanan selain yang dibahas di bagian ini berdasarkan persyaratan bisnis Anda sebelum Anda menyebarkannya ke produksi.
+ **AWS keamanan konfigurasi.**Pindahkan nilai konfigurasi sensitif dari `application-main.yml` ke AWS Secrets Manager. Misalnya, konfigurasikan properti berikut dengan menggunakan Secrets Manager:

  ```
  security:
      oauth2:
        client:
          registration: 
            azure:
              client-id: {clientId}
              client-secret: ${clientSecret}
  ```

  Untuk informasi selengkapnya tentang cara menggunakan Secrets Manager untuk mengonfigurasi parameter AWS Blu Age, lihat [Rahasia AWS Blu Age Runtime di dokumentasi](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config-app-secrets.html). AWS Mainframe Modernization 
+ **Perlindungan lingkungan runtime.** Konfigurasikan lingkungan aplikasi modern dengan kontrol AWS keamanan yang tepat:

  ```
  server: 
    tomcat: 
      remoteip: 
       protocol-header: X-Forwarded-Proto 
       remote-ip-header: X-Forwarded-For 
    forward-headers-strategy: NATIVE
  ```
+ ** CloudWatch Pencatatan Amazon.** Pertimbangkan untuk menambahkan file`logback-spring.xml to src/main/resources`:

  ```
  <configuration> 
   <appender name="CLOUDWATCH" class="com.amazonaws.services.logs.logback.CloudWatchAppender">  
     <logGroup>/aws/bluage/application</logGroup> 
     <logStream>${AWS_REGION}-${ENVIRONMENT}</logStream> 
     <layout> 
      <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </layout> 
   </appender> 
  
   <root level="INFO"> 
   <appender-ref ref="CLOUDWATCH"/> 
   </root> 
  </configuration>
  ```

  Untuk informasi tentang mengaktifkan penelusuran dengan CloudWatch, lihat [Mengaktifkan jejak untuk mencatat korelasi dalam dokumentasi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html). CloudWatch 
+ **Konfigurasi dan penanganan token.** Konfigurasikan masa pakai token di Microsoft Entra ID agar selaras dengan persyaratan keamanan Anda. Tetapkan token akses untuk kedaluwarsa dalam 1 jam dan refresh token untuk kedaluwarsa dalam 24 jam. Dalam konfigurasi AWS Blu Age Runtime (`application-main.yml`), pastikan validasi JWT dikonfigurasi dengan benar dengan URI penerbit dan nilai audiens yang tepat dari pendaftaran aplikasi Entra ID Anda.

  Saat token kedaluwarsa dan di-refresh:

  1. Pencegat kesalahan aplikasi Angular menangani respons 401 dengan mendapatkan token baru melalui MSAL.

  1. Token baru dikirim dengan permintaan berikutnya.

  1.  OAuth Filter AWS Blu Age Runtime memvalidasi token baru dan secara otomatis memperbarui `SharedContext` dengan informasi pengguna saat ini. Ini memastikan bahwa logika bisnis terus memiliki akses ke konteks pengguna yang valid melalui `SharedContext.get().getValue()` panggilan.

  Untuk informasi selengkapnya tentang komponen AWS Blu Age Runtime dan pembaruannya, lihat catatan rilis [AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html).
+ **Keamanan Runtime AWS Blu Age.** `oauth2-ext`Pustaka yang disediakan oleh AWS Blu Age harus ditempatkan di lokasi direktori bersama yang benar (`{app-server-home}/shared/`) dengan izin file yang tepat. Verifikasi bahwa pustaka berhasil mengekstrak informasi pengguna JWTs dengan memeriksa populasi `SharedContext` objek di log Anda.
+ **Konfigurasi klaim khusus.** Dalam`application-main.yml`, tentukan klaim yang Anda butuhkan dari Microsoft Entra ID secara eksplisit. Misalnya, untuk menangkap email dan peran pengguna, tentukan:

  ```
  gapwalk-application:
    security:
      claim:
        claims:
          - claimName: upn
            claimMapValue: username
          - claimName: roles
            claimMapValue: userRoles
          - claimName: email
            claimMapValue: userEmail
  ```
+ **Penanganan kesalahan.** Tambahkan penanganan kesalahan untuk mengatasi kegagalan otentikasi di aplikasi Angular Anda; misalnya:

  ```
  @Injectable()
  export class AuthErrorInterceptor implements HttpInterceptor {
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
      return next.handle(request).pipe(
        catchError((error: HttpErrorResponse) => {
          if (error.status === 401) {
            // Handle token expiration
            this.authService.login();
          }
          if (error.status === 403) {
            // Handle unauthorized access
            this.router.navigate(['/unauthorized']);
          }
          return throwError(() => error);
        })
      );
    }
  }
  ```
+ **Konfigurasi batas waktu sesi.** Konfigurasikan pengaturan batas waktu sesi di AWS Blu Age Runtime dan Microsoft Entra ID. Misalnya, tambahkan kode berikut ke `application-main.yml` file Anda:

  ```
  server:
    servlet:
      session:
        timeout: 3600 # 1 hour in seconds
  ```
+ **MsalGuard.** Anda harus menerapkan MsalGuard fitur untuk semua rute yang dilindungi untuk mencegah akses yang tidak sah. Contoh:

  ```
  const routes: Routes = [
      { path: '', redirectTo: '/transaction-runner', pathMatch: 'full' },
      { path: 'transaction-runner', component: TransactionRunnerComponent, canActivate:guards },
      { path: 'user-info', component: UserInfoComponent, canActivate:guards },
      { path: 'term/:transid/:commarea', component: TermComponent, canActivate:guards },
  	{ path: 'code', component: TransactionRunnerComponent  }
  ];
  ```

  Rute yang tidak memiliki MsalGuard perlindungan akan dapat diakses tanpa otentikasi, berpotensi mengekspos fungsionalitas sensitif. Pastikan bahwa semua rute yang memerlukan otentikasi menyertakan penjaga dalam konfigurasinya.

## Epik
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-epics"></a>

### Mengatur ID Microsoft Entra
<a name="set-up-a-microsoft-entra-id"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan akun Microsoft Azure untuk membuat ID Entra. | Untuk opsi dan instruksi, lihat [situs web Microsoft Azure](https://azure.microsoft.com/en-us/free/). | Pengembang aplikasi | 
| Siapkan ID Microsoft Entra di aplikasi Anda. | [Untuk mempelajari cara menambahkan otentikasi Microsoft Entra ID B2C (Azure AD B2C) ke Angular SPA Anda, lihat dokumentasi Microsoft.](https://learn.microsoft.com/en-us/azure/active-directory-b2c/enable-authentication-angular-spa-app#add-the-authentication-components) Secara khusus:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Pengembang aplikasi | 

### Kloning repositori dan terapkan kode Blu Age Anda AWS
<a name="clone-the-repository-and-deploy-your-aws-blu-age-code"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning GitHub repositori untuk mendapatkan kode Angular yang diperlukan untuk otentikasi. | Jalankan perintah berikut untuk mengkloning [GitHub repositori](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app) yang disediakan dengan pola ini ke direktori kerja lokal Anda saat ini:<pre>git clone https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app.git</pre> | Pengembang aplikasi | 
| Terapkan kode modern AWS Blu Age di server Tomcat untuk mengimplementasikan otentikasi. | Untuk mengatur lingkungan lokal yang mencakup Tomcat dan server pengembangan Angular, ikuti langkah-langkah instalasi yang disediakan oleh tim AWS Blu Age sebagai bagian dari keterlibatan pelanggan Anda dengan Layanan AWS Profesional. | Pengembang aplikasi | 

### Bangun solusi otentikasi
<a name="build-the-authentication-solution"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Aktifkan keamanan AWS Blu Age Runtime untuk melindungi titik akhir AWS Blu Age REST API. | Konfigurasikan `application-main.yml` file yang digunakan AWS Blu Age Runtime sebagai berikut. Untuk contoh file ini, lihat bagian [Repositori kode](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) sebelumnya dalam pola ini.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Pengembang aplikasi | 
| Masukkan kode contoh dari lingkungan lokal Anda ke dalam basis kode Angular modern Blu Age Anda. | Untuk informasi tentang cara memasukkan contoh ke dalam basis kode Angular modern AWS Blu Age Anda, lihat bagian [repositori Kode sebelumnya](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) dalam pola ini. | Pengembang aplikasi | 
| Tempatkan `oauth2-ext` perpustakaan di direktori bersama. | **Tempatkan `oauth2-ext` perpustakaan di direktori**** bersama server aplikasi sehingga aplikasi modern **AWS **Blu Age Anda dapat menggunakannya.**Jalankan perintah berikut:<pre>cd oauth2-ext/target<br />cp extension-oauth-filter-<version>.jar /{app-server-home}/shared/</pre> | Pengembang aplikasi | 

### Menyebarkan solusi otentikasi
<a name="deploy-the-authentication-solution"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menyebarkan aplikasi frontend. | Jalankan perintah berikut untuk memulai aplikasi frontend secara lokal:<pre>npm install <br />ng serve --ssl<br />npm start</pre>Menambahkan `--ssl` flag ke `ng serve` perintah memastikan bahwa server pengembangan menggunakan HTTPS, yang lebih aman daripada protokol lain dan memberikan simulasi lingkungan produksi yang lebih baik. | Pengembang aplikasi | 
| Mulai aplikasi backend. | Mulai server Tomcat di Eclipse. | Pengembang aplikasi | 

### Uji aplikasi
<a name="test-the-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Uji fungsionalitas login. | Akses aplikasi yang digunakan secara lokal di `http://localhost:4200` untuk memverifikasi bahwa pengguna diminta untuk mengonfirmasi identitas mereka.HTTP digunakan di sini untuk tujuan demonstrasi. Dalam produksi atau lingkungan lain yang dapat diakses publik, Anda harus menggunakan HTTPS untuk keamanan. Bahkan untuk pengembangan lokal, kami menyarankan Anda mengatur HTTPS jika memungkinkan.Prompt login Microsoft akan muncul, dan pengguna yang dikonfigurasi di Microsoft Entra ID harus diizinkan untuk mengakses aplikasi. | Pengembang aplikasi | 
| Uji header otorisasi dalam permintaan. | Langkah-langkah berikut menggunakan [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)aplikasi sebagai contoh. Langkah-langkah pengujian untuk aplikasi modern lainnya akan bervariasi.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Pengembang aplikasi | 
| Uji fungsionalitas logout. | Pilih **Keluar** untuk keluar, dan coba akses aplikasi lagi. Ini harus menyajikan prompt login baru. | Pengembang aplikasi | 

## Pemecahan masalah
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Token yang dikeluarkan oleh Microsoft Entra ID tidak kompatibel dengan keamanan Spring Boot OAuth 2.0. | Untuk penyelesaian masalah ini, lihat [Microsoft Entra ID OAuth Flow](https://authguidance.com/azure-ad-troubleshooting/) di OAuth blog. | 
| Pertanyaan umum terkait token. | [Untuk memecahkan kode dan melihat konten token JWT, gunakan situs web https://jwt.io/.](https://jwt.io/) | 

## Sumber daya terkait
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-resources"></a>
+ [Untuk informasi tentang refactoring aplikasi Anda dengan menggunakan AWS Blu Age, lihat dokumentasi.AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html)
+ Untuk memahami cara kerja OAuth 2.0, lihat situs [web OAuth 2.0](https://oauth.net/2/).
+ Untuk gambaran umum tentang Microsoft Authentication Library (MSAL), lihat dokumentasi [Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview).
+ Untuk informasi tentang profil pengguna pada sistem AS/400, lihat [IBM i (AS400) tutorial](https://www.go4as400.com/subsystem-jobs-user-profile-in-as400/jobs.aspx?cid=14).
+ [Untuk alur otentikasi OAuth 2.0 dan OpenID Connect (OIDC) di platform identitas Microsoft, lihat dokumentasi Microsoft Entra.](https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols)

# Integrasikan Stonebranch Universal Controller dengan AWS Mainframe Modernisasi
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization"></a>

*Vaidy Sankaran dan Pablo Alonso Prieto, Amazon Web Services*

*Robert Lemieux dan Huseyin Gomleksizoglu, Cabang Batu*

## Ringkasan
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-summary"></a>

Catatan: AWS Mainframe Modernization Layanan (pengalaman Lingkungan Runtime Terkelola) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan AWS Mainframe Modernization Service (Managed Runtime Environment experience) jelajahi AWS Mainframe Modernization Service (Self-Managed Experience). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS Mainframe Modernization ketersediaan](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Pola ini menjelaskan cara mengintegrasikan [orkestrasi beban kerja Stonebranch Universal Automation Center (UAC) dengan layanan Modernisasi Mainframe](https://www.stonebranch.com/stonebranch-platform/universal-automation-center) [Amazon Web Services (](https://aws.amazon.com/mainframe-modernization/)AWS). Layanan AWS Mainframe Modernisasi memigrasikan dan memodernisasi aplikasi mainframe ke AWS Cloud. Ini menawarkan dua pola: [AWS Mainframe Modernization Replatform](https://aws.amazon.com/mainframe-modernization/patterns/replatform/) dengan teknologi Micro Focus Enterprise dan AWS [Mainframe Modernization Automated Refactor dengan AWS](https://aws.amazon.com/mainframe-modernization/patterns/refactor/?mainframe-blogs.sort-by=item.additionalFields.createdDate&mainframe-blogs.sort-order=desc) Blu Age.  

Stonebranch UAC adalah platform otomatisasi dan orkestrasi TI real-time. UAC dirancang untuk mengotomatiskan dan mengatur pekerjaan, aktivitas, dan alur kerja di seluruh sistem TI hybrid, dari lokal hingga AWS. Klien perusahaan yang menggunakan sistem mainframe beralih ke infrastruktur dan aplikasi modern yang berpusat pada cloud. Alat dan layanan profesional Stonebranch memfasilitasi migrasi penjadwal yang ada dan kemampuan otomatisasi ke AWS Cloud.

Saat memigrasikan atau memodernisasi program mainframe Anda ke AWS Cloud menggunakan layanan AWS Mainframe Modernization, Anda dapat menggunakan integrasi ini untuk mengotomatiskan penjadwalan batch, meningkatkan kelincahan, meningkatkan pemeliharaan, dan mengurangi biaya.

Pola ini memberikan instruksi untuk mengintegrasikan [penjadwal Stonebranch](https://www.stonebranch.com/) dengan aplikasi mainframe yang dimigrasikan ke runtime layanan Modernisasi AWS Mainframe Micro Focus Enterprise. Pola ini untuk arsitek solusi, pengembang, konsultan, spesialis migrasi, dan lainnya yang bekerja dalam migrasi, modernisasi, operasi, atau. DevOps

**Hasil yang ditargetkan**

Pola ini berfokus pada penyediaan hasil target berikut:
+ Kemampuan untuk menjadwalkan, mengotomatiskan, dan menjalankan pekerjaan batch mainframe yang berjalan di layanan AWS Mainframe Modernization (Microfocus runtime) dari Stonebranch Universal Controller.
+ Pantau proses batch aplikasi dari Stonebranch Universal Controller.
+ Start/Restart/Rerun/Stopproses batch secara otomatis atau manual dari Stonebranch Universal Controller.
+ Ambil hasil proses batch AWS Mainframe Modernization.
+ Tangkap CloudWatch log [AWS](https://aws.amazon.com/cloudwatch/) dari pekerjaan batch di Stonebranch Universal Controller.

## Prasyarat dan batasan
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Aplikasi Micro Focus [Bankdemo](https://d1vi4vxke6c2hu.cloudfront.net/demo/bankdemo_runtime.zip) dengan file job control language (JCL), dan proses batch yang diterapkan di lingkungan AWS Mainframe Modernization service (Micro Focus runtime)
+ [Pengetahuan dasar tentang cara membangun dan menyebarkan aplikasi mainframe yang berjalan di Micro Focus Enterprise Server](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf)
+ Pengetahuan dasar tentang Stonebranch Universal Controller
+ [Lisensi uji coba Stonebranch (hubungi Stonebranch)](https://www.stonebranch.com/)
+ Instans Windows atau Linux Amazon Elastic Compute Cloud (Amazon EC2) (misalnya, xlarge) dengan minimal empat core, memori 8 GB, dan ruang disk 2 GB
+ Apache Tomcat versi 8.5.x atau 9.0.x
+ Oracle Java Runtime Environment (JRE) atau OpenJDK versi 8 atau 11
+ [Amazon Aurora MySQL — Edisi yang Kompatibel](https://aws.amazon.com/rds/aurora/)
+ [Bucket Amazon Simple Storage Service (Amazon S3](https://aws.amazon.com/s3/)) untuk repositori ekspor
+ [Amazon Elastic File System (Amaon EFS)](https://aws.amazon.com/efs/) untuk koneksi agen Stonebranch Universal Message Service (OMS) untuk ketersediaan tinggi (HA)
+ Stonebranch Universal Controller 7.2 Agen Universal 7.2 File Instalasi
+ [Templat penjadwalan tugas](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) Modernisasi AWS Mainframe (versi rilis terbaru dari file.zip)

**Batasan**
+ Produk dan solusi telah diuji dan kompatibilitas divalidasi hanya dengan OpenJDK 8 dan 11.
+ Template penjadwalan tugas [aws-mainframe-modernization-stonebranch-integrasi](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) hanya akan berfungsi dengan layanan AWS Mainframe Modernization.
+ Template penjadwalan tugas ini hanya akan bekerja pada agen Stonebranch edisi Unix, Linux, atau Windows.
+ Beberapa layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [layanan AWS menurut Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Untuk titik akhir tertentu, lihat halaman [titik akhir dan kuota Layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

## Arsitektur
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-architecture"></a>

**Arsitektur negara sasaran**

Diagram berikut menunjukkan contoh lingkungan AWS yang diperlukan untuk pilot ini.

![\[Stonebranch UAC berinteraksi dengan lingkungan AWS Mainframe Modernisasi.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4a7bea37-0a5b-4663-902b-9b051e92f0cb.png)


1. Stonebranch Universal Automation Center (UAC) mencakup dua komponen utama: Universal Controller dan Universal Agents. Stonebranch OMS digunakan sebagai bus pesan antara pengontrol dan agen individu.

1. Stonebranch UAC Database digunakan oleh Universal Controller. Database dapat MySQL, Microsoft SQL Server, Oracle, atau Aurora MySQL — kompatibel.

1. [Layanan Modernisasi AWS Mainframe — Lingkungan runtime Micro Focus dengan aplikasi yang diterapkan. BankDemo ](https://aws.amazon.com/blogs/aws/modernize-your-mainframe-applications-deploy-them-in-the-cloud/) File BankDemo aplikasi akan disimpan dalam ember S3. Bucket ini juga berisi file JCL mainframe.

1. Stonebranch UAC dapat menjalankan fungsi-fungsi berikut untuk batch run:

   1. Mulai pekerjaan batch menggunakan nama file JCL yang ada di bucket S3 yang ditautkan ke layanan modernisasi mainframe AWS.

   1. Dapatkan status pekerjaan batch yang dijalankan.

   1. Tunggu hingga batch job run selesai.

   1. Ambil log dari pekerjaan batch yang dijalankan.

   1. Jalankan kembali pekerjaan batch yang gagal.

   1. Batalkan pekerjaan batch saat pekerjaan sedang berjalan.

1. Stonebranch UAC dapat menjalankan fungsi-fungsi berikut untuk aplikasi:

   1. Mulai Aplikasi

   1. Dapatkan Status Aplikasi

   1. Tunggu hingga Aplikasi dimulai atau dihentikan

   1. Hentikan Aplikasi

   1. Ambil Log operasi Aplikasi

**Konversi pekerjaan Stonebranch**

Diagram berikut mewakili proses konversi pekerjaan Stonebranch selama perjalanan modernisasi. Ini menjelaskan bagaimana jadwal pekerjaan dan definisi tugas diubah menjadi format yang kompatibel yang dapat menjalankan tugas batch AWS Mainframe Modernization.

![\[Proses dari mainframe ke konversi ke penjadwal pekerjaan di Amazon EC2 dengan file JCL di Amazon S3.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4d2ed890-f143-455e-8180-4d967b71c494.png)


1. Untuk proses konversi, definisi pekerjaan diekspor dari sistem mainframe yang ada.

1. File JCL dapat diunggah ke bucket S3 untuk aplikasi Modernisasi Mainframe sehingga file JCL ini dapat digunakan oleh layanan AWS Mainframe Modernization.

1. Alat konversi mengonversi definisi pekerjaan yang diekspor ke tugas UAC.

1. Setelah semua definisi tugas dan jadwal pekerjaan dibuat, objek ini akan diimpor ke Universal Controller. Tugas yang dikonversi kemudian menjalankan proses di layanan AWS Mainframe Modernization alih-alih menjalankannya di mainframe.

**Arsitektur UAC Stonebranch**

Diagram arsitektur berikut merupakan active-active-passive model ketersediaan tinggi (HA) Universal Controller. Stonebranch UAC digunakan di beberapa Availability Zone untuk menyediakan ketersediaan tinggi dan mendukung pemulihan bencana (DR).

![\[Lingkungan multi-AZ dengan DR dan pengontrol, Amazon EFS, Aurora, dan bucket S3 untuk pencadangan.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/3f94b855-c146-4fcb-902c-5d343438a558.png)


*Pengontrol Universal*

Dua server Linux disediakan sebagai Universal Controller. Keduanya terhubung ke endpoint database yang sama. Setiap server memiliki aplikasi Universal Controller dan OMS. Versi terbaru dari Universal Controller digunakan pada saat itu disediakan.

Pengontrol Universal digunakan di webapp Tomcat sebagai ROOT dokumen dan disajikan pada port 80. Penerapan ini memudahkan konfigurasi penyeimbang beban frontend.

HTTP melalui TLS atau HTTPS diaktifkan menggunakan sertifikat wildcard Stonebranch (misalnya,). `https://customer.stonebranch.cloud` Ini mengamankan komunikasi antara browser dan aplikasi.

*OMS*

Agen Universal dan OMS (Layanan Pesan Opswise) berada di setiap server Universal Controller. Semua Agen Universal yang dikerahkan dari ujung pelanggan diatur untuk terhubung ke kedua layanan OMS. OMS bertindak sebagai layanan pesan umum antara Universal Agents dan Universal Controller.

Amazon EFS memasang direktori spool di setiap server. OMS menggunakan direktori spool bersama ini untuk menjaga koneksi dan informasi tugas dari pengontrol dan agen. OMS bekerja dalam mode ketersediaan tinggi. Jika OMS aktif turun, OMS pasif memiliki akses ke semua data, dan melanjutkan operasi aktif secara otomatis. Agen Universal mendeteksi perubahan ini dan secara otomatis terhubung ke OMS aktif baru.

*Basis Data*

Amazon Relational Database Service (Amazon RDS) menampung database UAC, dengan Amazon Aurora MySQL yang kompatibel dengan mesinnya. Amazon RDS membantu dalam mengelola dan menawarkan cadangan terjadwal secara berkala. Kedua instans Universal Controller terhubung ke endpoint database yang sama.

*Penyeimbang beban*

Application Load Balancer diatur untuk setiap instance. Penyeimbang beban mengarahkan lalu lintas ke pengontrol aktif pada saat tertentu. Nama domain instance Anda mengarah ke titik akhir penyeimbang beban masing-masing.

*URLs*

Setiap instance Anda memiliki URL, seperti yang ditunjukkan pada contoh berikut.


| 
| 
| Lingkungan | Instans | 
| --- |--- |
| **Produksi** | `customer.stonebranch.cloud` | 
| **Pengembangan (non-produksi)** | `customerdev.stonebranch.cloud` | 
| **Pengujian (non-produksi)** | `customertest.stonebranch.cloud` | 

**catatan**  
  Nama instans non-produksi dapat diatur berdasarkan kebutuhan Anda.

*Ketersediaan tinggi*

Ketersediaan tinggi (HA) adalah kemampuan sistem untuk beroperasi terus menerus tanpa kegagalan untuk jangka waktu yang ditentukan. Kegagalan tersebut termasuk, namun tidak terbatas pada, penyimpanan, penundaan respons komunikasi server yang disebabkan oleh masalah CPU atau memori, dan konektivitas jaringan.

Untuk memenuhi persyaratan HA:
+ Semua instans EC2, database, dan konfigurasi lainnya dicerminkan di dua Availability Zone terpisah dalam Wilayah AWS yang sama.
+ Pengontrol disediakan melalui Amazon Machine Image (AMI) pada dua server Linux di dua Availability Zones. Misalnya, jika Anda disediakan di Wilayah eu-west-1 Eropa, Anda memiliki Pengontrol Universal di Availability Zone eu-west-1a dan Availability Zone eu-west-1c.
+ Tidak ada pekerjaan yang diizinkan untuk berjalan langsung di server aplikasi dan tidak ada data yang diizinkan untuk disimpan di server ini.
+ Application Load Balancer menjalankan pemeriksaan kesehatan pada setiap Universal Controller untuk mengidentifikasi yang aktif dan mengarahkan lalu lintas ke sana. Jika satu server mengalami masalah, penyeimbang beban secara otomatis mempromosikan Universal Controller pasif ke status aktif. Load balancer kemudian mengidentifikasi instans Universal Controller aktif baru dari pemeriksaan kesehatan dan mulai mengarahkan lalu lintas. Failover terjadi dalam waktu empat menit tanpa kehilangan pekerjaan, dan URL frontend tetap sama.
+ Layanan database yang kompatibel dengan Aurora MySQL menyimpan data Universal Controller. Untuk lingkungan produksi, kluster database dibangun dengan dua instance database di dua Availability Zone yang berbeda dalam satu Wilayah AWS. Kedua Pengontrol Universal menggunakan antarmuka Java Database Connectivity (JDBC) yang menunjuk ke titik akhir cluster database tunggal. Jika satu instance database menimbulkan masalah, titik akhir cluster database secara dinamis menunjuk ke instance sehat. Tidak diperlukan intervensi manual.

*Backup dan bersihkan*

Stonebranch Universal Controller diatur untuk mencadangkan dan membersihkan data lama mengikuti jadwal yang ditunjukkan pada tabel.


| 
| 
| Tipe | Jadwal | 
| --- |--- |
| **Aktivitas** | 7 hari | 
| **Audit** | 90 hari | 
| **Sejarah** | 60 hari | 

Backup data yang lebih lama dari tanggal yang ditampilkan diekspor ke format.xml. dan disimpan dalam sistem file. Setelah proses pencadangan selesai, data lama akan dihapus dari database dan diarsipkan dalam bucket S3 hingga satu tahun untuk instance produksi.

Anda dapat menyesuaikan jadwal ini di antarmuka Universal Controller Anda. Namun, peningkatan kerangka waktu ini dapat menyebabkan waktu henti yang lebih lama selama pemeliharaan.

## Alat
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-tools"></a>

**Layanan AWS**
+ [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html) adalah platform cloud-native AWS yang membantu Anda memodernisasi aplikasi mainframe ke lingkungan runtime yang dikelola AWS. Ini menyediakan alat dan sumber daya untuk membantu Anda merencanakan dan menerapkan migrasi dan modernisasi.
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) menyediakan volume penyimpanan tingkat blok untuk digunakan bersama dengan instans Amazon EC2 Anda.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) membantu Anda membuat dan mengonfigurasi sistem file bersama di AWS Cloud.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud. Pola ini menggunakan Amazon Aurora MySQL-Compatible Edition.
+ [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.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) mendistribusikan lalu lintas aplikasi atau jaringan yang masuk ke beberapa target. Misalnya, Anda dapat mendistribusikan lalu lintas di seluruh instans, kontainer, dan alamat IP Amazon EC2 di satu atau beberapa Availability Zone. Pola ini menggunakan Application Load Balancer.

**Stonebranch**
+ [Universal Automation Center (UAC)](https://stonebranchdocs.atlassian.net/wiki/spaces/SD/pages/239239169/Universal+Automation+Center) adalah sistem produk otomatisasi beban kerja perusahaan. Pola ini menggunakan komponen UAC berikut:
  + [Universal Controller](https://www.stonebranch.com/documentation-universal-controller), aplikasi web Java yang berjalan di wadah web Tomcat, adalah penjadwal pekerjaan perusahaan dan solusi broker otomatisasi beban kerja dari Universal Automation Center. Controller menyajikan antarmuka pengguna untuk membuat, memantau, dan mengkonfigurasi informasi Controller; menangani logika penjadwalan; memproses semua pesan ke dan dari Agen Universal; dan menyinkronkan banyak operasi ketersediaan tinggi Universal Automation Center.
  + [Universal Agent adalah agen](https://www.stonebranch.com/documentation-universal-agent) penjadwalan independen vendor yang berkolaborasi dengan penjadwal pekerjaan yang ada di semua platform komputasi utama, baik warisan maupun terdistribusi. Semua penjadwal yang berjalan diz/Series, i/Series, Unix, Linux, atau Windows didukung.
+ [Universal Agent adalah agen](https://www.stonebranch.com/documentation-universal-agent) penjadwalan independen vendor yang berkolaborasi dengan penjadwal pekerjaan yang ada di semua platform komputasi utama, baik warisan maupun terdistribusi. Semua penjadwal yang berjalan diz/Series, i/Series, Unix, Linux, atau Windows didukung.
+ [Stonebranch aws-mainframe-modernization-stonebranch -integration AWS Mainframe Modernization Universal](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) Extension adalah template integrasi untuk menjalankan, memantau, dan menjalankan kembali pekerjaan batch di platform AWS Mainframe Modernization.

**Kode**

Kode untuk pola ini tersedia di GitHub repositori [aws-mainframe-modernization-stonebranch-integration](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases/).

## Epik
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-epics"></a>

### Instal Pengontrol Universal dan Agen Universal di Amazon EC2
<a name="install-universal-controller-and-universal-agent-on-amazon-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Unduh file instalasi. | Unduh instalasi dari server Stonebranch. Untuk mendapatkan file instalasi, kontak dengan Stonebranch. | Arsitek awan | 
| Luncurkan instans EC2. | Anda akan membutuhkan sekitar 3 GB ruang ekstra untuk instalasi Universal Controller dan Universal Agent. Jadi sediakan setidaknya 30 GB ruang disk untuk instance.Tambahkan port 8080 ke grup keamanan sehingga dapat diakses. | Arsitek awan | 
| Periksa prasyarat. | Sebelum instalasi, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator cloud, administrator Linux | 
| Instal Pengontrol Universal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Arsitek cloud, administrator Linux | 
| Instal Agen Universal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator cloud, administrator Linux | 
| Tambahkan OMS ke Universal Controller. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 

### Impor AWS Mainframe Modernization Universal Extension dan buat tugas
<a name="import-aws-mainframe-modernization-universal-extension-and-create-a-task"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Templat Integrasi Impor. | Untuk langkah ini, Anda memerlukan [AWS Mainframe Modernization](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) Universal Extension. Pastikan versi rilis terbaru dari file.zip diunduh.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html)**Setelah Template Integrasi diimpor, Anda akan melihat **Tugas Modernisasi AWS Mainframe** di bawah Layanan yang Tersedia.** | Administrator Pengontrol Universal | 
| Aktifkan kredenal yang dapat diselesaikan. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 
| Luncurkan tugas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 

### Uji memulai pekerjaan batch
<a name="test-starting-a-batch-job"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat tugas untuk pekerjaan batch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 
| Luncurkan tugas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 

### Buat alur kerja untuk beberapa tugas
<a name="create-a-workflow-for-multiple-tasks"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Salin tugas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 
| Perbarui tugas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 
| Buat alur kerja. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 
| Periksa status alur kerja. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Univeral | 

### Memecahkan masalah pekerjaan batch yang gagal dan jalankan kembali
<a name="troubleshoot-failed-batch-jobs-and-rerun"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Perbaiki tugas yang gagal dan jalankan kembali. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 

### Buat Mulai Aplikasi dan Hentikan tugas Aplikasi
<a name="create-start-application-and-stop-application-tasks"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat tindakan Mulai Aplikasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Administrator Pengontrol Universal | 

### Membuat tugas Batalkan Eksekusi Batch
<a name="create-a-cancel-batch-execution-task"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat tindakan Batch Batch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) |  | 

## Sumber daya terkait
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-resources"></a>
+ [Pengontrol Universal](https://stonebranchdocs.atlassian.net/wiki/spaces/UC77/overview)
+ [Agen Universal](https://stonebranchdocs.atlassian.net/wiki/spaces/UA77/overview)
+ [Pengaturan LDAP](https://stonebranchdocs.atlassian.net/wiki/spaces/UC77/pages/794552355/LDAP+Settings)
+ [SALL Single Sign-On](https://stonebranchdocs.atlassian.net/wiki/spaces/UC77/pages/794553130/SAML+Single+Sign-On)
+ [Alat Konversi Xpress](https://www.stonebranch.com/resources/xpress-conversion-windows)

## Informasi tambahan
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-additional"></a>

**Ikon di Editor Alur Kerja**

![\[RUNHELLO tugas di atas, FOOBAR di tengah, dan tugas yang tersisa di tingkat ketiga.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/837430ee-3159-4fe2-8e17-65168294ef1e.png)


**Semua tugas terhubung**

![\[RUNHELLO terhubung ke FOOBAR, yang terhubung ke tiga tugas yang tersisa.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/fe483348-9a6f-450b-87e6-ceae6b2bdaad.png)


**Status alur kerja**

![\[Tugas FOOBAR gagal dan tiga tugas lainnya sedang menunggu.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/5ea4e239-fbbe-4fa4-9ffa-b7a9443b7975.png)


# Memigrasi dan mereplikasi file VSAM ke Amazon RDS atau Amazon MSK menggunakan Connect from Excently
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely"></a>

*Prachi Khanna dan Boopathy GOPALSAMY, Amazon Web Services*

## Ringkasan
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-summary"></a>

[Pola ini menunjukkan kepada Anda cara memigrasi dan mereplikasi file Metode Akses Penyimpanan Virtual (VSAM) dari mainframe ke lingkungan target di AWS Cloud dengan menggunakan Connect from Accurly.](https://www.precisely.com/product/precisely-connect/connect) Lingkungan target yang tercakup dalam pola ini termasuk Amazon Relational Database Service (Amazon RDS) dan Amazon Managed Streaming for Apache Kafka (Amazon MSK). Connect menggunakan [change data capture (CDC)](https://www.precisely.com/resource-center/productsheets/change-data-capture-with-connect) untuk terus memantau pembaruan ke file VSAM sumber Anda dan kemudian mentransfer pembaruan ini ke satu atau beberapa lingkungan target AWS Anda. Anda dapat menggunakan pola ini untuk memenuhi tujuan modernisasi aplikasi atau analisis data Anda. Misalnya, Anda dapat menggunakan Connect untuk memigrasikan file aplikasi VSAM Anda ke AWS Cloud dengan latensi rendah, atau memigrasikan data VSAM Anda ke gudang data AWS atau data lake untuk analitik yang dapat mentolerir latensi sinkronisasi yang lebih tinggi dari yang diperlukan untuk modernisasi aplikasi.

## Prasyarat dan batasan
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-prereqs"></a>

**Prasyarat**
+ [IBM z/OS V2R1](https://www-40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosv2r1-pdf-download?OpenDocument) atau yang lebih baru
+ [Server Transaksi CICS untuk z/OS (CICS TS) V5.1 atau yang lebih baru (pengambilan data CICS/VSAM](https://www.ibm.com/support/pages/cics-transaction-server-zos-51-detailed-system-requirements))
+ [IBM MQ 8.0](https://www.ibm.com/support/pages/downloading-ibm-mq-80) atau yang lebih baru
+ Kepatuhan dengan [persyaratan keamanan z/OS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS) (misalnya, otorisasi APF untuk pustaka pemuatan) SQData 
+ Log pemulihan VSAM dihidupkan
+ (Opsional) [Versi Pemulihan CICS VSAM (CICS VR) untuk secara otomatis menangkap log CDC](https://www.ibm.com/docs/en/cics-vr/5.1?topic=started-introducing-cics-vr)
+ Akun AWS yang aktif
+ [Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) dengan subnet yang dapat dijangkau oleh platform lama Anda
+ Lisensi VSAM Connect dari Tepatnya

**Batasan**
+ Connect tidak mendukung pembuatan tabel target otomatis berdasarkan skema atau copybook sumber VSAM. Anda harus menentukan struktur tabel target untuk pertama kalinya.
+ Untuk target non-streaming seperti Amazon RDS, Anda harus menentukan sumber konversi ke pemetaan target dalam skrip konfigurasi Apply Engine.
+ Fungsi pencatatan, pemantauan, dan peringatan diimplementasikan melalui APIs dan memerlukan komponen eksternal (seperti Amazon CloudWatch) untuk beroperasi penuh.

**Versi produk**
+ SQData 40134 untuk z/OS
+ SQData 4.0.43 untuk Amazon Linux Amazon Machine Image (AMI) di Amazon Elastic Compute Cloud (Amazon) EC2

## Arsitektur
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-architecture"></a>

**Tumpukan teknologi sumber**
+ Bahasa Kontrol Pekerjaan (JCL)
+ z/OS Unix shell dan Fasilitas Produktivitas Sistem Interaktif (ISPF)
+ Utilitas VSAM (IDCAMS)

**Tumpukan teknologi target**
+ Amazon EC2
+ Amazon MSK
+ Amazon RDS
+ Amazon VPC

**Arsitektur target**

*Memigrasi file VSAM ke Amazon RDS*

Diagram berikut menunjukkan cara memigrasikan file VSAM ke database relasional, seperti Amazon RDS, secara real time atau mendekati waktu nyata dengan menggunakan CDC agent/publisher di lingkungan sumber (mainframe lokal) dan [Apply Engine di](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) lingkungan target (AWS Cloud).

![\[Diagram showing VSAM file migration from on-premises mainframe to AWS Cloud using CDC and Apply Engine.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/47cefbde-e0c8-4c36-ba48-cccc2c443074.png)


Diagram menunjukkan alur kerja batch berikut:

1. Connect menangkap perubahan ke file dengan membandingkan file VSAM dari file cadangan untuk mengidentifikasi perubahan dan kemudian mengirimkan perubahan ke logstream.

1. Penerbit mengkonsumsi data dari logstream sistem.

1. Publisher mengkomunikasikan perubahan data yang ditangkap ke mesin target melalui TCP/IP. Controller Daemon mengotentikasi komunikasi antara sumber dan lingkungan target.

1. Apply Engine di lingkungan target menerima perubahan dari agen Publisher dan menerapkannya ke database relasional atau non-relasional.

Diagram menunjukkan alur kerja online berikut:

1. Connect menangkap perubahan dalam file online dengan menggunakan replika log dan kemudian mengalirkan perubahan yang ditangkap ke logstream.

1. Penerbit mengkonsumsi data dari logstream sistem.

1. Publisher mengkomunikasikan perubahan data yang ditangkap ke mesin target melalui TCP/IP. Controller Daemon mengotentikasi komunikasi antara sumber dan lingkungan target.

1. Apply Engine di lingkungan target menerima perubahan dari agen Publisher dan kemudian menerapkannya ke database relasional atau non-relasional.

*Migrasi file VSAM ke Amazon MSK*

Diagram berikut menunjukkan cara mengalirkan struktur data VSAM dari mainframe ke Amazon MSK dalam mode kinerja tinggi dan secara otomatis menghasilkan konversi skema JSON atau AVRO yang terintegrasi dengan Amazon MSK.

![\[Diagram showing data flow from on-premises mainframe to AWS Cloud services via Amazon VPC.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/13eb27ad-c0d2-489b-91e1-5b2a729fb8dd.png)


Diagram menunjukkan alur kerja batch berikut:

1. Connect menangkap perubahan ke file dengan menggunakan CICS VR atau dengan membandingkan file VSAM dari file cadangan untuk mengidentifikasi perubahan. Perubahan yang diambil dikirim ke logstream.

1. Penerbit mengkonsumsi data dari logstream sistem.

1. Publisher mengkomunikasikan perubahan data yang ditangkap ke mesin target melalui TCP/IP. Controller Daemon mengotentikasi komunikasi antara sumber dan lingkungan target.

1. Mesin Replicator yang beroperasi dalam mode pemrosesan paralel membagi data ke unit cache kerja.

1. Thread pekerja menangkap data dari cache.

1. Data dipublikasikan ke topik MSK Amazon dari utas pekerja.

1. [Pengguna menerapkan perubahan dari Amazon MSK ke target seperti Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) OpenSearch , atau Amazon Service dengan menggunakan konektor.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

Diagram menunjukkan alur kerja online berikut:

1. Perubahan dalam file online ditangkap dengan menggunakan replika log. Perubahan yang ditangkap dialirkan ke logstream.

1. Penerbit mengkonsumsi data dari logstream sistem.

1. Publisher mengkomunikasikan perubahan data yang ditangkap ke mesin target melalui TCP/IP. Controller Daemon mengotentikasi komunikasi antara sumber dan lingkungan target.

1. Mesin Replicator yang beroperasi dalam mode pemrosesan paralel membagi data ke unit cache kerja.

1. Thread pekerja menangkap data dari cache.

1. Data dipublikasikan ke topik MSK Amazon dari utas pekerja.

1. [Pengguna menerapkan perubahan dari Amazon MSK ke target seperti DynamoDB, Amazon S3, atau Layanan dengan menggunakan konektor OpenSearch .](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

## Alat
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-tools"></a>
+ [Amazon Managed Streaming for Apache Kafka (Amazon](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) MSK) adalah layanan yang dikelola sepenuhnya yang membantu Anda membangun dan menjalankan aplikasi yang menggunakan Apache Kafka untuk memproses data streaming.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud.

## Epik
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-epics"></a>

### Siapkan lingkungan sumber (mainframe)
<a name="prepare-the-source-environment-mainframe"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal Connect CDC 4.1. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Pengembang/Admin Mainframe IBM | 
| Siapkan direktori ZFs. | Untuk menyiapkan direktori ZFs, ikuti instruksi dari [direktori variabel ZFs](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS/zFS-variable-directories) di dokumentasi Tepat.Konfigurasi Daemon dan Capture/Publisher agen pengontrol disimpan dalam sistem file z/OS UNIX Systems Services (disebut sebagai ZFs). Agen Controller Daemon, Capture, Storage, dan Publisher memerlukan struktur direktori ZFs yang telah ditentukan untuk menyimpan sejumlah kecil file. | Pengembang/Admin Mainframe IBM | 
| Konfigurasikan TCP/IP port. | Untuk mengkonfigurasi TCP/IP port, ikuti instruksi dari [port TCP/IP](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX/Prerequisites-for-UNIX/Security-authorization-requirements-for-UNIX/TCP/IP-ports) di dokumentasi Tepat.Daemon Controller membutuhkan TCP/IP port pada sistem sumber. Port direferensikan oleh mesin pada sistem target (di mana data perubahan yang ditangkap diproses). | Pengembang/Admin Mainframe IBM | 
| Buat z/OS logstream. | Untuk membuat [logstream z/OS](https://www.ibm.com/docs/en/was/8.5.5?topic=SSEQTP_8.5.5/com.ibm.websphere.installation.zseries.doc/ae/cins_logstrm.html), ikuti instruksi dari [Buat LogStreams z/OS sistem di dokumentasi](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA) Tepatnya.Connect menggunakan logstream untuk menangkap dan mengalirkan data antara lingkungan sumber dan lingkungan target selama migrasi.Untuk contoh JCL yang membuat z/OS LogStream, lihat [Membuat z/OS sistem LogStreams](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA) dalam dokumentasi Tepatnya. | Pengembang Mainframe IBM | 
| Identifikasi dan otorisasi IDs untuk pengguna ZF dan mulai tugas. | Gunakan RACF untuk memberikan akses ke sistem file OMVS ZFS. Untuk contoh JCL, lihat [Mengidentifikasi dan mengotorisasi pengguna ZFs dan memulai tugas IDs dalam dokumentasi Tepatnya](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-log-reader-capture/Prepare-environment/Identify-and-authorize-zFS-user-and-started-task-IDs?tocId=MrBXpFu~N0iAy~8VTrH0tQ). | Pengembang/Admin Mainframe IBM | 
| Hasilkan kunci z/OS publik/pribadi dan file kunci resmi. | Jalankan JCL untuk menghasilkan key pair. Sebagai contoh, lihat *Contoh pasangan kunci* di bagian *Informasi tambahan* dari pola ini.Untuk petunjuk, lihat [Menghasilkan kunci z/OS publik dan pribadi serta file kunci resmi](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Db2-z/OS/Prepare-the-environment/Generate-z/OS-public-and-private-keys-and-authorized-key-file?tocId=fceE77dWT8smZsSaE~FeMQ) dalam dokumentasi Tepatnya. | Pengembang/Admin Mainframe IBM | 
| Aktifkan Replikasi Log CICS VSAM dan lampirkan ke logstream. | Jalankan skrip JCL berikut:<pre> //STEP1 EXEC PGM=IDCAMS<br /> //SYSPRINT DD SYSOUT=*<br /> //SYSIN DD *<br />   ALTER SQDATA.CICS.FILEA -<br />   LOGSTREAMID(SQDATA.VSAMCDC.LOG1) -<br />   LOGREPLICATE</pre> | Pengembang/Admin Mainframe IBM | 
| Aktifkan Log Pemulihan File VSAM melalui FCT. | Ubah File Control Table (FCT) untuk mencerminkan perubahan parameter berikut:<pre> Configure FCT Parms<br />   CEDA ALT FILE(name) GROUP(groupname)<br />   DSNAME(data set name)<br />   RECOVERY(NONE|BACKOUTONLY|ALL)<br />   FWDRECOVLOG(NO|1–99)<br />   BACKUPTYPE(STATIC|DYNAMIC)<br />   RECOVERY PARAMETERS<br />   RECOVery : None | Backoutonly | All<br />   Fwdrecovlog : No | 1-99<br />   BAckuptype : Static | Dynamic</pre> | Pengembang/Admin Mainframe IBM | 
| Siapkan CDCz Log untuk agen Penerbit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Pengembang/Admin Mainframe IBM | 
| Aktifkan Daemon Pengontrol. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Pengembang/Admin Mainframe IBM | 
| Aktifkan penerbit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Pengembang/Admin Mainframe IBM | 
| Aktifkan logstream. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Pengembang/Admin Mainframe IBM | 

### Siapkan lingkungan target (AWS)
<a name="prepare-the-target-environment-aws"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal Tepat pada sebuah EC2 instance. | Untuk menginstal Connect from Tepat di Amazon Linux AMI untuk Amazon EC2, ikuti petunjuk dari [Install Connect CDC (SQData) pada UNIX dalam dokumentasi](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX) Tepat. | AWS Umum | 
| Buka TCP/IP port. | Untuk memodifikasi grup keamanan untuk menyertakan port Daemon Pengontrol untuk akses masuk dan keluar, ikuti instruksi dari [TCP/IP](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Change-data-capture/Transient-storage-and-publishing/TCP/IP) dalam dokumentasi Tepatnya. | AWS Umum | 
| Buat direktori file. | Untuk membuat direktori file, ikuti petunjuk dari [Siapkan lingkungan penerapan target](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-targets/Kafka/Prepare-target-apply-environment) dalam dokumentasi Tepat. | AWS Umum | 
| Buat file konfigurasi Apply Engine. | Buat file konfigurasi Apply Engine di direktori kerja Apply Engine. Contoh file konfigurasi berikut menunjukkan Apache Kafka sebagai target:<pre>builtin.features=SASL_SCRAM<br />  security.protocol=SASL_SSL<br />  sasl.mechanism=SCRAM-SHA-512<br />  sasl.username=<br />  sasl.password=<br />  metadata.broker.list=</pre>Untuk informasi selengkapnya, lihat [Keamanan](https://kafka.apache.org/documentation/#security) dalam dokumentasi Apache Kafka. | AWS Umum | 
| Buat skrip untuk pemrosesan Apply Engine. | Buat skrip untuk Apply Engine untuk memproses data sumber dan mereplikasi data sumber ke target. Untuk informasi selengkapnya, lihat [Membuat skrip mesin terapkan](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Create-an-apply-engine-script) di dokumentasi Tepatnya. | AWS Umum | 
| Jalankan skrip. | Gunakan `SQDENG` perintah `SQDPARSE` dan untuk menjalankan skrip. Untuk informasi selengkapnya, lihat [Mengurai skrip untuk ZoS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Parse-a-script/Parse-a-script-for-zOS) di dokumentasi Tepatnya. | AWS Umum | 

### Validasi lingkungan
<a name="validate-the-environment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Validasi daftar file VSAM dan tabel target untuk pemrosesan CDC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | AWS Umum, Mainframe | 
| Verifikasi bahwa SQData produk Connect CDC ditautkan. | Jalankan pekerjaan pengujian dan verifikasi bahwa kode pengembalian dari pekerjaan ini adalah 0 (Berhasil).Connect CDC SQData Apply Engine pesan status harus menampilkan pesan koneksi aktif. | AWS Umum, Mainframe | 

### Jalankan dan validasi kasus uji (Batch)
<a name="run-and-validate-test-cases-batch"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan pekerjaan batch di mainframe. | Jalankan pekerjaan aplikasi batch menggunakan JCL yang dimodifikasi. Sertakan langkah-langkah dalam JCL yang dimodifikasi yang melakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | AWS Umum, Mainframe | 
| Periksa logstream. | Periksa logstream untuk mengonfirmasi bahwa Anda dapat melihat data perubahan untuk pekerjaan batch mainframe yang telah selesai. | AWS Umum, Mainframe | 
| Validasi jumlah untuk perubahan delta sumber dan tabel target. | Untuk mengonfirmasi bahwa catatan dihitung, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | AWS Umum, Mainframe | 

### Jalankan dan validasi kasus uji (Online)
<a name="run-and-validate-test-cases-online"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan transaksi online di wilayah CICS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Pengembang Mainframe IBM | 
| Periksa logstream. | Konfirmasikan bahwa logstream diisi dengan perubahan tingkat catatan tertentu. | Pengembang AWS Mainframe | 
| Validasi hitungan dalam database target. | Pantau Apply Engine untuk mencatat jumlah level. | Tepatnya, Linux | 
| Validasi jumlah catatan dan catatan data dalam database target. | Kueri database target untuk memvalidasi jumlah catatan dan catatan data. | AWS Umum | 

## Sumber daya terkait
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-resources"></a>
+ [VSAM z/OS (Dokumentasi tepatnya](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/VSAM-z/OS))
+ [Terapkan mesin](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) (Tepatnya dokumentasi)
+ [Mesin replikator](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Replicator-engine) (Dokumentasi tepatnya)
+ [Aliran log](https://www.ibm.com/docs/en/zos/2.3.0?topic=logger-log-stream) (dokumentasi IBM)

## Informasi tambahan
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-additional"></a>

**Contoh file konfigurasi**

Ini adalah contoh file konfigurasi untuk logstream di mana lingkungan sumber adalah mainframe dan lingkungan target adalah Amazon MSK:

```
 
  -- JOBNAME -- PASS THE SUBSCRIBER NAME
  -- REPORT  progress report will be produced after "n" (number) of Source records processed.
  
  JOBNAME VSMTOKFK;
  --REPORT EVERY 100;
  -- Change Op has been ‘I’ for insert, ‘D’ for delete , and ‘R’ for Replace. For RDS it is 'U' for update
  -- Character Encoding on z/OS is Code Page 1047, on Linux and UNIX it is Code Page 819 and on Windows, Code Page 1252
  OPTIONS
  CDCOP('I', 'U', 'D'),
  PSEUDO NULL = NO,
  USE AVRO COMPATIBLE NAMES,
  APPLICATION ENCODING SCHEME = 1208;
  
  --       SOURCE DESCRIPTIONS
  
  BEGIN GROUP VSAM_SRC;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       TARGET DESCRIPTIONS
  
  BEGIN GROUP VSAM_TGT;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       SOURCE DATASTORE (IP & Publisher name)
  
  DATASTORE cdc://10.81.148.4:2626/vsmcdct/VSMTOKFK
  OF VSAMCDC
  AS CDCIN
  DESCRIBED BY GROUP VSAM_SRC ACCEPT ALL;
  
  --       TARGET DATASTORE(s) - Kafka and topic name
  
  DATASTORE 'kafka:///MSKTutorialTopic/key'
  OF JSON
  AS CDCOUT
  DESCRIBED BY GROUP VSAM_TGT FOR INSERT;
  
  --       MAIN SECTION
  
  PROCESS INTO
  CDCOUT
  SELECT
  {
  SETURL(CDCOUT, 'kafka:///MSKTutorialTopic/key')
  REMAP(CDCIN, account_file, GET_RAW_RECORD(CDCIN, AFTER), GET_RAW_RECORD(CDCIN, BEFORE))
  REPLICATE(CDCOUT, account_file)
  }
  FROM CDCIN;
```

**Contoh pasangan kunci**

Ini adalah contoh bagaimana menjalankan JCL untuk menghasilkan key pair:

```
//SQDUTIL EXEC PGM=SQDUTIL //SQDPUBL DD DSN=&USER..NACL.PUBLIC, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPKEY DD DSN=&USER..NACL.PRIVATE, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPARMS DD  keygen //SYSPRINT DD SYSOUT= //SYSOUT DD SYSOUT=* //SQDLOG DD SYSOUT=* //*SQDLOG8 DD DUMMY
```

# Modernisasi aplikasi CardDemo mainframe dengan menggunakan AWS Transform
<a name="modernize-carddemo-mainframe-app"></a>

*Santosh Kumar Singh dan Cheryl du Preez, Amazon Web Services*

## Ringkasan
<a name="modernize-carddemo-mainframe-app-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)dirancang untuk mempercepat modernisasi aplikasi mainframe. Ini menggunakan AI generatif untuk merampingkan proses modernisasi mainframe. Ini mengotomatiskan tugas-tugas kompleks, seperti: analisis kode warisan, dokumentasi mainframe, ekstraksi aturan bisnis, dekomposisi aplikasi monolitik ke dalam domain bisnis, dan refactoring kode. Ini mempercepat proyek modernisasi dengan mengotomatiskan tugas-tugas kompleks, seperti analisis aplikasi dan perencanaan urutan migrasi. Saat menguraikan aplikasi monolitik, urutkan transformasi aplikasi mainframe AWS Transform secara cerdas, yang membantu Anda mengubah fungsi bisnis secara paralel. AWS Transform dapat mempercepat pengambilan keputusan dan meningkatkan kelincahan operasional dan efisiensi migrasi.

Pola ini menawarkan step-by-step instruksi untuk membantu Anda menguji kemampuan modernisasi mainframe AWS Transform dengan menggunakan [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), yang merupakan contoh aplikasi mainframe open source.

## Prasyarat dan batasan
<a name="modernize-carddemo-mainframe-app-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS
+ AWS IAM Identity Center, [diaktifkan](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ [Izin](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-enable-transform) yang memungkinkan administrator mengaktifkan AWS Transform
+ [Izin](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-connector) yang memungkinkan administrator menerima permintaan koneksi Amazon Simple Storage Service (Amazon S3) untuk aplikasi web AWS Transform 

**Batasan**
+ AWS Transform hanya tersedia di beberapa Wilayah AWS. Untuk daftar lengkap Wilayah yang didukung, lihat Wilayah yang [Didukung untuk AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ AWS Transform mendukung analisis kode, pembuatan dokumen, ekstraksi aturan bisnis, dekomposisi, dan refactoring dari Common Business-Oriented Language (COBOL) ke Jawa. Untuk informasi selengkapnya, lihat [Kemampuan dan fitur utama](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-features) serta [Jenis file yang didukung untuk transformasi aplikasi mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-supported-files).
+ Ada kuota layanan untuk kapabilitas transformasi mainframe di. AWS Transform Untuk informasi lebih lanjut, lihat [Kuota untuk AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ Untuk berkolaborasi di ruang kerja bersama, semua pengguna harus menjadi pengguna terdaftar dari contoh yang sama AWS IAM Identity Center yang terkait dengan instance AWS Transform aplikasi web Anda.
+ Bucket Amazon S3 dan AWS Transform harus berada di tempat yang sama Akun AWS dan Wilayah.

## Arsitektur
<a name="modernize-carddemo-mainframe-app-architecture"></a>

Diagram berikut menunjukkan arsitektur yang Anda atur dalam pola ini.

![\[Menggunakan AWS Transform untuk memodernisasi aplikasi mainframe yang disimpan dalam bucket Amazon S3.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/0e539474-b733-452d-b0fb-6b3f4cbd5075/images/75be6d78-5b43-448c-ad07-bf74b9ae14ad.png)


Diagram menunjukkan alur kerja berikut:

1. AWS Transform menggunakan konektor untuk mengakses aplikasi CardDemo mainframe, yang disimpan dalam bucket Amazon S3.

1. AWS Transform digunakan AWS IAM Identity Center untuk mengelola akses pengguna dan otentikasi. Sistem ini menerapkan beberapa lapisan kontrol keamanan untuk otentikasi, otorisasi, enkripsi, dan manajemen akses untuk membantu melindungi kode dan artefak selama pemrosesan. Pengguna berinteraksi dengan AWS Transform agen melalui antarmuka obrolan. Anda dapat memberikan instruksi kepada agen AI untuk tugas-tugas tertentu dalam bahasa Inggris. Untuk informasi lebih lanjut, lihat [Human in the loop (HITL)](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-hitl) dalam AWS Transform dokumentasi.

1. Agen AI menafsirkan instruksi pengguna, membuat rencana kerja, membagi pekerjaan menjadi tugas yang dapat dieksekusi, dan bertindak secara mandiri. Pengguna dapat meninjau dan menyetujui transformasi. Tugas transformasi meliputi:
   + **Analisis kode** — AWS Transform menganalisis kode di setiap file untuk detail seperti nama file, jenis file, baris kode, dan jalurnya. Agen menganalisis kode sumber, menjalankan klasifikasi, membuat pemetaan ketergantungan, dan mengidentifikasi artefak yang hilang. Ini juga mengidentifikasi komponen duplikat.
   + **Pembuatan dokumen** — AWS Transform menghasilkan dokumentasi untuk aplikasi mainframe. Dengan menganalisis kode, secara otomatis dapat membuat dokumentasi terperinci dari program aplikasi, termasuk deskripsi logika bisnis, alur, integrasi, dan dependensi yang ada dalam sistem lama Anda.
   + **Ekstraksi logika bisnis** — AWS Transform menganalisis program COBOL untuk mendokumentasikan logika bisnis inti mereka, untuk membantu Anda memahami logika bisnis mendasar.
   + **Dekomposisi kode** — AWS Transform menguraikan kode menjadi domain yang memperhitungkan dependensi antara program dan komponen. Mengelompokkan file dan program terkait dalam domain yang sama meningkatkan organisasi dan membantu melestarikan struktur logis aplikasi saat memecahnya menjadi komponen yang lebih kecil.
   + **Perencanaan gelombang migrasi** — Berdasarkan domain yang Anda buat selama fase dekomposisi, buat rencana gelombang AWS Transform migrasi dengan urutan modernisasi yang direkomendasikan.
   + **Code refactoring — AWS Transform memfaktorkan** ulang kode di semua atau file domain yang dipilih ke dalam kode Java. Tujuan dari langkah ini adalah untuk melestarikan logika bisnis kritis aplikasi sambil memfaktorkannya ke aplikasi Java yang dimodernisasi dan dioptimalkan di cloud.

1. AWS Transform menyimpan kode refactored, dokumen yang dihasilkan, artefak terkait, dan pustaka runtime di bucket Amazon S3 Anda. Anda dapat melakukan tindakan berikut:
   + Akses folder runtime di bucket Amazon S3 Anda.
   + Buat dan terapkan aplikasi dengan mengikuti [Build dan deploy aplikasi modern pasca-refactoring Anda](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow-build-deploy.html) dalam dokumentasi. AWS Transform 
   + Melalui antarmuka obrolan, minta dan unduh sampel AWS CloudFormation, AWS Cloud Development Kit (AWS CDK), atau template Hashicorp Terraform. Template ini dapat membantu Anda menyebarkan AWS sumber daya yang diperlukan untuk mendukung aplikasi refactored.
   + Gunakan [Reforge](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-reforge) untuk meningkatkan kualitas kode refactored dengan menggunakan model bahasa besar (). LLMs Mesin refactoring mempertahankan kesetaraan fungsional COBOL sambil mengubahnya menjadi kode Java. Reforge adalah langkah opsional yang tersedia setelah transformasi. Langkah ini digunakan LLMs untuk merestrukturisasi kode agar sangat mirip dengan Java asli, yang dapat meningkatkan keterbacaan dan pemeliharaan. Reforge juga menambahkan komentar yang dapat dibaca manusia untuk membantu Anda memahami kode, dan menerapkan pola pengkodean modern dan praktik terbaik.

## Alat
<a name="modernize-carddemo-mainframe-app-tools"></a>

**Layanan AWS**
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)menggunakan AI agen untuk membantu Anda mempercepat modernisasi beban kerja lama, seperti .NET, mainframe, dan beban kerja. VMware 
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)membantu Anda mengelola akses masuk tunggal (SSO) secara terpusat ke aplikasi Anda Akun AWS dan cloud.
+ [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.

**Repositori kode**

Anda dapat menggunakan aplikasi AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe open source sebagai contoh aplikasi untuk memulai modernisasi mainframe.

## Praktik terbaik
<a name="modernize-carddemo-mainframe-app-best-practices"></a>
+ **Mulai dari yang kecil** — Mulailah dengan kode kecil yang kurang kompleks (15.000-20.000 baris kode) untuk mendapatkan pemahaman tentang bagaimana AWS Transform menganalisis dan mengubah aplikasi mainframe.
+ **Kombinasikan dengan keahlian manusia** — Gunakan AWS Transform sebagai akselerator sambil menerapkan keahlian manusia untuk hasil yang optimal.
+ **Tinjau dan uji secara menyeluruh** — Selalu tinjau kode yang diubah dengan hati-hati dan jalankan tes komprehensif untuk memvalidasi kesetaraan fungsional setelah transformasi.
+ **Berikan umpan balik** — Untuk memberikan umpan balik dan saran untuk perbaikan, gunakan tombol **Kirim umpan balik** di Konsol Manajemen AWS atau buat kasus dengan [AWS Dukungan](https://support.console.aws.amazon.com/). Untuk informasi selengkapnya, lihat [Membuat kasus dukungan](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html). Masukan Anda sangat berharga untuk peningkatan layanan dan pengembangan masa depan.

## Epik
<a name="modernize-carddemo-mainframe-app-epics"></a>

### Siapkan aplikasi mainframe
<a name="prepare-the-mainframe-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat bucket. | Buat bucket Amazon S3 di tempat yang sama Akun AWS dan Wilayah yang AWS Transform diaktifkan. Anda menggunakan bucket ini untuk menyimpan kode aplikasi mainframe, dan AWS Transform menggunakan bucket ini untuk menyimpan dokumen yang dihasilkan, kode refactored, dan file lain yang terkait dengan transformasi. Untuk petunjuknya, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) di dokumentasi Amazon S3. | AWS Umum | 
| Siapkan contoh aplikasi mainframe. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | Pengembang aplikasi, DevOps insinyur | 

### Konfigurasikan Pusat Identitas IAM dan AWS Transform
<a name="configure-sso-and-trn"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tambahkan pengguna ke Pusat Identitas IAM. | Tambahkan calon pengguna Anda ke IAM Identity Center. Ikuti petunjuk di [Menambahkan pengguna di Pusat Identitas IAM](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html#transform-add-idc-users) dalam AWS Transform dokumentasi. | Administrator AWS | 
| Aktifkan AWS Transform dan tambahkan pengguna. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | Administrator AWS | 
| Konfigurasikan akses pengguna ke aplikasi AWS Transform web. | Setiap pengguna harus menerima undangan untuk mengakses aplikasi AWS Transform web. Ikuti instruksi dalam [Menerima undangan](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-invitation) dalam AWS Transform dokumentasi. | Pengembang aplikasi, Pemilik aplikasi | 
| Masuk ke aplikasi AWS Transform web. | Ikuti instruksi di [Masuk ke AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-signin). | Pengembang aplikasi, Pemilik aplikasi | 
| Siapkan ruang kerja. | Siapkan ruang kerja tempat pengguna dapat berkolaborasi dalam AWS Transform aplikasi web. Ikuti petunjuk di [Mulai proyek Anda](https://docs.aws.amazon.com/transform/latest/userguide/transform-environment.html#start-workflow) dalam AWS Transform dokumentasi. | Administrator AWS | 

### Ubah aplikasi mainframe
<a name="transform-the-mainframe-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat pekerjaan transformasi. | Buat pekerjaan transformasi untuk memodernisasi aplikasi CardDemo mainframe. Untuk petunjuk, lihat [Membuat dan memulai pekerjaan](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-start-job) di AWS Transform dokumentasi. Ketika Anda diminta untuk menetapkan tujuan dalam antarmuka AWS Transform obrolan, pilih **Lakukan modernisasi mainframe (IBM z/OS ke AWS)** dan kemudian pilih **Analyze code, Generate technical documentation, Business logic, Decompose code, Plan Migration sequence dan Transform code** to Java. | Pengembang aplikasi, Pemilik aplikasi | 
| Siapkan konektornya. | Buat konektor ke bucket Amazon S3 yang berisi aplikasi CardDemo mainframe. Konektor ini memungkinkan AWS Transform untuk mengakses sumber daya dalam bucket dan melakukan fungsi transformasi berturut-turut. Untuk petunjuk, lihat [Mengatur konektor](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector) dalam AWS Transform dokumentasi. | Administrator AWS | 
| Lakukan analisis kode. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Untuk informasi selengkapnya, lihat [Analisis kode](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-code-analysis) dalam AWS Transform dokumentasi. | Pengembang aplikasi, Pemilik aplikasi | 
| Hasilkan dokumentasi teknis. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Untuk informasi selengkapnya, lihat [Menghasilkan dokumentasi teknis](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-generate-documentation) dalam AWS Transform dokumentasi. | Pengembang aplikasi, Pemilik aplikasi | 
| Ekstrak logika bisnis. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Untuk informasi selengkapnya, lihat [Mengekstrak logika bisnis](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic) dalam AWS Transform dokumentasi. | Pengembang aplikasi, Pemilik aplikasi | 
| Menguraikan kode. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Untuk informasi lebih lanjut tentang dekomposisi dan benih, lihat [Dekomposisi](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-decomposition) dalam dokumentasi. AWS Transform  | Pengembang aplikasi, Pemilik aplikasi | 
| Rencanakan gelombang migrasi. | Rencanakan gelombang migrasi untuk CardDemo aplikasi. Ikuti petunjuk dalam [perencanaan gelombang Migrasi](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-wave-planning) dalam AWS Transform dokumentasi untuk meninjau dan mengedit rencana gelombang. | Pengembang aplikasi, Pemilik aplikasi | 
| Memfaktorkan ulang kode. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | Pengembang aplikasi, Pemilik aplikasi | 
| (Opsional) Gunakan Reforge untuk meningkatkan kode Java. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Untuk informasi selengkapnya, lihat [Reforge](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-reforge) di dokumentasi. AWS Transform  | Pengembang aplikasi, Pemilik aplikasi | 
| Merampingkan penyebaran. | AWS Transform dapat menyediakan infrastruktur sebagai templat kode (IAc) untuk CloudFormation, AWS CDK, atau Terraform. Template ini membantu Anda menerapkan komponen inti, termasuk komputasi, database, penyimpanan, dan sumber daya keamanan.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Untuk informasi selengkapnya, lihat [Kemampuan penerapan](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-features-deployment) dalam AWS Transform dokumentasi. | Pengembang aplikasi, Pemilik aplikasi | 

## Pemecahan masalah
<a name="modernize-carddemo-mainframe-app-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Anda tidak dapat melihat kode sumber atau dokumen yang dihasilkan dalam aplikasi AWS Transform web. | Tambahkan kebijakan ke izin CORS untuk bucket Amazon S3 untuk AWS Transform mengizinkan sebagai asal. Untuk informasi selengkapnya, lihat [izin CORS bucket S3 dalam dokumentasi](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3). AWS Transform  | 

## Sumber daya terkait
<a name="modernize-carddemo-mainframe-app-resources"></a>

**AWS dokumentasi**
+ [Transformasi aplikasi mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html) (AWS Transform dokumentasi)

** AWS Sumber daya lainnya**
+ [Percepat Perjalanan Modernisasi Mainframe Anda menggunakan Agen AI dengan AWS Transform(posting blog](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/))AWS 
+ [AWS Transform FAQs](https://aws.amazon.com/transform/faq/)
+ [AWS IAM Identity Center FAQs](https://aws.amazon.com/iam/identity-center/faqs/)

**Video dan tutorial**
+ [Pengantar Pengembang Amazon Q: Transform](https://explore.skillbuilder.aws/learn/courses/21893/aws-flash-introduction-to-amazon-q-developer-transform) (Pembuat AWS Keterampilan)
+ [AWS re:invent 2024 - Modernisasi aplikasi mainframe lebih cepat](https://www.youtube.com/watch?v=pSi0XtYfY4o) menggunakan Amazon Q Developer () YouTube
+ [AWS re:invent 2024 - Mengotomatiskan migrasi dan modernisasi](https://www.youtube.com/watch?v=9FjxnEoH5wg) untuk mempercepat transformasi () YouTube
+ [AWS re:invent 2024 - Toyota mendorong inovasi & meningkatkan efisiensi operasional](https://www.youtube.com/watch?v=_NXc1MJenw4) dengan gen AI () YouTube

**catatan**  
AWS Transform Sebelumnya dikenal sebagai *Amazon Q Developer transform untuk mainframe*.

# Memodernisasi dan menyebarkan aplikasi mainframe menggunakan dan Terraform AWS Transform
<a name="modernize-mainframe-app-transform-terraform"></a>

*Mason Cahill, Polaris Jhandi, Prachi Khanna, Ramani Sivasubrama, dan Santosh Kumar Singh, Amazon Web Services*

## Ringkasan
<a name="modernize-mainframe-app-transform-terraform-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)dapat mempercepat modernisasi skala besar .NET, mainframe, dan beban kerja. VMware Ini menyebarkan agen AI khusus yang mengotomatiskan tugas-tugas kompleks seperti penilaian, analisis kode, refactoring, dekomposisi, pemetaan ketergantungan, validasi, dan perencanaan transformasi. [Pola ini menunjukkan cara menggunakan AWS Transform untuk memodernisasi aplikasi mainframe dan kemudian menerapkannya ke AWS infrastruktur dengan menggunakan Hashicorp Terraform.](https://developer.hashicorp.com/terraform/intro) step-by-stepInstruksi ini membantu Anda mengubah [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), yang merupakan contoh aplikasi mainframe open source, dari COBOL ke aplikasi Java modern.

## Prasyarat dan batasan
<a name="modernize-mainframe-app-transform-terraform-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS
+ Izin administratif untuk membuat AWS sumber daya dan menyebarkan aplikasi
+ [Terraform versi 1.5.7 atau lebih tinggi, dikonfigurasi](https://developer.hashicorp.com/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
+ AWS [Penyedia untuk Terraform, dikonfigurasi](https://registry.terraform.io/providers/hashicorp/aws/2.36.0/docs#authentication)
+ AWS IAM Identity Center, [diaktifkan](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ AWS Transform, [diaktifkan](https://docs.aws.amazon.com/transform/latest/userguide/getting-started.html)
+ Pengguna, yang [terhubung ke AWS Transform ruang](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html) kerja dengan peran kontributor yang dapat menjalankan pekerjaan transformasi

**Batasan**
+ AWS Transform hanya tersedia di beberapa Wilayah AWS. Untuk daftar lengkap Wilayah yang didukung, lihat Wilayah yang [Didukung untuk AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ Ada kuota layanan untuk kapabilitas transformasi mainframe di. AWS Transform Untuk informasi lebih lanjut, lihat [Kuota untuk AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ Untuk berkolaborasi di ruang kerja bersama, semua pengguna harus menjadi pengguna terdaftar dari contoh yang sama AWS IAM Identity Center yang terkait dengan instance AWS Transform aplikasi web Anda.
+ Bucket Amazon Simple Storage Service (Amazon S3) AWS Transform dan harus berada di tempat yang sama dan Wilayah. Akun AWS 

## Arsitektur
<a name="modernize-mainframe-app-transform-terraform-architecture"></a>

Diagram berikut menunjukkan end-to-end modernisasi aplikasi warisan dan penyebaran ke. AWS Cloud Kredensi aplikasi dan database disimpan AWS Secrets Manager, dan Amazon CloudWatch menyediakan kemampuan pemantauan dan pencatatan.

![\[AWS Transform memodernisasi aplikasi mainframe dan penerapan melalui Terraform.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/78bc1e6e-cd3d-4c6d-ae4b-0675a6898fd9/images/332ccf35-f55a-449e-a05d-7e321b3867b7.png)


Diagram menunjukkan alur kerja berikut:

1. Melalui AWS IAM Identity Center, pengguna mengautentikasi dan mengakses AWS Transform di. Akun AWS

1. Pengguna mengunggah kode mainframe COBOL ke bucket Amazon S3 dan memulai transformasi di. AWS Transform

1. AWS Transform memodernisasi kode COBOL menjadi kode Java cloud-native dan menyimpan kode modern di bucket Amazon S3.

1. Terraform membuat AWS infrastruktur untuk menerapkan aplikasi modern, termasuk Application Load Balancer, instans Amazon Elastic Compute Cloud (Amazon EC2), dan database Amazon Relational Database Service (Amazon RDS). Terraform menerapkan kode modern ke instans Amazon EC2.

1. File VSAM diunggah ke Amazon EC2 dan dimigrasikan dari Amazon EC2 ke database Amazon RDS.

## Alat
<a name="modernize-mainframe-app-transform-terraform-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah. Dalam pola ini, instance cluster failover SQL Server diinstal pada instans Amazon EC2.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)membantu Anda mengelola akses masuk tunggal (SSO) secara terpusat ke aplikasi Anda Akun AWS dan cloud.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di. AWS Cloud
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.
+ [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 Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)menggunakan AI agen untuk membantu Anda mempercepat modernisasi beban kerja lama, seperti .NET, mainframe, dan beban kerja. VMware 

**Alat-alat lainnya**
+ [Apache Maven](https://maven.apache.org/) adalah manajemen proyek perangkat lunak open source dan membangun alat otomatisasi untuk proyek Java.
+ [Apache Tomcat](https://tomcat.apache.org/) adalah wadah Servlet open source dan server web untuk kode Java.
+ [HashiCorp Terraform](https://www.terraform.io/docs) adalah alat infrastruktur sebagai kode (IAc) yang membantu Anda menggunakan kode untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud.
+ [Spring Boot](https://spring.io/projects/spring-boot) adalah kerangka kerja open source yang dibangun di atas Spring Framework di Jawa.

**Repositori kode**

Kode untuk pola ini tersedia di repositori GitHub [Mainframe Transformation E2E](https://github.com/aws-samples/sample-mainframe-transformation-e2e). Pola ini menggunakan aplikasi AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe open source sebagai contoh aplikasi.

## Praktik terbaik
<a name="modernize-mainframe-app-transform-terraform-best-practices"></a>
+ Tetapkan kepemilikan penuh kode dan sumber daya yang ditargetkan untuk migrasi.
+ Kembangkan dan uji bukti konsep sebelum melakukan penskalaan ke migrasi penuh.
+ Menjamin komitmen dari semua pemangku kepentingan.
+ Membangun saluran komunikasi yang jelas.
+ Menentukan dan mendokumentasikan persyaratan produk minimum yang layak (MVP).
+ Tetapkan kriteria keberhasilan yang jelas.

## Epik
<a name="modernize-mainframe-app-transform-terraform-epics"></a>

### Siapkan dan unggah kode aplikasi mainframe
<a name="prepare-and-upload-the-mainframe-application-code"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat bucket. | Buat bucket Amazon S3 di tempat yang sama Akun AWS dan Wilayah yang AWS Transform diaktifkan. Anda menggunakan bucket ini untuk menyimpan kode aplikasi mainframe, data, dan skrip tambahan yang diperlukan untuk membangun dan menjalankan aplikasi. AWS Transform menggunakan bucket ini untuk menyimpan kode refactored dan file lain yang terkait dengan transformasi. Untuk petunjuknya, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) di dokumentasi Amazon S3. | AWS umum, administrator AWS | 
| Setel izin CORS untuk bucket. | Saat menyiapkan bucket untuk AWS Transform akses, Anda perlu mengonfigurasi berbagi sumber daya lintas asal (CORS) untuk bucket. Jika ini tidak diatur dengan benar, Anda mungkin tidak dapat menggunakan fungsi tampilan sebaris atau perbandingan file. AWS Transform Untuk petunjuk tentang cara mengonfigurasi CORS untuk bucket, lihat [Menggunakan berbagi sumber daya lintas asal](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) di bucket Amazon S3. Untuk kebijakan ini, lihat [izin CORS bucket S3 di dokumentasi](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3). AWS Transform  | AWS umum, administrator AWS | 
| Siapkan contoh kode aplikasi mainframe. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS Umum, Pengembang aplikasi | 

### Ubah aplikasi mainframe
<a name="transform-the-mainframe-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan AWS Transform pekerjaan. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, Pemilik aplikasi | 
| Siapkan konektor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, Pemilik aplikasi | 
| Ubah kode. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, Pemilik aplikasi | 

### Menyebarkan infrastruktur melalui Terraform
<a name="deploy-the-infrastructure-through-terraform"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Perbarui template. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html)Untuk lingkungan produksi atau seperti produksi, konfigurasikan komponen keamanan tambahan. Misalnya, aktifkan [AWS WAF perlindungan untuk Application Load Balancer Anda](https://aws.amazon.com/about-aws/whats-new/2024/02/aws-application-load-balancer-one-click-waf-integrations/). | AWS umum, administrator AWS | 
| Menyebarkan infrastruktur. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Terraform | 

### Instal dan konfigurasikan Apache Tomcat di instans Amazon EC2
<a name="install-and-configure-apache-tomcat-on-the-ec2-instance"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal perangkat lunak yang diperlukan. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 
| Verifikasi instalasi perangkat lunak. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 

### Kompilasi dan paket kode aplikasi modern
<a name="compile-and-package-the-modernized-application-code"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Unduh dan ekstrak kode yang dihasilkan. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 
| Bangun aplikasi yang dimodernisasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 

### Migrasi database
<a name="migrate-the-database"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat database dan skema JICS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 
| Validasi pembuatan database. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 
| Migrasikan data ke database JICS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 

### Instal aplikasi modern
<a name="install-the-modernized-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal aplikasi modern pada instans Amazon EC2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, arsitek Cloud | 
| Mulai ulang server Tomcat. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, arsitek Cloud | 
| Migrasikan kumpulan data VSAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, insinyur Migrasi | 
| Perbarui parameter dalam skrip Groovy. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi | 

### Uji aplikasi
<a name="test-the-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Uji aplikasi yang dimodernisasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, Insinyur uji | 
| Verifikasi skrip batch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Pengembang aplikasi, Insinyur uji | 

### Bersihkan
<a name="clean-up"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Bersiaplah untuk menghapus infrastruktur. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS Umum | 
| Hapus infrastruktur. | Langkah-langkah ini akan menghapus sumber daya Anda secara permanen. Pastikan Anda telah mencadangkan data penting apa pun sebelum melanjutkan.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS Umum | 

## Pemecahan masalah
<a name="modernize-mainframe-app-transform-terraform-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Otentikasi Terraform | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Kesalahan terkait Tomcat | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Nama URL tidak dimuat | Pastikan bahwa grup keamanan Application Load Balancer memiliki alamat IP Anda dalam aturan masuk sebagai sumber. | 
| Masalah otentikasi di log Tomcat | Konfirmasikan bahwa kata sandi rahasia database masuk AWS Secrets Manager dan kata sandi di **server.xml** cocok. | 

## Sumber daya terkait
<a name="modernize-mainframe-app-transform-terraform-resources"></a>

**AWS Panduan Preskriptif**
+ [Modernisasi aplikasi CardDemo mainframe dengan menggunakan AWS Transform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)

**AWS dokumentasi layanan**
+ [AWS Konsol Administrasi Blu Age Blusam](https://docs.aws.amazon.com/m2/latest/userguide/ba-shared-bac-userguide.html)
+ [Persyaratan penyiapan infrastruktur untuk AWS Blu Age Runtime (tidak dikelola)](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)
+ [Orientasi AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-setup-onboard.html)
+ [Modernisasi aplikasi mainframe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/transform-app-mainframe.html)
+ [Siapkan konfigurasi untuk AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html)

**AWS posting blog**
+ [Percepat Perjalanan Modernisasi Mainframe Anda menggunakan Agen AI AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/)

# Modernisasi manajemen output mainframe AWS dengan menggunakan Rocket Enterprise Server dan LRS X PageCenter
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx"></a>

*Shubham Roy, Amazon Web Services*

*Abraham Rondon, Fokus Mikro*

*Guy Tucker, Levi, Ray dan Shoup Inc*

## Ringkasan
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-summary"></a>

Dengan memodernisasi manajemen output mainframe Anda, Anda dapat mencapai penghematan biaya, mengurangi utang teknis pemeliharaan sistem lama, dan meningkatkan ketahanan dan kelincahan melalui serta teknologi cloud-native Amazon Web DevOps Services (AWS). Pola ini menunjukkan kepada Anda cara memodernisasi beban kerja manajemen keluaran mainframe utama bisnis Anda di AWS Cloud. Pola ini menggunakan [Rocket Enterprise Server](https://www.rocketsoftware.com/en-us/products/enterprise-suite/enterprise-server) sebagai runtime untuk aplikasi mainframe modern, dengan Levi, Ray & Shoup, Inc. (LRS) VPSX/MFI (Micro Focus Interface) sebagai server cetak dan LRS X sebagai server arsip. PageCenter LRS PageCenter X menyediakan solusi manajemen keluaran untuk melihat, mengindeks, mencari, mengarsipkan, dan mengamankan akses ke output bisnis.

Pola ini didasarkan pada pendekatan modernisasi mainframe [replatform](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/). Aplikasi mainframe dimigrasikan oleh [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html) di Amazon Elastic Compute Cloud (Amazon). EC2 Beban kerja manajemen output mainframe dimigrasikan ke Amazon EC2, dan database mainframe, seperti IBM Db2 for) bekerja z/OS, is migrated to Amazon Relational Database Service (Amazon RDS). The LRS Directory Integration Server (LRS/DIS dengan AWS Directory Service untuk Microsoft Active Directory untuk otentikasi dan otorisasi alur kerja manajemen output.

## Prasyarat dan batasan
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif.
+ Beban kerja manajemen keluaran mainframe.
+ Pengetahuan dasar tentang cara membangun kembali dan mengirimkan aplikasi mainframe yang berjalan di Rocket Enterprise Server. Untuk informasi selengkapnya, lihat lembar data [Rocket Enterprise Server](https://www.rocketsoftware.com/sites/default/files/resource_files/enterprise-server.pdf) di dokumentasi Perangkat Lunak Roket.
+ Pengetahuan dasar tentang solusi dan konsep pencetakan cloud LRS. Untuk informasi selengkapnya, lihat *Modernisasi Keluaran dalam dokumentasi* LRS.
+ Perangkat lunak dan lisensi Rocket Enterprise Server. Untuk informasi lebih lanjut, hubungi [Perangkat Lunak Roket](https://www.rocketsoftware.com/products/enterprise-suite/request-contact).
+ VPSX/MFI, LRS PageCenterX, LRS/Queue, and LRS/DISPerangkat lunak dan lisensi LRS. Untuk informasi lebih lanjut, [hubungi LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/). Anda harus memberikan nama host dari EC2 contoh di mana produk LRS akan diinstal.


| 
| 
| [Catatan: Untuk informasi selengkapnya tentang pertimbangan konfigurasi untuk beban kerja manajemen keluaran mainframe, lihat *Pertimbangan* di bagian Informasi tambahan dari pola ini.](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional) | 
| --- |

**Versi produk**
+ [Server Perusahaan Roket 10.0](https://www.rocketsoftware.com/products/enterprise-suite/enterprise-test-server)
+ [LRS VPSX/LKM](https://www.lrsoutputmanagement.com/products/modernization-products/)
+ [LRS PageCenter X](https://www.lrsoutputmanagement.com/products/content-management/pagecenterx-for-open-systems/) V1R3 atau yang lebih baru

## Arsitektur
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-architecture"></a>

**Tumpukan teknologi sumber**
+ Sistem operasi — IBM z/OS
+ Bahasa pemrograman — Bahasa berorientasi bisnis umum (COBOL), bahasa kontrol pekerjaan (JCL), dan Sistem Kontrol Informasi Pelanggan (CICS)
+ Database — IBM Db2 untuk z/OS, database Sistem Manajemen Informasi IBM (IMS), dan Metode Akses Penyimpanan Virtual (VSAM)
+ Keamanan — Fasilitas Kontrol Akses Sumber Daya (RACF), CA Top Secret untuk z/OS, dan Fasilitas Kontrol Akses 2 () ACF2
+ Solusi cetak dan arsip - Produk z/OS keluaran dan pencetakan mainframe IBM (IBM Infoprint Server untuk z/OS, LRS, dan CA Deliver) dan solusi pengarsipan (CA Deliver, ASG Mobius, atau CA Bundle)

**Arsitektur sumber**

Diagram berikut menunjukkan arsitektur keadaan saat ini yang khas untuk beban kerja manajemen output mainframe.

![\[Proses output mainframe dalam tujuh langkah.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/images/d170394a-c9b2-43c0-a3d4-677b5f7c2473.png)


Diagram menunjukkan alur kerja berikut:

1. Pengguna melakukan transaksi bisnis pada sistem keterlibatan (SoE) yang dibangun di atas aplikasi IBM CICS yang ditulis dalam COBOL.

1. SoE memanggil layanan mainframe, yang mencatat data transaksi bisnis dalam database system-of-records (SoR) seperti IBM Db2 untuk z/OS.

1. SoR mempertahankan data bisnis dari BUMN.

1. Penjadwal pekerjaan batch memulai pekerjaan batch untuk menghasilkan output cetak.

1. Pekerjaan batch mengekstrak data dari database. Ini memformat data sesuai dengan kebutuhan bisnis, dan kemudian menghasilkan output bisnis seperti laporan penagihan, kartu identitas, atau laporan pinjaman. Akhirnya, pekerjaan batch merutekan output ke manajemen output untuk format, publikasi, dan penyimpanan output berdasarkan persyaratan bisnis.

1. Manajemen output menerima output dari pekerjaan batch. Manajemen output mengindeks, mengatur, dan menerbitkan output ke tujuan tertentu dalam sistem manajemen output, seperti solusi LRS PageCenter X (seperti yang ditunjukkan dalam pola ini) atau CA View.

1. Pengguna dapat melihat, mencari, dan mengambil output.

**Tumpukan teknologi target**
+ Sistem operasi - Windows Server berjalan di Amazon EC2
+ Hitung - Amazon EC2
+ Penyimpanan - Amazon Elastic Block Store (Amazon EBS) dan FSx Amazon untuk Windows File Server
+ Bahasa pemrograman — COBOL, JCL, dan CICS
+ Basis Data - Amazon RDS
+ Keamanan — AWS Managed Microsoft AD
+ Pencetakan dan pengarsipan — Solusi pencetakan LRS (VPSX) dan pengarsipan (PageCenterX) di AWS
+ Lingkungan runtime mainframe - Rocket Enterprise Server

**Arsitektur target**

Diagram berikut menunjukkan arsitektur untuk beban kerja manajemen keluaran mainframe yang diterapkan di AWS Cloud.

![\[Arsitektur target untuk aplikasi batch dan manajemen output dalam tujuh langkah.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/images/3e25ab03-bf3a-4fea-b5eb-38cea9e50138.png)


Diagram menunjukkan alur kerja berikut:

1. Penjadwal pekerjaan batch memulai pekerjaan batch untuk membuat output, seperti laporan penagihan, kartu identitas, atau laporan pinjaman.

1. Pekerjaan batch mainframe ([direplatformed ke Amazon EC2](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/)) menggunakan runtime Rocket Enterprise Server untuk mengekstrak data dari database aplikasi, menerapkan logika bisnis ke data, dan memformat data. Kemudian mengirimkan data ke tujuan output dengan menggunakan [modul keluar printer Rocket Software](https://www.microfocus.com/documentation/enterprise-developer/ed100/ED-Eclipse/HCOMCMJCLOU020.html) (dokumentasi OpenText Micro Focus).

1. Database aplikasi (SoR yang berjalan di Amazon RDS) menyimpan data untuk output cetak.

1. Solusi VPSX/MFI pencetakan LRS digunakan di Amazon EC2, dan data operasionalnya disimpan di Amazon EBS. LRS VPSX/MFI menggunakan agen TCP/IP-based LRS/Queue transmisi untuk mengumpulkan data output melalui Rocket Software JES Print Exit API.

   LRS VPSX/MFI melakukan preprocessing data, seperti terjemahan EBCDIC ke ASCII. Ini juga melakukan tugas yang lebih kompleks, termasuk mengubah aliran data eksklusif mainframe seperti IBM Advanced Function Presentation (AFP) dan Xerox Line Conditioned Data Stream (LCDS) menjadi aliran data tampilan dan pencetakan yang lebih umum seperti Printer Command Language (PCL) dan PDF.

   Selama jendela pemeliharaan LRS PageCenter X, VPSX/MFI LRS mempertahankan antrian output dan berfungsi sebagai cadangan untuk antrian output. LRS VPSX/MFI menghubungkan dan mengirimkan output ke LRS PageCenter X dengan menggunakan protokol. LRS/Queue LRS/Queue melakukan pertukaran kesiapan dan penyelesaian untuk pekerjaan untuk membantu memastikan bahwa transfer data terjadi.

   **Catatan:**

   Untuk informasi selengkapnya tentang data cetak yang diteruskan dari Rocket Software Print Exit ke LRS/Queue dan mekanisme batch mainframe yang VPSX/MFI didukung LRS, lihat *Mencetak pengambilan data* di bagian [Informasi tambahan](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional).

   LRS VPSX/MFI dapat melakukan pemeriksaan kesehatan di tingkat armada printer. Untuk informasi lebih lanjut, lihat *Pemeriksaan kesehatan armada printer* di bagian [Informasi tambahan](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional) dari pola ini.

1. Solusi manajemen keluaran LRS PageCenter X digunakan di Amazon EC2, dan data operasionalnya disimpan di Amazon FSx untuk Windows File Server. LRS PageCenter X menyediakan sistem manajemen laporan pusat dari semua file yang diimpor ke LRS PageCenter X bersama dengan semua pengguna dapat mengakses file. Pengguna dapat melihat konten file tertentu atau melakukan pencarian di beberapa file untuk kriteria pencocokan.

    LRS/NetX Komponen ini adalah server aplikasi web multi-threaded yang menyediakan lingkungan runtime umum untuk aplikasi LRS PageCenter X dan aplikasi LRS lainnya. Komponen LRS/Web Connect diinstal pada server web Anda dan menyediakan konektor dari server web ke server aplikasi LRS/NetX web.

1. LRS PageCenter X menyediakan penyimpanan untuk objek sistem file. Data operasional LRS PageCenter X disimpan di Amazon FSx untuk Windows File Server.

1. Otentikasi dan otorisasi manajemen keluaran dilakukan oleh AWS Managed Microsoft AD dengan LRS/DIS.

**catatan**  
Solusi target biasanya tidak memerlukan perubahan aplikasi untuk mengakomodasi bahasa pemformatan mainframe, seperti IBM AFP atau Xerox LCD.

**Arsitektur infrastruktur AWS**

Diagram berikut menunjukkan arsitektur infrastruktur AWS yang sangat tersedia dan aman untuk beban kerja manajemen output mainframe.

![\[Infrastruktur AWS multi-AZ dengan alur kerja dalam tujuh langkah.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/images/8d8aa995-b576-4ecd-8a7c-5f566740a515.png)


Diagram menunjukkan alur kerja berikut:

1. Penjadwal batch memulai proses batch dan diterapkan di Amazon EC2 di beberapa [Availability Zone for high availability](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) (HA).
**catatan**  
Pola ini tidak mencakup implementasi penjadwal batch. Untuk informasi selengkapnya tentang implementasi, lihat dokumentasi vendor perangkat lunak untuk penjadwal Anda.

1. Pekerjaan batch mainframe (ditulis dalam bahasa pemrograman seperti JCL atau COBOL) menggunakan logika bisnis inti untuk memproses dan menghasilkan output cetak, seperti laporan penagihan, kartu ID, dan laporan pinjaman. Pekerjaan batch diterapkan di Amazon EC2 di dua Availability Zone untuk HA. Ini menggunakan Rocket Software Print Exit API untuk merutekan output cetak ke LRS VPSX/MFI untuk preprocessing data.

1. Server VPSX/MFI cetak LRS digunakan EC2 di Amazon di dua Availability Zone untuk HA (active-standby redundant pair). Ini menggunakan [Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) sebagai penyimpanan data operasional. Network Load Balancer melakukan pemeriksaan kesehatan pada instans VPSX/MFI EC2 LRS. Jika instans aktif dalam keadaan tidak sehat, penyeimbang beban merutekan lalu lintas ke instans siaga panas di Availability Zone lainnya. Permintaan cetak disimpan dalam Antrian Job LRS secara lokal di setiap instance. EC2 Jika terjadi kegagalan, instance yang gagal harus dimulai ulang sebelum layanan LRS dapat melanjutkan pemrosesan permintaan cetak.
**catatan**  
LRS juga VPSX/MFI dapat melakukan pemeriksaan kesehatan di tingkat armada printer. Untuk informasi lebih lanjut, lihat *Pemeriksaan kesehatan armada printer* di bagian [Informasi tambahan](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional) dari pola ini.

1. Manajemen keluaran LRS PageCenter X diterapkan EC2 di Amazon di dua Availability Zone untuk HA (active-standby redundant pair). Ini menggunakan [Amazon FSx untuk Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) sebagai penyimpanan data operasional. Jika instans aktif dalam keadaan tidak sehat, penyeimbang beban melakukan pemeriksaan kesehatan pada instans LRS PageCenter X dan mengarahkan lalu lintas ke EC2 instans siaga di Availability Zone lainnya.

1. [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) menyediakan nama DNS untuk mengintegrasikan Server LRS dengan LRS X VPSX/MFI . PageCenter
**catatan**  
LRS PageCenter X mendukung penyeimbang beban Layer 4.

1. LRS PageCenter X menggunakan Amazon FSx untuk Windows File Server sebagai penyimpanan data operasional yang digunakan di dua Availability Zone untuk HA. LRS PageCenter X hanya memahami file yang ada di berbagi file, bukan dalam database eksternal.

1. [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) digunakan LRS/DIS untuk melakukan autentikasi dan otorisasi alur kerja manajemen keluaran. Untuk informasi selengkapnya, lihat *Mencetak otentikasi dan otorisasi keluaran* di bagian [Informasi tambahan](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional).

## Alat
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-tools"></a>

**Layanan AWS**
+ [AWS Directory Service untuk Microsoft Active Directory memungkinkan beban kerja yang sadar direktori](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) dan sumber daya AWS Anda untuk menggunakan Microsoft Active Directory di AWS Cloud.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) menyediakan volume penyimpanan tingkat blok untuk digunakan dengan instans Amazon Elastic Compute Cloud (Amazon). EC2
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) mendistribusikan lalu lintas aplikasi atau jaringan yang masuk ke beberapa target. Misalnya, Anda dapat mendistribusikan lalu lintas di seluruh EC2 instans Amazon, kontainer, dan alamat IP di satu atau beberapa Availability Zone. Pola ini menggunakan Network Load Balancer.
+ [Amazon FSx](https://docs.aws.amazon.com/fsx/?id=docs_gateway) menyediakan sistem file yang mendukung protokol konektivitas standar industri dan menawarkan ketersediaan dan replikasi tinggi di seluruh Wilayah AWS. Pola ini menggunakan Amazon FSx untuk Windows File Server.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud.

**Alat lainnya**
+ Perangkat lunak [LRS PageCenter X](https://www.lrsoutputmanagement.com/products/content-management/pagecenterx-for-open-systems/) menyediakan dokumen yang dapat diskalakan dan solusi manajemen konten laporan yang membantu pengguna memperoleh nilai maksimum dari informasi melalui pengindeksan otomatis, enkripsi, dan fitur pencarian lanjutan.
+ [LRS VPSX/MFI (Micro Focus Interface)](https://www.lrsoutputmanagement.com/products/modernization-products/), dikembangkan bersama oleh LRS dan Rocket Software, menangkap output dari spool JES Perangkat Lunak Rocket dan dengan andal mengirimkannya ke tujuan cetak tertentu.
+ LRS/Queue is a transmission agent that’s TCP/IP based. LRS VPSX/MFI uses LRS/Queueuntuk mengumpulkan atau menangkap data cetak melalui antarmuka pemrograman Rocket Software JES Print Exit.
+ LRS Directory Integration Server (LRS/DIS) digunakan untuk otentikasi dan otorisasi selama alur kerja cetak.
+ [Rocket Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-WIN/GUID-F7D8FD6E-BDE0-4169-8D8C-96DDFFF6B495.html) adalah lingkungan penyebaran aplikasi untuk aplikasi mainframe. Ini menyediakan lingkungan runtime untuk aplikasi mainframe yang dimigrasikan atau dibuat dengan menggunakan versi Pengembang Rocket Enterprise apa pun.

## Epik
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-epics"></a>

### Siapkan runtime Rocket dan gunakan aplikasi batch mainframe
<a name="set-up-the-rocket-runtime-and-deploy-a-mainframe-batch-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan runtime dan terapkan aplikasi demo. | [Untuk menyiapkan Rocket Enterprise Server di Amazon EC2 dan menerapkan aplikasi BankDemo demonstrasi Perangkat Lunak Rocket, ikuti petunjuk dalam panduan pengguna Modernisasi AWS Mainframe.](https://docs.aws.amazon.com/m2/latest/userguide/mf-runtime-setup.html) BankDemo Aplikasi ini adalah aplikasi batch mainframe yang membuat dan kemudian memulai output cetak. | Arsitek awan | 

### Siapkan server cetak LRS di Amazon EC2
<a name="set-up-an-lrs-print-server-on-amazon-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat instance Amazon EC2 Windows. | Untuk meluncurkan instans Amazon EC2 Windows, ikuti petunjuk di [Luncurkan EC2 instans Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) di EC2 dokumentasi Amazon. Gunakan nama host yang sama yang Anda gunakan untuk lisensi produk LRS Anda.Instans Anda harus memenuhi persyaratan perangkat keras dan perangkat lunak berikut untuk LRS VPSX/LKM:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html)Persyaratan perangkat keras dan perangkat lunak sebelumnya ditujukan untuk armada printer kecil (sekitar 500-1000). Untuk mendapatkan persyaratan lengkap, konsultasikan dengan kontak LRS dan AWS Anda.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Instal LRS VPSX/MFI pada EC2 instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Instal LRS/antrian. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Instal LRS/DIS. |  LRS/DIS Produk ini sering disertakan dalam instalasi LRS VPSX. Namun, jika LRS/DIS tidak diinstal bersama dengan LRS VPSX, gunakan langkah-langkah berikut untuk menginstalnya:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat grup target. | Buat grup target dengan mengikuti petunjuk di [Buat grup target untuk Network Load Balancer Anda](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html). Saat Anda membuat grup target, daftarkan VPSX/MFI EC2 instance LRS sebagai target:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat Network Load Balancer. | Untuk membuat Network Load Balancer, ikuti instruksi dalam dokumentasi [Elastic Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancing. Network Load Balancer Anda merutekan lalu lintas dari Rocket Enterprise Server ke instans LRS VPSX/MFI EC2 .Saat Anda membuat Network Load Balancer, pilih nilai berikut pada halaman **Listeners** dan Routing:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Integrasikan Rocket Enterprise Server dengan LRS/Queue dan LRS VPSX/MFI
<a name="integrate-rocket-enterprise-server-with-lrs-queue-and-lrs-vpsx-mfi"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan Rocket Enterprise Server untuk LRS/Queue integrasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Konfigurasikan Rocket Enterprise Server untuk VPSX/MFI integrasi LRS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Mengatur antrian cetak dan pengguna cetak
<a name="set-up-the-print-queue-and-the-print-users"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kaitkan modul Keluar Cetak Perangkat Lunak Roket dengan Proses Eksekusi Server printer batch Rocket Enterprise Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat antrian keluaran cetak di LRS VPSX/MFI dan integrasikan dengan LRS X. PageCenter | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat pengguna cetak di LRS VPSX/LKM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Siapkan server LRS PageCenter X di Amazon EC2
<a name="set-up-an-lrs-pagecenterx-server-on-amazon-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat instance Amazon EC2 Windows. | Luncurkan instans Amazon EC2 Windows dengan mengikuti petunjuk dari [Langkah 1: Luncurkan instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance) di EC2 dokumentasi Amazon. Gunakan nama host yang sama yang Anda gunakan untuk lisensi produk LRS Anda.Instans Anda harus memenuhi persyaratan perangkat keras dan perangkat lunak berikut untuk LRS PageCenter X:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html)Persyaratan perangkat keras dan perangkat lunak sebelumnya ditujukan untuk armada printer kecil (sekitar 500-1000). Untuk mendapatkan persyaratan lengkap, konsultasikan dengan kontak LRS dan AWS Anda.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Instal LRS PageCenter X pada EC2 instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Instal LRS/DIS. |  LRS/DIS Produk ini sering disertakan dalam instalasi LRS VPSX. Namun, jika LRS/DIS tidak diinstal bersama dengan LRS VPSX, gunakan langkah-langkah berikut untuk menginstalnya:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat grup target. | Buat grup target dengan mengikuti petunjuk di [Buat grup target untuk Network Load Balancer Anda](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html). Saat Anda membuat grup target, daftarkan EC2 instance LRS PageCenter X sebagai target:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat Network Load Balancer. | Untuk membuat Network Load Balancer, ikuti instruksi dalam dokumentasi [Elastic Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancing. Network Load Balancer Anda merutekan lalu lintas dari LRS VPSX/MFI ke instans LRS X. PageCenter EC2 Saat Anda membuat Network Load Balancer, pilih nilai berikut pada halaman **Listeners** dan Routing:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Siapkan fitur manajemen keluaran di LRS X PageCenter
<a name="set-up-output-management-features-in-lrs-pagecenterx"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Aktifkan fungsi Impor di LRS X PageCenter. | Anda dapat menggunakan fungsi Impor LRS PageCenter X untuk mengenali output yang mendarat di LRS PageCenter X dengan kriteria seperti nama Job atau ID Formulir. Anda kemudian dapat merutekan output ke folder tertentu di PageCenter LRS X.Untuk mengaktifkan fungsi Impor, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Konfigurasikan kebijakan penyimpanan dokumen. | LRS PageCenter X menggunakan kebijakan penyimpanan dokumen untuk memutuskan berapa lama menyimpan dokumen di PageCenter LRS X.Untuk mengonfigurasi kebijakan penyimpanan dokumen, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat aturan untuk merutekan dokumen output ke folder tertentu di LRS X PageCenter. | Di LRS PageCenter X, **Tujuan** menentukan jalur folder di mana output akan dikirim ketika tujuan ini dipanggil oleh Definisi **Laporan**. Untuk contoh ini, buat folder berdasarkan folder **ID Formulir** dalam definisi laporan, dan simpan output ke folder itu.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat definisi laporan. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Mengatur otentikasi dan otorisasi untuk manajemen output
<a name="set-up-authentication-and-authorization-for-output-management"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat domain AWS Managed Microsoft AD dengan pengguna dan grup. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Bergabunglah dengan EC2 instans ke domain AWS Managed Microsoft AD. | Bergabunglah dengan EC2 instans LRS VPSX/MFI dan LRS PageCenter X ke domain AWS Managed Microsoft AD Anda secara otomatis [(](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-dx-domain/)dokumentasi AWS Knowledge Center) atau [secara manual](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html) (dokumentasi AWS Directory Service). | Arsitek awan | 
| Konfigurasikan dan integrasikan LRS/DIS dengan AWS Managed Microsoft AD untuk EC2 instans LRS PageCenter X. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Konfigurasikan grup Impor untuk mengimpor output dari LRS VPSX ke LRS X. PageCenter | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Tambahkan aturan keamanan ke grup Impor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Buat pengguna di LRS PageCenter X untuk melakukan impor output dari LRS VPSX/MFI.  | Saat Anda membuat pengguna di LRS PageCenter X untuk melakukan impor output, nama pengguna harus sama dengan **ID VPSX dari antrian keluaran cetak di LRS VPSX/MFI**. Dalam contoh ini, ID VPSX adalah. **VPS1**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Tambahkan pengguna LRS PageCenter X Impor ke grup Impor saja. | Untuk memberikan izin yang diperlukan untuk impor dokumen dari LRS VPSX ke LRS PageCenter X, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 
| Konfigurasikan LRS/DIS dengan AWS Managed Microsoft AD untuk VPSX/MFI EC2 instans LRS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Konfigurasikan Amazon FSx untuk Windows File Server sebagai penyimpanan data operasional untuk LRS X PageCenter
<a name="configure-amazon-fsx-for-windows-file-server-as-the-operational-data-store-for-lrs-pagecenterx"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat sistem file untuk LRS X PageCenter. | Untuk menggunakan Amazon FSx untuk Windows File Server sebagai penyimpanan data operasional untuk LRS PageCenter X di lingkungan Multi-AZ, ikuti petunjuk di [Langkah 1: Buat sistem file Anda](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started-step1.html). | Arsitek awan | 
| Petakan berbagi file ke EC2 instance LRS PageCenter X. | Untuk memetakan file share yang dibuat pada langkah sebelumnya ke EC2 instance LRS PageCenter X, ikuti petunjuk di [Langkah 2: Petakan berbagi file Anda ke EC2 instance yang menjalankan Windows Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started-step2.html). | Arsitek awan | 
| Petakan Direktori Kontrol LRS PageCenter X dan Direktori Folder Master ke drive berbagi FSx jaringan Amazon. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Arsitek awan | 

### Uji alur kerja manajemen keluaran
<a name="test-an-output-management-workflow"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Memulai permintaan cetak batch dari BankDemo aplikasi Rocket Software. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Insinyur uji | 
| Periksa output cetak di LRS X PageCenter. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Insinyur uji | 

## Sumber daya terkait
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-resources"></a>
+ [LRS](https://www.lrsoutputmanagement.com/products/modernization-products)
+ [Aliran data Presentasi Fungsi Lanjutan](https://www.ibm.com/docs/en/i/7.4?topic=streams-advanced-function-presentation-data-stream) (dokumentasi IBM)
+ [Aliran Data Terkondisi Jalur (LCD) (Dokumentasi Compart)](https://www.compart.com/en/lcds)
+ [Memberdayakan Beban Kerja Mainframe Perusahaan di AWS dengan Micro](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) Focus (posting blog)
+ [Modernisasi beban kerja pencetakan online mainframe Anda di AWS (AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) Prescriptive Guidance)
+ [Modernisasi beban kerja pencetakan batch mainframe Anda di AWS (AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) Prescriptive Guidance)

## Informasi tambahan
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional"></a>

**Pertimbangan-pertimbangan**

Selama perjalanan modernisasi Anda, Anda dapat mempertimbangkan berbagai konfigurasi untuk batch mainframe dan proses online dan output yang dihasilkannya. Platform mainframe telah disesuaikan oleh setiap pelanggan dan vendor yang menggunakannya dengan persyaratan khusus yang secara langsung memengaruhi pencetakan. Misalnya, platform Anda saat ini mungkin menggabungkan aliran data IBM AFP atau Xerox LCD ke dalam alur kerja saat ini. Selain itu, [karakter kontrol carriage mainframe](https://www.ibm.com/docs/en/cmofz/10.5.0?topic=tips-ansi-machine-carriage-controls) dan [kata-kata perintah saluran](https://www.ibm.com/docs/en/zos/3.1.0?topic=devices-channel-command-words) dapat memengaruhi tampilan halaman yang dicetak dan mungkin memerlukan penanganan khusus. Sebagai bagian dari proses perencanaan modernisasi, kami menyarankan Anda menilai dan memahami konfigurasi di lingkungan cetak spesifik Anda.  

**Cetak pengambilan data**

Rocket Software Print Exit meneruskan informasi yang diperlukan untuk LRS VPSX/MFI untuk memproses file spool secara efektif. Informasi terdiri dari bidang yang dilewatkan di blok kontrol yang relevan, seperti berikut ini:
+ NAMA KERJA
+ PEMILIK (USERID)
+ TUJUAN
+ BENTUK
+ NAMA BERKAS
+ PENULIS

LRS VPSX/MFI mendukung mekanisme batch mainframe berikut untuk menangkap data dari Rocket Enterprise Server:
+  print/spool Pemrosesan BATCH COBOL menggunakan pernyataan z/OS JCL DD/OUTPUT SYSOUT standar.
+  print/spool Pemrosesan BATCH COBOL menggunakan pernyataan z/OS JCL CA-SPOOL SUBSYS DD standar.
+ IMS/COBOL print/spoolpemrosesan menggunakan antarmuka CBLTDLI. Untuk daftar lengkap metode dan contoh pemrograman yang didukung, lihat dokumentasi LRS yang disertakan dengan lisensi produk Anda.

**Pemeriksaan kesehatan armada printer**

LRS VPSX/MFI (LRS LoadX) dapat melakukan pemeriksaan kesehatan deep dive, termasuk manajemen perangkat dan optimalisasi operasional. Manajemen perangkat dapat mendeteksi kegagalan pada perangkat printer dan merutekan permintaan cetak ke printer yang sehat. Untuk informasi selengkapnya tentang pemeriksaan kesehatan mendalam untuk armada printer, lihat dokumentasi LRS yang disertakan dengan lisensi produk Anda.

**Cetak otentikasi dan otorisasi**

LRS/DIS enables LRS applications to authenticate user IDs and passwords by using Microsoft Active Directory or a Lightweight Directory Access Protocol (LDAP) server. In addition to basic print authorization, LRS/DISjuga dapat menerapkan kontrol keamanan cetak tingkat butiran dalam kasus penggunaan berikut:
+ Kelola siapa yang dapat menelusuri pekerjaan printer.
+ Kelola tingkat penelusuran pekerjaan pengguna lain.
+ Kelola tugas operasional—misalnya, keamanan tingkat perintah seperti menahan atau melepaskan, membersihkan, memodifikasi, menyalin, dan mengubah rute. Keamanan dapat diatur oleh User-ID atau grup, mirip dengan grup keamanan Active Directory atau grup LDAP.

## Lampiran
<a name="attachments-f9ad041d-b9f0-4a9a-aba7-40fdc3088b27"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/attachments/attachment.zip)

# Modernisasi beban kerja pencetakan batch mainframe dengan menggunakan Rocket Enterprise Server dan LRS AWS VPSX/LFI
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi"></a>

*Shubham Roy dan Kevin Yung, Amazon Web Services*

*Abraham Rondon, Fokus Mikro*

*Guy Tucker, Levi, Ray dan Shoup Inc*

## Ringkasan
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-summary"></a>

Pola ini menunjukkan kepada Anda cara memodernisasi beban kerja pencetakan batch mainframe penting bisnis Anda di Amazon Web Services (AWS) Cloud dengan menggunakan Rocket Enterprise Server sebagai runtime untuk aplikasi mainframe modern dan VPSX/MFI LRS (Micro Focus Interface) sebagai server cetak. Pola ini didasarkan pada pendekatan modernisasi mainframe [replatform](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/). Dalam pendekatan ini, Anda memigrasikan pekerjaan batch mainframe Anda ke Amazon Elastic Compute Cloud (Amazon EC2) dan memigrasikan database mainframe Anda, seperti IBM for DB2 ) terintegrasi dengan AWS z/OS, to Amazon Relational Database Service (Amazon RDS). The authentication and authorization for the modernized print workflow is performed by AWS Directory Service for Microsoft Active Directory, also known as AWS Managed Microsoft AD. The LRS Directory Information Server (LRS/DIS Managed Microsoft AD. Dengan memodernisasi beban kerja pencetakan batch Anda, Anda dapat mengurangi biaya infrastruktur TI, mengurangi utang teknis pemeliharaan sistem lama, menghapus silo data, meningkatkan kelincahan dan efisiensi dengan DevOps model, dan memanfaatkan sumber daya sesuai permintaan dan otomatisasi di AWS Cloud.

## Prasyarat dan batasan
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Beban kerja pencetakan mainframe atau manajemen output
+ Pengetahuan dasar tentang cara membangun kembali dan mengirimkan aplikasi mainframe yang berjalan di Rocket Enterprise Server (Untuk informasi lebih lanjut, lihat lembar data [Rocket Enterprise Server](https://www.rocketsoftware.com/sites/default/files/resource_files/enterprise-server.pdf) dalam dokumentasi Rocket.)
+ Pengetahuan dasar tentang solusi dan konsep [pencetakan cloud LRS](https://www.lrsoutputmanagement.com/solutions/solutions-cloud-printing/)
+ Perangkat lunak dan lisensi Rocket Enterprise Server (Untuk informasi lebih lanjut, hubungi [penjualan Rocket](https://www.rocketsoftware.com/en-us/products/enterprise-suite/request-contact).)
+ VPSX/MFI, LRS/Queue, and LRS/DISPerangkat lunak dan lisensi LRS (Untuk informasi lebih lanjut, hubungi penjualan [LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/).)

**catatan**  
Untuk informasi selengkapnya tentang pertimbangan konfigurasi untuk beban kerja pencetakan batch mainframe, lihat *Pertimbangan* di bagian [Informasi tambahan dari pola](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) ini.

**Versi produk**
+ [Rocket Enterprise Server](https://www.microfocus.com/en-us/products/enterprise-server/overview?utm_campaign=7018e000000PgfnAAC&utm_content=SCH-BR-AMC-AppM-AMS&gclid=EAIaIQobChMIoZCQ6fvS9wIVxQN9Ch2MzAOlEAAYASAAEgKx2fD_BwE) 6.0 (pembaruan produk 7)
+ [LRS VPSX/MFI V1R3](https://www.lrsoutputmanagement.com/products/vpsx-enterprise/) atau lebih tinggi

## Arsitektur
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-architecture"></a>

**Tumpukan teknologi sumber**
+ Sistem operasi — IBM z/OS
+ Bahasa pemrograman — Common Business-Oriented Language (COBOL), job control language (JCL), dan Customer Information Control System (CICS)
+ Database — IBM DB2 untuk z/OS dan Metode Akses Penyimpanan Virtual (VSAM)
+ Keamanan — Fasilitas Kontrol Akses Sumber Daya (RACF), CA Top Secret untuk z/OS, dan Fasilitas Kontrol Akses 2 () ACF2
+ Manajemen pencetakan dan output - Produk z/OS pencetakan mainframe IBM (IBM Tivoli Output Manager untuk z/OS, LRS, dan CA View)

**Tumpukan teknologi target**
+ Sistem operasi - Microsoft Windows Server berjalan di Amazon EC2
+ Hitung - Amazon EC2
+ Bahasa pemrograman — COBOL, JCL, dan CICS
+ Basis Data - Amazon RDS
+ Keamanan — AWS Managed Microsoft AD
+ Manajemen pencetakan dan output — Solusi pencetakan LRS di AWS
+ Lingkungan runtime mainframe - Rocket Enterprise Server

**Arsitektur sumber**

Diagram berikut menunjukkan arsitektur keadaan saat ini yang khas untuk beban kerja pencetakan batch mainframe:

![\[Dari pengguna ke layanan mainframe, Db2 untuk z/OS, penjadwal pekerjaan, pekerjaan batch, dan output dalam enam langkah.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/36de7312-4860-4702-a325-c01cf74c4f33/images/83d82435-0aa6-4eb8-a5c8-0920102afb09.png)


Diagram menunjukkan alur kerja berikut:

1. Pengguna melakukan transaksi bisnis pada sistem keterlibatan (SoE) yang dibangun di atas aplikasi IBM CICS yang ditulis dalam COBOL.

1. SoE memanggil layanan mainframe, yang mencatat data transaksi bisnis dalam database system-of-records (SoR) seperti IBM DB2 untuk z/OS.

1. SoR mempertahankan data bisnis dari BUMN.

1. Penjadwal pekerjaan batch memulai pekerjaan batch untuk menghasilkan output cetak.

1. Pekerjaan batch mengekstrak data dari database, memformat data sesuai dengan kebutuhan bisnis, dan kemudian menghasilkan output bisnis seperti laporan penagihan, kartu identitas, atau laporan pinjaman. Akhirnya, pekerjaan batch merutekan output ke manajemen keluaran pencetakan untuk pemrosesan dan pengiriman output, berdasarkan persyaratan bisnis. 

1. Manajemen keluaran pencetakan menerima output cetak dari pekerjaan batch, dan kemudian mengirimkan output itu ke tujuan tertentu, seperti email, berbagi file yang menggunakan FTP aman, printer fisik yang menggunakan solusi pencetakan LRS (seperti yang ditunjukkan dalam pola ini), atau IBM Tivoli.

**Arsitektur target**

Diagram berikut menunjukkan arsitektur untuk beban kerja pencetakan batch mainframe yang diterapkan di AWS Cloud:

![\[Aplikasi Batch di AWS dengan scheduler, Rocket Enterprise Server, dan database dalam empat langkah.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/36de7312-4860-4702-a325-c01cf74c4f33/images/8cdd4ef7-3cbd-476a-9aa4-c1c0924f17c6.png)


Diagram menunjukkan alur kerja berikut:

1. Penjadwal pekerjaan batch memulai pekerjaan batch untuk membuat hasil cetak, seperti laporan penagihan, kartu identitas, atau laporan pinjaman.

1. Pekerjaan batch mainframe ([direplatformed ke Amazon EC2](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/)) menggunakan runtime Rocket Enterprise Server untuk mengekstrak data dari database aplikasi, menerapkan logika bisnis ke data, memformat data, dan kemudian mengirim data ke tujuan cetak dengan menggunakan [Rocket Software Print Exit](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/HCOMCMJCLOU020.html) (dokumentasi Micro Focus).

1. Database aplikasi (SoR yang berjalan di Amazon RDS) menyimpan data untuk output cetak.

1. Solusi VPSX/MFI pencetakan LRS digunakan di Amazon EC2 dan data operasionalnya disimpan di Amazon Elastic Block Store (Amazon EBS). LRS VPSX/MFI menggunakan agen TCP/IP-based LRS/Queue transmisi untuk mengumpulkan data cetak melalui Rocket Software JES Print Exit API dan mengirimkan data ke tujuan printer tertentu.

**catatan**  
Solusi target biasanya tidak memerlukan perubahan aplikasi untuk mengakomodasi bahasa pemformatan mainframe, seperti IBM Advanced Function Presentation (AFP) atau Xerox Line Condition Data Stream (LCDS). Untuk informasi selengkapnya tentang penggunaan Perangkat Lunak Rocket untuk migrasi dan modernisasi aplikasi mainframe di AWS, lihat [Memberdayakan Beban Kerja Mainframe Perusahaan di AWS](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) dengan posting blog Micro Focus.

**Arsitektur infrastruktur AWS**

Diagram berikut menunjukkan arsitektur infrastruktur AWS yang sangat tersedia dan aman untuk beban kerja pencetakan batch mainframe:

![\[Penerapan multi-AZ di AWS dengan Rocket Software dan komponen LRS dalam tujuh langkah.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/36de7312-4860-4702-a325-c01cf74c4f33/images/287dd143-338c-4d83-a9b2-8e39214a81b0.png)


Diagram menunjukkan alur kerja berikut:

1. Penjadwal batch memulai proses batch dan diterapkan di Amazon EC2 di beberapa [Availability Zone for high availability](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) (HA). 
**catatan**  
Pola ini tidak mencakup implementasi penjadwal batch. Untuk informasi selengkapnya tentang implementasi, lihat dokumentasi vendor perangkat lunak untuk penjadwal Anda.

1. Pekerjaan batch mainframe (ditulis pada bahasa pemrograman seperti JCL atau COBOL) menggunakan logika bisnis inti untuk memproses dan menghasilkan output cetak, seperti laporan penagihan, kartu ID, dan laporan pinjaman. Pekerjaan ini diterapkan di Amazon EC2 di dua Availability Zone untuk HA dan menggunakan Rocket Software Print Exit untuk merutekan output cetak ke LRS VPSX/MFI untuk pencetakan pengguna akhir.

1. LRS VPSX/MFI menggunakan TCP/IP-based LRS/Queue transmission agent to collect or capture print data from the Rocket Software JES Print Exit programming interface. Print Exit passes the necessary information to enable LRS VPSX/MFI to effectively process the spool file and dynamically build LRS/Queue perintah. Perintah kemudian dijalankan menggunakan fungsi bawaan standar dari Rocket Software. 
**catatan**  
Untuk informasi selengkapnya tentang data cetak yang diteruskan dari Rocket Software Print Exit ke LRS/Queue dan mekanisme batch mainframe yang VPSX/MFI didukung LRS, lihat *Mencetak pengambilan data* di bagian [Informasi tambahan](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) dari pola ini.

1. 
**catatan**  
[Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) menyediakan nama DNS untuk mengintegrasikan Rocket Enterprise Server dengan LRS VPSX/MFI. : LRS VPSX/MFI supports a Layer 4 load balancer. The Network Load Balancer also does a basic health check on LRS VPSX/MFI dan mengarahkan lalu lintas ke target terdaftar yang sehat.

1. 
**catatan**  
Server VPSX/MFI cetak LRS digunakan EC2 di Amazon di dua Availability Zone untuk HA dan menggunakan [Amazon EBS sebagai penyimpanan](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) data operasional. LRS VPSX/MFI mendukung mode layanan aktif-aktif dan aktif-pasif. Arsitektur ini menggunakan multiple AZs dalam pasangan aktif-pasif sebagai siaga aktif dan panas. Network Load Balancer melakukan pemeriksaan kesehatan pada instans LRS dan mengarahkan lalu lintas ke VPSX/MFI EC2 instans siaga panas di AZ lain jika instans aktif dalam keadaan tidak sehat. Permintaan cetak disimpan dalam Antrian Pekerjaan LRS secara lokal di setiap instance. EC2 Jika terjadi pemulihan, instance yang gagal harus dimulai ulang agar layanan LRS dapat melanjutkan pemrosesan permintaan cetak. : LRS juga VPSX/MFI dapat melakukan pemeriksaan kesehatan di tingkat armada printer. Untuk informasi selengkapnya, lihat *Pemeriksaan kesehatan armada printer* di bagian [Informasi tambahan](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) dari pola ini.

1. [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) terintegrasi dengan LRS/DIS untuk melakukan autentikasi dan otorisasi alur kerja cetak. Untuk informasi selengkapnya, lihat *Mencetak otentikasi dan otorisasi* di bagian [Informasi tambahan](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) dari pola ini.

1. LRS VPSX/MFI menggunakan Amazon EBS untuk penyimpanan blok. Anda dapat mencadangkan data Amazon EBS dari EC2 instans aktif ke Amazon S3 point-in-time sebagai snapshot dan mengembalikannya ke volume EBS siaga panas. [Untuk mengotomatiskan pembuatan, penyimpanan, dan penghapusan snapshot volume Amazon EBS, Anda dapat menggunakan [Amazon Data Lifecycle Manager](https://aws.amazon.com/blogs/aws/new-lifecycle-management-for-amazon-ebs-snapshots/) untuk mengatur frekuensi snapshot otomatis dan memulihkannya berdasarkan persyaratan RTO/RPO Anda.](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html)

## Alat
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html)) menyediakan volume penyimpanan tingkat blok untuk digunakan dengan instans. EC2 Volume EBS berfungsi seperti perangkat blok mentah yang tidak terformat. Anda dapat memasang volume ini sebagai perangkat di instans Anda.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat menggunakan Amazon EC2 untuk meluncurkan server virtual sebanyak atau sesedikit yang Anda butuhkan, dan Anda dapat meningkatkan skala atau meningkatkan skala.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) adalah layanan web yang memudahkan penyiapan, pengoperasian, dan skala database relasional di AWS Cloud. Ini menyediakan efisiensi biaya, kapasitas resizable untuk database relasional dan mengelola tugas-tugas administrasi database umum.
+ [AWS Directory Service untuk Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html), juga dikenal sebagai AWS Managed Microsoft AD, memungkinkan beban kerja sadar direktori dan sumber daya AWS Anda untuk menggunakan Microsoft Active Directory di AWS Cloud.

**Alat lainnya**
+ [LRS VPSX/MFI (Micro Focus Interface)](https://www.lrsoutputmanagement.com/products/vpsx-enterprise/), dikembangkan bersama oleh LRS dan Rocket Software, menangkap output dari spool JES Rocket Enterprise Server dan andal mengirimkannya ke tujuan cetak tertentu.
+ LRS Directory Information Server (LRS/DIS) digunakan untuk otentikasi dan otorisasi selama alur kerja cetak.
+ TCP/IP-based LRS/Queue transmission agent is used by LRS VPSX/MFIuntuk mengumpulkan atau menangkap data cetak melalui antarmuka pemrograman Rocket Software JES Print Exit.
+ [Rocket Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-A2F23243-962B-440A-A071-480082DF47E7.html) adalah lingkungan penyebaran aplikasi untuk aplikasi mainframe. Ini menyediakan lingkungan eksekusi untuk aplikasi mainframe yang dimigrasikan atau dibuat dengan menggunakan versi Rocket Software Enterprise Developer.

## Epik
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-epics"></a>

### Siapkan Rocket Enterprise Server di Amazon EC2 dan gunakan aplikasi batch mainframe
<a name="set-up-rocket-enterprise-server-on-amazon-ec2-and-deploy-a-mainframe-batch-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan Rocket Enterprise Server dan gunakan aplikasi demo. | Siapkan Rocket Enterprise Server di Amazon EC2, lalu gunakan aplikasi BankDemo demonstrasi Perangkat Lunak Rocket di Amazon. EC2 BankDemo Aplikasi ini adalah aplikasi batch mainframe yang membuat dan kemudian memulai output cetak. | Arsitek awan | 

### Siapkan server cetak LRS di Amazon EC2
<a name="set-up-an-lrs-print-server-on-amazon-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Dapatkan lisensi produk LRS untuk pencetakan. | Untuk mendapatkan lisensi produk LRS untuk LRSVPSX/MFI, LRS/Queue, and LRS/DIS, hubungi tim Manajemen [Output LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/). Anda harus memberikan nama host dari EC2 contoh di mana produk LRS akan diinstal. | Membangun memimpin | 
| Buat instance Amazon EC2 Windows untuk menginstal LRS VPSX/MFI. | Luncurkan instans Amazon EC2 Windows dengan mengikuti petunjuk dari [Luncurkan EC2 instans Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) di EC2 dokumentasi Amazon. Instans Anda harus memenuhi persyaratan perangkat keras dan perangkat lunak berikut untuk LRS VPSX/LKM:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)Persyaratan perangkat keras dan perangkat lunak sebelumnya ditujukan untuk armada printer kecil (sekitar 500-1000). Untuk mendapatkan persyaratan lengkap, konsultasikan dengan kontak LRS dan AWS Anda.Saat Anda membuat instance Windows, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Instal LRS VPSX/MFI pada EC2 instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Instal LRS/antrian. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Instal LRS/DIS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Buat grup target dan daftarkan LRS VPSX/MFI EC2 sebagai target. | Buat grup target dengan mengikuti petunjuk dari [Buat grup target untuk Network Load Balancer Anda dalam dokumentasi Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html).Saat Anda membuat grup target, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Buat Network Load Balancer. | Ikuti instruksi dari [Buat Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) dalam dokumentasi Elastic Load Balancing. Network Load Balancer Anda merutekan lalu lintas dari Rocket Enterprise Server ke LRS. VPSX/MFI EC2Saat Anda membuat Network Load Balancer, lakukan hal berikut pada halaman **Listeners** dan Routing:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Integrasikan Rocket Enterprise Server dengan LRS VPSX/MFI dan LRS/Antrian
<a name="integrate-rocket-enterprise-server-with-lrs-vpsx-mfi-and-lrs-queue"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan Rocket Enterprise Server untuk LRS/Queue integrasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)LRS saat ini mendukung batas karakter maksimum 50 untuk nama DNS, tetapi ini dapat berubah di masa mendatang. Jika nama DNS Anda lebih besar dari 50, maka Anda dapat menggunakan alamat IP Network Load Balancer sebagai alternatif. | Arsitek awan | 
| Konfigurasikan Rocket Enterprise Server untuk VPSX/MFI integrasi LRS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Siapkan printer dan cetak pengguna di Rocket Enterprise Server dan LRS VPSX/MFI
<a name="set-up-printers-and-print-users-in-rocket-enterprise-server-and-lrs-vpsx-mfi"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kaitkan modul Keluar Cetak Perangkat Lunak Roket ke Proses Eksekusi Server printer batch Rocket Enterprise Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)Untuk informasi selengkapnya tentang konfigurasi, lihat [Menggunakan Keluar](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/HCOMCMJCLOS025.html) di dokumentasi Fokus Mikro. | Arsitek awan | 
| Tambahkan printer di LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Buat pengguna cetak di LRS VPSX/LKM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Mengatur otentikasi cetak dan otorisasi
<a name="set-up-print-authentication-and-authorization"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat domain AWS Managed Microsoft AD dengan pengguna dan grup. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Bergabunglah dengan LRS VPSX/MFI EC2 ke domain AWS Managed Microsoft AD. | Bergabunglah dengan LRS VPSX/MFI EC2 ke domain AWS Managed Microsoft AD Anda [secara otomatis](https://repost.aws/knowledge-center/ec2-systems-manager-dx-domain) (dokumentasi AWS Knowledge Center) atau [secara manual](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html) (dokumentasi AWS Directory Service). | Arsitek awan | 
| Konfigurasikan dan integrasikan LRS/DIS dengan AWS Managed Microsoft AD. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Uji alur kerja cetak
<a name="test-a-print-workflow"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Memulai permintaan cetak batch dari BankDemo aplikasi Rocket Software. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Insinyur uji | 
| Periksa output cetak di LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)Anda sekarang dapat melihat hasil cetak dari laporan akun dengan kolom untuk **Akun No.** , **Deskripsi**, **Tanggal**, **Jumlah**, dan **Saldo**. Sebagai contoh, lihat lampiran **batch\$1print\$1output** untuk pola ini. | Insinyur uji | 

## Sumber daya terkait
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-resources"></a>
+ [Modernisasi Output LRS](https://www.lrsoutputmanagement.com/) (dokumentasi LRS)
+ [ANSI dan kontrol kereta mesin](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) (dokumentasi IBM)
+ [Kata-kata perintah saluran](https://www.ibm.com/docs/en/zos/2.3.0?topic=devices-channel-command-words) (dokumentasi IBM)
+ [Memberdayakan Beban Kerja Mainframe Perusahaan di AWS dengan Fokus Mikro (AWS](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) Partner Network Blog)
+ [Membangun PAC Server Perusahaan Fokus Mikro dengan Amazon EC2 Auto Scaling dan Systems Manager](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.html) (dokumentasi AWS Prescriptive Guidance)
+ [Aliran data Presentasi Fungsi Lanjutan (AFP)](https://www.ibm.com/docs/en/i/7.4?topic=streams-advanced-function-presentation-data-stream) (dokumentasi IBM)
+ [Aliran Data Terkondisi Jalur (LCD) (Dokumentasi Compart)](https://www.compart.com/en/lcds)

## Informasi tambahan
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional"></a>

**Pertimbangan-pertimbangan**

Selama perjalanan modernisasi Anda, Anda dapat mempertimbangkan berbagai konfigurasi untuk proses batch mainframe dan output yang dihasilkannya. Platform mainframe telah disesuaikan oleh setiap pelanggan dan vendor yang menggunakannya dengan persyaratan khusus yang secara langsung memengaruhi pencetakan. Misalnya, platform Anda saat ini dapat menggabungkan IBM Advanced Function Presentation (AFP) atau Xerox Line Condition Data Stream (LCDS) ke dalam alur kerja saat ini. Selain itu, [karakter kontrol carriage mainframe](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) dan [kata-kata perintah saluran](https://www.ibm.com/docs/en/zos/2.3.0?topic=devices-channel-command-words) dapat memengaruhi tampilan halaman yang dicetak dan mungkin memerlukan penanganan khusus. Sebagai bagian dari proses perencanaan modernisasi, kami menyarankan Anda menilai dan memahami konfigurasi di lingkungan cetak spesifik Anda.

**Cetak pengambilan data**

Rocket Software Print Exit meneruskan informasi yang diperlukan untuk memungkinkan LRS VPSX/MFI memproses file spool secara efektif. Informasi terdiri dari bidang yang dilewatkan di blok kontrol yang relevan, seperti:
+ NAMA KERJA
+ PEMILIK (USERID)
+ TUJUAN
+ BENTUK
+ NAMA BERKAS
+ PENULIS

LRS VPSX/MFI mendukung mekanisme batch mainframe berikut untuk menangkap data dari Rocket Enterprise Server.
+  print/spool Pemrosesan BATCH COBOL menggunakan pernyataan z/OS JCL SYSOUT standar DD/OUTPUT 
+  print/spool Pemrosesan BATCH COBOL menggunakan pernyataan z/OS JCL CA-SPOOL SUBSYS DD standar
+ IMS/COBOL print/spoolpemrosesan menggunakan antarmuka CBLTDLI (Untuk daftar lengkap metode dan contoh pemrograman yang didukung, lihat dokumentasi LRS yang disertakan dengan lisensi produk Anda.)

**Pemeriksaan kesehatan armada printer**

LRS VPSX/MFI (LRS LoadX) dapat melakukan pemeriksaan kesehatan deep dive, termasuk manajemen perangkat dan optimalisasi operasional. Manajemen perangkat dapat mendeteksi kegagalan pada perangkat printer dan merutekan permintaan cetak ke printer yang sehat. Untuk informasi selengkapnya tentang pemeriksaan kesehatan deep dive untuk armada printer, lihat dokumentasi LRS yang disertakan dengan lisensi produk Anda.

**Cetak otentikasi dan otorisasi**

LRS/DIS enables LRS applications to authenticate user IDs and passwords by using Microsoft Active Directory or an LDAP server. In addition to basic print authorization, LRS/DISjuga dapat menerapkan kontrol keamanan cetak tingkat butiran dalam kasus penggunaan berikut:
+ Kelola siapa yang dapat menelusuri pekerjaan printer.
+ Kelola tingkat penelusuran pekerjaan pengguna lain.
+ Kelola tugas operasional. Misalnya, keamanan tingkat perintah seperti hold/release, purge, modify, copy, dan reroute. Keamanan dapat diatur oleh User-ID atau Grup (mirip dengan grup AD atau grup LDAP). ****

## Lampiran
<a name="attachments-36de7312-4860-4702-a325-c01cf74c4f33"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/36de7312-4860-4702-a325-c01cf74c4f33/attachments/attachment.zip)

# Modernisasi mainframe: aktif AWS dengan Rocket DevOps Software Enterprise Suite
<a name="mainframe-modernization-devops-on-aws-with-micro-focus"></a>

*Kevin Yung, Amazon Web Services*

## Ringkasan
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-summary"></a>

**Tantangan pelanggan**

Organizations yang menjalankan aplikasi inti pada perangkat keras mainframe biasanya menghadapi beberapa tantangan ketika perangkat keras perlu ditingkatkan untuk memenuhi tuntutan inovasi digital. Tantangan-tantangan ini termasuk kendala berikut. 
+ Pengembangan mainframe dan lingkungan pengujian tidak dapat diskalakan karena ketidakfleksibelan komponen perangkat keras mainframe dan tingginya biaya perubahan.
+ Pengembangan mainframe menghadapi kekurangan keterampilan, karena pengembang baru tidak akrab dan tidak tertarik dengan alat pengembangan mainframe tradisional. Teknologi modern seperti kontainer, pipa integration/continuous pengiriman berkelanjutan (CI/CD), dan kerangka kerja pengujian modern tidak tersedia dalam pengembangan mainframe.

**Hasil pola**

Untuk mengatasi tantangan ini, Amazon Web Services (AWS) dan Rocket Software Micro Focus, Mitra AWS Partner Network (APN), telah berkolaborasi untuk membuat pola ini. Solusi ini dirancang untuk membantu Anda mencapai hasil berikut.
+ Peningkatan produktivitas pengembang. Pengembang dapat diberikan instance pengembangan mainframe baru dalam beberapa menit.
+ Penggunaan AWS Cloud untuk membuat lingkungan pengujian mainframe baru dengan kapasitas hampir tidak terbatas.
+ Penyediaan cepat infrastruktur CI/CD mainframe baru. Penyediaan pada AWS dapat diselesaikan dalam waktu satu jam dengan menggunakan AWS CloudFormation dan. AWS Systems Manager
+ Penggunaan asli AWS DevOps alat untuk pengembangan mainframe, termasuk,,, AWS CodeBuild AWS CodeCommit AWS CodePipeline AWS CodeDeploy, dan Amazon Elastic Container Registry (Amazon ECR).
+ Mengubah pengembangan air terjun tradisional menjadi pengembangan tangkas dalam proyek mainframe.

**Ringkasan teknologi**

Dalam pola ini, tumpukan target berisi komponen-komponen berikut.


| 
| 
| Komponen logis | Solusi implementasi | Deskripsi | 
| --- |--- |--- |
| Repositori kode sumber |  AccuRev Server Perangkat Lunak Roket CodeCommit, Amazon ECR  | Manajemen kode sumber — Solusinya menggunakan dua jenis kode sumber: Kode sumber mainframe, misalnya, COBOL dan JCL. AWS templat infrastruktur dan skrip otomatisasi Kedua jenis kode sumber memerlukan kontrol versi, tetapi mereka dikelola dengan cara yang berbeda SCMs. Kode sumber yang digunakan ke mainframe atau Rocket Software Enterprise Server dikelola di Rocket Software Micro Focus AccuRev Server. AWS template dan skrip otomatisasi dikelola di CodeCommit. Amazon ECR digunakan untuk repositori gambar Docker.  | 
| Contoh pengembang perusahaan | Amazon Elastic Compute Cloud (Amazon EC2), Pengembang Perusahaan Perangkat Lunak Roket untuk Eclipse | Pengembang mainframe dapat mengembangkan kode di Amazon EC2 dengan menggunakan Pengembang Perusahaan Perangkat Lunak Rocket untuk Eclipse. Ini menghilangkan kebutuhan untuk mengandalkan perangkat keras mainframe untuk menulis dan menguji kode.  | 
| Manajemen lisensi Rocket Software Enterprise Suite | License Manager Software Enterprise Suite Rocket | Untuk manajemen lisensi dan tata kelola Rocket Software Enterprise Suite terpusat, solusinya menggunakan Rocket Software Enterprise Suite License Manager untuk meng-host lisensi yang diperlukan. | 
| Pipa CI/CD | CodePipeline, CodeBuild, CodeDeploy, Pengembang Perusahaan Perangkat Lunak Roket dalam wadah, Server Uji Perusahaan Perangkat Lunak Roket dalam wadah, Server Perusahaan Fokus Mikro Perangkat Lunak Roket | Tim pengembangan mainframe memerlukan CI/CD pipeline untuk melakukan kompilasi kode, pengujian integrasi, dan pengujian regresi. Di AWS, CodePipeline dan CodeBuild dapat bekerja dengan Pengembang Perusahaan Perangkat Lunak Rocket dan Server Uji Perusahaan dalam wadah secara asli. | 

## Prasyarat dan batasan
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-prereqs"></a>

**Prasyarat**


| 
| 
| Nama | Deskripsi | 
| --- |--- |
| py3270 | py3270 adalah antarmuka Python ke x3270, emulator terminal IBM 3270. Ini menyediakan API ke subproses x3270 atau s3270. | 
| x3270 | x3270 adalah emulator terminal IBM 3270 untuk X Window System dan Windows.  Ini dapat digunakan oleh pengembang untuk pengujian unit secara lokal. | 
| Robot-Kerangka-Mainframe-3270-Perpustakaan | Mainframe3270 adalah perpustakaan untuk Robot Framework berdasarkan proyek py3270. | 
| Perangkat Lunak Roket Verastream | Rocket Software Verastream adalah platform integrasi yang memungkinkan pengujian aset mainframe seperti aplikasi seluler, aplikasi web, dan layanan web SOA diuji. | 
| Penginstal dan lisensi Pengujian Fungsional Terpadu Perangkat Lunak Roket (UFT) | Rocket Software Unified Functional Testing adalah perangkat lunak yang menyediakan otomatisasi uji fungsional dan regresi untuk aplikasi dan lingkungan perangkat lunak. | 
| Pemasang dan lisensi Server Perusahaan Perangkat Lunak Rocket | Enterprise Server menyediakan lingkungan runtime untuk aplikasi mainframe. | 
| Penginstal dan lisensi Server Uji Perusahaan Perangkat Lunak Rocket | Rocket Software Enterprise Test Server adalah lingkungan pengujian aplikasi mainframe IBM. | 
|  AccuRev Penginstal dan lisensi Rocket Software untuk Server, dan Rocket Software Micro Focus AccuRev installer dan lisensi untuk sistem operasi Windows dan Linux  | AccuRev menyediakan manajemen kode sumber (SCM). AccuRev Sistem ini dirancang untuk digunakan oleh tim orang yang sedang mengembangkan satu set file. | 
| Pengembang Perusahaan Perangkat Lunak Roket untuk penginstal, tambalan, dan lisensi Eclipse | Enterprise Developer menyediakan pengembang mainframe platform untuk mengembangkan dan memelihara mainframe inti aplikasi online dan batch. | 

**Batasan**
+ Membangun gambar Windows Docker tidak didukung di CodeBuild. [Masalah yang dilaporkan](https://github.com/docker-library/docker/issues/49) ini membutuhkan dukungan dari tim Windows Kernel/HCS dan Docker. Solusinya adalah membuat runbook build image Docker dengan menggunakan Systems Manager. Pola ini menggunakan solusi untuk membangun Rocket Software Enterpise Developer untuk gambar Eclipse dan Rocket Software Micro Focus Enterprise Test Server Container. 
+ Konektivitas virtual private cloud (VPC) dari belum CodeBuild didukung di Windows, sehingga polanya tidak menggunakan Rocket Software License Manager untuk mengelola lisensi di Rocket Software Enterprise Developer dan OpenText Rocket Software Enterprise Test Server container.

**Versi produk**
+ Pengembang Perusahaan Perangkat Lunak Rocket 5.5 atau yang lebih baru
+ Server Uji Perusahaan Perangkat Lunak Rocket 5.5 atau yang lebih baru
+ Rocket Software Enterprise Server 5.5 atau yang lebih baru
+ Rocket Software AccuRev 7.x atau yang lebih baru
+ **Gambar dasar Windows Docker untuk Pengembang Perusahaan Perangkat Lunak Roket dan Server Uji Perusahaan: microsoft/dotnet-framework-4.7.2-runtime**
+ **Gambar dasar Linux Docker untuk AccuRev klien: amazonlinux: 2**

## Arsitektur
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-architecture"></a>

**Lingkungan mainframe**

Dalam pengembangan mainframe konvensional, pengembang perlu menggunakan perangkat keras mainframe untuk mengembangkan dan menguji program. Mereka menghadapi keterbatasan kapasitas, misalnya terbatas juta instruksi per detik (MIPS) untuk dev/test lingkungan, dan mereka harus bergantung pada alat yang tersedia di komputer mainframe.

Di banyak organisasi, pengembangan mainframe mengikuti metodologi pengembangan air terjun, dengan tim mengandalkan siklus panjang untuk merilis perubahan. Siklus rilis ini biasanya lebih lama dari pengembangan produk digital.   

Diagram berikut menunjukkan beberapa proyek mainframe berbagi perangkat keras mainframe untuk pengembangannya. Dalam perangkat keras mainframe, mahal untuk meningkatkan pengembangan dan pengujian lingkungan untuk lebih banyak proyek.

![\[Diagram showing mainframe architecture with z/OS, databases, programming languages, and user groups.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/84e717fc-5aea-41a6-977a-d7e7a7ca5da7.png)


 

 

*AWS***arsitektur**

Pola ini memperluas pengembangan mainframe ke. AWS Cloud Pertama, ia menggunakan AccuRev SCM untuk meng-host kode sumber mainframe. AWS Kemudian itu membuat Enterprise Developer dan Enterprise Test Server tersedia untuk membangun dan menguji kode mainframe. AWS 

Bagian berikut menjelaskan tiga komponen utama pola.

**1. SCM**

Dalam AWS, pola digunakan AccuRev untuk membuat satu set ruang kerja SCM dan kontrol versi untuk kode sumber mainframe. Arsitektur berbasis streamingnya memungkinkan pengembangan mainframe paralel untuk beberapa tim. Untuk menggabungkan perubahan, AccuRev gunakan konsep promosi. Untuk menambahkan perubahan itu ke ruang kerja lain, AccuRev gunakan konsep pembaruan.

Pada tingkat proyek, setiap tim dapat membuat satu atau lebih aliran AccuRev untuk melacak perubahan tingkat proyek. Ini disebut aliran proyek. Aliran proyek ini diwarisi dari aliran induk yang sama. Aliran induk digunakan untuk menggabungkan perubahan dari aliran proyek yang berbeda.

Setiap aliran proyek dapat mempromosikan kode ke AccuRev, dan pemicu pos promosi disiapkan untuk memulai pipa AWS CI/CD. Build yang berhasil untuk perubahan aliran proyek dapat dipromosikan ke aliran induknya untuk pengujian regresi lainnya.  

Biasanya, aliran induk disebut aliran integrasi sistem. Ketika ada promosi dari aliran proyek ke aliran integrasi sistem, pemicu pasca promosi memulai CI/CD pipeline lain untuk menjalankan pengujian regresi.

Selain kode mainframe, pola ini mencakup AWS CloudFormation template, dokumen Otomasi Systems Manager, dan skrip. Mengikuti praktik infrastructure-as-code terbaik, mereka dikendalikan versi. CodeCommit 

Jika Anda perlu menyinkronkan kode mainframe kembali ke lingkungan mainframe untuk penyebaran, Rocket Software menyediakan solusi Enterprise Sync, yang menyinkronkan kode dari SCM kembali ke AccuRev SCM mainframe.

**2. Lingkungan pengembang dan pengujian**

Dalam organisasi besar, penskalaan lebih dari seratus atau bahkan lebih dari seribu pengembang mainframe sangat menantang. Untuk mengatasi kendala ini, pola menggunakan instance Amazon EC2 Windows untuk pengembangan. Pada instance, Enterprise Developer untuk alat Eclipse diinstal. Pengembang dapat melakukan semua pengujian kode mainframe dan debugging secara lokal pada instance. 

AWS Systems Manager Dokumen State Manager dan Automation digunakan untuk mengotomatiskan penyediaan instans pengembang. Waktu rata-rata untuk membuat instance pengembang adalah dalam 15 menit. Perangkat lunak dan konfigurasi berikut disiapkan:
+ AccuRev Klien Windows untuk memeriksa dan memasukkan kode sumber ke AccuRev
+ Pengembang Perusahaan untuk alat Eclipse, untuk menulis, menguji, dan men-debug kode mainframe secara lokal
+ Kerangka pengujian open source Kerangka pengujian pengembangan berbasis perilaku Python (BDD) Behavie, py3270, dan emulator x3270 untuk membuat skrip untuk menguji aplikasi
+ Alat pengembang Docker untuk membangun image Enterprise Test Server Docker dan menguji aplikasi dalam wadah Enterprise Test Server Docker 

Dalam siklus pengembangan, pengembang menggunakan EC2 instance untuk mengembangkan dan menguji kode mainframe secara lokal. Ketika perubahan lokal berhasil diuji, pengembang mempromosikan perubahan ke AccuRev server.  

**3. CI/CD jaringan pipa**

Dalam polanya, CI/CD pipeline digunakan untuk pengujian integrasi dan uji regresi sebelum penerapan ke lingkungan produksi. 

Seperti yang dijelaskan di bagian SCM, AccuRev menggunakan dua jenis aliran: aliran proyek dan aliran integrasi. Setiap aliran dihubungkan dengan CI/CD jaringan pipa. Untuk melakukan integrasi antara AccuRev server dan AWS CodePipeline, pola menggunakan skrip promosi AccuRev pos untuk membuat acara untuk memulai CI/CD.

Misalnya, ketika pengembang mempromosikan perubahan ke aliran proyek di AccuRev, ia memulai skrip promosi posting untuk dijalankan di AccuRev Server. Kemudian skrip mengunggah metadata perubahan ke bucket Amazon Simple Storage Service (Amazon S3) untuk membuat acara Amazon S3. Acara ini akan memulai pipeline yang CodePipeline dikonfigurasi untuk dijalankan. 

Mekanisme memulai peristiwa yang sama digunakan untuk aliran integrasi dan jaringan pipa terkaitnya. 

Dalam CI/CD pipeline, CodePipeline gunakan CodeBuild dengan wadah klien AccuRev Linux untuk memeriksa kode terbaru dari AccuRev aliran. Kemudian pipeline CodeBuild mulai menggunakan wadah Enterprise Developer Windows untuk mengkompilasi kode sumber, dan menggunakan wadah Enterprise Test Server Windows CodeBuild untuk menguji aplikasi mainframe.

 CI/CD Pipa dibangun menggunakan CloudFormation templat, dan cetak biru akan digunakan untuk proyek baru. Dengan menggunakan template, dibutuhkan waktu kurang dari satu jam bagi sebuah proyek untuk membuat CI/CD pipeline baru AWS.

Untuk meningkatkan kemampuan pengujian mainframe Anda AWS, pola tersebut membangun rangkaian DevOps pengujian Perangkat Lunak Rocket, Verastream, dan server UFT. Dengan menggunakan DevOps alat modern, Anda dapat menjalankan tes AWS sebanyak yang Anda butuhkan.

Contoh lingkungan pengembangan mainframe dengan Rocket Software on AWS ditunjukkan pada diagram berikut.

![\[AWS development pipeline with shared components for multiple project teams.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/27da6a52-4573-44cb-8716-1ac49430f618.png)


 

*Tumpukan teknologi target*

Bagian ini memberikan pandangan lebih dekat pada arsitektur masing-masing komponen dalam pola.

**1. Repositori kode sumber - SCM AccuRev **

AccuRev SCM diatur untuk mengelola versi kode sumber mainframe. Untuk ketersediaan tinggi, AccuRev mendukung mode primer dan replika. Operator dapat gagal ke replika saat melakukan pemeliharaan pada node utama. 

Untuk mempercepat respons CI/CD pipeline, pola menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan kode sumber dan memulai awal pipeline.

1. Pipeline diatur untuk menggunakan sumber Amazon S3.

1. Aturan CloudWatch Peristiwa diatur untuk menangkap peristiwa S3 dari bucket S3 sumber.

1. Aturan CloudWatch Events menetapkan target ke pipeline.

1. AccuRev SCM dikonfigurasi untuk menjalankan skrip promosi pos secara lokal setelah promosi selesai.

1. AccuRev SCM menghasilkan file XMLyang berisi metadata promosi, dan skrip mengunggah file XMLnya ke bucket S3 sumber.

1. Setelah upload, bucket S3 sumber mengirimkan event agar sesuai dengan aturan CloudWatch Events, dan aturan CloudWatch Events memulai pipeline untuk dijalankan. 

Ketika pipeline berjalan, ia memulai CodeBuild proyek untuk menggunakan wadah klien AccuRev Linux untuk memeriksa kode mainframe terbaru dari aliran terkait AccuRev .   

Diagram berikut menunjukkan setup AccuRev Server.

![\[AWS Cloud diagram showing AccuRev setup with primary and replica instances across availability zones.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/e60345cc-2283-4b03-8f57-e3dac1770978.png)


**2. Templat Pengembang Perusahaan** 

Pola menggunakan EC2 template Amazon untuk menyederhanakan pembuatan instance pengembang. Dengan menggunakan State Manager, ia dapat menerapkan pengaturan perangkat lunak dan lisensi ke EC2 instance secara konsisten.

 EC2 Template Amazon dibangun dalam pengaturan konteks VPC dan pengaturan instans default, dan mengikuti persyaratan penandaan perusahaan. Dengan menggunakan template, tim dapat membuat instance pengembangan baru mereka sendiri. 

Ketika instans pengembang dimulai, dengan mengaitkan dengan tag, Systems Manager menggunakan State Manager untuk menerapkan otomatisasi. Otomatisasi mencakup langkah-langkah umum berikut.

1. Instal perangkat lunak Enterprise Developer dan instal tambalan.

1. Instal AccuRev klien untuk Windows.

1. Instal skrip yang telah dikonfigurasi sebelumnya bagi pengembang untuk bergabung dengan AccuRev aliran. Inisialisasi ruang kerja Eclipse.

1. Instal alat pengembangan, termasuk x3270, py3270, dan Docker.

1. Konfigurasikan pengaturan lisensi untuk menunjuk ke penyeimbang beban License Manager.

Diagram berikut menunjukkan instance pengembang Enterprise yang dibuat oleh EC2 template Amazon, dengan perangkat lunak dan konfigurasi yang diterapkan ke instance oleh State Manager. Instans pengembang perusahaan terhubung AWS License Manager untuk mengaktifkan lisensi mereka.

![\[AWS Cloud diagram showing Enterprise Developer Instance setup with License Manager and Systems Manager components.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/7ca8f538-8362-4a11-a842-7ecff6fa0248.png)


 

**3.  Pipa CI/CD**

Seperti yang dijelaskan di bagian AWS arsitektur, dalam polanya, ada CI/CD jaringan pipa tingkat proyek dan jaringan pipa integrasi sistem. Setiap tim proyek mainframe membuat pipa atau beberapa CI/CD saluran pipa untuk membangun program yang mereka kembangkan dalam sebuah proyek. CI/CD Pipeline proyek ini memeriksa kode sumber dari AccuRev aliran terkait. 

Dalam tim proyek, pengembang mempromosikan kode mereka di AccuRev aliran terkait. Kemudian promosi memulai pipeline proyek untuk membangun kode dan menjalankan tes integrasi. 

Setiap CI/CD pipeline proyek menggunakan CodeBuild proyek dengan alat Pengembang Perusahaan gambar Amazon ECR dan alat Enterprise Test Server image Amazon ECR. 

CodePipeline dan CodeBuild digunakan untuk membuat jaringan CI/CD pipa. Karena CodeBuild dan tidak CodePipeline memiliki biaya atau komitmen di muka, Anda hanya membayar untuk apa yang Anda gunakan. Dibandingkan dengan perangkat keras mainframe, AWS solusinya sangat mengurangi lead time penyediaan perangkat keras dan menurunkan biaya lingkungan pengujian Anda.

Dalam perkembangan modern, beberapa metodologi pengujian digunakan. Misalnya, pengembangan berbasis tes (TDD), BDD, dan Robot Framework. Dengan pola ini, pengembang dapat menggunakan alat modern ini untuk pengujian mainframe. Misalnya, dengan menggunakan x3270, py3270 dan alat uji Behaw python, Anda dapat menentukan perilaku aplikasi online. Anda juga dapat menggunakan kerangka kerja robot build mainframe 3270 di pipeline ini CI/CD .

Diagram berikut menunjukkan CI/CD pipa aliran tim. 

![\[AWS Cloud CI/CD pipeline showing CodeCommit, CodePipeline, and CodeBuild with Micro Focus tools integration.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/da59f837-2f23-404f-948b-41402cc6fe0c.png)


Diagram berikut menunjukkan laporan CI/CD uji proyek yang dihasilkan oleh CodePipeline dalam Mainframe3270 Robot Framework.

![\[Test report summary showing 100% pass rate for 3 test cases in 2.662 seconds.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/4752321a-c60d-455c-ac2f-6f0e2bc3dca0.png)


Diagram berikut menunjukkan laporan CI/CD uji proyek yang dihasilkan oleh CodePipeline di Py3270 dan Behaw BDD.

![\[Test report summary showing 100% pass rate for 2 test cases in a pipeline.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/d005466e-aeb8-4fd6-8342-743ed049f98a.png)


Setelah pengujian tingkat proyek berhasil dilewati, kode yang diuji secara manual dipromosikan ke aliran integrasi di AccuRev SCM. Anda dapat mengotomatiskan langkah ini setelah tim memiliki kepercayaan diri pada cakupan pengujian dari pipa proyek mereka.

Saat kode dipromosikan, CI/CD pipeline integrasi sistem memeriksa kode gabungan dan melakukan tes regresi. Kode gabungan dipromosikan dari semua aliran proyek paralel.

Bergantung pada seberapa halus lingkungan pengujian diperlukan, pelanggan dapat memiliki lebih banyak CI/CD jaringan pipa integrasi sistem di lingkungan yang berbeda, misalnya UAT, Pra-Produksi. 

Dalam polanya, alat yang digunakan dalam pipeline integrasi sistem adalah Enterprise Test Server, UFT Server, dan Verastream. Semua alat ini dapat digunakan ke dalam wadah Docker dan digunakan dengan. CodeBuild

Setelah berhasil menguji program mainframe, artefak disimpan, dengan kontrol versi, dalam ember S3. 

Diagram berikut menunjukkan CI/CD pipa integrasi sistem.

![\[CI/CD pipeline showing Layanan AWS and Micro Focus tools for source, build, test, and promote stages.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/693212e5-1cd0-4f82-a910-39b00d977c38.png)


 

Setelah artefak berhasil diuji dalam CI/CD jaringan pipa integrasi sistem, artefak dapat dipromosikan untuk penyebaran produksi. 

Jika Anda perlu menyebarkan kode sumber kembali ke mainframe, Rocket Software menawarkan solusi Enterprise Sync untuk menyinkronkan kode sumber dari AccuRev kembali ke Mainframe Endeavour.

Diagram berikut menunjukkan CI/CD pipa produksi yang menyebarkan artefak ke Server Perusahaan. Dalam contoh ini, CodeDeploy mengatur penyebaran artefak mainframe yang diuji ke Enterprise Server.

![\[CI/CD pipeline diagram showing CodePipeline, CodeBuild, and CodeDeploy stages for artifact deployment.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/56749c2a-e038-4e56-9487-b2ff83894725.png)


Selain panduan arsitektur CI/CD pipeline, lihat posting AWS DevOps blog [Otomatiskan ribuan pengujian mainframe AWS dengan Micro Focus Enterprise Suite](https://aws.amazon.com/blogs/devops/automate-mainframe-tests-on-aws-with-micro-focus/) untuk informasi lebih lanjut tentang pengujian aplikasi mainframe di dan. CodeBuild CodePipeline (Fokus Mikro sekarang adalah Perangkat Lunak Roket.) Lihat posting blog untuk praktik terbaik dan detail melakukan tes mainframe. AWS

## Alat
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-tools"></a>

**AWS alat otomatisasi**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [ CloudWatch Acara Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)

**Alat Perangkat Lunak Roket**
+ [Pengembang Perusahaan Roket untuk Eclipse](https://www.microfocus.com/documentation/enterprise-developer/ed60/ED-Eclipse/GUID-8D6B7358-AC35-4DAF-A445-607D8D97EBB2.html)
+ [Server Uji Perusahaan Roket](https://www.microfocus.com/documentation/enterprise-developer/ed60/ETS-help/GUID-ECA56693-D9FE-4590-8798-133257BFEBE7.html)
+ [Server Perusahaan Roket](https://www.microfocus.com/documentation/enterprise-developer/es_60/) (penyebaran produksi)
+ [Perangkat Lunak Roket AccuRev](https://supportline.microfocus.com/documentation/books/AccuRev/AccuRev/6.2/webhelp/wwhelp/wwhimpl/js/html/wwhelp.htm)
+ [License Manager Software Enterprise Suite Rocket](https://www.microfocus.com/documentation/slm/)
+ [Perangkat Lunak Roket Verastream Host Integrator](https://www.microfocus.com/documentation/verastream-host-integrator/)
+ [Perangkat Lunak Roket UFT One](https://admhelp.microfocus.com/uft/en/24.4/UFT_Help/Content/User_Guide/Ch_UFT_Intro.htm)

**Alat-alat lainnya**
+ x3270
+ [py3270](https://pypi.org/project/py3270/)
+ [Robot-Kerangka-Mainframe-3270-Perpustakaan](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library)

## Epik
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-epics"></a>

### Buat infrastruktur AccuRev SCM
<a name="create-the-accurev-scm-infrastructure"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menyebarkan server AccuRev SCM utama dengan menggunakan. CloudFormation |  | AWS CloudFormation | 
| Buat pengguna AccuRev Administrator. | Masuk ke AccuRev SCM Server, dan jalankan perintah CLI untuk membuat pengguna Administrator. | AccuRev Administrator Server SCM | 
| Buat AccuRev aliran. | Buat AccuRev aliran yang mewarisi dari aliran atas secara berurutan: Produksi, Integrasi Sistem, Aliran tim. | AccuRev Administrator SCM | 
| Buat akun AccuRev login pengembang. | Gunakan perintah AccuRev SCM CLI untuk AccuRev membuat akun login pengguna untuk pengembang mainframe. | AccuRev Administrator SCM | 

### Buat template EC2 peluncuran Enterprise Developer Amazon
<a name="create-the-enterprise-developer-ec2-launch-template"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Terapkan template EC2 peluncuran Amazon dengan menggunakan CloudFormation. | Gunakan CloudFormation untuk menerapkan template EC2 peluncuran Amazon untuk instans Enterprise Developer. Template termasuk dokumen Automation Systems Manager untuk instance Pengembang Rocket Enterprise. | AWS CloudFormation | 
| Buat instance Enterprise Developer dari EC2 template Amazon. |  | Login Konsol AWS dan Keterampilan Pengembang Mainframe | 

### Buat gambar Docker alat Pengembang Perusahaan
<a name="create-the-enterprise-developer-tool-docker-image"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat gambar Docker alat Pengembang Perusahaan. | Gunakan perintah Docker dan alat Enterprise Developer Dockerfile untuk membuat image Docker. | Docker | 
| Buat repositori Docker di Amazon ECR. | Di konsol Amazon ECR, buat repositori untuk image Enterprise Developer Docker. | Amazon ECR | 
| Dorong gambar Docker alat Pengembang Perusahaan ke Amazon ECR. | Jalankan perintah push Docker untuk mendorong image alat Docker Enterprise Developer untuk menyimpannya di repositori Docker di Amazon ECR. | Docker | 

### Buat gambar Enterprise Test Server Docker
<a name="create-the-enterprise-test-server-docker-image"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat image Enterprise Test Server Docker. | Gunakan perintah Docker dan Enterprise Test Server Dockerfile untuk membuat image Docker. | Docker | 
| Buat repositori Docker di Amazon ECR. | Di konsol Amazon ECR, buat repositori Amazon ECR untuk image Enterprise Test Server Docker. | Amazon ECR | 
| Dorong image Enterprise Test Server Docker ke Amazon ECR. | Jalankan perintah push Docker untuk mendorong dan menyimpan image Enterprise Test Server Docker di Amazon ECR. | Docker | 

### Buat CI/CD pipeline aliran tim
<a name="create-the-team-stream-ci-cd-pipeline"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat CodeCommit repositori. | Di CodeCommit konsol, buat repositori berbasis Git untuk infrastruktur dan kode. CloudFormation  | AWS CodeCommit | 
| Unggah CloudFormation template dan kode otomatisasi ke dalam CodeCommit repositori. | Jalankan perintah Git push untuk mengunggah CloudFormation template dan kode otomatisasi ke dalam repositori. | Git | 
| Terapkan CI/CD pipa aliran tim dengan menggunakan CloudFormation. | Gunakan CloudFormation template yang disiapkan untuk menerapkan CI/CD pipeline aliran tim. | AWS CloudFormation | 

### Buat CI/CD pipa integrasi sistem
<a name="create-the-system-integration-ci-cd-pipeline"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat gambar UFT Docker. | Gunakan perintah Docker dan UFT Dockerfile untuk membuat image Docker. | Docker | 
| Buat repositori Docker di Amazon ECR untuk gambar UFT. | Di konsol Amazon ECR, buat repositori Docker untuk gambar UFT. | Amazon ECR | 
| Dorong gambar UFT Docker ke Amazon ECR. | Jalankan perintah push Docker untuk mendorong dan menyimpan image Enterprise Test Server Docker di Amazon ECR. | Docker | 
| Buat gambar Verastream Docker. | Gunakan perintah Docker dan Verastream Dockerfile untuk membuat image Docker. | Docker | 
| Buat repositori Docker di Amazon ECR untuk gambar Verastream. | Di konsol Amazon ECR, buat repositori Docker untuk gambar Verastream. | Amazon ECR | 
| Menyebarkan CI/CD pipa integrasi sistem dengan menggunakan CloudFormation. | Gunakan CloudFormation template yang disiapkan untuk menyebarkan CI/CD pipeline integrasi sistem. | AWS CloudFormation | 

### Buat pipa penyebaran CI/CD produksi
<a name="create-production-deployment-ci-cd-pipeline"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menyebarkan Enterprise Server dengan menggunakan AWS Quick Start. | Untuk menggunakan Enterprise Server dengan menggunakan CloudFormation, luncurkan Enterprise Server pada AWS Quick Start. | AWS CloudFormation | 
| Menyebarkan pipa penyebaran CI/CD produksi. | Di CloudFormation konsol, gunakan CloudFormation template untuk menerapkan pipeline penerapan CI/CD produksi. | AWS CloudFormation | 

## Sumber daya terkait
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-resources"></a>

**Referensi**
+ [AWS DevOps Blog - Otomatiskan ribuan tes mainframe AWS dengan Micro Focus Enterprise Suite (Micro](https://aws.amazon.com/blogs/devops/automate-mainframe-tests-on-aws-with-micro-focus/) Focus sekarang adalah Rocket Software.)
+ [repositori py3270/py3270 GitHub ](https://github.com/py3270/py3270)
+ [ GitHub Altran-PT-GDC/Robot-Framework-Mainframe-3270-repositori perpustakaan](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library)
+ [Selamat datang untuk berperilaku\$1](https://behave.readthedocs.io/en/latest/index.html)
+ [Blog Mitra APN - Tag: Fokus Mikro (Fokus](https://aws.amazon.com/blogs/apn/tag/micro-focus/) Mikro sekarang adalah Perangkat Lunak Roket.)
+ [Meluncurkan instance dari template peluncuran](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)

**AWS Marketplace**
+ [Perangkat Lunak Roket UFT One](https://aws.amazon.com/marketplace/pp/B01EGCA5OS?ref_=srh_res_product_title)

**AWS Mulai Cepat**
+ [Server Perusahaan Roket di AWS](https://aws.amazon.com/quickstart/architecture/micro-focus-enterprise-server/)

# Modernisasi beban kerja pencetakan online mainframe di AWS dengan menggunakan Micro Focus Enterprise Server dan LRS VPSX/MFI
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi"></a>

*Shubham Roy dan Kevin Yung, Amazon Web Services*

*Abraham Rondon, Fokus Mikro*

*Guy Tucker, Levi, Ray dan Shoup Inc*

## Ringkasan
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-summary"></a>

Pola ini menunjukkan kepada Anda cara memodernisasi beban kerja pencetakan online mainframe bisnis penting Anda di Amazon Web Services (AWS) Cloud dengan menggunakan Micro Focus Enterprise Server sebagai runtime untuk aplikasi mainframe modern dan VPSX/MFI LRS (Micro Focus Interface) sebagai server cetak. Pola ini didasarkan pada pendekatan modernisasi mainframe [replatform](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/). Dalam pendekatan ini, Anda memigrasikan aplikasi online mainframe Anda ke Amazon Elastic Compute Cloud (Amazon EC2) dan memigrasikan database mainframe Anda, seperti IBM for DB2 ) z/OS, to Amazon Relational Database Service (Amazon RDS). The authentication and authorization for the modernized print workflow is performed by AWS Directory Service for Microsoft Active Directory, also known as AWS Managed Microsoft AD. The LRS Directory Information Server (LRS/DIS terintegrasi dengan AWS Managed Microsoft AD untuk autentikasi dan otorisasi alur kerja cetak. Dengan memodernisasi beban kerja pencetakan online Anda, Anda dapat mengurangi biaya infrastruktur TI, mengurangi utang teknis pemeliharaan sistem lama, menghapus silo data, meningkatkan kelincahan dan efisiensi dengan DevOps model, dan memanfaatkan sumber daya dan otomatisasi sesuai permintaan di AWS Cloud.

## Prasyarat dan batasan
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Beban kerja pencetakan online mainframe atau manajemen output
+ Pengetahuan dasar tentang cara membangun kembali dan mengirimkan aplikasi mainframe yang berjalan di Micro Focus Enterprise Server (Untuk informasi selengkapnya, lihat lembar data [Enterprise Server](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf) dalam dokumentasi Micro Focus.)
+ Pengetahuan dasar tentang solusi dan konsep pencetakan cloud LRS (Untuk informasi lebih lanjut, lihat [Modernisasi Keluaran](https://www.lrsoutputmanagement.com/products/modernization-products) dalam dokumentasi LRS.)
+ Perangkat lunak dan lisensi Micro Focus Enterprise Server (Untuk informasi lebih lanjut, hubungi [penjualan Micro Focus](https://www.microfocus.com/en-us/contact/contactme).)
+ VPSX/MFI, LRS/Queue, and LRS/DISPerangkat lunak dan lisensi LRS (Untuk informasi lebih lanjut, hubungi penjualan [LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/).)

**catatan**  
Untuk informasi selengkapnya tentang pertimbangan konfigurasi untuk beban kerja pencetakan online mainframe, lihat *Pertimbangan* di bagian *Informasi tambahan dari pola* ini.

**Versi produk**
+ [Micro Focus Enterprise Server](https://www.microfocus.com/en-us/products/enterprise-server/overview?utm_campaign=7018e000000PgfnAAC&utm_content=SCH-BR-AMC-AppM-AMS&gclid=EAIaIQobChMIoZCQ6fvS9wIVxQN9Ch2MzAOlEAAYASAAEgKx2fD_BwE) 8.0 atau yang lebih baru
+ [LRS VPSX/MFI V1R3](https://www.lrsoutputmanagement.com/products/modernization-products/) atau yang lebih baru

## Arsitektur
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-architecture"></a>

**Tumpukan teknologi sumber**
+ Sistem operasi — IBM z/OS
+ Bahasa pemrograman — Common Business Oriented Language (COBOL) dan Customer Information Control System (CICS) 
+ Database — IBM DB2 untuk Sistem Manajemen Informasi z/OS IBM (IMS) dan Metode Akses Penyimpanan Virtual (VSAM)
+ Keamanan — Fasilitas Kontrol Akses Sumber Daya (RACF), CA Top Secret untuk z/OS, dan Fasilitas Kontrol Akses 2 () ACF2
+ Manajemen pencetakan dan output - Produk z/OS pencetakan mainframe IBM (IBM Infoprint Server untuk z/OS, LRS, dan CA View)

**Tumpukan teknologi target**
+ Sistem operasi - Microsoft Windows Server berjalan di Amazon EC2
+ Hitung - Amazon EC2
+ Bahasa pemrograman — COBOL dan CICS
+ Basis Data - Amazon RDS
+ Keamanan — AWS Managed Microsoft AD
+ Manajemen pencetakan dan output — Solusi pencetakan LRS di AWS
+ Lingkungan runtime mainframe - Server Perusahaan Fokus Mikro

**Arsitektur sumber**

Diagram berikut menunjukkan arsitektur keadaan saat ini yang khas untuk beban kerja pencetakan online mainframe.

![\[Proses enam langkah untuk menghasilkan output yang dapat dilihat.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/images/293368f5-d102-4f4e-b290-71da4aeff347.png)


Diagram menunjukkan alur kerja berikut:

1. Pengguna melakukan transaksi bisnis pada sistem keterlibatan (SoE) yang dibangun di atas aplikasi IBM CICS yang ditulis dalam COBOL.

1. SoE memanggil layanan mainframe, yang mencatat data transaksi bisnis dalam database system-of-records (SoR) seperti IBM DB2 untuk z/OS.

1. SoR mempertahankan data bisnis dari BUMN.

1. Seorang pengguna memulai permintaan untuk menghasilkan output cetak dari CICS SoE, yang memulai aplikasi transaksi cetak untuk memproses permintaan cetak. 

1. Aplikasi transaksi cetak (seperti program CICS dan COBOL) mengekstrak data dari database, memformat data sesuai dengan kebutuhan bisnis, dan menghasilkan output bisnis (data cetak) seperti laporan penagihan, kartu identitas, atau laporan pinjaman. Kemudian, aplikasi mengirimkan permintaan cetak dengan menggunakan Virtual Telecommunications Access Method (VTAM). Server z/OS cetak (seperti IBM Infoprint Server) menggunakan NetSpool atau komponen VTAM serupa untuk mencegat permintaan cetak, dan kemudian membuat set data keluaran cetak pada spool JES dengan menggunakan parameter keluaran JES. Parameter keluaran JES menentukan informasi routing yang digunakan server cetak untuk mengirimkan output ke printer jaringan tertentu. Istilah *VTAM* mengacu pada z/OS Communications Server dan System Network Architecture (SNA) elemen layanan z/OS.

1. Komponen transmisi keluaran pencetakan mentransmisikan dataset cetak keluaran dari spool JES ke printer jarak jauh atau server cetak, seperti LRS (seperti yang ditunjukkan dalam pola ini), IBM Infoprint Server, atau tujuan email.

**Arsitektur target**

Diagram berikut menunjukkan arsitektur untuk beban kerja pencetakan online mainframe yang diterapkan di AWS Cloud:

![\[Proses empat langkah dari memulai permintaan cetak hingga pemrosesan di AWS hingga pencetakan LRS.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/images/07c97b6f-1a86-493d-a4e0-b8321b46f9b7.png)


Diagram menunjukkan alur kerja berikut:

1. Pengguna memulai permintaan cetak dari antarmuka pengguna online (CICS) untuk membuat hasil cetak, seperti laporan penagihan, kartu ID, atau laporan pinjaman.

1. Aplikasi online mainframe ([direplatformed ke Amazon EC2](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/)) menggunakan runtime Micro Focus Enterprise Server untuk mengekstrak data dari database aplikasi, menerapkan logika bisnis ke data, memformat data, dan kemudian mengirim data ke tujuan cetak dengan menggunakan [Micro Focus CICS Print Exit (DFHUPRNT](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/HCOMCMJCLOU020.html)). 

1. Database aplikasi (SoR yang berjalan di Amazon RDS) menyimpan data untuk output cetak.

1. Solusi VPSX/MFI pencetakan LRS digunakan di Amazon EC2, dan data operasionalnya disimpan di Amazon Elastic Block Store (Amazon EBS). LRS VPSX/MFI menggunakan nama TCP/IP-based LRS/Queue transmission agent to collect print data through the Micro Focus CICS Print Exit API (DFHUPRNT) and deliver the data to a specified printer destination. The original TERMID (TERM) that’s used in the modernized CICS application is used as the VPSX/MFI Antrian. 

**catatan**  
Solusi target biasanya tidak memerlukan perubahan aplikasi untuk mengakomodasi bahasa pemformatan mainframe, seperti IBM Advanced Function Presentation (AFP) atau Xerox Line Condition Data Stream (LCDS). Untuk informasi selengkapnya tentang penggunaan Micro Focus untuk migrasi dan modernisasi aplikasi mainframe di AWS, lihat [Memberdayakan Beban Kerja Mainframe Perusahaan di AWS dengan Fokus Mikro dalam dokumentasi AWS](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/).

**Arsitektur infrastruktur AWS**

Diagram berikut menunjukkan arsitektur infrastruktur AWS yang sangat tersedia dan aman untuk beban kerja pencetakan online mainframe:

![\[Dua Availability Zone dengan server Micro Focus Enterprise EC2 aktif, Amazon RDS, dan pencetakan LRS.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/images/093555a1-342c-420c-bb90-e9440d2e8650.png)


Diagram menunjukkan alur kerja berikut:

1. Aplikasi online mainframe (ditulis pada bahasa pemrograman seperti CICS atau COBOL) menggunakan logika bisnis inti untuk memproses dan menghasilkan hasil cetak, seperti laporan penagihan, kartu identitas, dan laporan pinjaman. Aplikasi online ini digunakan di Amazon EC2 di dua [Availability Zones (AZ) untuk ketersediaan](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) tinggi (HA) dan menggunakan Micro Focus CICS Print Exit untuk merutekan output cetak ke LRS VPSX/MFI untuk pencetakan pengguna akhir.

1. LRS VPSX/MFI menggunakan TCP/IP-based LRS/Queue transmission agent to collect or capture print data from the Micro Focus online Print Exit programming interface. Online Print Exit passes the necessary information to enable LRS VPSX/MFI to effectively process the print file and dynamically build LRS/Queue perintah. 
**catatan**  
*Untuk informasi lebih lanjut tentang berbagai metode pemrograman aplikasi CICS untuk pencetakan dan bagaimana mereka didukung di server Micro Focus Enterprise dan LRS VPSX/MFI, lihat *Mencetak pengambilan data* di bagian Informasi tambahan dari pola ini.*

1. 
**catatan**  
[Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) menyediakan nama DNS untuk mengintegrasikan Micro Focus Enterprise Server dengan LRS VPSX/MFI. : LRS VPSX/MFI supports a Layer 4 load balancer. The Network Load Balancer also does a basic health check on LRS VPSX/MFI dan mengarahkan lalu lintas ke target terdaftar yang sehat.

1. Server VPSX/MFI cetak LRS digunakan EC2 di Amazon di dua Availability Zone untuk HA dan menggunakan [Amazon EBS sebagai penyimpanan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) data operasional. LRS VPSX/MFI mendukung mode layanan aktif-aktif dan aktif-pasif. Arsitektur ini menggunakan beberapa Availability Zone dalam pasangan aktif-pasif sebagai siaga aktif dan panas. Network Load Balancer melakukan pemeriksaan kesehatan pada instans LRS dan mengarahkan lalu lintas ke VPSX/MFI EC2 instans siaga panas di Availability Zone lain jika instans aktif dalam keadaan tidak sehat. Permintaan cetak disimpan dalam Antrian Job LRS secara lokal di setiap instance. EC2 Jika terjadi pemulihan, instance yang gagal harus dimulai ulang agar layanan LRS dapat melanjutkan pemrosesan permintaan cetak. 
**catatan**  
LRS juga VPSX/MFI dapat melakukan pemeriksaan kesehatan di tingkat armada printer. Untuk informasi selengkapnya, lihat *Pemeriksaan kesehatan armada printer* di bagian *Informasi tambahan* dari pola ini.

1. [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) terintegrasi dengan LRS/DIS untuk melakukan autentikasi dan otorisasi alur kerja cetak. Untuk informasi selengkapnya, lihat *Mencetak otentikasi dan otorisasi* di bagian *Informasi tambahan* dari pola ini.

1. LRS VPSX/MFI menggunakan Amazon EBS untuk penyimpanan blok. Anda dapat mencadangkan data Amazon EBS dari EC2 instans aktif ke Amazon S3 point-in-time sebagai snapshot dan mengembalikannya ke volume EBS siaga panas. [Untuk mengotomatiskan pembuatan, penyimpanan, dan penghapusan snapshot volume Amazon EBS, Anda dapat menggunakan [Amazon Data Lifecycle Manager](https://aws.amazon.com/blogs/aws/new-lifecycle-management-for-amazon-ebs-snapshots/) untuk mengatur frekuensi snapshot otomatis dan memulihkannya berdasarkan persyaratan RTO/RPO Anda.](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html)

## Alat
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) menyediakan volume penyimpanan tingkat blok untuk digunakan dengan instans Amazon. EC2 Volume EBS berfungsi seperti perangkat blok mentah yang tidak terformat. Anda dapat memasang volume ini sebagai perangkat di instans Anda.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud.
+ [AWS Directory Service untuk Microsoft Active Directory (AD)](https://aws.amazon.com/directoryservice/active-directory/), juga dikenal sebagai AWS Managed Microsoft Active Directory, memungkinkan beban kerja sadar direktori dan sumber daya AWS Anda untuk menggunakan Active Directory terkelola di AWS.

**Alat-alat lainnya**
+ [LRS VPSX/MFI (Micro Focus Interface)](https://www.lrsoutputmanagement.com/products/modernization-products/), dikembangkan bersama oleh LRS dan Micro Focus, menangkap output dari spool Micro Focus Enterprise Server JES dan andal mengirimkannya ke tujuan cetak tertentu.
+ LRS Directory Information Server (LRS/DIS) digunakan untuk otentikasi dan otorisasi selama alur kerja cetak.
+ LRS/Queue is a TCP/IP-based LRS/Queue transmission agent, used by LRS VPSX/MFI, untuk mengumpulkan atau menangkap data cetak melalui antarmuka pemrograman Cetak Exit online Micro Focus.
+ [Micro Focus Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-A2F23243-962B-440A-A071-480082DF47E7.html) adalah lingkungan penyebaran aplikasi untuk aplikasi mainframe. Ini menyediakan lingkungan eksekusi untuk aplikasi mainframe yang dimigrasikan atau dibuat dengan menggunakan versi Micro Focus Enterprise Developer.

## Epik
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-epics"></a>

### Siapkan Micro Focus Enterprise Server di Amazon EC2 dan gunakan aplikasi online mainframe
<a name="set-up-micro-focus-enterprise-server-on-amazon-ec2-and-deploy-a-mainframe-online-application"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan Server Perusahaan Fokus Mikro dan gunakan aplikasi online demo. | Siapkan Server Perusahaan Fokus Mikro di Amazon EC2, lalu gunakan aplikasi Demo Akun Fokus Mikro (Demo ACCT) di Amazon EC2 dengan mengikuti petunjuk dari [Tutorial: Dukungan CICS](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GMWALK00.html) dalam dokumentasi Fokus Mikro.Aplikasi ACCT Demo adalah aplikasi mainframe online (CICS) yang membuat dan kemudian memulai output cetak. | Arsitek awan | 

### Siapkan server cetak LRS di Amazon EC2
<a name="set-up-an-lrs-print-server-on-amazon-ec2"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Dapatkan lisensi produk LRS untuk pencetakan. | Untuk mendapatkan lisensi produk LRS untuk LRSVPSX/MFI, LRS/Queue, and LRS/DIS, hubungi tim Manajemen [Output LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/). Anda harus memberikan nama host dari EC2 contoh di mana produk LRS akan diinstal. | Membangun memimpin | 
| Buat instance Amazon EC2 Windows untuk menginstal LRS VPSX/MFI. | Luncurkan instans Amazon EC2 Windows dengan mengikuti petunjuk dari [Langkah 1: Luncurkan instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance) di EC2 dokumentasi Amazon. Instans Anda harus memenuhi persyaratan perangkat keras dan perangkat lunak berikut untuk LRS VPSX/LKM:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Persyaratan perangkat keras dan perangkat lunak sebelumnya ditujukan untuk armada printer kecil (sekitar 500-1000). Untuk mendapatkan persyaratan lengkap, konsultasikan dengan kontak LRS dan AWS Anda.Saat Anda membuat instance Windows Anda, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Instal LRS VPSX/MFI pada EC2 instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Instal LRS/antrian. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Instal LRS/DIS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Buat grup target dan daftarkan LRS VPSX/MFI EC2 sebagai target. | Buat grup target dengan mengikuti petunjuk dari [Buat grup target untuk Network Load Balancer Anda dalam dokumentasi Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html).Saat Anda membuat grup target, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Buat Network Load Balancer. | Ikuti instruksi dari [Buat Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) dalam dokumentasi Elastic Load Balancing. Network Load Balancer Anda merutekan lalu lintas dari Micro Focus Enterprise Server ke LRS. VPSX/MFI EC2Saat Anda membuat Network Load Balancer, lakukan hal berikut pada halaman **Listeners** dan Routing:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Integrasikan Micro Focus Enterprise Server dengan LRS VPSX/MFI dan LRS/Antrian
<a name="integrate-micro-focus-enterprise-server-with-lrs-vpsx-mfi-and-lrs-queue"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan Server Perusahaan Fokus Mikro untuk LRS/Queue integrasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Jadikan CICS Print Exit (DFHUPRNT) tersedia untuk inisialisasi Micro Focus Enterprise Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)**Validasi bahwa Micro Focus Enterprise Server telah mendeteksi CICS Print Exit (DFHUPRNT)**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Tentukan ID terminal printer CICS (TERMIDs) sebagai Server Perusahaan Fokus Mikro. | **Aktifkan pencetakan 3270 di Micro Focus Enterprise Server**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)**Tentukan terminal printer CICS di Micro Focus Enterprise Server**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Siapkan printer dan cetak pengguna di Micro Focus Enterprise Server dan LRS VPSX/MFI
<a name="set-up-printers-and-print-users-in-micro-focus-enterprise-server-and-lrs-vpsx-mfi"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat antrian cetak di LRS VPSX. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Antrian cetak harus setara dengan Cetak yang TERMIDs dibuat di Micro Focus Enterprise Server. | Arsitek awan | 
| Buat pengguna cetak di LRS VPSX/LKM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Mengatur otentikasi cetak dan otorisasi
<a name="set-up-print-authentication-and-authorization"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat domain AWS Managed Microsoft AD dengan pengguna dan grup. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 
| Bergabunglah dengan LRS VPSX/MFI EC2 ke domain AWS Managed Microsoft AD. | Bergabunglah dengan LRS VPSX/MFI EC2 ke domain AWS Managed Microsoft AD Anda [secara otomatis](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-dx-domain/) (dokumentasi AWS Knowledge Center) atau [secara manual](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html) (dokumentasi AWS Directory Service). | Arsitek awan | 
| Konfigurasikan dan integrasikan LRS/DIS dengan AWS Managed Microsoft AD. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Arsitek awan | 

### Uji alur kerja cetak online
<a name="test-an-online-print-workflow"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Memulai permintaan cetak online dari aplikasi Demo Micro Focus ACCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Pesan “Permintaan Cetak Terjadwal” muncul di bagian bawah layar. Ini menegaskan bahwa permintaan cetak online dihasilkan dari aplikasi Demo ACCT dan dikirim ke LRS VPS/MFI untuk pemrosesan cetak.  | Arsitek awan | 
| Periksa output cetak di LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Anda sekarang dapat melihat hasil cetak dari laporan akun dengan kolom untuk Nomor Akun, NAMA KELUARGA, PERTAMA, ALAMAT, TELEPON, No. Kartu yang Diterbitkan, Tanggal dikeluarkan, Jumlah, dan Saldo.Sebagai contoh, lihat lampiran **online\$1print\$1output** untuk pola ini. | Insinyur uji | 

## Sumber daya terkait
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-resources"></a>
+ [Modernisasi Output LRS](https://www.lrsoutputmanagement.com/products/modernization-products) (dokumentasi LRS)
+ [Konsep jaringan VTAM](https://www.ibm.com/docs/en/zos/2.1.0?topic=guide-vtam-networking-concepts) (dokumentasi IBM)
+ [Ringkasan tipe unit logis (LU)](https://www.ibm.com/docs/en/wsfz-and-o/1.1?topic=installation-summary-logical-unit-lu-types) (dokumentasi IBM)
+ [ANSI dan kontrol kereta mesin](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) (dokumentasi IBM)
+ [Memberdayakan Beban Kerja Mainframe Perusahaan di AWS dengan Fokus Mikro (AWS](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) Partner Network Blog)
+ [Membangun PAC Server Perusahaan Fokus Mikro dengan Amazon EC2 Auto Scaling dan Systems Manager](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.html) (dokumentasi AWS Prescriptive Guidance)
+ [Aliran data Presentasi Fungsi Lanjutan (AFP)](https://www.ibm.com/docs/en/i/7.4?topic=streams-advanced-function-presentation-data-stream) (dokumentasi IBM)
+ [Aliran Data Terkondisi Jalur (LCD) (Dokumentasi Compart)](https://www.compart.com/en/lcds)

## Informasi tambahan
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-additional"></a>

**Pertimbangan-pertimbangan**

Selama perjalanan modernisasi Anda, Anda dapat mempertimbangkan berbagai konfigurasi untuk proses online mainframe dan output yang dihasilkannya. Platform mainframe telah disesuaikan oleh setiap pelanggan dan vendor yang menggunakannya dengan persyaratan khusus yang secara langsung memengaruhi pencetakan. Misalnya, platform Anda saat ini dapat menggabungkan IBM Advanced Function Presentation (AFP) atau Xerox Line Condition Data Stream (LCDS) ke dalam alur kerja saat ini. Selain itu, [karakter kontrol carriage mainframe](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) dan [kata-kata perintah saluran](https://www.ibm.com/docs/en/zos/2.3.0?topic=devices-channel-command-words) dapat memengaruhi tampilan halaman yang dicetak dan mungkin memerlukan penanganan khusus. Sebagai bagian dari proses perencanaan modernisasi, kami menyarankan Anda menilai dan memahami konfigurasi di lingkungan cetak spesifik Anda.

**Cetak pengambilan data**

Bagian ini merangkum metode pemrograman aplikasi CICS yang dapat Anda gunakan dalam lingkungan mainframe IBM untuk pencetakan. VPSX/MFI Komponen LRS menyediakan teknik untuk memungkinkan program aplikasi yang sama untuk membuat data dengan cara yang sama. Tabel berikut menjelaskan bagaimana setiap metode pemrograman aplikasi didukung dalam aplikasi CICS modern yang berjalan di AWS dan Micro Focus Enterprise Server dengan server cetak VPSX/MFI LRS.


| 
| 
| Metode | Deskripsi | Support untuk metode dalam lingkungan modern | 
| --- |--- |--- |
| EXEC CICS MENGIRIM TEKS.. atau EXEC CICS KIRIM PETA..  | Metode CICS dan VTAM ini bertanggung jawab untuk membuat dan mengirimkan aliran data cetak 3270/SCS ke LUTYPE0,, dan perangkat cetak. LUTYPE1 LUTYPE3  | Antarmuka program aplikasi (API) Micro Focus online Print Exit (DFHUPRNT) memungkinkan data cetak diproses VPSX/MFI ketika aliran data cetak 3270/SCS dibuat dengan menggunakan salah satu metode ini.  | 
| EXEC CICS MENGIRIM TEKS.. atau EXEC CICS KIRIM PETA.. (dengan perangkat lunak mainframe IBM pihak ketiga) | Metode CICS dan VTAM bertanggung jawab untuk membuat dan mengirimkan aliran data cetak 3270/SCS ke LUTYPE0,, dan perangkat cetak. LUTYPE1 LUTYPE3 Produk perangkat lunak pihak ketiga mencegat data cetak, mengonversi data menjadi data format cetak standar dengan karakter ASA/MCH kontrol, dan menempatkan data pada spool JES untuk diproses oleh sistem pencetakan berbasis mainframe yang menggunakan JES.  | API Micro Focus online Print Exit (DFHUPRNT) memungkinkan data cetak diproses VPSX/MFI ketika aliran data cetak 3270/SCS dibuat dengan menggunakan salah satu metode ini.  | 
| EXEC CICS SPOOLOPEN  | Metode ini digunakan oleh program aplikasi CICS untuk menulis data langsung ke spool JES. Data kemudian menjadi tersedia untuk diproses oleh sistem pencetakan berbasis mainframe yang menggunakan JES.  | Micro Focus Enterprise Server menggulung data ke spool Enterprise Server di mana ia dapat diproses oleh VPSX/MFI Batch Print Exit (LRSPRTE6) yang menggulung data ke VPSX.  | 
| DRS/API | Antarmuka program yang disediakan LRS digunakan untuk menulis data cetak ke JES.  | VPSX/MFI menyediakan antarmuka pengganti yang menggulung data cetak langsung ke VPSX.  | 

**Pemeriksaan kesehatan armada printer**

LRS VPSX/MFI (LRS LoadX) dapat melakukan pemeriksaan kesehatan deep dive, termasuk manajemen perangkat dan optimalisasi operasional. Manajemen perangkat dapat mendeteksi kegagalan pada perangkat printer dan merutekan permintaan cetak ke printer yang sehat. Untuk informasi selengkapnya tentang pemeriksaan kesehatan deep dive untuk armada printer, lihat dokumentasi LRS yang disertakan dengan lisensi produk Anda.

**Cetak otentikasi dan otorisasi**

LRS/DIS enables LRS applications to authenticate user IDs and passwords by using Microsoft Active Directory or an LDAP server. In addition to basic print authorization, LRS/DISjuga dapat menerapkan kontrol keamanan cetak tingkat butiran dalam kasus penggunaan berikut:
+ Kelola siapa yang dapat menelusuri pekerjaan printer.
+ Kelola tingkat penelusuran pekerjaan pengguna lain.
+ Kelola tugas operasional. Misalnya, keamanan tingkat perintah seperti hold/release, purge, modify, copy, dan reroute. Keamanan dapat diatur oleh User-ID atau Grup (mirip dengan grup AD atau grup LDAP).

## Lampiran
<a name="attachments-924cdae7-9265-4fc9-8e5e-bb2da5368e7e"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/attachments/attachment.zip)

# Pindahkan file mainframe langsung ke Amazon S3 menggunakan Transfer Family
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family"></a>

*Luis Gustavo Dantas, Amazon Web Services*

## Ringkasan
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-summary"></a>

Sebagai bagian dari perjalanan modernisasi, Anda dapat menghadapi tantangan untuk mentransfer file antara server lokal dan Amazon Web Services (AWS) Cloud. Mentransfer data dari mainframe dapat menjadi tantangan yang signifikan karena mainframe biasanya tidak dapat mengakses penyimpanan data modern seperti Amazon Simple Storage Service (Amazon S3), Amazon Elastic Block Store (Amazon EBS), atau Amazon Elastic File System (Amazon EFS).

Banyak pelanggan menggunakan sumber daya pementasan menengah, seperti server Linux, Unix, atau Windows lokal, untuk mentransfer file ke AWS Cloud. Anda dapat menghindari metode tidak langsung ini dengan menggunakan AWS Transfer Family dengan Secure Shell (SSH) File Transfer Protocol (SFTP) untuk mengunggah file mainframe langsung ke Amazon S3.

## Prasyarat dan batasan
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Virtual Private Cloud (VPC) dengan subnet yang dapat dijangkau oleh platform lama Anda
+ Endpoint Transfer Family untuk VPC Anda
+ File Metode Akses Penyimpanan Virtual Mainframe (VSAM) yang dikonversi ke file berurutan dengan [panjang tetap](https://www.ibm.com/docs/en/zos/2.1.0?topic=reports-converting-vb-fb) (dokumentasi IBM)

**Batasan**
+ SFTP mentransfer file dalam mode biner secara default, yang berarti bahwa file diunggah ke Amazon S3 dengan encoding EBCDIC dipertahankan. Jika file Anda tidak berisi data biner atau dikemas, maka Anda dapat menggunakan [subperintah **sftp** ascii](https://www.ibm.com/docs/en/zos/2.3.0?topic=version-what-zos-openssh-supports) (dokumentasi IBM) untuk mengonversi file Anda menjadi teks selama transfer.
+ Anda harus [membongkar file mainframe](https://apg-library.amazonaws.com/content/f5907bfe-7dff-4cd0-8523-57015ad48c4b) (AWS Prescriptive Guidance) yang berisi konten yang dikemas dan biner untuk menggunakan file-file ini di lingkungan target Anda.
+ Objek Amazon S3 dapat berkisar dalam ukuran dari minimal 0 byte hingga maksimum 5 TB. Untuk informasi selengkapnya tentang kemampuan Amazon S3, lihat Amazon [S3](https://aws.amazon.com/s3/faqs/?nc1=h_ls). FAQs

## Arsitektur
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-architecture"></a>

**Tumpukan teknologi sumber**
+ Bahasa kontrol pekerjaan (JCL)
+ z/OS Unix shell dan ISPF
+ SFTP
+ VSAM dan file datar

**Tumpukan teknologi target**
+ Transfer Family
+ Amazon S3
+ Amazon Virtual Private Cloud (Amazon VPC)

**Arsitektur target**

Diagram berikut menunjukkan arsitektur referensi untuk menggunakan Transfer Family dengan SFTP untuk mengunggah file mainframe langsung ke bucket S3.

![\[Menggunakan Transfer Family dengan SFTP untuk mengunggah file mainframe langsung ke bucket S3\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/1f4fa1fd-b681-41bc-81d8-d556426b14c2/images/110491d5-b58d-4451-8de9-e742756bb192.png)


Diagram menunjukkan alur kerja berikut:

1. Anda menggunakan pekerjaan JCL untuk mentransfer file mainframe Anda dari mainframe lama ke AWS Cloud melalui Direct Connect.

1. Direct Connect memungkinkan lalu lintas jaringan Anda tetap berada di jaringan global AWS dan melewati internet publik. Direct Connect juga meningkatkan kecepatan jaringan, mulai dari 50 Mbps dan skala hingga 100 Gbps.

1. Titik akhir VPC memungkinkan koneksi antara sumber daya VPC Anda dan layanan yang didukung tanpa menggunakan internet publik. Akses ke Transfer Family dan Amazon S3 mencapai ketersediaan tinggi dengan berlangsung melalui antarmuka jaringan elastis yang terletak di dua subnet pribadi dan Availability Zone.

1. Transfer Family mengautentikasi pengguna dan menggunakan SFTP untuk menerima file Anda dari lingkungan lama dan memindahkannya ke bucket S3.

**Otomatisasi dan skala**

Setelah layanan Transfer Family tersedia, Anda dapat mentransfer file dalam jumlah tak terbatas dari mainframe ke Amazon S3 dengan menggunakan pekerjaan JCL sebagai klien SFTP. Anda juga dapat mengotomatiskan transfer file dengan menggunakan penjadwal pekerjaan batch mainframe untuk menjalankan pekerjaan SFTP ketika Anda siap untuk mentransfer file mainframe.

## Alat
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-tools"></a>
+ [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.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur AWS yang dapat diskalakan.
+ [AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html) memungkinkan Anda menskalakan transfer business-to-business file berulang dengan aman ke Amazon S3 dan Amazon EFS dengan menggunakan protokol SFTP, FTPS, dan FTP.

## Epik
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-epics"></a>

### Buat bucket S3 dan kebijakan akses
<a name="create-the-s3-bucket-and-the-access-policy"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat ember S3. | [Buat bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) untuk meng-host file yang Anda transfer dari lingkungan lama Anda. | AWS Umum | 
| Buat peran dan kebijakan IAM. | Transfer Family menggunakan peran AWS Identity and Access Management (IAM) untuk memberikan akses ke bucket S3 yang Anda buat sebelumnya.[Buat peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) yang mencakup kebijakan [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) berikut:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "UserFolderListing",<br />            "Action": [<br />                "s3:ListBucket",<br />                "s3:GetBucketLocation"<br />            ],<br />            "Effect": "Allow",<br />            "Resource": [<br />                "arn:aws:s3:::<your-bucket-name>"<br />            ]<br />        },<br />        {<br />            "Sid": "HomeDirObjectAccess",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",<br />                "s3:GetObjectAcl",<br />                "s3:GetObject",<br />                "s3:DeleteObjectVersion",<br />                "s3:DeleteObject",<br />                "s3:PutObjectAcl",<br />                "s3:GetObjectVersion"<br />            ],<br />            "Resource": "arn:aws:s3:::<your-bucket-name>/*"<br />        }<br />    ]<br />}</pre>Anda harus memilih kasus penggunaan Transfer saat Anda membuat peran IAM. | AWS Umum | 

### Tentukan layanan transfer
<a name="define-the-transfer-service"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat server SFTP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html)Untuk informasi selengkapnya tentang cara menyiapkan server SFTP, lihat [Membuat server berkemampuan SFTP (Panduan Pengguna AWS Transfer](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html) Family). | AWS Umum | 
| Dapatkan alamat server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html) | AWS Umum | 
| Buat key pair klien SFTP. | Buat key pair SSH untuk [Microsoft Windows](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#windows-ssh) atau [macOS/Linux/UNIX](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#macOS-linux-unix-ssh). | AWS Umum, SSH | 
| Buat pengguna SFTP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html) | AWS Umum | 

### Transfer file mainframe
<a name="transfer-the-mainframe-file"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kirim kunci pribadi SSH ke mainframe. | Gunakan SFTP atau SCP untuk mengirim kunci pribadi SSH ke lingkungan lama.Contoh SFTP:<pre>sftp [USERNAME@mainframeIP]<br />[password]<br />cd [/u/USERNAME]<br />put [your-key-pair-file]</pre>Contoh SCP:<pre>scp [your-key-pair-file] [USERNAME@MainframeIP]:/[u/USERNAME]</pre>Selanjutnya, simpan kunci SSH dalam sistem file z/OS Unix di bawah nama pengguna yang nantinya akan menjalankan tugas batch transfer file (misalnya,`/u/CONTROLM`). Untuk informasi selengkapnya tentang z/OS Unix shell, lihat [Pengantar z/OS shell](https://www.ibm.com/docs/en/zos/2.2.0?topic=shells-introduction-zos) (dokumentasi IBM). | Mainframe, shell z/OS Unix, FTP, SCP | 
| Buat klien JCL SFTP. | Karena mainframe tidak memiliki klien SFTP asli, Anda harus menggunakan utilitas BPXBATCH untuk menjalankan klien SFTP dari shell Unix. z/OS Di editor ISPF, buat klien JCL SFTP. Contoh:<pre>//JOBNAM JOB ...<br />//**********************************************************************<br />//SFTP EXEC PGM=BPXBATCH,REGION=0M <br />//STDPARM DD * <br />SH cp "//'MAINFRAME.FILE.NAME'" filename.txt; <br />echo 'put filename.txt' > uplcmd; <br />sftp -b uplcmd -i ssh_private_key_file ssh_username@<transfer service ip or DNS>; <br />//SYSPRINT DD SYSOUT=* <br />//STDOUT DD SYSOUT=* <br />//STDENV DD * <br />//STDERR DD SYSOUT=*</pre>Untuk informasi selengkapnya tentang cara menjalankan perintah di shell z/OS Unix, lihat [Utilitas BPXBATCH](https://www.ibm.com/docs/en/zos/2.2.0?topic=ispf-bpxbatch-utility) (dokumentasi IBM). Untuk informasi selengkapnya tentang cara membuat atau mengedit pekerjaan JCL di z/OS, lihat [Apa](https://www.ibm.com/docs/en/zos-basic-skills?topic=interfaces-what-is-ispf) itu ISPF? dan [Editor ISPF (dokumentasi](https://www.ibm.com/docs/en/zos-basic-skills?topic=ispf-editor) IBM). | JCL, Mainframe, z/OS cangkang Unix | 
| Jalankan klien JCL SFTP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html)Untuk informasi selengkapnya tentang cara memeriksa aktivitas pekerjaan batch, lihat [Panduan Pengguna z/OS SDSF (dokumentasi IBM](https://www.ibm.com/docs/en/zos/2.4.0?topic=sdsf-zos-users-guide)). | Mainframe, JCL, ISPF | 
| Validasi transfer file. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html) | AWS Umum | 
| Otomatiskan klien JCL SFTP. | Gunakan penjadwal pekerjaan untuk secara otomatis memicu klien JCL SFTP.Anda dapat menggunakan penjadwal pekerjaan mainframe, seperti [BMC Control-M](https://www.bmcsoftware.pt/it-solutions/control-m.html) atau [CA Workload Automation, untuk mengotomatiskan](https://www.broadcom.com/products/mainframe/workload-automation/ca7) pekerjaan batch untuk transfer file berdasarkan waktu dan dependensi pekerjaan batch lainnya. | Job scheduler | 

## Sumber daya terkait
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-resources"></a>
+ [Cara kerja AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/how-aws-transfer-works.html)

# Optimalkan kinerja aplikasi modern AWS Blu Age Anda
<a name="optimize-performance-aws-blu-age-modernized-application"></a>

*Vishal Jaswani, Manish Roy, dan Himanshu Sah, Amazon Web Services*

## Ringkasan
<a name="optimize-performance-aws-blu-age-modernized-application-summary"></a>

Aplikasi mainframe yang dimodernisasi dengan AWS Blu Age memerlukan pengujian fungsional dan kesetaraan kinerja sebelum diterapkan ke produksi. Dalam pengujian kinerja, aplikasi modern dapat bekerja lebih lambat daripada sistem lama, terutama dalam pekerjaan batch yang kompleks. Perbedaan ini ada karena aplikasi mainframe bersifat monolitik, sedangkan aplikasi modern menggunakan arsitektur multitier. Pola ini menyajikan teknik pengoptimalan untuk mengatasi kesenjangan kinerja ini untuk aplikasi yang dimodernisasi dengan menggunakan [refactoring otomatis](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html) dengan Blu Age. AWS 

Pola ini menggunakan kerangka modernisasi AWS Blu Age dengan Java asli dan kemampuan penyetelan basis data untuk mengidentifikasi dan mengatasi kemacetan kinerja. Pola ini menjelaskan bagaimana Anda dapat menggunakan profil dan pemantauan untuk mengidentifikasi masalah kinerja dengan metrik seperti waktu eksekusi SQL, pemanfaatan memori, dan pola. I/O Kemudian menjelaskan bagaimana Anda dapat menerapkan pengoptimalan yang ditargetkan, termasuk restrukturisasi kueri database, caching, dan penyempurnaan logika bisnis.

Peningkatan waktu pemrosesan batch dan pemanfaatan sumber daya sistem membantu Anda mencocokkan tingkat kinerja mainframe dalam sistem modern Anda. Pendekatan ini mempertahankan kesetaraan fungsional selama transisi ke arsitektur berbasis cloud modern.

Untuk menggunakan pola ini, atur sistem Anda dan identifikasi hotspot kinerja dengan mengikuti instruksi di bagian [Epics](#optimize-performance-aws-blu-age-modernized-application-epics), dan terapkan teknik pengoptimalan yang dibahas secara rinci di bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture).

## Prasyarat dan batasan
<a name="optimize-performance-aws-blu-age-modernized-application-prereqs"></a>

**Prasyarat**
+ Aplikasi modern AWS Blu Age
+ [JProfiler Lisensi](https://www.ej-technologies.com/store/jprofiler)
+ Hak istimewa administratif untuk menginstal klien database dan alat profil
+ AWS Sertifikasi Blu Age [Level 3](https://bluinsights.aws/certification/)
+ Pemahaman tingkat menengah tentang kerangka AWS Blu Age, struktur kode yang dihasilkan, dan pemrograman Java

**Batasan**

Kemampuan dan fitur pengoptimalan berikut berada di luar cakupan pola ini:
+ Optimalisasi latensi jaringan antara tingkatan aplikasi
+ Pengoptimalan tingkat infrastruktur melalui jenis instans Amazon Elastic Compute Cloud ( EC2Amazon) dan pengoptimalan penyimpanan
+ Pengujian beban pengguna bersamaan dan pengujian stres

**Versi produk**
+ JProfiler versi 13.0 atau yang lebih baru (kami sarankan versi terbaru)
+ pgAdmin versi 8.14 atau yang lebih baru

## Arsitektur
<a name="optimize-performance-aws-blu-age-modernized-application-architecture"></a>

Pola ini mengatur lingkungan pembuatan profil untuk aplikasi AWS Blu Age dengan menggunakan alat seperti dan JProfiler pgAdmin. Ini mendukung optimasi melalui DAOManager dan SQLExecution Builder yang APIs disediakan oleh AWS Blu Age.

Sisa bagian ini memberikan informasi terperinci dan contoh untuk mengidentifikasi hotspot kinerja dan strategi pengoptimalan untuk aplikasi modern Anda. Langkah-langkah di bagian [Epik](#optimize-performance-aws-blu-age-modernized-application-epics) merujuk kembali ke informasi ini untuk panduan lebih lanjut.

**Mengidentifikasi hotspot kinerja dalam aplikasi mainframe modern**

Dalam aplikasi mainframe modern, *hotspot kinerja* adalah area spesifik dalam kode yang menyebabkan perlambatan atau inefisiensi yang signifikan. Hotspot ini sering disebabkan oleh perbedaan arsitektur antara mainframe dan aplikasi modern. Untuk mengidentifikasi kemacetan kinerja ini dan mengoptimalkan kinerja aplikasi modern Anda, Anda dapat menggunakan tiga teknik: SQL logging, rencana kueri, dan analisis. `EXPLAIN` JProfiler 

*Teknik identifikasi hotspot: pencatatan SQL*

Aplikasi Java modern, termasuk yang telah dimodernisasi dengan menggunakan AWS Blu Age, memiliki kemampuan bawaan untuk mencatat kueri SQL. Anda dapat mengaktifkan logger tertentu dalam proyek AWS Blu Age untuk melacak dan menganalisis pernyataan SQL yang dijalankan oleh aplikasi Anda. Teknik ini sangat berguna untuk mengidentifikasi pola akses database yang tidak efisien, seperti permintaan individu yang berlebihan atau panggilan database yang tidak terstruktur dengan baik, yang dapat dioptimalkan melalui batching atau penyempurnaan kueri.

Untuk mengimplementasikan logging SQL di aplikasi modern AWS Blu Age Anda, atur level log ke untuk pernyataan SQL dalam `application.properties` file `DEBUG` untuk menangkap detail eksekusi kueri:

```
level.org.springframework.beans.factory.support.DefaultListableBeanFactory : WARN
level.com.netfective.bluage.gapwalk.runtime.sort.internal: WARN
level.org.springframework.jdbc.core.StatementCreatorUtils: DEBUG
level.com.netfective.bluage.gapwalk.rt.blu4iv.dao: DEBUG
level.com.fiserv.signature: DEBUG
level.com.netfective.bluage.gapwalk.database.support.central: DEBUG
level.com.netfective.bluage.gapwalk.rt.db.configuration.DatabaseConfiguration: DEBUG
level.com.netfective.bluage.gapwalk.rt.db.DatabaseInteractionLoggerUtils: DEBUG
level.com.netfective.bluage.gapwalk.database.support.AbstractDatabaseSupport: DEBUG
level.com.netfective.bluage.gapwalk.rt: DEBUG
```

Pantau kueri frekuensi tinggi dan berkinerja lambat dengan menggunakan data yang dicatat untuk mengidentifikasi target pengoptimalan. Fokus pada kueri dalam proses batch karena biasanya memiliki dampak kinerja tertinggi.

*Teknik identifikasi hotspot: Kueri JELASKAN rencana*

Metode ini menggunakan kemampuan perencanaan kueri sistem manajemen database relasional. Anda dapat menggunakan perintah seperti `EXPLAIN` di PostgreSQL atau MySQL, atau di Oracle`EXPLAIN PLAN`, untuk memeriksa bagaimana database Anda bermaksud menjalankan kueri yang diberikan. Output dari perintah ini memberikan wawasan berharga ke dalam strategi eksekusi kueri, termasuk apakah indeks akan digunakan atau pemindaian tabel lengkap akan dilakukan. Informasi ini sangat penting untuk mengoptimalkan kinerja kueri, terutama dalam kasus di mana pengindeksan yang tepat dapat secara signifikan mengurangi waktu eksekusi.

Ekstrak kueri SQL yang paling berulang dari log aplikasi dan analisis jalur eksekusi kueri berkinerja lambat dengan menggunakan `EXPLAIN` perintah yang khusus untuk database Anda. Berikut adalah contoh untuk database PostgreSQL.

Kueri:

```
SELECT * FROM tenk1 WHERE unique1 < 100;
```

`EXPLAIN`perintah:

```
EXPLAIN SELECT * FROM tenk1 where unique1 < 100;
```

Output:

```
Bitmap Heap Scan on tenk1 (cost=5.06..224.98 rows=100 width=244) 
Recheck Cond: (unique1 < 100) 
-> Bitmap Index Scan on tenk1_unique1 (cost=0.00..5.04 rows=100 width=0)
Index Cond: (unique1 < 100)
```

Anda dapat menafsirkan `EXPLAIN` output sebagai berikut:
+ Baca `EXPLAIN` rencana dari operasi terdalam ke terluar (bawah ke atas).
+ Carilah istilah-istilah kunci. Misalnya, `Seq Scan` menunjukkan pemindaian tabel lengkap dan `Index Scan` menunjukkan penggunaan indeks.
+ Periksa nilai biaya: Angka pertama adalah biaya awal, dan angka kedua adalah total biaya.
+ Lihat `rows` nilai untuk perkiraan jumlah baris output.

Dalam contoh ini, mesin kueri menggunakan pemindaian indeks untuk menemukan baris yang cocok, dan kemudian hanya mengambil baris tersebut (`Bitmap Heap Scan`). Ini lebih efisien daripada memindai seluruh tabel, meskipun biaya akses baris individu lebih tinggi.

Operasi pemindaian tabel dalam output `EXPLAIN` rencana menunjukkan indeks yang hilang. Optimalisasi membutuhkan pembuatan indeks yang sesuai.

*Teknik identifikasi hotspot: analisis JProfiler *

JProfiler adalah alat profil Java komprehensif yang membantu Anda mengatasi kemacetan kinerja dengan mengidentifikasi panggilan database yang lambat dan panggilan intensif CPU. Alat ini sangat efektif dalam mengidentifikasi kueri SQL yang lambat dan penggunaan memori yang tidak efisien.

Contoh analisis untuk kueri:

```
select evt. com.netfective.bluage.gapwalk.rt.blu4iv.dao.Blu4ivTableManager.queryNonTrasactional
```

Tampilan JProfiler Hot Spots memberikan informasi berikut:
+ Kolom **waktu**
  + Menunjukkan total durasi eksekusi (misalnya, 329 detik)
  + Menampilkan persentase total waktu aplikasi (misalnya, 58,7%)
  + Membantu mengidentifikasi operasi yang paling memakan waktu
+ Kolom **Waktu Rata-rata**
  + Menunjukkan durasi per eksekusi (misalnya, 2.692 mikrodetik)
  + Menunjukkan kinerja operasi individu
  + Membantu mendeteksi operasi individu yang lambat
+ Kolom **acara**
  + Menunjukkan jumlah eksekusi (misalnya, 122,387 kali)
  + Menunjukkan frekuensi operasi
  + Membantu mengidentifikasi metode yang sering disebut

Untuk hasil contoh:
+ Frekuensi tinggi: 122.387 eksekusi menunjukkan potensi pengoptimalan
+ Masalah kinerja: 2.692 mikrodetik untuk waktu rata-rata menunjukkan inefisiensi
+ Dampak kritis: 58,7% dari total waktu menunjukkan kemacetan utama

JProfiler dapat menganalisis perilaku runtime aplikasi Anda untuk mengungkapkan hotspot yang mungkin tidak terlihat melalui analisis kode statis atau pencatatan SQL. Metrik ini membantu Anda mengidentifikasi operasi yang memerlukan pengoptimalan dan menentukan strategi pengoptimalan yang paling efektif. Untuk informasi selengkapnya tentang JProfiler fitur, lihat [JProfiler dokumentasi](https://www.ej-technologies.com/resources/jprofiler/help/doc/main/introduction.html).

Bila Anda menggunakan ketiga teknik ini (SQL logging, query `EXPLAIN` plan, dan JProfiler) dalam kombinasi, Anda bisa mendapatkan tampilan holistik dari karakteristik kinerja aplikasi Anda. Dengan mengidentifikasi dan menangani hotspot kinerja yang paling penting, Anda dapat menjembatani kesenjangan kinerja antara aplikasi mainframe asli Anda dan sistem berbasis cloud modern Anda.

Setelah Anda mengidentifikasi hotspot kinerja aplikasi Anda, Anda dapat menerapkan strategi pengoptimalan, yang dijelaskan di bagian berikutnya.

**Strategi optimasi untuk modernisasi mainframe**

Bagian ini menguraikan strategi utama untuk mengoptimalkan aplikasi yang telah dimodernisasi dari sistem mainframe. Ini berfokus pada tiga strategi: menggunakan yang ada APIs, menerapkan caching yang efektif, dan mengoptimalkan logika bisnis.

*Strategi optimasi: Menggunakan yang ada APIs*

AWS Blu Age menyediakan beberapa antarmuka DAO yang kuat APIs yang dapat Anda gunakan untuk mengoptimalkan kinerja. Dua antarmuka utama — DAOManager dan SQLExecution Builder — menawarkan kemampuan untuk meningkatkan kinerja aplikasi.

**DAOManager**

DAOManager berfungsi sebagai antarmuka utama untuk operasi database dalam aplikasi modern. Ini menawarkan beberapa metode untuk meningkatkan operasi database dan meningkatkan kinerja aplikasi, terutama untuk membuat, membaca, memperbarui, dan menghapus (CRUD) operasi langsung dan pemrosesan batch.
+ **Gunakan SetMaxResults.** Di DAOManager API, Anda dapat menggunakan **SetMaxResults**metode ini untuk menentukan jumlah maksimum catatan yang akan diambil dalam satu operasi database. Secara default, hanya DAOManager mengambil 10 catatan sekaligus, yang dapat menyebabkan beberapa panggilan database saat memproses kumpulan data besar. Gunakan pengoptimalan ini ketika aplikasi Anda perlu memproses sejumlah besar catatan dan saat ini membuat beberapa panggilan database untuk mengambilnya. Ini sangat berguna dalam skenario pemrosesan batch di mana Anda melakukan iterasi melalui kumpulan data besar. Dalam contoh berikut, kode di sebelah kiri (sebelum optimasi) menggunakan nilai pengambilan data default dari 10 catatan. Kode di sebelah kanan (setelah optimasi) ditetapkan **setMaxResults**untuk mengambil 100.000 catatan sekaligus.  
![\[Contoh penggunaan SetMaxResults untuk menghindari beberapa panggilan database.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/beb9623e-e7a8-45ef-adc6-19a249224b05.png)
**catatan**  
Pilih ukuran batch yang lebih besar dengan hati-hati dan periksa ukuran objek, karena pengoptimalan ini meningkatkan jejak memori.
+ **Ganti SetOnGreatorOrEqual dengan SetOnEqual.** Optimasi ini melibatkan perubahan metode yang Anda gunakan untuk mengatur kondisi untuk mengambil catatan. **SetOnGreatorOrEqual**Metode ini mengambil catatan yang lebih besar dari atau sama dengan nilai yang ditentukan, sedangkan hanya **SetOnEqual**mengambil catatan yang sama persis dengan nilai yang ditentukan.

  Gunakan **SetOnEqual**seperti yang diilustrasikan dalam contoh kode berikut, ketika Anda tahu bahwa Anda memerlukan pencocokan yang tepat dan saat ini Anda menggunakan **SetOnGreatorOrEqual**metode diikuti oleh **readNextEqual()**. Optimalisasi ini mengurangi pengambilan data yang tidak perlu.  
![\[Contoh penggunaan SetOnEqual untuk mengambil catatan berdasarkan kecocokan persis.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/5ce0dac9-f281-4862-a71f-1614493a83f0.png)
+ **Gunakan operasi batch write dan update.** Anda dapat menggunakan operasi batch untuk mengelompokkan beberapa operasi tulis atau pembaruan ke dalam satu transaksi database. Ini mengurangi jumlah panggilan database dan secara signifikan dapat meningkatkan kinerja untuk operasi yang melibatkan beberapa catatan.

  Dalam contoh berikut, kode di sebelah kiri melakukan operasi tulis dalam satu lingkaran, yang memperlambat kinerja aplikasi. Anda dapat mengoptimalkan kode ini dengan menggunakan operasi penulisan batch: Selama setiap iterasi `WHILE` loop, Anda menambahkan catatan ke batch hingga ukuran batch mencapai ukuran 100 yang telah ditentukan sebelumnya. Anda kemudian dapat menyiram batch ketika mencapai ukuran batch yang telah ditentukan, dan kemudian flush semua catatan yang tersisa ke database. Ini sangat berguna dalam skenario di mana Anda memproses kumpulan data besar yang memerlukan pembaruan.  
![\[Contoh pengelompokan beberapa operasi ke dalam satu transaksi database.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/e3bd60d4-06f5-4c1c-9cbd-463f6835a1ba.png)
+ **Tambahkan indeks.** Menambahkan indeks adalah optimasi tingkat database yang dapat secara signifikan meningkatkan kinerja kueri. Indeks memungkinkan database untuk dengan cepat menemukan baris dengan nilai kolom tertentu tanpa memindai seluruh tabel. Gunakan pengindeksan pada kolom yang sering digunakan dalam `WHERE` klausa, `JOIN` kondisi, atau pernyataan. `ORDER BY` Ini sangat penting untuk tabel besar atau ketika pengambilan data cepat sangat penting.

**SQLExecutionPembangun**

SQLExecutionBuilder adalah API fleksibel yang dapat Anda gunakan untuk mengendalikan kueri SQL yang akan dieksekusi, mengambil kolom tertentu saja, `INSERT` dengan menggunakan`SELECT`, dan menggunakan nama tabel dinamis. Dalam contoh berikut, SQLExecutor Builder menggunakan kueri kustom yang Anda tentukan. 

![\[Contoh menggunakan SQLExecutor Builder dengan kueri kustom.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/364e9fb1-0cbc-47d0-936d-46fb3b48b608.png)


**Memilih antara DAOManager dan SQLExecution Builder**

Pilihan antara ini APIs tergantung pada kasus penggunaan spesifik Anda:
+ Gunakan DAOManager saat Anda ingin AWS Blu Age Runtime untuk menghasilkan kueri SQL alih-alih menulisnya sendiri.
+ Pilih SQLExecution Builder saat Anda perlu menulis kueri SQL untuk memanfaatkan fitur khusus database atau menulis kueri SQL yang optimal.

*Strategi pengoptimalan: Caching*

Dalam aplikasi modern, menerapkan strategi caching yang efektif dapat secara signifikan mengurangi panggilan database dan meningkatkan waktu respons. Ini membantu menjembatani kesenjangan kinerja antara mainframe dan lingkungan cloud.

Dalam aplikasi AWS Blu Age, implementasi caching sederhana menggunakan struktur data internal seperti peta hash atau daftar array, sehingga Anda tidak perlu menyiapkan solusi caching eksternal yang memerlukan biaya dan restrukturisasi kode. Pendekatan ini sangat efektif untuk data yang sering diakses tetapi jarang berubah. Saat Anda menerapkan caching, pertimbangkan batasan memori dan pola pembaruan untuk memastikan bahwa data yang di-cache tetap konsisten dan memberikan manfaat kinerja aktual.

Kunci keberhasilan caching adalah mengidentifikasi data yang tepat untuk cache. Dalam contoh berikut, kode di sebelah kiri selalu membaca data dari tabel, sedangkan kode di sebelah kanan membaca data dari tabel ketika peta hash lokal tidak memiliki nilai untuk kunci yang diberikan. `cacheMap`adalah objek peta hash yang dibuat dalam konteks program dan dihapus dalam metode pembersihan konteks program.

Caching dengan DAOManager:

![\[Contoh optimasi caching dengan. DAOManager\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/4efd3d22-c694-4f7d-a543-2bed341d1651.png)


Caching dengan SQLExecution Builder:

![\[Contoh pengoptimalan caching dengan Builder. SQLExecution\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/c8964804-96eb-4e26-b2bf-8742e62b4c33.png)


*Strategi optimasi: Optimalisasi logika bisnis*

Optimalisasi logika bisnis berfokus pada restrukturisasi kode yang dihasilkan secara otomatis dari AWS Blu Age agar lebih selaras dengan kemampuan arsitektur modern. Ini menjadi perlu ketika kode yang dihasilkan mempertahankan struktur logika yang sama dengan kode mainframe lama, yang mungkin tidak optimal untuk sistem modern. Tujuannya adalah untuk meningkatkan kinerja sambil mempertahankan kesetaraan fungsional dengan aplikasi asli.

Pendekatan pengoptimalan ini melampaui tweak API sederhana dan strategi caching. Ini melibatkan perubahan bagaimana aplikasi memproses data dan berinteraksi dengan database. Pengoptimalan umum termasuk menghindari operasi baca yang tidak perlu untuk pembaruan sederhana, menghapus panggilan database yang berlebihan, dan merestrukturisasi pola akses data agar lebih selaras dengan arsitektur aplikasi modern. Berikut adalah beberapa contoh:
+ **Memperbarui data secara langsung di database.**Merestrukturisasi logika bisnis Anda dengan menggunakan pembaruan SQL langsung alih-alih beberapa DAOManager operasi dengan loop. Misalnya, kode berikut (sisi kiri) membuat beberapa panggilan database dan menggunakan memori yang berlebihan. Secara khusus, ia menggunakan beberapa operasi baca dan tulis database dalam loop, pembaruan individual alih-alih pemrosesan batch, dan pembuatan objek yang tidak perlu untuk setiap iterasi.

  Kode dioptimalkan berikut (sisi kanan) menggunakan operasi pembaruan SQL Langsung tunggal. Secara khusus, ia menggunakan panggilan database tunggal alih-alih beberapa panggilan dan tidak memerlukan loop karena semua pembaruan ditangani dalam satu pernyataan. Optimalisasi ini memberikan kinerja dan pemanfaatan sumber daya yang lebih baik, dan mengurangi kompleksitas. Ini mencegah injeksi SQL, menyediakan caching rencana kueri yang lebih baik, dan membantu meningkatkan keamanan.  
![\[Restrukturisasi kode dengan menggunakan pembaruan SQL langsung alih-alih DAOManager operasi dengan loop.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/7d0a7879-8db2-4cc5-b41c-ee370b3f22e5.png)
**catatan**  
Selalu gunakan kueri berparameter untuk mencegah injeksi SQL dan memastikan manajemen transaksi yang tepat.
+ **Mengurangi panggilan database yang berlebihan.** Panggilan database redundan dapat secara signifikan mempengaruhi kinerja aplikasi, terutama ketika mereka terjadi dalam loop. Teknik optimasi yang sederhana namun efektif adalah menghindari pengulangan kueri database yang sama beberapa kali. Perbandingan kode berikut menunjukkan bagaimana memindahkan panggilan `retrieve()` database di luar loop mencegah eksekusi berlebihan dari kueri identik, yang meningkatkan efisiensi.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/da9c15f4-bcf1-4827-b91a-73212fe35cca.png)
+ **Mengurangi panggilan database dengan menggunakan `JOIN` **klausa** SQL**. Implementasikan SQLExecution Builder untuk meminimalkan panggilan ke database. SQLExecutionBuilder memberikan kontrol lebih besar atas pembuatan SQL dan sangat berguna untuk kueri kompleks yang DAOManager tidak dapat ditangani secara efisien. Misalnya, kode berikut menggunakan beberapa DAOManager panggilan:

  ```
  List<Employee> employees = daoManager.readAll();
  for(Employee emp : employees) {
      Department dept = deptManager.readById(emp.getDeptId());  // Additional call for each employee
      Project proj = projManager.readById(emp.getProjId());     // Another call for each employee
      processEmployeeData(emp, dept, proj);
  }
  ```

  Kode yang dioptimalkan menggunakan satu panggilan database di SQLExecution Builder:

  ```
  SQLExecutionBuilder builder = new SQLExecutionBuilder();
  builder.append("SELECT e.*, d.name as dept_name, p.name as proj_name");
  builder.append("FROM employee e");
  builder.append("JOIN department d ON e.dept_id = d.id");
  builder.append("JOIN project p ON e.proj_id = p.id");
  builder.append("WHERE e.status = ?", "ACTIVE");
  
  List<Map<String, Object>> results = builder.execute();  // Single database call
  for(Map<String, Object> result : results) {
      processComplexData(result);
  }
  ```

*Menggunakan strategi optimasi bersama*

Ketiga strategi ini bekerja secara sinergis: APIs menyediakan alat untuk akses data yang efisien, caching mengurangi kebutuhan untuk pengambilan data berulang, dan optimasi logika bisnis memastikan bahwa ini APIs digunakan dengan cara yang paling efektif. Pemantauan dan penyesuaian reguler dari pengoptimalan ini memastikan peningkatan kinerja berkelanjutan sambil mempertahankan keandalan dan fungsionalitas aplikasi yang dimodernisasi. Kunci sukses terletak pada pemahaman kapan dan bagaimana menerapkan setiap strategi berdasarkan karakteristik aplikasi dan tujuan kinerja Anda.

## Alat
<a name="optimize-performance-aws-blu-age-modernized-application-tools"></a>
+ [JProfiler](https://www.ej-technologies.com/jprofiler)adalah alat profil Java yang dirancang untuk pengembang dan insinyur kinerja. Ini menganalisis aplikasi Java dan membantu mengidentifikasi kemacetan kinerja, kebocoran memori, dan masalah threading. JProfiler menawarkan CPU, memori, dan thread profiling serta database dan Java virtual machine (JVM) monitoring untuk memberikan wawasan tentang perilaku aplikasi.
**catatan**  
Sebagai alternatif JProfiler, Anda dapat menggunakan [Java VisualVM](https://visualvm.github.io/). Ini adalah alat profil dan pemantauan kinerja open source gratis untuk aplikasi Java yang menawarkan pemantauan real-time penggunaan CPU, konsumsi memori, manajemen thread, dan statistik pengumpulan sampah. Karena Java VisualVM adalah alat JDK bawaan, ini lebih hemat biaya daripada untuk kebutuhan profil dasar. JProfiler 
+ [pgAdmin](https://www.pgadmin.org/) adalah alat administrasi dan pengembangan open source untuk PostgreSQL. Ini menyediakan antarmuka grafis yang membantu Anda membuat, memelihara, dan menggunakan objek database. Anda dapat menggunakan pgAdmin untuk melakukan berbagai tugas, mulai dari menulis kueri SQL sederhana hingga mengembangkan basis data yang kompleks. Fitur-fiturnya termasuk sintaks yang menyoroti editor SQL, editor kode sisi server, agen penjadwalan untuk SQL, shell, dan tugas batch, dan dukungan untuk semua fitur PostgreSQL untuk pengguna PostgreSQL pemula dan berpengalaman.

## Praktik terbaik
<a name="optimize-performance-aws-blu-age-modernized-application-best-practices"></a>

Mengidentifikasi hotspot kinerja:
+ Dokumentasikan metrik kinerja dasar sebelum Anda memulai pengoptimalan.
+ Tetapkan target peningkatan kinerja yang jelas berdasarkan persyaratan bisnis.
+ Saat melakukan benchmarking, nonaktifkan logging verbose, karena dapat memengaruhi kinerja.
+ Siapkan rangkaian uji kinerja dan jalankan secara berkala.
+ Gunakan pgAdmin versi terbaru. (Versi lama tidak mendukung paket `EXPLAIN` kueri.)
+ Untuk benchmarking, lepaskan JProfiler setelah pengoptimalan Anda selesai karena menambah latensi.
+ Untuk benchmarking, pastikan untuk menjalankan server dalam mode mulai alih-alih mode debug, karena mode debug menambah latensi.

Strategi optimasi:
+ Konfigurasikan **SetMaxResults**nilai dalam `application.yaml` file, untuk menentukan batch berukuran tepat sesuai dengan spesifikasi sistem Anda.
+ Konfigurasikan **SetMaxResults**nilai berdasarkan volume data dan kendala memori.
+ Ubah **SetOnGreatorOrEqual**menjadi **SetOnEqual**hanya ketika panggilan berikutnya`.readNextEqual()`.
+ Dalam operasi penulisan atau pembaruan batch, tangani batch terakhir secara terpisah, karena mungkin lebih kecil dari ukuran batch yang dikonfigurasi dan dapat dilewatkan oleh operasi tulis atau pembaruan.

Caching:
+ Bidang yang diperkenalkan untuk caching di`processImpl`, yang bermutasi dengan setiap eksekusi, harus selalu didefinisikan dalam konteks itu. `processImpl` Bidang juga harus dibersihkan dengan menggunakan `cleanUp()` metode `doReset()` or.
+ Saat Anda menerapkan cache dalam memori, ukuran cache yang tepat. Cache yang sangat besar yang disimpan dalam memori dapat mengambil semua sumber daya, yang dapat memengaruhi kinerja keseluruhan aplikasi Anda.

SQLExecutionPembangun:
+ Untuk kueri yang Anda rencanakan untuk digunakan di SQLExecution Builder, gunakan nama kunci seperti`PROGRAMNAME_STATEMENTNUMBER`.
+ Saat Anda menggunakan SQLExecution Builder, selalu periksa `Sqlcod` bidangnya. Bidang ini berisi nilai yang menentukan apakah kueri dijalankan dengan benar atau mengalami kesalahan apa pun.
+ Gunakan kueri berparameter untuk mencegah injeksi SQL.

Optimalisasi logika bisnis:
+ Pertahankan kesetaraan fungsional saat merestrukturisasi kode, dan jalankan pengujian regresi dan perbandingan basis data untuk subset program yang relevan.
+ Pertahankan snapshot profil untuk perbandingan.

## Epik
<a name="optimize-performance-aws-blu-age-modernized-application-epics"></a>

### Instal JProfiler dan pgAdmin
<a name="install-jprofiler-and-pgadmin"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal dan konfigurasikan JProfiler. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | Pengembang aplikasi | 
| Instal dan konfigurasikan pgAdmin. | Pada langkah ini, Anda menginstal dan mengkonfigurasi klien DB untuk menanyakan database Anda. Pola ini menggunakan database PostgreSQL dan pgAdmin sebagai klien database. Jika Anda menggunakan mesin database lain, ikuti dokumentasi untuk klien DB yang sesuai.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | Pengembang aplikasi | 

### Identifikasi hotspot
<a name="identify-hotspots"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Aktifkan pencatatan kueri SQL di aplikasi AWS Blu Age Anda. | [Aktifkan logger untuk pencatatan kueri SQL di `application.properties` file aplikasi AWS Blu Age Anda, seperti yang dijelaskan di bagian Arsitektur.](#optimize-performance-aws-blu-age-modernized-application-architecture) | Pengembang aplikasi | 
| Menghasilkan dan menganalisis `EXPLAIN` rencana kueri untuk mengidentifikasi hotspot kinerja database. | Untuk detailnya, lihat bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | Pengembang aplikasi | 
| Buat JProfiler snapshot untuk menganalisis kasus uji berkinerja lambat. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | Pengembang aplikasi | 
| Analisis JProfiler snapshot untuk mengidentifikasi kemacetan kinerja. | Ikuti langkah-langkah ini untuk menganalisis JProfiler snapshot.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html)Untuk informasi selengkapnya tentang penggunaan JProfiler, lihat bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture) dan [JProfiler dokumentasi](https://www.ej-technologies.com/jprofiler/docs). | Pengembang aplikasi | 

### Tetapkan garis dasar
<a name="establish-a-baseline"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tetapkan garis dasar kinerja sebelum Anda menerapkan pengoptimalan. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | Pengembang aplikasi | 

### Terapkan strategi pengoptimalan
<a name="apply-optimization-strategies"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Optimalkan panggilan baca. | Optimalkan pengambilan data dengan menggunakan DAOManager **SetMaxResults**metode. Untuk informasi lebih lanjut tentang pendekatan ini, lihat bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | Pengembang aplikasi, DAOManager | 
| Refactor logika bisnis untuk menghindari beberapa panggilan ke database. | Kurangi panggilan database dengan menggunakan `JOIN` klausa SQL. Untuk detail dan contoh, lihat *Optimasi logika bisnis* di bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | Pengembang aplikasi, SQLExecution Pembangun | 
| Refactor kode untuk menggunakan caching untuk mengurangi latensi panggilan baca. | Untuk informasi tentang teknik ini, lihat *Caching* di bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | Pengembang aplikasi | 
| Tulis ulang kode yang tidak efisien yang menggunakan beberapa DAOManager operasi untuk operasi pembaruan sederhana. | Untuk informasi selengkapnya tentang memperbarui data secara langsung di database, lihat *Optimasi logika bisnis* di bagian [Arsitektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | Pengembang aplikasi | 

### Strategi pengoptimalan uji
<a name="test-optimization-strategies"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Validasi setiap perubahan optimasi secara iteratif sambil mempertahankan kesetaraan fungsional. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html)Menggunakan metrik dasar sebagai referensi memastikan pengukuran yang akurat dari setiap dampak pengoptimalan sambil mempertahankan keandalan sistem. | Pengembang aplikasi | 

## Pemecahan masalah
<a name="optimize-performance-aws-blu-age-modernized-application-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Ketika Anda menjalankan aplikasi modern, Anda melihat pengecualian dengan kesalahan`Query_ID not found`. | Untuk menyelesaikan masalah ini:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | 
| Anda telah menambahkan indeks, tetapi Anda tidak melihat peningkatan kinerja apa pun. | Ikuti langkah-langkah ini untuk memastikan bahwa mesin kueri menggunakan indeks:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | 
| Anda menemukan out-of-memory pengecualian. | Verifikasi bahwa kode melepaskan memori yang dipegang oleh struktur data. | 
| Operasi penulisan batch menghasilkan catatan yang hilang dalam tabel | Tinjau kode untuk memastikan bahwa operasi penulisan tambahan dilakukan ketika jumlah batch tidak nol. | 
| Pencatatan SQL tidak muncul di log aplikasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | 

## Sumber daya terkait
<a name="optimize-performance-aws-blu-age-modernized-application-resources"></a>
+ [Aplikasi refactoring secara otomatis dengan AWS Blu Age (Panduan Pengguna](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html)*)AWS Mainframe Modernization *
+ [Dokumentasi pgAdmin](https://www.pgadmin.org/docs/)
+ [JProfiler dokumentasi](https://www.ej-technologies.com/jprofiler/docs)

# Mengamankan dan merampingkan akses pengguna dalam database federasi Db2 di AWS dengan menggunakan konteks tepercaya
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts"></a>

*Sai Parthasaradhi, Amazon Web Services*

## Ringkasan
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-summary"></a>

Banyak perusahaan yang memigrasikan beban kerja mainframe lama mereka ke Amazon Web Services (AWS). Migrasi ini mencakup pemindahan IBM Db2 untuk z/OS database ke Db2 untuk Linux, Unix, dan Windows (LUW) di Amazon Elastic Compute Cloud (Amazon). EC2 Selama migrasi bertahap dari lokasi ke AWS, pengguna mungkin perlu mengakses data di IBM Db2 z/OS dan di Db2 LUW di EC2 Amazon hingga semua aplikasi dan database sepenuhnya dimigrasikan ke Db2 LUW. Dalam skenario akses data jarak jauh seperti itu, otentikasi pengguna dapat menjadi tantangan karena platform yang berbeda menggunakan mekanisme otentikasi yang berbeda.

Pola ini mencakup cara mengatur server federasi pada Db2 untuk LUW dengan Db2 untuk z/OS sebagai database jarak jauh. Pola ini menggunakan konteks tepercaya untuk menyebarkan identitas pengguna dari Db2 LUW ke Db2 z/OS tanpa mengautentikasi ulang pada database jarak jauh. Untuk informasi selengkapnya tentang konteks tepercaya, lihat bagian [Informasi tambahan](#secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-additional).

## Prasyarat dan batasan
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Instans Db2 yang berjalan pada instans Amazon EC2 
+ Db2 jarak jauh untuk z/OS database yang berjalan di tempat
+ Jaringan lokal yang terhubung ke AWS melalui AWS [ Site-to-SiteVPN atau AWS](https://aws.amazon.com/vpn/) [Direct](https://aws.amazon.com/directconnect/) Connect

## Arsitektur
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-architecture"></a>

**Arsitektur target**

![\[Mainframe lokal terhubung melalui server Db2 lokal dan VPN ke Db2 DB aktif. EC2\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/9e04f0fe-bae2-412a-93ac-83da50222017/images/0a384695-7907-4fb8-bb7e-d170dcc114af.png)


## Alat
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-tools"></a>

**Layanan AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) membantu Anda meneruskan lalu lintas antar instans yang Anda luncurkan di AWS dan jaringan jarak jauh Anda sendiri.

**Alat-alat lainnya**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) adalah perintah antarmuka baris perintah interaktif Db2 (CLI).

## Epik
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-epics"></a>

### Aktifkan federasi pada database Db2 LUW yang berjalan di AWS
<a name="enable-federation-on-the-db2-luw-database-running-on-aws"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Aktifkan federasi pada DB2 LUW DB. | Untuk mengaktifkan federasi pada DB2 LUW, jalankan perintah berikut.<pre>update dbm cfg using federated YES</pre> | DBA | 
| Mulai ulang database. | Untuk me-restart database, jalankan perintah berikut.<pre>db2stop force;<br />db2start;</pre> | DBA | 

### Katalog database jarak jauh
<a name="catalog-the-remote-database"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Katalog subsistem Db2 z/OS jarak jauh. | Untuk membuat katalog z/OS database Db2 jarak jauh di Db2 LUW yang berjalan di AWS, gunakan perintah contoh berikut.<pre>catalog TCPIP NODE tcpnode REMOTE mainframehost SERVER mainframeport</pre> | DBA | 
| Katalog database jarak jauh. | Untuk membuat katalog database jarak jauh, gunakan perintah contoh berikut.<pre>catalog db dbnam1 as ndbnam1 at node tcpnode</pre> | DBA | 

### Buat definisi server jarak jauh
<a name="create-the-remote-server-definition"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kumpulkan kredensi pengguna untuk database z/OS Db2 jarak jauh. | Sebelum melanjutkan dengan langkah selanjutnya, kumpulkan informasi berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts.html) | DBA | 
| Buat pembungkus DRDA. | Untuk membuat pembungkus DRDA, jalankan perintah berikut.<pre>CREATE WRAPPER DRDA;</pre> | DBA | 
| Buat definisi server. | Untuk membuat definisi server, jalankan perintah contoh berikut.<pre>CREATE SERVER ndbserver<br />TYPE DB2/ZOS VERSION 12<br />WRAPPER DRDA<br />AUTHORIZATION "dbuser1" PASSWORD "dbpasswd" OPTIONS ( DBNAME 'ndbnam1',FED_PROXY_USER 'ZPROXY' );</pre>Dalam definisi ini, `FED_PROXY_USER` menentukan pengguna proxy yang akan digunakan untuk membangun koneksi tepercaya ke database Db2 z/OS . ID pengguna otorisasi dan kata sandi diperlukan hanya untuk membuat objek server jarak jauh di database Db2 LUW. Mereka tidak akan digunakan nanti selama runtime. | DBA | 

### Buat pemetaan pengguna
<a name="create-user-mappings"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat pemetaan pengguna untuk pengguna proxy. | Untuk membuat pemetaan pengguna untuk pengguna proxy, jalankan perintah berikut.<pre>CREATE USER MAPPING FOR ZPROXY SERVER ndbserver OPTIONS (REMOTE_AUTHID 'ZPROXY', REMOTE_PASSWORD 'zproxy');</pre> | DBA | 
| Buat pemetaan pengguna untuk setiap pengguna di Db2 LUW. | Buat pemetaan pengguna untuk semua pengguna di database Db2 LUW di AWS yang perlu mengakses data jarak jauh melalui pengguna proxy. Untuk membuat pemetaan pengguna, jalankan perintah berikut.<pre>CREATE USER MAPPING FOR PERSON1 SERVER ndbserver OPTIONS (REMOTE_AUTHID 'USERZID', USE_TRUSTED_CONTEXT 'Y');</pre>Pernyataan tersebut menetapkan bahwa pengguna di Db2 LUW (`PERSON1`) dapat membuat koneksi tepercaya ke database z/OS Db2 jarak jauh (). `USE_TRUSTED_CONTEXT 'Y'` Setelah koneksi dibuat melalui pengguna proxy, pengguna dapat mengakses data dengan menggunakan ID z/OS pengguna Db2 ()`REMOTE_AUTHID 'USERZID'`. | DBA | 

### Buat objek konteks tepercaya
<a name="create-the-trusted-context-object"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat objek konteks tepercaya. | Untuk membuat objek konteks tepercaya pada z/OS database Db2 jarak jauh, gunakan perintah contoh berikut.<pre>CREATE TRUSTED CONTEXT CTX_LUW_ZOS<br />BASED UPON CONNECTION USING SYSTEM AUTHID ZPROXY<br />ATTRIBUTES (<br />ADDRESS '10.10.10.10'<br />)<br />NO DEFAULT ROLE<br />ENABLE<br />WITH USE FOR PUBLIC WITHOUT AUTHENTICATION;</pre>Dalam definisi ini, `CTX_LUW_ZOS` adalah nama arbitrer untuk objek konteks tepercaya. Objek berisi ID pengguna proxy dan alamat IP server dari mana koneksi tepercaya harus berasal. Dalam contoh ini, server database Db2 LUW di AWS. Anda dapat menggunakan nama domain alih-alih alamat IP. Klausul `WITH USE FOR PUBLIC WITHOUT AUTHENTICATION` ini menunjukkan bahwa mengalihkan ID pengguna pada koneksi tepercaya diperbolehkan untuk setiap ID pengguna. Password tidak perlu disediakan. | DBA | 

## Sumber daya terkait
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-resources"></a>
+ [Fasilitas Kontrol Akses Sumber Daya IBM (RACF)](https://www.ibm.com/products/resource-access-control-facility)
+ [Federasi IBM Db2 LUW](https://www.ibm.com/docs/en/db2/11.5?topic=federation)
+ [Konteks tepercaya](https://www.ibm.com/docs/en/db2-for-zos/13?topic=contexts-trusted)

## Informasi tambahan
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-additional"></a>

**Konteks tepercaya Db2**

Konteks tepercaya adalah objek database Db2 yang mendefinisikan hubungan kepercayaan antara server federasi dan server database jarak jauh. Untuk menentukan hubungan tepercaya, konteks tepercaya menentukan atribut kepercayaan. Ada tiga jenis atribut kepercayaan:
+ ID otorisasi sistem yang membuat permintaan koneksi database awal
+ Alamat IP atau nama domain dari mana koneksi dibuat
+ Pengaturan enkripsi untuk komunikasi data antara server database dan klien database

Koneksi tepercaya dibuat ketika semua atribut permintaan koneksi cocok dengan atribut yang ditentukan dalam objek konteks tepercaya apa pun yang ditentukan di server. Ada dua jenis koneksi tepercaya: implisit dan eksplisit. Setelah koneksi terpercaya implisit dibuat, pengguna mewarisi peran yang tidak tersedia bagi mereka di luar cakupan definisi koneksi tepercaya tersebut. Setelah koneksi tepercaya eksplisit dibuat, pengguna dapat diaktifkan pada koneksi fisik yang sama, dengan atau tanpa otentikasi. Selain itu, pengguna Db2 dapat diberikan peran yang menentukan hak istimewa yang hanya untuk digunakan dalam koneksi tepercaya. Pola ini menggunakan koneksi tepercaya eksplisit.

*Konteks tepercaya dalam pola ini*

Setelah pola selesai, PERSON1 pada Db2 LUW mengakses data jarak jauh dari Db2 z/OS dengan menggunakan konteks tepercaya federasi. Koneksi untuk PERSON1 dibuat melalui pengguna proxy jika koneksi berasal dari alamat IP atau nama domain yang ditentukan dalam definisi konteks tepercaya. Setelah koneksi dibuat, PERSON1 ID z/OS pengguna Db2 yang sesuai diaktifkan tanpa autentikasi ulang, dan pengguna dapat mengakses data atau objek berdasarkan hak istimewa Db2 yang disiapkan untuk pengguna tersebut.

*Manfaat konteks tepercaya federasi*
+ Pendekatan ini mempertahankan prinsip hak istimewa terkecil dengan menghilangkan penggunaan ID pengguna umum atau ID aplikasi yang membutuhkan superset dari semua hak istimewa yang diperlukan oleh semua pengguna.
+ Identitas sebenarnya dari pengguna yang melakukan transaksi pada database federasi dan jarak jauh selalu diketahui dan dapat diaudit.
+ Kinerja meningkat karena koneksi fisik digunakan kembali di seluruh pengguna tanpa perlu server federasi untuk mengautentikasi ulang.

# Transfer z/OS data Db2 skala besar ke Amazon S3 dalam file CSV
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files"></a>

*Bruno Sahinoglu, Abhijit Kshirsagar, dan Ivan Schuster, Amazon Web Services*

## Ringkasan
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-summary"></a>

Mainframe masih merupakan sistem catatan di banyak perusahaan, yang berisi sejumlah besar data termasuk entitas data induk dengan catatan transaksi bisnis saat ini serta historis. Hal ini sering tersilo dan tidak mudah diakses oleh sistem terdistribusi dalam perusahaan yang sama. Dengan munculnya teknologi cloud dan demokratisasi big data, perusahaan tertarik untuk menggunakan wawasan yang tersembunyi dalam data mainframe untuk mengembangkan kemampuan bisnis baru.

Dengan tujuan itu, perusahaan ingin membuka data Db2 mainframe mereka ke lingkungan Amazon Web Services (AWS) Cloud mereka. Alasan bisnisnya banyak dan metode transfer berbeda dari kasus ke kasus. Anda mungkin lebih suka menghubungkan aplikasi Anda langsung ke mainframe, atau Anda mungkin lebih suka mereplikasi data Anda dalam waktu dekat. Jika kasus penggunaannya adalah untuk memberi makan gudang data atau data lake, memiliki up-to-date salinan tidak lagi menjadi perhatian, dan prosedur yang dijelaskan dalam pola ini mungkin cukup, terutama jika Anda ingin menghindari biaya lisensi produk pihak ketiga. Kasus penggunaan lain mungkin transfer data mainframe untuk proyek migrasi. Dalam skenario migrasi, data diperlukan untuk melakukan pengujian kesetaraan fungsional. Pendekatan yang dijelaskan dalam posting ini adalah cara yang hemat biaya untuk mentransfer data Db2 ke lingkungan AWS Cloud.

Karena Amazon Simple Storage Service (Amazon S3) adalah salah satu layanan AWS yang paling terintegrasi, Anda dapat mengakses data dari sana dan mengumpulkan wawasan secara langsung dengan menggunakan layanan AWS lainnya seperti Amazon Athena, fungsi AWS Lambda, atau Amazon. QuickSight Anda juga dapat memuat data ke Amazon Aurora atau Amazon DynamoDB dengan menggunakan AWS Glue atau AWS Database Migration Service (AWS DMS). Dengan tujuan itu, ini menjelaskan cara membongkar data Db2 dalam file CSV dalam format ASCII pada mainframe dan mentransfer file ke Amazon S3.

Untuk tujuan ini, [skrip mainframe](https://github.com/aws-samples/unloaddb2-samples) telah dikembangkan untuk membantu menghasilkan bahasa kontrol pekerjaan (JCLs) untuk membongkar dan mentransfer tabel Db2 sebanyak yang Anda butuhkan.

## Prasyarat dan batasan
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-prereqs"></a>

**Prasyarat**
+ Pengguna sistem z/OS operasi IBM dengan otorisasi untuk menjalankan restrukturisasi Extended Execuutor (REXX) dan skrip JCL.
+ Akses ke z/OS Unix System Services (USS) untuk menghasilkan kunci pribadi dan publik SSH (Secure Shell).
+ Bucket S3 yang bisa ditulis. Untuk informasi selengkapnya, lihat [Membuat bucket S3 pertama Anda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) di dokumentasi Amazon S3.
+ Server berkemampuan AWS Transfer Family SSH File Transfer Protocol (SFTP) menggunakan **Layanan yang dikelola** sebagai penyedia identitas dan Amazon S3 sebagai layanan penyimpanan AWS. Untuk informasi selengkapnya, lihat [Membuat server berkemampuan SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html) dalam dokumentasi AWS Transfer Family.

**Batasan**
+ Pendekatan ini tidak cocok untuk sinkronisasi data hampir real-time atau real-time.
+ Data hanya dapat dipindahkan dari Db2 z/OS ke Amazon S3, bukan sebaliknya.

## Arsitektur
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-architecture"></a>

**Tumpukan teknologi sumber**
+ Mainframe menjalankan Db2 pada z/OS

**Tumpukan teknologi target**
+ AWS Transfer Family
+ Amazon S3
+ Amazon Athena
+ Amazon QuickSight
+ AWS Glue
+ Amazon Relational Database Service (Amazon RDS)
+ Amazon Aurora
+ Amazon Redshift

**Arsitektur sumber dan target**

Diagram berikut menunjukkan proses untuk menghasilkan, mengekstraksi, dan mentransfer z/OS data Db2 dalam format ASCII CSV ke bucket S3.

![\[Data flow from corporate data center to AWS Cloud, showing mainframe extraction and cloud processing steps.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/66e6fa1a-1c7d-4b7a-8404-9ba85e433b24/images/87b13e0d-0be9-4462-bdbf-67342334416c.png)


1. Daftar tabel dipilih untuk migrasi data dari katalog Db2.

1. Daftar ini digunakan untuk mendorong pembuatan pekerjaan bongkar dengan kolom numerik dan data dalam format eksternal.

1. Data kemudian ditransfer ke Amazon S3 dengan menggunakan AWS Transfer Family.

1. Pekerjaan AWS Glue extract, transform, and load (ETL) dapat mengubah data dan memuatnya ke bucket yang diproses dalam format yang ditentukan, atau AWS Glue dapat memasukkan data langsung ke database.

1. Amazon Athena dan Amazon QuickSight dapat digunakan untuk menanyakan dan merender data untuk mendorong analitik.

Diagram berikut menunjukkan aliran logis dari seluruh proses.

![\[Flowchart showing JCL process with TABNAME, REXXEXEC, and JCL decks steps, including inputs and outputs.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/66e6fa1a-1c7d-4b7a-8404-9ba85e433b24/images/d72f2572-10c9-43f9-b6c9-7e57c9a69d52.png)


1. JCL pertama, yang disebut TABNAME, akan menggunakan utilitas Db2 DSNTIAUL untuk mengekstrak dan menghasilkan daftar tabel yang Anda rencanakan untuk dibongkar dari Db2. Untuk memilih tabel Anda, Anda harus secara manual menyesuaikan input SQL untuk memilih dan menambahkan kriteria filter untuk menyertakan satu atau lebih skema Db2.

1. JCL kedua, yang disebut REXXEXEC, akan menggunakan kerangka JCL dan program REXX yang disediakan untuk memproses daftar Tabel yang dibuat oleh JCL TABNAME dan menghasilkan satu JCL per nama tabel. Setiap JCL akan berisi satu langkah untuk membongkar tabel dan langkah lain untuk mengirim file ke bucket S3 dengan menggunakan protokol SFTP.

1. Langkah terakhir terdiri dari menjalankan JCL untuk membongkar tabel dan mentransfer file ke AWS. Seluruh proses dapat diotomatisasi menggunakan penjadwal di tempat atau di AWS.

## Alat
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-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) dengan menggunakan SQL standar.
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) adalah mesin database relasional yang dikelola sepenuhnya yang dibangun untuk cloud dan kompatibel dengan MySQL dan PostgreSQL.
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) adalah layanan ekstrak, transformasi, dan beban (ETL) yang dikelola sepenuhnya. Ini membantu Anda mengkategorikan, membersihkan, memperkaya, dan memindahkan data dengan andal antara penyimpanan data dan aliran data.
+ [Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) adalah layanan intelijen bisnis skala cloud (BI) yang membantu Anda memvisualisasikan, menganalisis, dan melaporkan data Anda dalam satu dasbor.
+ [Amazon Redshift adalah layanan](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) gudang data skala petabyte terkelola di AWS Cloud.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud.
+ [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 Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html) adalah layanan transfer aman yang memungkinkan Anda mentransfer file masuk dan keluar dari layanan penyimpanan AWS.

**Alat mainframe**
+ [SSH File Transfer Protocol (SFTP)](https://www.ssh.com/academy/ssh/sftp-ssh-file-transfer-protocol) adalah protokol transfer file aman yang memungkinkan login jarak jauh ke dan transfer file antar server. SSH menyediakan keamanan dengan mengenkripsi semua lalu lintas.
+ [DSNTIAUL](https://www.ibm.com/docs/en/db2-for-zos/11?topic=dpasp-dsntiaul-sample-program) adalah program sampel yang disediakan oleh IBM untuk membongkar data.
+ [DSNUTILB](https://www.ibm.com/docs/en/db2-for-zos/11?topic=sharing-recommendations-utilities-in-coexistence) adalah program batch utilitas yang disediakan oleh IBM untuk membongkar data dengan opsi berbeda dari DSNTIAUL.
+ [z/OS OpenSSH adalah port dari Open Source](https://www.ibm.com/docs/en/zos/2.4.0?topic=zbed-zos-openssh) Software SSH yang berjalan pada Unix System Service di bawah jaringan sistem operasi IBM. z/OS. SSH is a secure, encrypted connection program between two computers running on a TCP/IP Ini menyediakan beberapa utilitas, termasuk ssh-keygen.
+ Skrip [REXX (Restructured Extended Execuutor)](https://www.ibm.com/docs/en/zos/2.1.0?topic=guide-learning-rexx-language) digunakan untuk mengotomatiskan pembuatan JCL dengan langkah-langkah Db2 Unload dan SFTP.

**Kode**

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

## Praktik terbaik
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-best-practices"></a>

Untuk pembongkaran pertama, yang dihasilkan JCLs harus membongkar seluruh data tabel.

Setelah pembongkaran penuh pertama, lakukan pembongkaran tambahan untuk kinerja dan penghematan biaya yang lebih baik. pdate kueri SQL di dek JCL template untuk mengakomodasi perubahan apa pun pada proses pembongkaran.

Anda dapat mengonversi skema secara manual atau dengan menggunakan skrip di Lambda dengan Db2 SYSBUNCH sebagai masukan. Untuk proses industri, [AWS Schema Conversion Tool (SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2zOS.html)) adalah opsi yang lebih disukai.

Terakhir, gunakan penjadwal berbasis mainframe atau penjadwal di AWS dengan agen di mainframe untuk membantu mengelola dan mengotomatiskan seluruh proses.

## Epik
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-epics"></a>

### Siapkan ember S3
<a name="set-up-the-s3-bucket"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat ember S3. | Untuk petunjuk, lihat [Membuat bucket S3 pertama Anda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html). | AWS Umum | 

### Mengatur server Transfer Family
<a name="set-up-the-transfer-family-server"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat server berkemampuan SFTP. | Untuk membuka dan membuat server SFTP di [konsol AWS Transfer Family](https://console.aws.amazon.com/transfer/), lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html) | AWS Umum | 
| Buat peran IAM untuk Transfer Family. | Untuk membuat peran AWS Identity and Access Management (IAM) bagi Transfer Family untuk mengakses Amazon S3, ikuti petunjuk [di Membuat peran dan kebijakan IAM](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html).  | Administrator AWS | 
| Tambahkan pengguna yang dikelola layanan Amazon S3. | Untuk menambahkan pengguna yang dikelola layanan Amazon S3, ikuti petunjuk dalam [dokumentasi AWS](https://docs.aws.amazon.com/transfer/latest/userguide/service-managed-users.html#add-s3-user), dan gunakan ID pengguna mainframe Anda. | AWS Umum | 

### Amankan protokol komunikasi
<a name="secure-the-communication-protocol"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat kunci SSH. | Di bawah lingkungan USS mainframe Anda, jalankan perintah berikut.<pre>ssh-keygen -t rsa</pre>Saat diminta untuk frasa sandi, biarkan kosong. | Pengembang mainframe | 
| Berikan tingkat otorisasi yang tepat ke folder SSH dan file kunci. | Secara default, kunci publik dan pribadi akan disimpan di direktori pengguna`/u/home/username/.ssh`.Anda harus memberikan otorisasi 644 ke file kunci dan 700 ke folder.<pre>chmod 644 .ssh/id_rsa<br />chmod 700 .ssh</pre> | Pengembang mainframe | 
| Salin konten kunci publik ke pengguna yang dikelola layanan Amazon S3 Anda. | Untuk menyalin konten kunci publik buatan AS, buka konsol [AWS Transfer Family](https://console.aws.amazon.com/transfer/).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html) | Pengembang mainframe | 

### Menghasilkan JCLs
<a name="generate-the-jcls"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Hasilkan daftar tabel Db2 dalam lingkup. | Berikan masukan SQL untuk membuat daftar tabel yang dicakup untuk migrasi data. Langkah ini mengharuskan Anda untuk menentukan kriteria pemilihan quering tabel katalog Db2 SYSIBM.SYSTABLES menggunakan klausa SQL where. Filter dapat disesuaikan untuk menyertakan skema atau nama tabel tertentu yang dimulai dengan awalan tertentu atau berdasarkan stempel waktu untuk pembongkaran tambahan. Output ditangkap dalam kumpulan data sekuensial fisik (PS) pada mainframe. Dataset ini akan bertindak sebagai input untuk fase berikutnya dari generasi JCL.Sebelum Anda menggunakan JCL TABNAME (Anda dapat mengganti namanya jika perlu), buat perubahan berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Pekerjaan ekstraksi daftar tabel Db2**<pre><Jobcard><br />//* <br />//* UNLOAD ALL THE TABLE NAMES FOR A PARTICULAR SCHEMA<br />//* <br />//STEP01  EXEC PGM=IEFBR14<br />//* <br />//DD1      DD  DISP=(MOD,DELETE,DELETE),<br />//         UNIT=SYSDA,<br />//         SPACE=(1000,(1,1)),<br />//         DSN=<HLQ1>.DSN81210.TABLIST<br />//* <br />//DD2      DD  DISP=(MOD,DELETE,DELETE),<br />//         UNIT=SYSDA,<br />//         SPACE=(1000,(1,1)),<br />//         DSN=<HLQ1>.DSN81210.SYSPUNCH <br />//* <br />//UNLOAD  EXEC PGM=IKJEFT01,DYNAMNBR=20 <br />//SYSTSPRT DD  SYSOUT=* <br />//STEPLIB  DD  DISP=SHR,DSN=DSNC10.DBCG.SDSNEXIT<br />//         DD  DISP=SHR,DSN=DSNC10.SDSNLOAD<br />//         DD  DISP=SHR,DSN=CEE.SCEERUN <br />//         DD  DISP=SHR,DSN=DSNC10.DBCG.RUNLIB.LOAD <br />//SYSTSIN  DD  *<br />  DSN SYSTEM(DBCG) <br />  RUN  PROGRAM(DSNTIAUL) PLAN(DSNTIB12) PARMS('SQL') - <br />       LIB('DSNC10.DBCG.RUNLIB.LOAD')<br />  END<br />//SYSPRINT DD SYSOUT=*<br />//* <br />//SYSUDUMP DD SYSOUT=*<br />//* <br />//SYSREC00 DD DISP=(NEW,CATLG,DELETE),<br />//            UNIT=SYSDA,SPACE=(32760,(1000,500)),<br />//            DSN=<HLQ1>.DSN81210.TABLIST <br />//* <br />//SYSPUNCH DD DISP=(NEW,CATLG,DELETE), <br />//            UNIT=SYSDA,SPACE=(32760,(1000,500)),<br />//            VOL=SER=SCR03,RECFM=FB,LRECL=120,BLKSIZE=12 <br />//            DSN=<HLQ1>.DSN81210.SYSPUNCH <br />//* <br />//SYSIN    DD * <br />   SELECT CHAR(CREATOR), CHAR(NAME)<br />     FROM SYSIBM.SYSTABLES <br />    WHERE OWNER = '<Schema>' <br />      AND NAME LIKE '<Prefix>%' <br />      AND TYPE = 'T'; <br />/* </pre> | Pengembang mainframe | 
| Ubah template JCL. | Template JCL yang disediakan dengan pola ini berisi kartu pekerjaan generik dan nama perpustakaan. Namun, sebagian besar situs mainframe akan memiliki standar penamaan sendiri untuk nama dataset, nama perpustakaan, dan kartu pekerjaan. Misalnya, kelas pekerjaan tertentu mungkin diperlukan untuk menjalankan pekerjaan Db2. Implementasi Job Entry Subsytem JES2 dan JES3 dapat memaksakan perubahan tambahan. Pustaka beban standar mungkin memiliki kualifikasi pertama yang berbeda dari`SYS1`, yang merupakan default IBM. Oleh karena itu, sesuaikan template untuk memperhitungkan standar spesifik situs Anda sebelum Anda menjalankannya.Buat perubahan berikut pada kerangka JCL UNLDSKEL:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Bongkar dan kerangka SFTP JCL**<pre>//&USRPFX.U JOB (DB2UNLOAD),'JOB',CLASS=A,MSGCLASS=A, <br />//         TIME=1440,NOTIFY=&USRPFX<br />//* DELETE DATASETS<br />//STEP01   EXEC PGM=IEFBR14<br />//DD01     DD DISP=(MOD,DELETE,DELETE),<br />//            UNIT=SYSDA,<br />//            SPACE=(TRK,(1,1)),<br />// DSN=&USRPFX..DB2.PUNCH.&JOBNAME<br />//DD02     DD DISP=(MOD,DELETE,DELETE),<br />//            UNIT=SYSDA,<br />//            SPACE=(TRK,(1,1)),<br />// DSN=&USRPFX..DB2.UNLOAD.&JOBNAME<br />//*<br />//* RUNNING DB2 EXTRACTION BATCH JOB FOR AWS DEMO<br />//*<br />//UNLD01   EXEC PGM=DSNUTILB,REGION=0M,<br />// PARM='<DSN>,UNLOAD'<br />//STEPLIB  DD  DISP=SHR,DSN=DSNC10.DBCG.SDSNEXIT<br />//         DD  DISP=SHR,DSN=DSNC10.SDSNLOAD<br />//SYSPRINT DD  SYSOUT=*<br />//UTPRINT  DD  SYSOUT=*<br />//SYSOUT   DD  SYSOUT=*<br />//SYSPUN01 DD  DISP=(NEW,CATLG,DELETE),<br />//             SPACE=(CYL,(1,1),RLSE),<br />// DSN=&USRPFX..DB2.PUNCH.&JOBNAME<br />//SYSREC01 DD  DISP=(NEW,CATLG,DELETE),<br />//             SPACE=(CYL,(10,50),RLSE),<br />// DSN=&USRPFX..DB2.UNLOAD.&JOBNAME<br />//SYSPRINT DD SYSOUT=*<br />//SYSIN    DD *<br />  UNLOAD<br />  DELIMITED COLDEL ','<br />  FROM TABLE &TABNAME<br />  UNLDDN SYSREC01<br />  PUNCHDDN SYSPUN01<br />  SHRLEVEL CHANGE ISOLATION UR;<br /> /*<br />//*<br />//* FTP TO AMAZON S3 BACKED FTP SERVER IF UNLOAD WAS SUCCESSFUL<br />//*<br />//SFTP EXEC PGM=BPXBATCH,COND=(4,LE),REGION=0M<br />//STDPARM DD *<br /> SH cp "//'&USRPFX..DB2.UNLOAD.&JOBNAME'"<br />   &TABNAME..csv;<br /> echo "ascii             " >> uplcmd;<br /> echo "PUT &TABNAME..csv " >>>> uplcmd;<br /> sftp -b uplcmd -i .ssh/id_rsa &FTPUSER.@&FTPSITE;<br /> rm &TABNAME..csv;<br /> //SYSPRINT DD SYSOUT=*<br /> //STDOUT DD SYSOUT=*<br /> //STDENV DD *<br /> //STDERR DD SYSOUT=*                                                </pre>  | Pengembang mainframe | 
| Hasilkan Mass Unload JCL. | Langkah ini melibatkan menjalankan skrip REXX di bawah lingkungan ISPF dengan menggunakan JCL. Berikan daftar tabel dalam lingkup yang dibuat pada langkah pertama sebagai masukan untuk pembuatan JCL massal terhadap nama`TABLIST DD`. JCL akan menghasilkan satu JCL baru per nama tabel dalam kumpulan data partisi yang ditentukan pengguna yang ditentukan terhadap nama tersebut. `ISPFILE DD` Alokasikan perpustakaan ini sebelumnya. Setiap JCL baru akan memiliki dua langkah: satu langkah untuk membongkar tabel Db2 ke dalam file, dan satu langkah untuk mengirim file ke ember S3.Buat perubahan berikut di JCL REXXEXEC (Anda dapat mengubah nama):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Pekerjaan generasi JCL massal**<pre>//RUNREXX JOB (CREATEJCL),'RUNS ISPF TABLIST',CLASS=A,MSGCLASS=A,      <br />//         TIME=1440,NOTIFY=&SYSUID<br />//* Most of the values required can be updated to your site specific<br />//* values using the command 'TSO ISRDDN' in your ISPF session. <br />//* Update all the lines tagged with //update marker to desired<br />//* site specific values. <br />//ISPF EXEC PGM=IKJEFT01,REGION=2048K,DYNAMNBR=25<br />//SYSPROC   DD DISP=SHR,DSN=USER.Z23D.CLIST<br />//SYSEXEC   DD DISP=SHR,DSN=<HLQ1>.TEST.REXXLIB<br />//ISPPLIB   DD DISP=SHR,DSN=ISP.SISPPENU<br />//ISPSLIB   DD DISP=SHR,DSN=ISP.SISPSENU<br />//          DD DISP=SHR,DSN=<HLQ1>.TEST.ISPSLIB<br />//ISPMLIB   DD DSN=ISP.SISPMENU,DISP=SHR<br />//ISPTLIB   DD DDNAME=ISPTABL<br />//          DD DSN=ISP.SISPTENU,DISP=SHR<br />//ISPTABL   DD LIKE=ISP.SISPTENU,UNIT=VIO<br />//ISPPROF   DD LIKE=ISP.SISPTENU,UNIT=VIO<br />//ISPLOG    DD SYSOUT=*,RECFM=VA,LRECL=125<br />//SYSPRINT  DD SYSOUT=*<br />//SYSTSPRT  DD SYSOUT=*<br />//SYSUDUMP  DD SYSOUT=*<br />//SYSDBOUT  DD SYSOUT=*<br />//SYSTSPRT  DD SYSOUT=*<br />//SYSUDUMP  DD SYSOUT=*<br />//SYSDBOUT  DD SYSOUT=*<br />//SYSHELP   DD DSN=SYS1.HELP,DISP=SHR <br />//SYSOUT    DD SYSOUT=*<br />//* Input list of tablenames<br />//TABLIST   DD DISP=SHR,DSN=<HLQ1>.DSN81210.TABLIST<br />//* Output pds<br />//ISPFILE   DD DISP=SHR,DSN=<HLQ1>.TEST.JOBGEN<br />//SYSTSIN   DD *<br />ISPSTART CMD(ZSTEPS <MFUSER> <FTPUSER> <AWS TransferFamily IP>)<br />/*</pre>Sebelum Anda menggunakan skrip REXX, buat perubahan berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Skrip ZSTEPS REXX**<pre>/*REXX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */<br />/* 10/27/2021 - added new parms to accommodate ftp */<br />Trace "o" <br />    parse arg usrpfx ftpuser ftpsite<br />    Say "Start"<br />    Say "Ftpuser: " ftpuser "Ftpsite:" ftpsite<br />    Say "Reading table name list"<br />    "EXECIO * DISKR TABLIST (STEM LINE. FINIS"<br />    DO I = 1 TO LINE.0<br />      Say I<br />      suffix = I<br />      Say LINE.i<br />      Parse var LINE.i schema table rest<br />      tabname = schema !! "." !! table<br />      Say tabname<br />      tempjob= "LOD" !! RIGHT("0000" !! i, 5) <br />      jobname=tempjob<br />      Say tempjob<br />      ADDRESS ISPEXEC "FTOPEN "<br />      ADDRESS ISPEXEC "FTINCL UNLDSKEL"<br />      /* member will be saved in ISPDSN library allocated in JCL */<br />      ADDRESS ISPEXEC "FTCLOSE NAME("tempjob")"<br />    END<br /><br />    ADDRESS TSO "FREE F(TABLIST) "<br />    ADDRESS TSO "FREE F(ISPFILE) "<br /><br />exit 0</pre> | Pengembang mainframe | 

### Jalankan JCLs
<a name="run-the-jcls"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Lakukan langkah Bongkar Db2. | Setelah pembuatan JCL, Anda akan memiliki JCLs sebanyak mungkin tabel yang perlu dibongkar.Cerita ini menggunakan contoh yang dihasilkan JCL untuk menjelaskan struktur dan langkah-langkah terpenting.Tidak ada tindakan yang diperlukan di pihak Anda. Informasi berikut hanya untuk referensi. Jika niat Anda adalah mengirimkan JCLs yang telah Anda hasilkan pada langkah sebelumnya, lewati ke *Kirim LODnnnnn JCLs* tugas.Saat membongkar data Db2 menggunakan JCL dengan utilitas DSNUTILB Db2 yang disediakan IBM, Anda harus memastikan bahwa data yang dibongkar tidak mengandung data numerik terkompresi. Untuk mencapai ini, gunakan parameter DSNUTILB`DELIMITED`.`DELIMITED`Parameter mendukung pembongkaran data dalam format CSV dengan menambahkan karakter sebagai pembatas dan tanda kutip ganda untuk bidang teks, menghapus padding di kolom VARCHAR, dan mengubah semua bidang numerik menjadi FORMAT EKSTERNAL, termasuk bidang DATE.Contoh berikut menunjukkan seperti apa langkah pembongkaran dalam JCL yang dihasilkan, menggunakan karakter koma sebagai pembatas.<pre>                            <br /> UNLOAD<br /> DELIMITED COLDEL ',' <br /> FROM TABLE SCHEMA_NAME.TBNAME<br /> UNLDDN SYSREC01<br /> PUNCHDDN SYSPUN01<br /> SHRLEVEL CHANGE ISOLATION UR;</pre> | Pengembang mainframe, Insinyur sistem | 
| Lakukan langkah SFTP. | Untuk menggunakan protokol SFTP dari JCL, gunakan utilitas BPXBATCH. Utilitas SFTP tidak dapat mengakses kumpulan data MVS secara langsung. Anda dapat menggunakan perintah copy (`cp`) untuk menyalin file sekuensial `&USRPFX..DB2.UNLOAD.&JOBNAME` ke direktori USS, di mana ia menjadi`&TABNAME..csv`.Jalankan `sftp` perintah menggunakan kunci pribadi (`id_rsa`) dan gunakan ID pengguna RACF sebagai nama pengguna untuk terhubung ke alamat IP AWS Transfer Family.<pre>SH cp "//'&USRPFX..DB2.UNLOAD.&JOBNAME'"<br />   &TABNAME..csv;<br /> echo "ascii             " >> uplcmd;<br /> echo "PUT &TABNAME..csv " >>>> uplcmd;<br /> sftp -b uplcmd -i .ssh/id_rsa &FTPUSER.@&FTP_TF_SITE;<br /> rm &TABNAME..csv; </pre> | Pengembang mainframe, Insinyur sistem | 
| Kirim LODnnnnn JCLs. | JCL sebelumnya telah menghasilkan semua tabel LODnnnnn JCL yang perlu dibongkar, diubah menjadi CSV, dan ditransfer ke bucket S3.Jalankan `submit` perintah pada semua JCLs yang telah dihasilkan. | Pengembang mainframe, Insinyur sistem | 

## Sumber daya terkait
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-resources"></a>

Untuk informasi selengkapnya tentang berbagai alat dan solusi yang digunakan dalam dokumen ini, lihat berikut ini:
+ [Panduan Pengguna z/OS OpenSSH](https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4sc276806/$file/foto100_v2r4.pdf)
+ [Db2 z/OS - Contoh pernyataan kontrol UNLOAD](https://www.ibm.com/docs/en/db2-for-zos/11?topic=unload-sample-control-statements)
+ [Db2 z/OS - Membongkar file yang dibatasi](https://www.ibm.com/docs/en/db2-for-zos/11?topic=unload-unloading-delimited-files)
+ [Transfer Family - Buat server berkemampuan SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html)
+ [Transfer Family — Bekerja dengan pengguna yang dikelola layanan](https://docs.aws.amazon.com/transfer/latest/userguide/service-managed-users.html)

## Informasi tambahan
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-additional"></a>

Setelah Anda memiliki data Db2 di Amazon S3, Anda memiliki banyak cara untuk mengembangkan wawasan baru. Karena Amazon S3 terintegrasi dengan layanan analitik data AWS, Anda dapat dengan bebas mengkonsumsi atau mengekspos data ini di sisi terdistribusi. Misalnya, Anda dapat melakukan hal berikut:
+ Bangun [data lake di Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/), dan ekstrak wawasan berharga dengan menggunakan query-in-place, analitik, dan alat pembelajaran mesin tanpa memindahkan data.
+ Memulai fungsi [Lambda](https://aws.amazon.com/lambda/) dengan menyiapkan alur kerja pemrosesan pasca-unggah yang terintegrasi dengan AWS Transfer Family.
+ Kembangkan layanan mikro baru untuk mengakses data di Amazon S3 atau [dalam database yang dikelola sepenuhnya dengan](https://aws.amazon.com/free/database/?trk=ps_a134p000007CdNEAA0&trkCampaign=acq_paid_search_brand&sc_channel=PS&sc_campaign=acquisition_FR&sc_publisher=Google&sc_category=Database&sc_country=FR&sc_geo=EMEA&sc_outcome=acq&sc_detail=amazon%20relational%20database%20service&sc_content=Relational%20Database_e&sc_matchtype=e&sc_segment=548727697660&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Database|Solution|FR|EN|Text&s_kwcid=AL!4422!3!548727697660!e!!g!!amazon%20relational%20database%20service&ef_id=CjwKCAjwzt6LBhBeEiwAbPGOgcGbQIl1-QsbHfWTgMZSSHEXzSG377R9ZyK3tCcbnHuT45L230FufxoCeEkQAvD_BwE:G:s&s_kwcid=AL!4422!3!548727697660!e!!g!!amazon%20relational%20database%20service) menggunakan AWS [Glue](https://aws.amazon.com/glue/), yang merupakan layanan integrasi data tanpa server yang memudahkan untuk menemukan, menyiapkan, dan menggabungkan data untuk analitik, pembelajaran mesin, dan pengembangan aplikasi.

Dalam kasus penggunaan migrasi, karena Anda dapat mentransfer data apa pun dari mainframe ke S3, Anda dapat melakukan hal berikut:
+ Pensiun infrastruktur fisik, dan buat strategi pengarsipan data yang hemat biaya dengan Amazon S3 Glacier dan S3 Glacier Deep Archive. 
+ Buat solusi pencadangan dan pemulihan yang dapat diskalakan, tahan lama, dan aman dengan Amazon S3 dan layanan AWS lainnya, seperti S3 Glacier dan Amazon Elastic File System (Amazon EFS), untuk menambah atau mengganti kemampuan lokal yang ada.

# Ubah Easytrieve ke bahasa modern dengan menggunakan kustom AWS Transform
<a name="transform-easytrieve-modern-languages"></a>

*Shubham Roy, Subramanyam Malisetty, dan Harshitha Shashidhar, Amazon Web Services*

## Ringkasan
<a name="transform-easytrieve-modern-languages-summary"></a>

[Pola ini memberikan panduan preskriptif untuk transformasi beban kerja mainframe Broadcom [Easytrieve Report Generator](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6.html) (EZT) yang lebih cepat dan berisiko rendah menggunakan transformasi khusus.AWS Transform](https://aws.amazon.com/transform/custom/) language-to-language Ini mengatasi tantangan memodernisasi beban kerja EZT mainframe niche dan proprietary yang biasa digunakan untuk pemrosesan data batch dan pembuatan laporan. Pola ini menggantikan pendekatan migrasi yang mahal, panjang, dan rawan kesalahan yang mengandalkan perkakas eksklusif dan keahlian mainframe langka dengan solusi otomatis AI agen yang Anda buat. AWS Transform

Pola ini memberikan definisi transformasi kustom siap pakai untuk transformasi EZT. Definisi ini menggunakan beberapa input transformasi:
+ [Aturan bisnis EZT diekstraksi menggunakan mainframe AWS Transform](https://aws.amazon.com/transform/mainframe/)
+ Dokumentasi referensi pemrograman EZT
+ Kode sumber EZT
+ Kumpulan data input dan output mainframe

AWS Transform custom menggunakan input ini untuk menghasilkan aplikasi yang setara secara fungsional dalam bahasa target modern, seperti Java atau Python.

Proses transformasi menggunakan eksekusi pengujian cerdas, debugging otomatis, dan kemampuan perbaikan berulang untuk memvalidasi kesetaraan fungsional terhadap output yang diharapkan. Ini juga mendukung pembelajaran berkelanjutan, memungkinkan definisi transformasi khusus untuk meningkatkan akurasi dan konsistensi di seluruh transformasi berturut-turut. Dengan menggunakan pola ini, organisasi dapat mengurangi upaya dan risiko migrasi, mengatasi utang teknis mainframe khusus, dan memodernisasi beban kerja EZT AWS untuk meningkatkan kelincahan, keandalan, keamanan, dan inovasi.

## Prasyarat dan batasan
<a name="transform-easytrieve-modern-languages-prereqs"></a>

**Prasyarat**
+  AWS Akun aktif 
+ Beban kerja EZT mainframe dengan data input dan output 

**Batasan**

*Keterbatasan ruang lingkup*
+ **Dukungan bahasa** - Hanya transformasi EZT-ke-Java yang didukung untuk pola transformasi khusus ini. 
+ Di **luar ruang lingkup** - Transformasi bahasa pemrograman mainframe lainnya memerlukan definisi transformasi kustom baru dalam AWS Transform kustom.

*Keterbatasan proses*
+ **Ketergantungan validasi** - Tanpa data keluaran dasar transformasi tidak dapat divalidasi. 
+ **Logika kepemilikan** - Utilitas yang sangat spesifik dan dikembangkan khusus memerlukan dokumentasi pengguna tambahan dan bahan referensi agar dapat ditafsirkan dengan benar oleh agen AI.

*Keterbatasan teknis*
+ **Batas layanan** — Untuk batas layanan AWS Transform kustom dan kuota lihat [Panduan AWS Transform Pengguna - Kuota](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html) dan [Referensi AWS Umum - Mengubah](https://docs.aws.amazon.com/general/latest/gr/aws-transform.html) Kuota.

**Versi produk**
+ AWS Transform CLI - Versi terbaru
+ Node.js - versi 20 atau yang lebih baru
+ Git - Versi terbaru
+ Lingkungan target
  + Java — versi 17 atau yang lebih baru
  + Spring Boot — versi 3.x adalah target utama untuk aplikasi refactored
  + Maven - versi 3.6 atau yang lebih baru

## Arsitektur
<a name="transform-easytrieve-modern-languages-architecture"></a>

**Tumpukan teknologi sumber**
+ **Sistem operasi** — IBM z/OS
+ **Bahasa pemrograman** - Easytrieve, Job control language (JCL)
+ **Database** - IBM DB2 untuk z/OS, Metode Akses Penyimpanan Virtual (VSAM), file datar Mainframe

**Tumpukan teknologi target**
+ **Sistem operasi** - Amazon Linux
+ **Komputasi** - Amazon Elastic Compute Cloud (Amazon EC2)
+ **Bahasa pemrograman** - Java
+ **Database** Amazon Relational Database Service (Amazon RDS)

**Arsitektur target**

![\[diagram arsitektur target untuk menggunakan AWS Transform custom untuk mengubah EZT menjadi kode modern.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/71f15422-42cb-4c7e-94fa-051a4f130445/images/eb89eed0-dd55-485c-a433-9869162eaad9.png)


**Alur kerja**

Solusi ini menggunakan pola transformasi language-to-language migrasi AWS Transform kustom untuk memodernisasi aplikasi Easytrieve (EZT) mainframe ke Java melalui alur kerja otomatis empat langkah.

*Langkah 1 - Berikan kode lama Anda AWS Transform untuk Mainframe, yang:*
+ Menganalisis kode
+ Mengekstrak logika bisnis tingkat tinggi
+ Mengekstrak logika bisnis terperinci.

*Langkah 2 - Buat folder dengan input yang diperlukan:*
+ Aturan bisnis EZT diekstraksi menggunakan mainframe AWS Transform  
+ Dokumentasi referensi pemrograman EZT 
+ Kode sumber EZT
+ Kumpulan data input dan output mainframe

*Langkah 3 - Buat dan jalankan definisi transformasi kustom*

1. Gunakan AWS Transform CLI untuk menggambarkan tujuan transformasi dalam bahasa alami. AWS Transform kustom menganalisis panduan pemrograman BRE, kode sumber, dan EZT untuk menghasilkan definisi transformasi khusus untuk tinjauan dan persetujuan pengembang.

1. Kemudian, panggil AWS Transform CLI dengan kode sumber proyek. AWS Transform kustom membuat rencana transformasi, mengonversi EZT ke Java setelah disetujui, menghasilkan file pendukung, membangun JAR yang dapat dieksekusi, dan memvalidasi kriteria keluar.

1. Gunakan agen validasi untuk menguji kesetaraan fungsional terhadap output mainframe. Agen Self-Debugger secara otonom memperbaiki masalah. Hasil akhir termasuk kode Java yang divalidasi dan laporan validasi HTML.

**Otomatisasi dan skala**
+ Arsitektur eksekusi multi-mode AI Agentic — AWS Transform kustom memanfaatkan AI agen dengan 3 mode eksekusi (percakapan, interaktif, otomatisasi penuh) untuk mengotomatiskan tugas transformasi kompleks termasuk analisis kode, refactoring, perencanaan transformasi, dan pengujian.
+ Sistem umpan balik pembelajaran adaptif — Platform ini menerapkan mekanisme pembelajaran berkelanjutan melalui analisis sampel kode, penguraian dokumentasi, dan integrasi umpan balik pengembang dengan definisi transformasi berversi.
+ Arsitektur pemrosesan aplikasi bersamaan — Sistem ini memungkinkan eksekusi paralel terdistribusi dari beberapa operasi transformasi aplikasi secara bersamaan di seluruh infrastruktur yang dapat diskalakan.

## Alat
<a name="transform-easytrieve-modern-languages-tools"></a>

**Layanan AWS  **
+ [AWS Transform custom](https://docs.aws.amazon.com/transform/latest/userguide/custom.html) adalah layanan AI agen yang digunakan untuk mengubah aplikasi EZT lama menjadi bahasa pemrograman modern. 
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)menggunakan AI agen untuk membantu Anda mempercepat modernisasi beban kerja lama, seperti .NET, mainframe, dan beban kerja. VMware 
+ [AWS Transform untuk mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html) digunakan untuk menganalisis aplikasi EZT lama untuk mengekstrak logika bisnis tertanam dan menghasilkan dokumentasi aturan bisnis yang komprehensif, termasuk ringkasan logika, definisi akronim, dan basis pengetahuan terstruktur. Ini berfungsi sebagai data input untuk AWS Transform kustom. 
+ [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. Amazon S3 berfungsi sebagai layanan penyimpanan utama untuk AWS Transform kustom untuk menyimpan definisi transformasi, repositori kode, dan hasil pemrosesan. 
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya. IAM menyediakan kerangka kerja keamanan untuk AWS Transform kustom, mengelola izin dan kontrol akses untuk operasi transformasi.

**Alat-alat lainnya**
+ [AWS Transform CLI](https://docs.aws.amazon.com/transform/latest/userguide/custom-command-reference.html) adalah antarmuka baris perintah untuk AWS Transform kustom, memungkinkan pengembang untuk mendefinisikan, mengeksekusi, dan mengelola transformasi kode kustom melalui percakapan bahasa alami dan mode eksekusi otomatis. AWS Transform kustom mendukung sesi interaktif (atx custom def exec) dan transformasi otonom untuk modernisasi basis kode yang dapat diskalakan.
+ Sistem kontrol versi [Git](https://git-scm.com/doc) digunakan untuk perlindungan cabang, pelacakan perubahan, dan kemampuan rollback selama aplikasi perbaikan otomatis. 
+ [Java](https://www.java.com/en/) adalah bahasa pemrograman dan lingkungan pengembangan yang digunakan dalam pola ini. 

**Repositori kode**

Kode untuk pola ini tersedia di [Easytrieve to Modern Languages Transformation with AWS Transform Custom](https://github.com/aws-samples/sample-mainframe-easytrieve-transform?tab=readme-ov-file#easytrieve-to-modern-languages-transformation-with-aws-transform-custom) on. GitHub

## Praktik terbaik
<a name="transform-easytrieve-modern-languages-best-practices"></a>
+ Menetapkan struktur proyek standar - Buat struktur empat folder (kode sumber, bre-doc, input-data, output-data), validasi kelengkapan, dan isi dokumen sebelum transformasi.
+ Gunakan file dasar untuk validasi - Gunakan file input dasar produksi, lakukan byte-by-byte perbandingan dengan output dasar, terima toleransi nol untuk penyimpangan.
+ Gunakan semua dokumen referensi yang tersedia — Untuk meningkatkan akurasi transformasi, sediakan semua dokumen referensi yang tersedia seperti persyaratan bisnis dan daftar periksa pengkodean.
+ Berikan masukan untuk peningkatan kualitas - AWS Transform kustom secara otomatis mengekstrak pembelajaran dari eksekusi transformasi (umpan balik pengembang, masalah kode) dan membuat item pengetahuan untuk mereka. setelah setiap transformasi berhasil meninjau item pengetahuan dan menyetujui salah satu yang ingin Anda gunakan dalam eksekusi masa depan. Ini meningkatkan kualitas transformasi masa depan.

## Epik
<a name="transform-easytrieve-modern-languages-epics"></a>

### Hasilkan ekstrak aturan bisnis (BRE)
<a name="generate-a-business-rule-extract-bre"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan AWS Transform untuk mainframe. | Siapkan izin lingkungan dan diperlukan AWS Identity and Access Management (IAM) untuk mendukung alur kerja modernisasi mainframe. Untuk informasi selengkapnya lihat [Transformasi aplikasi mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html) dalam AWS dokumentasi. | Pengembang aplikasi | 
| Hasilkan dokumentasi Business Rule Extract (BRE). | Ekstrak logika bisnis dari sumber EZT atau kode COBOL untuk menghasilkan dokumentasi fungsional. Untuk petunjuk tentang cara memulai proses ekstraksi dan meninjau hasilnya, lihat [Mengekstrak logika bisnis](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic) dalam AWS Transform dokumentasi. | Pengembang aplikasi | 

### Siapkan AWS Transform kustom
<a name="set-up-trn-custom"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menyediakan infrastruktur untuk AWS Transform kustom. | Menyebarkan infrastruktur siap produksi yang diperlukan untuk menampung lingkungan transformasi yang aman. Ini termasuk instans Amazon EC2 pribadi yang dikonfigurasi dengan alat yang diperlukan, izin IAM, dan pengaturan jaringan untuk mengonversi kode Easytrieve. Untuk menyediakan lingkungan menggunakan infrastruktur sebagai kode (IAc), ikuti petunjuk penerapan di [Easytrieve to Modern Languages Transformation](https://github.com/aws-samples/sample-mainframe-easytrieve-transform) with Custom repository. AWS Transform GitHub  | Pengembang aplikasi, administrator AWS | 
| Siapkan bahan masukan untuk transformasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | Pengembang aplikasi | 

###  Buat definisi transformasi kustom
<a name="create-a-custom-transformation-definition"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat definisi transformasi. | Ikuti langkah-langkah ini untuk membuat definisi transformasi khusus untuk transformasi EZT ke Java dengan validasi fungsional.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | Pengembang aplikasi | 
| Publikasikan definisi transformasi. | Setelah meninjau dan memvalidasi definisi transformasi, Anda dapat mempublikasikannya ke registri AWS Transform kustom dengan prompt bahasa alami, memberikan nama definisi seperti *EasyTrieve-to-Java-migrasi*. | Pengembang aplikasi | 

### Siapkan data dasar untuk validasi.
<a name="prepare-baseline-data-for-validation"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tinjau ringkasan validasi transformasi. | Sebelum menjalankan transformasi AWS Transform kustom, validasi bahwa `input-data` folder berisi file data yang diperlukan diambil sebelum eksekusi pekerjaan batch mainframe. Setelah eksekusi pekerjaan batch mainframe, pastikan `output-data` folder menangkap file yang dihasilkan. Semua file dalam format Sequential/Text/DB 2 menggunakan pengkodean EBCDIC berdasarkan persyaratan eksekusi.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | Pengembang aplikasi | 
| Jalankan pekerjaan transformasi kustom. | Jalankan perintah AWS Transform CLI, pilih opsi non-interaktif atau interaktif:<pre>:# Non-interactive execution (fully autonomous):<br />atx custom def exec \<br />  --transformation-name "Easytrieve-to-Java-Migration" \<br />  --code-repository-path ~/root/transform-workspace/mainframe-source/source-code \<br />  --build-command "mvn clean install" \<br />  --non-interactive \<br />  --trust-all-tools \<br /><br /># Interactive execution (with human oversight):<br />atx custom def exec \<br />  -n "Easytrieve-to-Java-Migration" \<br />  -p ~/root/transform-workspace/mainframe-source/source-code \<br />  -c "mvn clean install"<br /><br /># Resume interrupted execution:<br />atx -resume<br /># OR<br />atx --conversation-id <conversation-id><br /></pre>AWS Transform secara otomatis memvalidasi melalui build/test perintah selama eksekusi transformasi. | Pengembang aplikasi | 

### Validasi dan kirimkan kode yang diuji
<a name="validate-and-deliver-tested-code"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tinjau ringkasan validasi transformasi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | Pengembang aplikasi | 
| Akses laporan validasi. | Masukkan perintah ini untuk meninjau artefak validasi terperinci:<pre># Full validation report<br />cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_report.html<br /><br /># Generated code location<br />ls ~/.aws/atx/custom/$LATEST_SESSION/generated/<br /><br /># Execution logs<br />cat ~/.aws/atx/custom/$LATEST_SESSION/logs/execution.log</pre> | Pengembang aplikasi | 
| Aktifkan item pengetahuan untuk pembelajaran berkelanjutan. | Tingkatkan akurasi transformasi future dengan mempromosikan item pengetahuan yang disarankan ke konfigurasi persisten Anda. Setelah transformasi, agen menyimpan pola yang diidentifikasi dan aturan pemetaan di direktori sesi lokal Anda. Untuk meninjau dan menerapkan item yang dipelajari ini, jalankan perintah ini di instans Amazon EC2 Anda:<pre># List all knowledge items for a specific transformation definition<br />atx custom def list-ki -n <transformation-name><br /><br /># Retrieve the details of a specific knowledge item<br />atx custom def get-ki -n <transformation-name> --id <id><br /><br /># Update the status of a knowledge item (ENABLED or DISABLED)<br />atx custom def update-ki-status -n <transformation-name> --id <id> --status ENABLED<br /><br /># Update the knowledge item configuration to enable auto-approval<br />atx custom def update-ki-config -n <transformation-name> --auto-enabled TRUE</pre> | Pengembang aplikasi | 

## Pemecahan masalah
<a name="transform-easytrieve-modern-languages-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| *Konfigurasi jalur input dan output*File input tidak dibaca, atau file output tidak ditulis dengan benar.  | Tentukan jalur direktori lengkap tempat file input disimpan dan tunjukkan dengan jelas lokasi di mana output harus ditulis. Pastikan izin akses yang tepat dikonfigurasi untuk direktori ini. Praktik terbaik termasuk menggunakan jalur absolut daripada jalur relatif untuk menghindari ambiguitas dan memverifikasi bahwa semua jalur yang ditentukan ada dengan read/write izin yang sesuai.  | 
| *Melanjutkan eksekusi yang terputus*Eksekusi terputus atau perlu dilanjutkan dari tempat berhenti | Anda dapat melanjutkan eksekusi dari tempat Anda tinggalkan dengan memberikan ID percakapan di perintah CLI.Temukan ID percakapan di log upaya eksekusi Anda sebelumnya.   | 
| *Menyelesaikan kendala memori*Kesalahan kehabisan memori terjadi selama eksekusi. | Anda dapat meminta AWS Transform untuk membagikan ukuran JVM dalam memori saat ini dan kemudian meningkatkan alokasi memori berdasarkan informasi ini. Penyesuaian ini membantu mengakomodasi persyaratan pemrosesan yang lebih besar.Pertimbangkan untuk memecah pekerjaan besar menjadi batch yang lebih kecil jika kendala memori tetap ada setelah penyesuaian.  | 
| *Mengatasi perbedaan file keluaran*File keluaran tidak sesuai dengan harapan, dan AWS Transform menunjukkan tidak ada perubahan lebih lanjut yang mungkin. | Berikan umpan balik spesifik dan alasan teknis yang menjelaskan mengapa output saat ini salah. Sertakan dokumentasi teknis atau bisnis tambahan untuk mendukung kebutuhan Anda. Konteks rinci ini membantu AWS Transform memperbaiki kode untuk menghasilkan file output yang tepat. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | 

## Sumber daya terkait
<a name="transform-easytrieve-modern-languages-resources"></a>
+ [AWS Transform dokumentasi kustom](https://docs.aws.amazon.com/transform/latest/userguide/custom.html)
+ [Generator Laporan Easytrieve 11.6](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6/getting-started.html)

## Lampiran
<a name="attachments-71f15422-42cb-4c7e-94fa-051a4f130445"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/71f15422-42cb-4c7e-94fa-051a4f130445/attachments/attachment.zip)

# Lebih banyak pola
<a name="mainframe-more-patterns-pattern-list"></a>

**Topics**
+ [Terapkan Otomatisasi Keamanan untuk AWS WAF solusi dengan menggunakan Terraform](deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.md)
+ [Replikasi database mainframe ke AWS dengan menggunakan Exactly Connect](replicate-mainframe-databases-to-aws-by-using-precisely-connect.md)