Generazione di codice per Z

Un diagramma di flusso con varie forme e simboli
Generazione di codice per Z

IBM watsonx Code Assistant (WCA) for Z è una soluzione di modernizzazione delle applicazioni mainframe assistita dall'AI che semplifica la modernizzazione e il rifactoring graduale dei servizi di business COBOL e la trasformazione selettiva in codice Java di alta qualità, ottimizzato per IBM Z. Grazie a watsonx Code Assistant for Z, i clienti potranno utilizzare l'AI generativa e gli strumenti automatizzati per accelerare il percorso di modernizzazione delle applicazioni mainframe, affrontando le sfide chiave legate alle capacità degli sviluppatori e al time-to-value.

 

Panoramica della soluzione

Un diagramma di flusso che illustra il processo di refactoring del codice COBOL, dal linguaggio sorgente al linguaggio di destinazione
I componenti principali e le loro connessioni all'interno dell'architettura della soluzione Code Generation for Z.

IBM watsonx Code Assistant for Z è composto dai seguenti componenti principali (mostrati nel diagramma qui sopra):

  1. IBM Application Discovery and Delivery Intelligence (ADDI) scansiona il codice sorgente dell'applicazione per scoprire e comprendere le relazioni tra i programmi all'interno di un sistema applicativo. ADDI offre anche la possibilità di visualizzare e generare report su queste dipendenze, oltre a eseguire ricerche all’interno del codice sorgente.

     

  2. Il Metadata Database contiene i risultati del processo di comprensione e refactoring di COBOL eseguito da ADDI. I dati nel Metadata Database vengono utilizzati da IBM watsonx Code Assistant per il refactoring di sistemi software di grandi dimensioni composti da più programmi COBOL, copybook, ecc.

     

  3. Uno strumento COBOL Source Control Management (SCM) fornisce il controllo sorgente per il codice COBOL da convertire. Il repository SCM è anche associato a un progetto ADDI affinché i nuovi servizi COBOL possano essere scansionati e i metadati inviati al Metadata Database.

     

  4. Refactoring Assistant è un "ponte" tra ADDI e il servizio IBM watsonx Code Assistant. Refactoring Assistant si connette ad ADDI ed estrae i servizi aziendali COBOL identificati per il refactoring e la conversione in codice Java.

     

  5. L'IBM watsonx Code Assistant Service (WCA per Z) è un'applicazione IBM watsonx.ai che riceve richieste di prompt da Microsoft Visual Studio Code (VS Code) e le confronta con un Code Large Language Model (LLM). WCA for Z analizza i paragrafi COBOL e le classi Java e genera proposte di codice conformi alle migliori pratiche.

     

  6. Code Large Language Model (LLM) è un foundation model di AI generativa per la generazione di codice che si basa sul modello IBM Granite for Z. Può anche essere addestrato per includere codice COBOL aggiuntivo generato dai fornitori o dagli utenti aziendali.

     

  7. I programmi COBOL sono programmi autonomi e/o componenti di un sistema software più ampio che possono essere rifattorizzati in servizi Java.

     

  8. Java Code è un codice generato da WCA for Z che replica il comportamento del programma COBOL in input.

Utilizzo e guida dettagliata
Diagramma IBM Cloud che illustra il processo di refactoring delle applicazioni COBOL in codice Java
Una panoramica dell'architettura della soluzione che mostra le interazioni tra i componenti e il flusso di informazioni per generare codice Java dal codice sorgente COBOL.

Il diagramma qui sopra illustra come i componenti di WCA for Z collaborano per consentire agli sviluppatori di convertire il codice sorgente COBOL in Java.

  1. Un architetto utilizza le funzioni di ADDI per comprendere il codice COBOL. Questo prodotto viene eseguito in una VM Windows e analizza il codice sorgente per fornire insight sulle applicazioni agli architetti. L'analisi del codice sorgente viene memorizzata in un progetto a cui un architetto può accedere da uno strumento basato su Eclipse. Questo strumento consente all'architetto di eseguire diverse attività, tra cui visualizzare le relazioni tra i diversi programmi, eseguire rapporti e fare ricerche nel codice. Un architetto può utilizzare questo strumento per iniziare a modernizzare un'applicazione COBOL monolitica identificando potenziali servizi aziendali da rifattorizzare, con l'opzione di convertirla in Java utilizzando l'AI generativa.

     

  2. ADDI invia i risultati della sua analisi al Metadata Database, che a sua volta li aggiunge al set di dati utilizzato dal servizio IBM watsonx Code Assistant.

     

  3. Lo sviluppatore COBOL utilizza il Refactoring Assistant per iniziare a estrarre il servizio business COBOL individuato dall’architetto all’interno di un’applicazione monolitica. Refactoring Assistant è un prodotto basato su container che gira in una VM Linux®. Ha un'interfaccia utente web che consente agli sviluppatori di visualizzare e selezionare il codice pertinente per creare un nuovo servizio COBOL che comprende una funzione aziendale di molti diversi programmi esistenti. Refactoring Assistant si collega in modo sicuro ad ADDI per accedere all'analisi dell'applicazione COBOL nel database ADDI.

     

  4. Dopo avere selezionato tutto il codice, lo sviluppatore COBOL può esportare il nuovo programma COBOL sulla propria workstation per continuare a sviluppare in un ambiente di sviluppo integrato (IDE).

     

  5. I paragrafi COBOL rifattorizzati vengono archiviati nel Services Repo e resi disponibili agli sviluppatori Java per la conversione.

     

  6. Lo sviluppatore Java utilizza Z Open Editor in VS Code per connettersi al servizio WCA for Z in IBM Cloud. Questo servizio è fornito tramite un account IBM Cloud e consente di accedere al foundation model dell'AI. Z Open Editor consente allo sviluppatore Java di convertire e generare codice come segue:

    1. Innanzitutto, uno sviluppatore Java seleziona un paragrafo COBOL in VS Code e invia il suo contenuto al servizio WCA for Z per la conversione in definizioni di classe Java.

    2. Successivamente, in VS Code, uno sviluppatore Java seleziona singole classi Java per le quali il servizio WCA for Z dovrebbe generare righe di codice Java.

       

  7. In entrambi i casi sopra riportati, il servizio WCA for Z utilizza il suo Code LLM per generare il contenuto. Il Code LLM è un foundation model di AI generativa addestrato su molti linguaggi di programmazione ed è ottimizzato per convertire COBOL in Java.

     

  8. WCA for Z invia le risposte generate dall'AI a VS Code e lo sviluppatore Java può utilizzare le migliori pratiche per la revisione e la compilazione del codice per completare il servizio Java.

Prerequisiti

  • Microsoft VS Code
  • IBM Semeru Java 17 LTS SDK
  • IBM Z Open Editor Extension for VS Code
  • Language Support for Java by Red Hat Extension for VS Code
  • Account GitHub.com
  • Connessione a IBM Watson Code Assistant
Prossimi passi

Contatta i nostri esperti per implementare un modello di distribuzione hybrid cloud.

Collaboratori

Al HamidPete Nuwayser, Chris Kirby, Mihai Criveti 

Ultimo aggiornamento: 5 dicembre 2023