View a markdown version of this page

Ubah Easytrieve ke bahasa modern dengan menggunakan kustom AWS Transform - 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 kustom AWS Transform

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 khusus.AWS Transform 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:

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

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

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

Layanan AWS  

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

  • AWS Transformmenggunakan AI agen untuk membantu Anda mempercepat modernisasi beban kerja lama, seperti .NET, mainframe, dan beban kerja. VMware

  • AWS Transform untuk mainframe 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) 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 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

TugasDeskripsiKeterampilan 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 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 dalam AWS Transform dokumentasi.

Pengembang aplikasi
TugasDeskripsiKeterampilan 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 with Custom repository. AWS Transform GitHub

Pengembang aplikasi, administrator AWS

Siapkan bahan masukan 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 yang dihasilkan

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

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

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 format Sequential/Text/DB 2 menggunakan pengkodean 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.  

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. 

  • Contoh spesifik membandingkan output yang diharapkan vs. aktual 

  • Referensi ke dokumentasi atau standar yang relevan

  • Penjelasan yang jelas tentang dampak bisnis dari perbedaan  

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip