

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

# 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><br />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*<br />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. <br />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*<br />Eksekusi terputus atau perlu dilanjutkan dari tempat berhenti | Anda dapat melanjutkan eksekusi dari tempat Anda tinggalkan dengan memberikan ID percakapan di perintah CLI.<br />Temukan ID percakapan di log upaya eksekusi Anda sebelumnya.   | 
| *Menyelesaikan kendala memori*<br />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.<br />Pertimbangkan untuk memecah pekerjaan besar menjadi batch yang lebih kecil jika kendala memori tetap ada setelah penyesuaian.  | 
| *Mengatasi perbedaan file keluaran*<br />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)