Modernizzazione delle applicazioni Java

È possibile modernizzare le applicazioni Java aziendali, comprese le applicazioni tradizionali di WebSphere® Application Server , in Liberty. Per modernizzare un'applicazione, bisogna prima caricare un piano di migrazione o costruire e analizzare l'applicazione, quindi risolvere i problemi dell'applicazione.

A partire dalla versione 1.1, è possibile utilizzare Application Modernization Accelerator Developer Tools con applicazioni costruite con strumenti diversi da Maven, ma con delle limitazioni. Per ulteriori informazioni, vedere Applicazioni costruite con strumenti di compilazione non-Maven.

Prima di iniziare

  1. Configura il tuo ambiente Java aziendale.
  2. Installa il Visual Studio Code estensioneEclipse IDE plug-in o il IntelliJ IDEA IDE plug-in.
Importante: in Eclipse IDE, per ottenere risultati ottimali con un'applicazione multimodulo Java , assicurarsi di importare il modulo aggregatore e ogni sottomodulo come progetti separati all'interno dell'area di lavoro Eclipse . Se si importa la directory di primo livello come un singolo progetto, IBM Application Modernization Accelerator Developer Tools potrebbe non riuscire a introspezionare il progetto.

Completate i passaggi per caricare il piano di migrazione dell'applicazione o i passaggi per analizzare l'applicazione. Dopo aver completato una serie di passaggi, è possibile risolvere i problemi della migrazione. I passaggi per risolvere i problemi sono gli stessi sia per le fasi del piano di migrazione che per l'analisi dell'applicazione. Una volta risolti i problemi, si ottiene un'applicazione modernizzata.

Se riscontri un problema che utilizza Application Modernization Accelerator Developer Tools, consulta la pagina Risoluzione dei problemi.

Tempo necessario per analizzare il codice

Il tempo a disposizione per analizzare la domanda varia. I seguenti orari sono tipici.

Tabella 1. Tempo necessario per l'analisi
Ora Dettagli applicazione
Da pochi secondi a qualche minuto Meno di 100 classi
da 2 a 10 minuti da 20.000 a 50.000 righe di codice
10 o più minuti 300.000 righe di codice
Importante:

Quando Application Modernization Accelerator Developer Tools analizza l'applicazione, esclude per impostazione predefinita alcuni pacchetti di terze parti dall'analisi del codice. Per ulteriori informazioni, consultare Pacchetti di terze parti esclusi dall'analisi delle applicazioni.

Utilizzare un piano di migrazione per modernizzare l'applicazione

I passaggi seguenti presuppongono che si stia utilizzando IBM Application Modernization Accelerator per generare un piano di migrazione. Il piano di migrazione contiene un elenco di questioni di modernizzazione che devono essere affrontate. Contiene anche informazioni di configurazione generate automaticamente per consentire all'applicazione di funzionare correttamente in Liberty.

Importante:
  • Se è già stato caricato e analizzato un piano di migrazione per il progetto, il caricamento di un nuovo piano di migrazione sovrascrive l'analisi esistente.
  • Prima di modernizzare la vostra applicazione, eseguite una compilazione completa dell'applicazione per assicurarvi di partire da una buona compilazione conosciuta. Questa compilazione aiuta anche a garantire che i file di classe siano aggiornati con il codice sorgente più recente. Devono essere aggiornati prima di eseguire le automazioni che aggiungono modifiche per gli aggiornamenti di versione di Java .

Se si annullano le modifiche al codice, è necessario fare clic su Torna a caricare/analizzare ed eseguire un'analisi completa se si desidera modernizzare nuovamente l'applicazione.

  1. Nell'IDE, fare clic con il tasto destro del mouse su qualsiasi elemento della gerarchia nella directory dell'applicazione che si desidera modernizzare, fare clic su Modernize Java Applicationse quindi su Modernizza a Liberty.
  2. Nella pagina Modernizzare <nome applicazione>, caricare il piano di migrazione.

    L'IDE analizza la cartella del progetto, raccoglie informazioni sull'applicazione e quindi carica il piano di migrazione generato da Application Modernization Accelerator .

    1. Fare clic su Carica piano di migrazione.
    2. Selezionare il piano applicativo per il file di archivio dall'elenco e fare clic su Apri.

      Quando il processo di caricamento del piano di migrazione è completato, la pagina Modernizza <nome applicazione> visualizza i seguenti file di configurazione presenti nel piano:

      • server.xml è il file di configurazione di Liberty ed è necessario per avviare l'applicazione.
      • Containerfile è necessario solo per creare un'immagine del contenitore per l'applicazione Liberty .
    3. Selezionate i file da aggiungere al progetto e fate clic su Procedi.

      • (Obbligatorio) Selezionare il file server.xml .
      • (Facoltativo) Selezionare il file Containerfile solo se si sta creando un'immagine contenitore per l'applicazione Liberty .

    Al termine del caricamento del piano di migrazione, vengono visualizzati i problemi da risolvere o rivedere.

  3. Se l'analisi rileva i servizi JAX-RPC nell'applicazione, seguire le indicazioni sullo schermo per migrare i servizi JAX-RPC in servizi JAX-WS .

  4. Risolvere i problemi dell'applicazione.

    A seconda dei problemi da risolvere, la capacità di risolverli può essere automatizzata o autogestita. I problemi presenti nella scheda Informazioni aggiuntive non richiedono una modifica del codice, ma potrebbe essere necessario verificarli o testarli e apportare una modifica al codice, se lo si desidera.

Analizzare l'applicazione per modernizzarla

I passi seguenti presuppongono l'analisi dell'applicazione e non l'utilizzo di un piano di migrazione Application Modernization Accelerator per modernizzare l'applicazione. L'analisi fornisce un elenco di problemi da risolvere e una configurazione limitata del server nel file server.xml . Il file server.xml contiene un elenco di funzioni utilizzate dall'applicazione, ma non include altre informazioni di configurazione, come le connessioni al database o le configurazioni JMS.

Se si annullano le modifiche al codice, è necessario fare clic su Torna a caricare/analizzare ed eseguire un'analisi completa se si desidera modernizzare nuovamente l'applicazione.

  1. Nell'IDE, fare clic con il tasto destro del mouse sulla directory che si desidera modernizzare, fare clic su Modernize Java Applications, quindi su Modernize to Liberty.

  2. Nella pagina Modernizza <nome applicazione>, espandere Analizza applicazione e fare clic su Avvia analisi.

  3. Selezionare i parametri di analisi, che definiscono le regole in base alle quali viene analizzato il server applicativo.

    1. Selezionare l'origine del server applicazioni e la destinazione del server applicazioni.

    2. È possibile modificare la sorgente Java SE, che viene visualizzata automaticamente con un valore consigliato.

      Il valore consigliato si basa sulla versione di Java SE che Application Modernization Accelerator Developer Tools raccomanda per l'origine dell'application server. L'application server potrebbe utilizzare una versione di Java SE diversa da quella consigliata. Se lo è, cambiare il sorgente di Java SE con la versione utilizzata dal vostro application server.

      Ad esempio, Application Modernization Accelerator Developer Tools consiglia Java SE 8 per WebSphere Application Server V8.5.5 anche se il server dell'applicazione potrebbe utilizzare una versione precedente di Java SE.

      Importante: la versione minima supportata di Java è Java 5.
    3. Selezionare il target Java SE.

    4. Costruire l'applicazione e poi analizzarla.

      L'analisi dell'applicazione viene eseguita sul binario dell'applicazione. L'applicazione deve essere costruita prima di iniziare l'analisi.

      • Per le build di Maven, è possibile costruire l'applicazione manualmente o automaticamente.

        Fare clic su Analizza dopo aver creato manualmente l'applicazione o su Crea e analizza per creare e analizzare automaticamente l'applicazione.

        Dopo che l'applicazione è stata costruita e analizzata, vengono visualizzati i problemi da correggere o rivedere.

        Quando si fa clic su Costruisci e analizza, l'applicazione viene costruita con la versione sorgente Java corrente, in modo da poterla analizzare per individuare eventuali problemi di aggiornamento di Java . Assicuratevi di configurare l'IDE con il kit per sviluppatori Java della versione sorgente Java , in modo che l'IDE possa compilare correttamente l'applicazione.

      • Per le build che non utilizzano Maven, creare manualmente l'applicazione, selezionare il binario dell'applicazione e quindi fare clic su Analizza.

        Dopo che l'applicazione è stata costruita e analizzata, vengono visualizzati i problemi da correggere o rivedere.

  4. Se l'analisi rileva i servizi JAX-RPC nell'applicazione, seguire le indicazioni sullo schermo per migrare i servizi JAX-RPC in servizi JAX-WS .

  5. Risolvere i problemi dell'applicazione.

    Per le build Maven, a seconda dei problemi da risolvere, la possibilità di risolverli può essere automatizzata o autogestita.

    Poiché IBM Application Modernization Accelerator Developer Tools non può eseguire automazioni per build che non utilizzano Maven, i problemi da risolvere sono auto-diretti.

    I problemi presenti nella scheda Informazioni aggiuntive non richiedono una modifica del codice, ma potrebbe essere necessario verificarli o testarli e apportare una modifica al codice, se lo si desidera.

Migrazione dei servizi JAX-RPC ai servizi JAX-WS

A partire dalla versione IBM Application Modernization Accelerator Developer Tools 1.1, è possibile modernizzare i servizi JAX-RPC rilevati in servizi JAX-WS prima di affrontare qualsiasi altro problema di modernizzazione.
Importante:
  • Se si sta migrando a Jakarta EE 9 o a una versione successiva di Jakarta EE, migrare prima i servizi JAX-RPC a quelli JAX-WS . Altrimenti, l'helper per la migrazione dei sorgenti di JAX-RPC non può assistervi perché i servizi di JAX-RPC non sono disponibili a partire da Jakarta EE 9.
  • È inoltre necessario migrare i servizi di JAX-RPC a JAX-WS prima di effettuare qualsiasi altra correzione di modernizzazione. Se si eseguono prima altre correzioni di modernizzazione, la modernizzazione potrebbe aggiornare Java EE a una versione che non supporta i servizi JAX-RPC .

O migrare manualmente i servizi di JAX-RPC a quelli di JAX-WS o fare clic su Procedi. Quando si fa clic su Procedi, l'helper di migrazione dell'origine da JAX-RPC a JAX-WS assiste l'utente nella migrazione.

I passaggi seguenti presuppongono che si sia fatto clic su Procedi.

  1. Completate tutte le correzioni per i file di .wsdl .

    La migrazione JAX-RPC richiede di completare tutte le correzioni per un file .wsdl prima di lavorare su un altro file .wsdl dell'elenco.

    Le seguenti informazioni sono visualizzate nella pagina principale della migrazione di JAX-RPC . Utilizzarlo per completare la migrazione.
    Riavvia
    Se si desidera riavviare la migrazione, fare clic su Riavvia.
    Importante:
    • Quando si fa clic su Riavvia, viene visualizzato un messaggio che dice che se si desidera riavviare la migrazione, è necessario ripristinare tutte le modifiche al codice effettuate con le correzioni automatiche e le correzioni manuali. Se non si ripristinano tutte le modifiche e si riavvia la migrazione, i file di .wsdl per i quali sono state precedentemente eseguite le automazioni vengono visualizzati nella sezione Non supportati (migrazione manuale necessaria).
    • Se si è riavviata la migrazione di JAX-RPC senza ripristinare le modifiche al codice, fare clic su Riavvia di nuovo. Tornare a una versione del codice dell'applicazione che esisteva prima di modificare il flusso JAX-RPC attraverso aggiornamenti automatici, manuali o entrambi.
    In sospeso
    Se esiste una sezione Pending con uno o più file .wsdl elencati, selezionare la sezione.
    Selezionate ciascuno dei file di .wsdl e completate il seguente lavoro ad esso associato.
    1. Eseguire le automazioni.
      Quando si eseguono le automazioni, vengono eseguite le seguenti azioni.
      • L'applicazione viene modificata per migrare i servizi JAX-RPC a quelli JAX-WS .
      • La sezione Aggiornamenti manuali contiene indicazioni e link per l'aggiornamento manuale di specifici file di Java .
      • La sezione Esamina i file appena generati è popolata con nuovi Java parti create dalle ricette.
    2. Completa gli aggiornamenti manuali dei file Java specificati.
    3. Esaminare i file appena generati.
    4. Compilare manualmente l'applicazione.
    Completato
    Selezionare la sezione.

    Viene visualizzato un elenco dei file .wsdl completati e l'elenco viene aggiornato automaticamente.

    Non supportato (è necessaria la migrazione manuale)
    Selezionare la sezione.
    Se i file di .wsdl hanno caratteristiche che l'helper di migrazione dei sorgenti di JAX-RPC non supporta, i file sono contrassegnati come non supportati. È anche possibile contrassegnare i file .wsdl come non supportati, se le automazioni per essi vengono eseguite e falliscono.
    • Se l'helper di migrazione dell'origine ha aggiunto un file .wsdl a non supportato, migrare manualmente i servizi JAX-RPC nel file .wsdl .

      L'helper di migrazione dei sorgenti aggiunge un file .wsdl alla sezione non supportata quando il file .wsdl contiene caratteristiche non supportate

    • Se un file .wsdl è stato contrassegnato come non supportato, è possibile migrare manualmente i servizi JAX-RPC nel file .wsdl . In alternativa, è possibile riavviare la migrazione dei servizi JAX-RPC per eseguire le automazioni per il file .wsdl .
    Non utilizzato (sicuro da eliminare)
    Selezionare la sezione per visualizzare i file inutilizzati di .wsdl .

    È possibile eliminare i file poiché non vengono utilizzati nell'applicazione.

    Una volta completate tutte le correzioni per i file .wsdl , vale a dire che l'indicatore dei WSDL totali da correggere è 0, la migrazione di JAX-RPC è completa per le parti che l'helper di migrazione dei sorgenti JAX-RPC può aiutare.

    Ricordare: prima di fare clic sul pulsante Costruisci e analizza visualizzato, migrare manualmente i file di .wsdl nella sezione non supportata, in modo da completare la migrazione ai servizi JAX-WS .
  2. Fare clic su Costruisci e analizza.

    L'applicazione migrata ai servizi JAX-WS viene sottoposta a una nuova scansione per individuare eventuali problemi di modernizzazione residui.

  3. Risolvere i problemi dell'applicazione.

    Per le build Maven, a seconda dei problemi da risolvere, la possibilità di risolverli può essere automatizzata o autogestita.

    Per le build che non usano Maven, i problemi da risolvere sono autogestiti.

    I problemi presenti nella scheda Informazioni aggiuntive non richiedono una modifica del codice, ma potrebbe essere necessario verificarli o testarli e apportare una modifica al codice, se lo si desidera.

Correzione di problemi e revisione di informazioni aggiuntive per la vostra applicazione

A seconda dei problemi da risolvere, la capacità di risolverli può essere automatizzata o autogestita. I problemi presenti nella scheda Informazioni aggiuntive non richiedono una modifica del codice, ma potrebbe essere necessario verificarli o testarli e apportare una modifica al codice, se lo si desidera.

La pagina Modernizza <nome applicazione> elenca le seguenti informazioni:

  • L'origine del server applicativo e la destinazione del server applicativo
  • La sorgente della versione Java SE e la destinazione della versione Java SE
  • Collegamenti a un rapporto sulla tecnologia, a un rapporto sull'inventario e a un rapporto di analisi
  • Schede per i problemi da risolvere, che possono essere automatici o autogestiti, e informazioni aggiuntive.

Il kit per sviluppatori del target Java è necessario quando si eseguono correzioni automatiche e quando si costruisce l'applicazione dopo che sono state apportate le modifiche al target della versione Java . Assicuratevi che il kit di sviluppo Java sia configurato per il vostro IDE.

  • I plug-in per Eclipse IDE e l'IDE IntelliJ cercano automaticamente di trovare il kit di sviluppo Java corretto. Il kit di sviluppo Java deve corrispondere alla versione target Java dall'insieme di tutti i kit di sviluppo Java configurati negli IDE.
  • Nell'IDE Visual Studio Code , è necessario modificare manualmente la configurazione del kit di sviluppo Java .
Completamento delle correzioni automatiche per le build di Maven

Se esiste una scheda Correzioni automatiche con una o più correzioni, selezionare la scheda.

Poiché Application Modernization Accelerator Developer Tools completa le correzioni per voi, non è necessario apportare alcuna modifica al codice.

  1. Espandere le istruzioni e leggerle.
  2. Aprire facoltativamente il problema per rivederne la descrizione.
  3. Fare clic su Esegui correzioni automatiche.
    • Le correzioni automatiche sono state risolte.
    • I problemi esterni rimangono nell'elenco finché non si aggiorna la dipendenza associata.
  4. Al termine dell' esecuzione delle correzioni automatiche, fare clic su Ricostruisci e aggiorna per aggiornare l'elenco dei problemi.
Importante: se le correzioni automatiche non vengono eseguite e producono errori di compilazione nell'output della console, assicurarsi di aggiornare la versione del plug-in maven-compiler a 3.13.0 o a una versione più recente.
Completare le correzioni autogestite

Se è presente una scheda Correzioni autogestite con una o più correzioni, selezionare la scheda.

Si modifica il codice e si stabilisce come correggerlo.

  1. Espandere le Istruzioni e seguire le istruzioni.
  2. Espandere ogni numero.
  3. Fare clic su Leggi tutto per approfondire il tema.
  4. Fare clic sul file elencato nel problema. Il file si apre nell'editor.
  5. Quando si risolvono i problemi, fare clic su Ricostruisci e aggiornare fino a quando tutte le correzioni autodirette sono state risolte.
Suggerimento: per alcune correzioni autonome, potresti essere in grado di utilizzare le funzionalità generative dell'IA in watsonx Code Assistant™ for Enterprise Java Applications.
Indirizzare le informazioni aggiuntive

Se è presente una scheda Informazioni aggiuntive con un numero pari o superiore a uno, selezionare la scheda.

I problemi elencati nella scheda sono determinati nello stesso modo in cui sono determinati i problemi delle altre schede. Sebbene i problemi relativi alle informazioni aggiuntive non richiedano una modifica del codice, è necessario esaminarli per assicurarsi che l'applicazione funzioni quando il codice viene migrato.

Le informazioni aggiuntive potrebbero indicare problemi, come piccole modifiche comportamentali in un'API o problemi di connettività nei database o nei registri degli utenti, e cosa fare al riguardo.

Ad esempio, si dispone di un database a cui l'applicazione si connette. Leggete il numero per questa situazione. Quindi, ci si assicura che l'host e la porta configurati per l'applicazione siano validi e accessibili quando l'applicazione viene migrata.

  • Espandere le istruzioni e seguirle.

  • Fare clic su ogni numero.

    • Fare clic su Leggi tutto per approfondire il tema.
    • Fate clic sul link del file elencato nel problema per esaminare il codice.
Lavorare su questioni esterne all'applicazione corrente

Mentre si lavora sulle correzioni, alcune potrebbero essere classificate come problemi esterni all'applicazione corrente. Il codice sorgente per questi problemi si trova in archivi specifici che non fanno parte dell'applicazione sorgente corrente.

Se l'archivio è una biblioteca di proprietà dell'organizzazione, completare i passaggi seguenti.

  1. Aprite il codice sorgente associato come applicazione separata e usate Application Modernization Accelerator Developer Tools per correggere i problemi.
  2. Aggiornare l'applicazione corrente per utilizzare la nuova versione corretta.

Se l'archivio è una biblioteca non di proprietà dell'organizzazione, completare il passaggio seguente.

  • Aggiornare a una versione che non contenga questo problema.

    Se non esiste una versione simile, potrebbe essere necessario utilizzare una tecnologia diversa.