View a markdown version of this page

Ubah Easytrieve ke bahasa modern dengan menggunakan AWS Transform kebiasaan - AWS Prescriptive Guidance

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 AWS Transform kebiasaan

Shubham Roy, Subramanyam Malisetty, dan Harshitha Shashidhar, Amazon Web Services

Ringkasan

Pola ini memberikan panduan preskriptif untuk transformasi beban kerja mainframe Broadcom Easytrieve Report Generator (EZT) yang lebih cepat dan berisiko rendah menggunakan transformasi bahasa-ke-bahasa khusus.AWS Transform 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 kustom AWS Transform

  • 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

Prasyarat

  • AWS Akun aktif 

  • Beban kerja EZT mainframe dengan data input dan output 

Batasan

Keterbatasan ruang lingkup

  • Dukungan bahasa - Hanya EZT-to-Java transformasi yang didukung untuk pola transformasi khusus ini. Pola APG ini diuji pada kode EZT in-line di. JCL/Proc

  • Di luar ruang lingkup - Untuk transformasi bahasa pemrograman mainframe lainnya gunakan AWS Transform untuk mainframe. Pelajari selengkapnya di Jenis file yang didukung untuk transformasi aplikasi mainframe dalam panduan AWS Transform pengguna.

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

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

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.

Alur kerja

Solusi ini menggunakan AWS Transform custom dengan definisi transformasi pre-built untuk memodernisasi aplikasi mainframe Easytrieve (EZT) ke Java melalui alur kerja otomatis tiga langkah. AWS Transform kustom menangani seluruh proses — ekstraksi aturan bisnis (BRE), transformasi kode, dan validasi kesetaraan fungsional — didorong oleh definisi transformasi yang disediakan sebagai bagian dari solusi ini. Validasi manusia diperlukan untuk memvalidasi BRE yang dihasilkan dan validasi laporan kesetaraan fungsional.

Langkah 1 - Siapkan folder input

  1. kode sumber/ - Kode sumber EZT (file.ezt), aliran pekerjaan JCL (file.JCL /.JCL), program COBOL, buku salinan, dan kartu kontrol

  2. bre-doc/ - Dokumen ekstrak aturan Bisnis yang dihasilkan

  3. input-data/ - Kumpulan data input mainframe dasar untuk validasi

  4. output-data/ - Kumpulan data keluaran mainframe dasar untuk validasi

  5. document_references/ — Definisi transformasi dan dokumentasi referensi yang disediakan oleh:

    - bre_transformation_definition.md - Mendefinisikan proses ekstraksi aturan bisnis 5 fase

    - transformation_definition.md - Mendefinisikan bagaimana Easytrieve membangun peta ke Java

    - summaries.md — Aturan dan pola transformasi

    - ca-easytrieve-report-generator-11-6.txt - Panduan referensi Easytrieve

Langkah 2 - Ekstrak aturan bisnis menggunakan AWS Transform Custom

1. Berinteraksi dengan AWS Transform CLI menggunakan bahasa alami untuk meninjau definisi transformasi (TD) yang tersedia dan menyesuaikan BRE TD agar sesuai dengan kriteria dan aturan spesifik Anda

2. Gunakan TD yang telah diselesaikan untuk menghasilkan dokumen BRE — analisis AWS Transform kustom artefak sumber mainframe (Easytrieve, JCL, COBOL, copybook, kartu kontrol) dan menghasilkan BRE terstruktur dengan katalog aturan bisnis, tata letak file, garis keturunan data, dan pemetaan tipe data

3. Pindahkan dokumen BRE yang dihasilkan ke bre-doc/ folder untuk digunakan pada Langkah 3

Langkah 3 - Hasilkan kode modern setara fungsional

  1. Berinteraksi dengan AWS Transform CLI menggunakan bahasa alami untuk meninjau definisi transformasi dasar (TD) yang tersedia dan sesuaikan TD dasar agar sesuai dengan kriteria dan aturan spesifik Anda.

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

  3. Gunakan agen validasi untuk menguji kesetaraan fungsional terhadap output mainframe. Self-Debugger Agen secara mandiri memperbaiki masalah. Hasil akhir termasuk kode Java yang divalidasi dan laporan validasi HTML.

Otomatisasi dan skala

  • Arsitektur eksekusi multi-mode Agentic AI — AWS Transform kustom memanfaatkan AI agen dengan 3 mode eksekusi - percakapan, interaktif, dan 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

Layanan AWS  

  • AWS Transform custom adalah layanan AI agen yang digunakan untuk mengubah aplikasi EZT lama menjadi bahasa pemrograman modern. 

  • Amazon Simple Storage Service (Amazon S3) 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) 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 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 digunakan untuk perlindungan cabang, pelacakan perubahan, dan kemampuan rollback selama aplikasi perbaikan otomatis. 

  • Java 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 on. GitHub

Praktik terbaik

  • 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 perbandingan byte-by-byte 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

TugasDeskripsiKeterampilan yang dibutuhkan

Menyediakan infrastruktur untuk AWS Transform custom.

Menyebarkan infrastruktur siap produksi yang diperlukan untuk menjadi tuan rumah 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 with Custom repository. AWS Transform GitHub

Pengembang aplikasi, administrator AWS

Siapkan bahan input untuk transformasi.

  1. Masukkan perintah ini untuk membuat struktur folder:

    mkdir -p /root/transform-workspace/mainframe-source/{source-code,bre-doc,input-data,output-data}

    Ini membuat folder ini:

    • source-code— Penyimpanan untuk kode sumber EZT

    • bre-doc— Penyimpanan untuk dokumen BRE

    • input-data— Penyimpanan untuk data input untuk eksekusi batch mainframe (Sequential/Text/DB2 file dalam format EBCDIC)

    • output-data— Penyimpanan untuk data output di mainframe setelah eksekusi batch (Sequential/Text/DB2 file dalam format EBCDIC)

  2. Masukkan perintah ini untuk menginisialisasi repositori Git:

    cd /root/transform-workspace/mainframe-source/source-code git init git add . git commit -m "Initial commit"
Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat definisi transformasi BRE

Ikuti langkah-langkah ini untuk membuat definisi transformasi kustom untuk BRE (Business Rule Extraction) dari kode sumber Easytrieve.

1. Buka repo kode untuk pola ini dan salin bre_transformation_definition.md dari folder dokumen bersama dengan folder document_references dengan panduan pengkodean EZT.

2. Unggah konten tersebut dalam unggahan AWS Transform CLI ke lokasi pilihan Anda dan catat lokasi jalur yang akan digunakan pada langkah selanjutnya.

3. Memanggil AWS Transform dari CLI dengan perintah atx.

4. Berikan prompt ini di CLI:

Buat transformasi khusus menggunakan file definisi transformasi saya yang tersedia di jalur <path to content from step #2 >

AWS Transform membuat definisi transformasi kustom baru untuk generasi BRE.

5. Tinjau definisi transformasi dan buat perubahan jika diperlukan.

Pengembang aplikasi

Publikasikan definisi transformasi BRE

Setelah meninjau dan memvalidasi definisi transformasi BRE, Anda dapat mempublikasikannya ke registri AWS Transform kustom dengan prompt bahasa alami, memberikan nama definisi seperti Easytrieve-Business-Rule-Extract.

Pengembang aplikasi

Buat definisi transformasi.

Ikuti langkah-langkah ini untuk membuat definisi transformasi khusus untuk transformasi EZT ke Java dengan validasi fungsional.

  1. Buka repo kode untuk pola ini dan salin isi documents folder. Ini harus mencakup transformation_definition.md, summaries.md dan folder dengan panduan pengkodean EZT. document_references

  2. Unggah konten tersebut dalam unggahan AWS Transform CLI ke lokasi pilihan Anda dan catat lokasi jalur yang akan digunakan pada langkah selanjutnya.

  3. Memanggil AWS Transform dari CLI dengan atx perintah.

  4. Berikan prompt ini di CLI: Buat transformasi khusus menggunakan file definisi transformasi saya yang tersedia di jalur AWS Transform membuat definisi transformasi <path to content from step #2 > khusus baru untuk transformasi EZT ke Java.

  5. Tinjau definisi transformasi dan buat perubahan jika diperlukan.

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

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Jalankan pekerjaan generasi BRE.

Jalankan perintah AWS Transform CLI, pilih opsi non-interaktif atau interaktif:

Non-interactive eksekusi (sepenuhnya otonom):

atx custom def exec --transformation-name "Easytrieve-Business-Rule-Extract" --code-repository-path ~/root/transform-workspace/mainframe-source/source-code --non-interactive --trust-all-tools

Eksekusi interaktif (dengan pengawasan manusia):

atx custom def exec -n "Easytrieve-Business-Rule-Extract" -p ~/root/transform-workspace/mainframe-source/source-code

Lanjutkan eksekusi yang terputus:

atx --resume

ATAU

atx --conversation-id <conversation-id>

Pindahkan dokumen BRE yang dihasilkan ke folder bre-doc/ untuk digunakan sebagai input selama langkah transformasi. Easytrieve-to-Java

Pengembang aplikasi
TugasDeskripsiKeterampilan 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 Sequential/Text/DB2 format menggunakan encoding EBCDIC berdasarkan persyaratan eksekusi.

  • Tempatkan data masukan dalam input-data/ folder

  • Tempatkan output dasar dalam folder output-data/

Pengembang aplikasi

Jalankan pekerjaan transformasi kustom.

Jalankan perintah AWS Transform CLI, pilih opsi non-interaktif atau interaktif:

:# Non-interactive execution (fully autonomous): atx custom def exec \ --transformation-name "Easytrieve-to-Java-Migration" \ --code-repository-path ~/root/transform-workspace/mainframe-source/source-code \ --build-command "mvn clean install" \ --non-interactive \ --trust-all-tools \ # Interactive execution (with human oversight): atx custom def exec \ -n "Easytrieve-to-Java-Migration" \ -p ~/root/transform-workspace/mainframe-source/source-code \ -c "mvn clean install" # Resume interrupted execution: atx -resume # OR atx --conversation-id <conversation-id>

AWS Transform secara otomatis memvalidasi melalui build/test perintah selama eksekusi transformasi.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Tinjau ringkasan validasi transformasi.

  1. Tunggu AWS Transform untuk memvalidasi kode secara otomatis melalui perintah build dan test.

  2. Masukkan perintah ini untuk menemukan sesi terbaru:

    LATEST_SESSION=$(ls -t ~/.aws/atx/custom/ | head -1
  3. Masukkan perintah ini untuk melihat ringkasan validasi:

    cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
  4. Masukkan perintah ini untuk memeriksa status keseluruhan:

    grep "OVERALL STATUS" ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
Pengembang aplikasi

Akses laporan validasi.

Masukkan perintah ini untuk meninjau artefak validasi terperinci:

# Full validation report cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_report.html # Generated code location ls ~/.aws/atx/custom/$LATEST_SESSION/generated/ # Execution logs cat ~/.aws/atx/custom/$LATEST_SESSION/logs/execution.log
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:

# List all knowledge items for a specific transformation definition atx custom def list-ki -n <transformation-name> # Retrieve the details of a specific knowledge item atx custom def get-ki -n <transformation-name> --id <id> # Update the status of a knowledge item (ENABLED or DISABLED) atx custom def update-ki-status -n <transformation-name> --id <id> --status ENABLED # Update the knowledge item configuration to enable auto-approval atx custom def update-ki-config -n <transformation-name> --auto-enabled TRUE
Pengembang aplikasi

Pemecahan masalah

IsuSolusi

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.  

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

  • Contoh spesifik membandingkan output yang diharapkan vs. aktual 

  • Referensi ke dokumentasi atau standar yang relevan

  • Penjelasan yang jelas tentang dampak bisnis dari perbedaan tersebut  

Sumber daya terkait