Code Generation for Z

Diagram alur dengan berbagai bentuk dan simbol
Code Generation for Z

IBM® watsonx Code Assistant (WCA) for Z adalah solusi modernisasi aplikasi mainframe berbantuan AI yang memudahkan pengembang untuk secara bertahap memodernisasi dan memfaktorkan ulang layanan bisnis COBOL dan secara selektif mengubah kode Java berkualitas tinggi yang dioptimalkan untuk IBM® Z. Dengan watsonx Code Assistant for Z, klien akan dapat memanfaatkan AI generatif dan peralatan otomatis untuk mempercepat perjalanan modernisasi aplikasi mainframe mereka – sekaligus mengatasi tantangan utama terkait keterampilan pengembang dan time to value.

 

Ikhtisar Solusi

Diagram alur yang menggambarkan proses refactoring kode COBOL, dari bahasa sumber ke bahasa target
Komponen utama dan koneksi mereka dalam arsitektur solusi Code Generation for Z.

IBM® watsonx Code Assistant for Z terdiri atas komponen utama berikut (ditunjukkan pada diagram di atas):

  1. IBM® Application Discovery and Delivery Intelligence (ADDI) memindai kode sumber aplikasi untuk menemukan dan memahami hubungan antara program dalam sistem aplikasi. ADDI juga menyediakan kemampuan untuk memvisualisasikan dan melaporkan dependensi ini serta mencari basis kode.

     

  2. Metadata Database berisi hasil pemahaman COBOL dan proses pemfaktoran ulang yang dilakukan oleh ADDI. Data dalam Metadata Database digunakan oleh IBM® watsonx Code Assistant untuk memungkinkan refactoring sistem perangkat lunak besar yang terdiri atas beberapa program COBOL, copybook, dll.

     

  3. Alat COBOL Source Control Management (SCM) menyediakan kontrol sumber untuk kode COBOL yang akan dikonversi. Repositori SCM juga dikaitkan dengan proyek ADDI sehingga layanan COBOL baru dapat dipindai dan metadata dikirim ke Database Metadata.

     

  4. Refactoring Assistant adalah 'jembatan' antara ADDI dan layanan IBM® watsonx Code Assistant. Asisten Refactoring terhubung ke ADDI dan mengekstrak layanan bisnis COBOL yang diidentifikasi untuk refactoring dan konversi ke kode Java.

     

  5. IBM® watsonx Code Assistant Service (WCA for Z) adalah aplikasi IBM® watsonx.ai yang menerima prompt dari Microsoft Visual Studio Code (VS Code) dan melakukan matching terhadap Code Model Bahasa Besar (LLM). WCA for Z menganalisis paragraf COBOL dan kelas Java, lalu menghasilkan usulan kode yang mengikuti praktik terbaik yang umum digunakan.

     

  6. Model Bahasa Besar (LLM) Kode adalah model dasar AI generatif untuk pembuatan kode yang dibangun berdasarkan model IBM® Granite for Z. Ini juga dapat dilatih untuk memasukkan kode COBOL tambahan yang dihasilkan oleh vendor atau oleh pengguna perusahaan.

     

  7. Program COBOL adalah program mandiri dan/atau komponen dari sistem perangkat lunak yang lebih besar yang dapat difaktorkan kembali menjadi layanan Java.

     

  8. Kode Java adalah kode yang dihasilkan oleh WCA for Z yang mereplikasi perilaku input program COBOL.

Cara Penggunaan dan Panduan Langkah demi Langkah
Diagram IBM® Cloud yang menggambarkan proses refactoring aplikasi COBOL ke kode Java
Panduan arsitektur solusi yang menunjukkan interaksi komponen dan aliran informasi untuk menghasilkan kode Java dari sumber COBOL.

Diagram di atas menggambarkan bagaimana komponen WCA for Z bekerja bersama untuk memungkinkan pengembang mengonversi kode sumber COBOL ke Java.

  1. Seorang arsitek menggunakan fungsi ADDI untuk memahami Kode COBOL. Produk ini berjalan di VM Windows dan memindai kode sumber untuk memberikan insight aplikasi kepada arsitek. Analisis kode sumber disimpan dalam proyek yang dapat diakses arsitek dari alat berbasis Eclipse. Alat ini memungkinkan arsitek untuk melakukan tugas yang berbeda, termasuk memvisualisasikan hubungan antara program yang berbeda, menjalankan laporan, dan kode pencarian. Seorang arsitek dapat menggunakan alat ini untuk mulai memodernisasi aplikasi COBOL monolitik dengan mengidentifikasi layanan bisnis yang berpotensi untuk difaktorkan ulang, serta memiliki opsi untuk mengonversinya ke Java menggunakan AI generatif.

     

  2. ADDI mengirimkan hasil analisisnya ke Metadata Database, yang pada gilirannya ditambahkan ke kumpulan data yang digunakan oleh IBM® watsonx Code Assistant Service.

     

  3. Pengembang COBOL menggunakan Refactoring Assistant untuk mulai mengekstraksi layanan bisnis COBOL yang diidentifikasi arsitek dari aplikasi monolit. Refactoring Assistant adalah produk berbasis kontainer yang berjalan di Linux VM. Solusi ini memiliki UI web bagi pengembang untuk memvisualisasikan dan memilih kode yang relevan untuk membuat layanan COBOL baru yang terdiri dari fungsi bisnis dari banyak program yang ada. Asisten Refactoring terhubung ke ADDI dengan aman untuk mengakses analisis aplikasi COBOL di basis data ADDI.

     

  4. Setelah pengembang COBOL memilih semua kode, mereka dapat mengekspor program COBOL baru ke workstation mereka untuk terus mengembangkan dalam lingkungan pengembangan terintegrasi (IDE).

     

  5. Paragraf COBOL yang difaktorkan ulang disimpan di Repo Layanan dan tersedia untuk pengembang Java untuk konversi.

     

  6. Pengembang Java menggunakan Z Open Editor di VS Code untuk terhubung ke layanan WCA for Z di IBM® Cloud. Layanan ini disediakan dengan menggunakan akun IBM® Cloud dan menyediakan akses ke model dasar AI. Z Open Editor memungkinkan pengembang Java untuk mengonversi dan menghasilkan kode sebagai berikut:

    1. Pertama, pengembang Java memilih paragraf COBOL dalam VS Code dan mengirimkan kontennya ke layanan WCA for Z untuk konversi ke definisi kelas Java.

    2. Kemudian, dalam VS Code pengembang Java memilih kelas Java individual yang layanan WCA for Z harus menghasilkan baris kode Java.

       

  7. Dalam kedua kasus di atas, layanan WCA for Z menggunakan Code LLM untuk menghasilkan konten. Code LLM adalah model dasar AI generatif yang dilatih pada banyak bahasa pemrograman dan disesuaikan untuk mengonversi COBOL ke Java.

     

  8. WCA for Z mengirimkan respons AI kembali ke VS Code, dan pengembang Java dapat menggunakan praktik terkemuka untuk melakukan ulasan dan mengompilasi kode untuk menyelesaikan layanan Java.

Prasyarat

  • Microsoft VS Code
  • IBM®Semeru Java 17 LTS SDK
  • Ekstensi IBM® Z Open Editor untuk VS Code
  • Dukungan Bahasa untuk Java dengan ekstensi Red Hat untuk VS Code
  • Akun GitHub.com
  • Koneksi ke Code Assistant IBM® watson
Langkah selanjutnya

Diskusikan implementasi pola penerapan hybrid cloud dengan pakar kami.

Kontributor

Al HamidPete Nuwayser, Chris Kirby, Mihai Criveti 

Diperbarui: 5 Desember 2023