Memodernisasi aplikasi mainframe

Dalam panduan ini, Anda akan mempelajari cara menggunakan ekstensi Cloud Code untuk VS Code guna memodernisasi aplikasi mainframe lama Anda.

Penulisan Ulang Kode Modernisasi Mainframe memungkinkan pendekatan iteratif untuk penulisan ulang kode bagi pelanggan dan partner. Biasanya digunakan setelah menyelesaikan penilaian dengan Mainframe Assessment Tool (MAT). Ekstensi ini mengintegrasikan kemampuan GenAI Mainframe untuk analisis kode, spesifikasi, pembuatan kode, dan pembuatan pengujian, sehingga memberikan pengalaman pengembangan yang interaktif.

Sebelum memulai

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Vertex AI API.

    Enable the API

  4. Instal ekstensi Cloud Codejika Anda belum melakukannya.
  5. Instal Google Cloud CLI jika Anda belum melakukannya.
  6. Menyiapkan Mainframe Modernization Code Rewrite

    Bagian berikut menjelaskan cara menyiapkan Penulisan Ulang Kode Modernisasi Mainframe. Pertama, Anda harus mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe di IDE, lalu menghubungkannya ke Vertex AI.

    Mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe

    Untuk mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe, ikuti langkah-langkah berikut:

    1. Buka Palet Perintah dengan Ctrl/Cmd+Shift+P.

    2. Pilih perintah Preferences: Open User Settings (JSON).

      Untuk mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe, tambahkan setelan "cloudcode.beta.enableMainframeModernization": true ke file settings.json Anda:

      {
          "cloudcode.updateChannel": "Insiders",
          "cloudcode.beta.enableMainframeModernization": true
      }
      
    3. Buka Palet Perintah lagi (tekan Ctrl/Cmd+Shift+P) dan pilih perintah Developer: Reload Window.

    Menghubungkan Penulisan Ulang Kode Mainframe Modernization ke Vertex AI

    Untuk menghubungkan Penulisan Ulang Kode Mainframe Modernization ke Vertex AI, ikuti langkah-langkah berikut:

    1. Di jendela terminal, jalankan perintah berikut:

      gcloud auth application-default login
      
    2. Ikuti petunjuk di layar pada jendela browser web yang baru dibuka.

    3. Ikuti petunjuk untuk login ke Trusted Cloud by S3NS.

    4. Pilih project yang ingin Anda gunakan.

    5. Jalankan perintah Developer: Reload Window.

    Setelah penyiapan, Anda dapat membuka ruang kerja atau folder apa pun yang menyertakan kode mainframe, dan menjalankan perintah Generate Specification Summary dan Generate Modernized Code di COBOL, JCL, Easytrieve, dan HLASM.

    Buat ringkasan spesifikasi

    Perintah Cloud Code: Generate Specification Summary for Active File memungkinkan Anda membuat spesifikasi bahasa netral untuk kode mainframe lama Anda. COBOL, JCL, Easytrieve, dan HLASM didukung.

    Anda dapat mengakses ringkasan spesifikasi dari Palet Perintah atau dari tampilan Explorer:

    Palet Perintah

    1. Di editor, pilih file sumber yang ingin Anda gunakan untuk menjadikannya file aktif.

    2. Untuk membuka Palet Perintah, tekan Ctrl/Cmd+Shift+P.

    3. Telusuri dan pilih perintah Cloud Code: Generate Specification Summary for Active File.

    Ringkasan spesifikasi muncul di samping kode.

    Penjelajah

    1. Di panel aktivitas, klik Explorer atau tekan Ctrl/Cmd+Shift+E.

    2. Klik kanan file sumber pilihan Anda, lalu pilih Generate Specification Summary.

    Ringkasan spesifikasi muncul di samping kode.

    Menganotasi kode lama mainframe

    Untuk memandu proses pembuatan ringkasan spesifikasi, Anda dapat memberi anotasi pada kode lama dengan menambahkan komentar. Untuk memberi anotasi pada tugas JCL atau program COBOL, cari tombol add Tambahkan di samping baris definisi tugas/program:

    JCL Job

    Menganotasi tugas JCL

    Program COBOL

    Menganotasi program COBOL

    1. Untuk membuka tampilan CMS inline yang memungkinkan Anda memberi anotasi pada tugas/program, klik tambahkan Tambahkan. Setelah menambahkan komentar, klik Buat Catatan untuk menyimpannya.

    2. Saat anotasi disimpan, gunakan perintah Generate Specification Summary untuk membuat spesifikasi bagi tugas/program Anda, yang dipandu oleh komentar Anda.

      Kemudian, Anda dapat mengedit anotasi untuk menyempurnakan panduan yang diberikan atau menghapusnya jika Anda tidak ingin lagi model mempertimbangkannya.

    Membuat kode yang dimodernisasi

    Perintah Cloud Code: Generate Modernized Code for Active File memungkinkan Anda membuat kode modern dari kode lama mainframe Anda.

    Bahasa sumber yang didukung: COBOL, JCL, Easytrieve, dan HLASM.

    Bahasa target yang didukung: Java, C#, Python, SQL.

    Anda dapat mengakses perintah ini dari Palet Perintah, atau dari tampilan Explorer:

    Palet Perintah

    1. Di editor, pilih file sumber yang ingin Anda gunakan untuk menjadikannya file aktif.

    2. Buka Palet Perintah dengan menekan Ctrl/Cmd+Shift+P.

    3. Telusuri dan pilih perintah Cloud Code: Generate Modernized Code for Active File.

    4. Pilih bahasa target yang Anda inginkan untuk kode yang dimodernisasi.

      Kode modern yang dihasilkan akan muncul di editor sebagai file baru tanpa judul.

    Penjelajah

    1. Di panel aktivitas, klik Explorer atau tekan Ctrl/Cmd+Shift+E.

    2. Klik kanan file sumber yang ingin Anda buat kode modernnya lalu pilih Generate Modernized Code.

    3. Pilih bahasa target yang Anda inginkan untuk kode yang dimodernisasi.

      Kode modern yang dihasilkan akan muncul di editor sebagai file baru tanpa judul.

    Mengubah setelan

    Penulisan Ulang Kode Modernisasi Mainframe memiliki setelan berikut yang dapat Anda konfigurasi di cakupan ruang kerja, atau di cakupan setelan pengguna (global).

    Untuk mengubah setelan di tingkat ruang kerja, tekan Ctrl/Cmd+Shift+P untuk membuka Palet Perintah dan pilih perintah Preferences: Open Workspace Settings (JSON).

    Untuk mengubah setelan di tingkat setelan pengguna global, tekan Ctrl/Cmd+Shift+P untuk membuka Palet Perintah dan pilih perintah Preferences: Open User Settings (JSON).

    Berikut contoh file settings.json yang menyertakan semua properti konfigurasi ekstensi:

    {
        "cloudcode.beta.enableMainframeModernization": true,
        "cloudcode.beta.mainframeModernization.enableGoogleAnalytics": true,
        "cloudcode.beta.mainframeModernization.enableCloudLogging": false,
        "cloudcode.beta.mainframeModernization.model": "gemini-2.5-pro",
        "cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguage": "csharp",
        "cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHints": [
            "Do not print messages directly to the console; use a logging framework instead."
        ],
    }
    

    Mengaktifkan dan menonaktifkan Google Analytics

    Properti konfigurasi ini mengaktifkan atau menonaktifkan pengumpulan analisis penggunaan untuk ekstensi.

    • Nama properti konfigurasi: cloudcode.beta.mainframeModernization.enableGoogleAnalytics.

    • Contoh nilai konfigurasi: false.

    • Nilai default: true (Analytics diaktifkan).

    Mengaktifkan dan menonaktifkan Cloud Logging

    Properti konfigurasi ini mengontrol apakah Logging diaktifkan atau tidak.

    • Nama properti konfigurasi: cloudcode.beta.mainframeModernization.enableCloudLogging.

    • Contoh nilai konfigurasi: true.

    • Nilai default: false (Cloud Logging dinonaktifkan).

    Model

    Jika properti konfigurasi ini disetel, Mainframe Modernization Code Rewrite akan menggunakan model Gemini yang ditentukan dalam konfigurasi.

    • Nama properti konfigurasi: cloudcode.beta.mainframeModernization.model

    • Contoh nilai konfigurasi: "gemini-1.5-flash", "gemini-1.5-pro", "gemini-2.0-flash", "gemini-2.0-flash-lite", atau "gemini-2.5-pro".

    • Nilai default: "(default)" (Tanya setiap kali).

    Bahasa target

    Jika properti konfigurasi ini disetel, perintah Generate Modernized Code tidak lagi meminta Anda memilih bahasa target saat membuat kode, dan menggunakan bahasa yang ditetapkan dalam properti tersebut.

    • Nama properti konfigurasi: cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguage

    • Contoh nilai konfigurasi: "java", "csharp", "python", atau "pgsql".

    • Nilai default: null (Tanya setiap kali).

    Petunjuk tech stack pembuatan kode

    Jika ditetapkan, properti konfigurasi ini akan meneruskan perintah Generate Modernized Code yang menentukan daftar petunjuk stack teknologi sebagai instruksi tambahan ke LLM saat membuat kode. Konfigurasi ini dapat digunakan sebagai panduan untuk menyesuaikan arsitektur target, framework, dan gaya kode.

    • Nama properti konfigurasi: cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHints

    • Contoh nilai konfigurasi:

      [
        "Do not print messages directly to the console; use a logging framework instead.",
        "when generating java code - use Spring Boot version 3 as the framework"
      ]
      
    • Nilai default: [] (Daftar kosong; tidak ada petunjuk stack teknologi).

    Menghapus Data Penulisan Ulang Kode Modernisasi Mainframe

    Untuk menghapus semua data yang disimpan secara lokal oleh Penulisan Ulang Kode Modernisasi Mainframe untuk ruang kerja saat ini, ikuti langkah-langkah berikut:

    1. Buka terminal dengan memilih View > Terminal dari panel menu, atau dengan menekan pintasan keyboard .

    2. Masukkan perintah berikut ke terminal:

    Linux (Bash atau Zsh)

    workspace_id=$(printf %s "$PWD$(stat -c '%i' .)" | md5sum | head -c 32)
    workspace_storage_dir="$HOME/.config/Code/User/workspaceStorage/$workspace_id"
    rm -r "$workspace_storage_dir/googlecloudtools.cloudcode/mainframe/"
    

    Windows (PowerShell)

    $workspacePath = (Get-Location).ToString()
    
    $tempFile = (New-TemporaryFile).FullName
    ($workspacePath.Substring(0, 1).ToLower() + $workspacePath.Substring(1) +
        (([decimal](Get-Date (Get-ItemProperty . |
            Select-Object -ExpandProperty CreationTimeUtc) -UFormat %s) * 1000) -split '\.')[0]
    ) | Out-File -FilePath $tempFile -Encoding ascii -NoNewline
    $workspaceId = (Get-FileHash -Algorithm MD5 -Path $tempFile).Hash.ToLower()
    Remove-Item $tempFile
    
    $workspaceStorageDir = "$env:APPDATA\Code\User\workspaceStorage\$workspaceId"
    Remove-Item -Recurse "$workspaceStorageDir\googlecloudtools.cloudcode\mainframe"
    

    Memecahkan masalah

    Bagian ini menguraikan masalah umum Penulisan Ulang Kode Modernisasi Mainframe dan memberikan langkah-langkah pemecahan masalah:

    Vertex AI tidak tersedia di Trusted Cloud project

    Jika perintah Generate Specification Summary atau Generate Modernized Code dieksekusi dalam waktu yang lama, lalu gagal, Vertex AI API mungkin belum diaktifkan, atau telah melampaui kuotanya di project yang dipilih. Untuk mengonfirmasi bahwa ini adalah masalahnya, klik tombol Buka output.

    Jika tombol Buka output tidak tersedia, ikuti langkah-langkah di Periksa saluran output. Di saluran output, cari pesan error yang berisi "Vertex.GenerateContent failed". Misalnya, berikut adalah pesan error yang disebabkan oleh Vertex AI API yang tidak diaktifkan di project Trusted Cloud yang dipilih:

    "generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent failed: 403 Forbidden (403)"

    Untuk mengatasi masalah ini, lakukan salah satu cara berikut:

    • Pastikan Vertex AI API Anda diaktifkan di Trusted Cloud project.

    • Beralih ke project Trusted Cloud lain dengan Vertex AI API yang diaktifkan.

    Perintah Penulisan Ulang Kode Modernisasi Mainframe tidak tersedia

    Jika perintah seperti Generate Specification Summary atau Generate Modernized Code tidak tersedia di Command Palette, hal ini mungkin menunjukkan bahwa alat CLI Mainframe Modernization gagal diinstal. Untuk mengonfirmasi bahwa hal ini memang terjadi, periksa apakah file yang dapat dieksekusi berikut tidak ada:

    • Di Linux: ~/.cache/cloud-code/mainframe/bin/codegen
    • Di Windows: %LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe
    • Di macOS: $HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos

    Jika demikian, coba selesaikan masalah dengan melakukan tugas berikut:

    1. Buka Palet Perintah dengan Ctrl/Cmd+Shift+P.
    2. Pilih perintah Cloud Code: Install or Update Mainframe Modernization Tools.
    3. Pastikan file yang dapat dieksekusi tidak lagi hilang.
    4. Buka kembali Palet Perintah dengan Ctrl/Cmd+Shift+P.
    5. Pilih perintah Developer: Reload Window.

    Memeriksa saluran output

    Untuk memecahkan masalah error lain yang tidak tercantum di tempat lain dalam panduan ini, coba periksa saluran output ekstensi. Untuk membuka saluran output, lakukan tugas berikut:

    1. Buka Palet Perintah dengan Ctrl/Cmd+Shift+P.
    2. Pilih perintah Output: Show Output Channels.
    3. Pilih saluran output Cloud Code Mainframe Modernization.