Modernisation des applications Java

watsonx Code Assistant Plan standard

Vous pouvez moderniser votre application vers Liberty. Pour moderniser votre application, vous devez d'abord télécharger un paquet de migration ou créer et analyser votre application, puis résoudre les problèmes liés à votre application.

Avant de commencer, configurez votre environnement Java d'entreprise.

Les sources de serveurs d'application que vous pouvez choisir sont les suivantes :

  • Apache Serveur d'application Tomcat
  • Serveur d'applications JBoss
  • Weblogic Application Server
  • WebSphere Application Server traditionnelle V6.1
  • WebSphere Application Server traditionnelle V7.0
  • WebSphere Application Server traditionnelle V8.0
  • WebSphere Application Server traditionnelle V8.5.5
  • WebSphere Application Server traditionnelle V9.0
  • Autres serveurs d'application tiers

Eclipse IDE uniquement: Pour obtenir les meilleurs résultats avec une application Java multimodule, veillez à importer le module agrégateur et chaque sous-module en tant que projets distincts dans l'espace de travail Eclipse. il est peu probable que Watsonx Code Assistant réussisse à inspecter votre projet si vous importez le répertoire de premier niveau en tant que projet unique.

Complétez soit les étapes de téléchargement du paquet de migration de votre application, soit les étapes d'analyse de votre application. Après avoir effectué une série d'étapes, vous pouvez ensuite corriger les problèmes liés à la migration. Les étapes pour résoudre les problèmes sont les mêmes pour les étapes de l'offre groupée de migration et l'analyse de l'application. Une fois les problèmes résolus, vous disposez d'une application modernisée.

Temps nécessaire à l'analyse de votre code

Le temps nécessaire à l'analyse de votre candidature varie. Les horaires suivants sont typiques.

Temps nécessaire à l'analyse
Durée Détails de l'application
Quelques secondes à quelques minutes Moins de 100 classes
2 à 10 minutes 20 000 à 50 000 lignes de code
10 minutes ou plus 300 000 lignes de code

Lorsque watsonx Code Assistant analyse votre application, il exclut par défaut certains paquets tiers de l'analyse du code. Pour plus d'informations, voir Paquets tiers exclus de l'analyse des applications.

Utiliser un paquet de migration pour moderniser votre application

Les étapes suivantes supposent que vous utilisez la version 3.10 ou ultérieure de IBM Cloud® Transformation Advisor pour générer un paquet de migration. L'offre groupée de migration contient une liste de questions de modernisation qui doivent être abordées. Il contient également des informations de configuration générées automatiquement pour permettre à l'application de fonctionner correctement dans Liberty.

Si vous avez déjà téléchargé et analysé un lot de migration pour votre projet, le téléchargement d'un nouveau lot de migration écrase l'analyse existante.

Avant de moderniser votre application, effectuez une compilation complète de celle-ci afin de vous assurer que vous partez d'une compilation valide. Cette construction garantit également que les fichiers de classe sont à jour avec le dernier code source, ce qui est une condition préalable à l'exécution d'automatisations qui ajoutent des modifications pour les mises à niveau de version d' Java.

Si vous annulez les modifications apportées à votre code, vous devez cliquer sur Retour pour télécharger/analyser et effectuer une analyse complète si vous souhaitez moderniser à nouveau votre application.

  1. Dans votre IDE, cliquez avec le bouton droit de la souris sur n'importe quel élément de la hiérarchie dans le répertoire de l'application que vous souhaitez moderniser.

  2. L'une ou l'autre voie permet de lancer le processus de modernisation. Les deux sont identiques :

    • Cliquez sur watsonx Code Assistant puis cliquez sur Moderniser vers Liberty.
    • Cliquez sur Moderniser les applications Java, puis sur Moderniser vers Liberty.
  3. Sur la page Moderniser <votrenom d'application>, téléchargez le paquet de migration.

    L'IDE analyse le dossier de votre projet, recueille des informations sur votre application, puis télécharge le paquet de migration que Transformation Advisor génère.

    1. Cliquez sur Télécharger le paquet de migration.

    2. Sélectionnez le fichier " .zip du paquet d'applications dans la liste et cliquez sur Ouvrir.

      Lorsque le processus de téléchargement du paquet de migration est terminé, la page Moderniser <votre*nom d'application>*affiche les fichiers de configuration suivants qui se trouvent dans le paquet :

      • server.xml est le fichier de configuration de Liberty et est nécessaire pour démarrer votre application.
      • Containerfile n'est nécessaire que pour construire une image de conteneur pour votre application Liberty.
    3. Sélectionnez les fichiers à ajouter à votre projet et cliquez sur " Proceed.

      • (Obligatoire) Sélectionnez le fichier " server.xml.
      • (Facultatif) Sélectionnez le fichier 'Containerfile uniquement si vous construisez une image de conteneur pour votre application Liberty.

    Lorsque le téléchargement du paquet de migration est terminé, les problèmes à résoudre ou à examiner s'affichent.

  4. Corriger les problèmes liés à l'application.

    En fonction des problèmes à résoudre, la capacité à les résoudre peut être automatisée, assistée ou autogérée. Les questions figurant dans l'onglet Informations complémentaires ne nécessitent pas de modification du code, mais il se peut que vous deviez les vérifier ou les tester et procéder à une modification du code si vous le souhaitez.

Analyser votre application pour la moderniser

Les étapes suivantes supposent que vous analysez votre application au lieu d'utiliser un paquet de migration Transformation Advisor pour moderniser votre application. L'analyse vous fournit une liste de problèmes à résoudre et une configuration de serveur limitée dans le fichier 'server.xml. Le fichier d' server.xml s contient une liste des fonctionnalités utilisées par votre application, mais il n'inclut pas d'autres informations de configuration telles que les connexions aux bases de données ou les configurations JMS.

Si vous annulez les modifications apportées à votre code, vous devez cliquer sur Retour pour télécharger/analyser et effectuer une analyse complète si vous souhaitez moderniser à nouveau votre application.

  1. Dans votre IDE, cliquez avec le bouton droit de la souris sur n'importe quel élément de la hiérarchie dans le répertoire de l'application que vous souhaitez moderniser.

  2. L'une ou l'autre voie permet de lancer le processus de modernisation. Les deux sont identiques :

    • Cliquez sur watsonx Code Assistant puis cliquez sur Moderniser vers Liberty.
    • Cliquez sur Moderniser les applications Java, puis sur Moderniser vers Liberty.
  3. Sur la page Moderniser*<nom de l'application>*, développez l'option Analyser l'application et cliquez sur Démarrer l'analyse.

  4. Sélectionnez les paramètres d'analyse, qui définissent les règles par rapport auxquelles le serveur d'application est analysé.

    1. Sélectionnez la source du serveur d'application et la cible du serveur d'application.

    2. Il est possible de modifier la source Java SE, qui s'affiche automatiquement avec une valeur recommandée.

      La valeur recommandée est basée sur la version de Java SE que watsonx Code Assistant recommande pour la source du serveur d'application. Il se peut que votre serveur d'application utilise une version de Java SE différente de celle recommandée. Si c'est le cas, modifiez la source Java SE pour obtenir la version utilisée par votre serveur d'application.

      Par exemple, watsonx Code Assistant recommande Java SE 8 pour WebSphere Application Server V8.5.5 même si votre serveur d'application peut utiliser une version antérieure de Java SE.

      La version minimale de Java prise en charge est Java 5.

    3. Sélectionnez la cible Java SE.

    4. Cliquez sur Analyser ou Construire et analyser.

      L'analyse de l'application est effectuée sur le binaire de l'application. L'application doit être construite avant le début de l'analyse. Vous pouvez construire l'application automatiquement ou manuellement.

      • Pour créer et analyser automatiquement l'application, cliquez sur Créer et analyser.
      • Si vous créez manuellement l'application, commencez par la créer, puis cliquez sur Analyser.

      Après la construction et l'analyse de votre application, les problèmes à résoudre ou à revoir sont affichés.

      Lorsque vous cliquez sur Build and analyze (Créer et analyser ), l'application est créée dans sa version source d' Java, afin de pouvoir être analysée pour détecter d'éventuels problèmes de mise à niveau d' Java. Assurez-vous que l'IDE dispose du kit de développement ( Java ) de la version source ( Java ) configurée pour que l'IDE puisse construire l'application avec succès.

  5. Corriger les problèmes liés à l'application.

    En fonction des problèmes à résoudre, la capacité à les résoudre peut être automatisée, assistée ou autogérée. Les questions figurant dans l'onglet Informations complémentaires ne nécessitent pas de modification du code, mais il se peut que vous deviez les vérifier ou les tester et procéder à une modification du code si vous le souhaitez.

Pourquoi un fichier.class est-il inclus dans un rapport d'analyse au lieu d'un fichier.java?

Lorsque vous effectuez une analyse d'un fichier binaire (JAR/WAR/EAR), les problèmes sont toujours découverts dans les fichiers de classe. Lorsque l'analyseur binaire est exécuté en dehors de watsonx Code Assistant, il n'a pas accès au code source, de sorte que le fichier.class est inclus dans le rapport d'analyse. Lorsque vous importez un plan de migration ou que vous exécutez une analyse à l'intérieur de watsonx Code Assistant, les rapports font référence à des fichiers de classe, mais watsonx Code Assistant relie le fichier.class au fichier.java, et les fichiers.java sont affichés dans l'interface utilisateur de watsonx Code Assistant.

Correction des problèmes et examen des informations complémentaires pour votre demande

La page Moderniser*<nom de l'application>*contient les informations suivantes :

  • La source du serveur d'application et la cible du serveur d'application
  • La version Java SE source et la version Java SE cible
  • Liens vers un rapport technologique, un rapport d'inventaire et un rapport d'analyse
  • Onglets pour les problèmes à résoudre, qui peuvent être automatisés, assistés ou autogérés, et informations supplémentaires.

Le kit de développement Java cible est nécessaire lorsque vous exécutez des corrections automatisées et lorsque vous construisez l'application après que les modifications de la version Java cible ont été effectuées. Assurez-vous que le kit de développement Java cible est configuré pour votre IDE.

  • L'extension Eclipse IDE tente automatiquement de trouver le kit de développement Java correct qui correspond à la version Java cible à partir de l'ensemble de tous les kits de développement Java configurés dans l'IDE.
  • Dans l'IDE Visual Studio Code, vous devez modifier manuellement la configuration du kit de développement Java.

Achèvement des corrections automatisées

Si vous avez un onglet Corrections automatisées avec une ou plusieurs corrections, sélectionnez l'onglet.

Comme watsonx Code Assistant effectue les corrections pour vous, vous n'avez pas besoin de modifier le code. Le grand modèle linguistique (LLM) n'est pas utilisé pour les corrections automatiques.

  1. Développez les instructions et lisez-les.
  2. Il est possible d'ouvrir le problème pour en consulter la description.
  3. Cliquez sur Exécuter les corrections automatiques.
    • Les correctifs automatisés sont corrigés.
    • Les questions externes restent dans la liste jusqu'à ce que vous mettiez à jour la dépendance associée.
  4. Lorsque l'exécution des corrections automatisées est terminée, cliquez sur Reconstruire et actualiser pour mettre à jour la liste des problèmes.

Si les correctifs automatisés ne s'exécutent pas et produisent des erreurs de compilation dans la sortie de la console, assurez-vous de mettre à jour la version du plug-in d' maven-compiler s vers 3.13.0 ou une version plus récente.

Compléter les corrections assistées

Si vous avez un onglet Corrections assistées avec une ou plusieurs corrections, sélectionnez l'onglet.

Bien que vous corrigiez votre code, watsonx Code Assistant vous assiste en fournissant des suggestions dans le chat sur la manière de modifier votre code.

Le niveau d'assistance disponible pour les questions varie en fonction de la question. Les correctifs assistés vous aident à résoudre le problème, et parfois une suggestion de code vous permet de le résoudre entièrement ou en grande partie. Dans d'autres cas, la suggestion de code peut être aussi simple que la suppression d'une ancienne API pour éviter un échec de compilation, et aucune autre action n'est requise de votre part. Il est important de suivre les étapes de chaque correction assistée pour comprendre la valeur et les limites de chacune d'entre elles. Dans les cas où une suggestion de code complète n'est pas fournie, vous pouvez considérer la correction assistée comme un déclencheur de conversation dans le chat. Continuez à participer au chat pour mieux comprendre le problème et sa résolution.

Pour une liste des problèmes associés aux corrections assistées, voir la référence des corrections assistées.

Pour utiliser les correctifs assistés :

  1. Développez les instructions et suivez-les.

  2. Pour chaque question, développez-la.

  3. Cliquez sur Lire la suite pour développer le numéro.

  4. Cliquez sur le fichier répertorié dans le problème.

    Le fichier s'ouvre dans l'éditeur.

  5. Développez la question pour en afficher les détails.

  6. Si, dans les détails, il vous est demandé de sélectionner un extrait de code, sélectionnez-le.

  7. Cliquez sur Aidez-moi pour obtenir de l'aide afin de résoudre le problème.

    Si vous utilisez Visual Studio Code, les restrictions suivantes s'appliquent :

    • Veillez à ne sélectionner le code Java que dans un seul éditeur actif.
    • Assurez-vous que l'éditeur actif dans lequel vous avez sélectionné le code Java se trouve dans un groupe d'éditeurs différent de celui de la vue Moderniser vers Liberty ou Java Upgrade.
  8. Suivez les suggestions de code dans le chat afin de modifier le code pour corriger les problèmes.

    Parfois, le chat fournit une réponse informative au lieu d'une suggestion de code.

  9. Lorsque vous corrigez des problèmes, cliquez sur Reconstruire et actualisez jusqu'à ce que toutes les corrections assistées soient corrigées.

Effectuer des corrections en autonomie

Si vous avez un onglet Corrections auto-dirigées avec une ou plusieurs corrections, sélectionnez l'onglet.

Vous modifiez le code et déterminez comment le corriger, mais vous pouvez obtenir de l'aide sur le chat.

  1. Développez les instructions et suivez-les.

  2. Développez chaque numéro.

  3. Cliquez sur Lire la suite pour développer le numéro.

  4. Cliquez sur le fichier répertorié dans le problème.

    Le fichier s'ouvre dans l'éditeur.

  5. Cliquez sur Démarrer le chat, qui s'affiche pour chaque occurrence du problème.

    La fenêtre de chat s'ouvre pour que vous puissiez obtenir de l'aide pour l'incident. Par exemple, vous pouvez demander à l'assistant de code ce que fait le code actuel. Vous pouvez également demander s'il existe une autre solution pour le code qui pose problème.

  6. Lorsque vous corrigez des problèmes, cliquez sur Reconstruire et actualisez jusqu'à ce que toutes les corrections automatiques soient effectuées.

Adresser des informations complémentaires

Si vous disposez d'un onglet Informations complémentaires comportant un ou plusieurs numéros, sélectionnez cet onglet.

Les problèmes répertoriés dans l'onglet sont déterminés de la même manière que ceux des autres onglets. Bien que les problèmes d'informations supplémentaires ne nécessitent pas de modification de votre code, examinez-les afin de vous assurer que votre application fonctionne lorsque votre code est migré.

Les informations supplémentaires peuvent indiquer des problèmes, tels que des changements mineurs de comportement dans une API ou des problèmes de connectivité dans les bases de données ou les registres d'utilisateurs, et ce qu'il faut faire à leur sujet.

Par exemple, vous avez une base de données à laquelle votre application se connecte. En lisant le problème pour cette situation, vous vous assurez que l'hôte et le port configurés pour l'application sont valides et accessibles lorsque l'application est migrée.

  • Développez les instructions et suivez-les.

  • Cliquez sur chaque numéro.

    • Cliquez sur Lire la suite pour développer le numéro.
    • Cliquez sur le lien du fichier listé dans le numéro pour consulter le code.

Travailler sur des questions externes en dehors de l'application actuelle

Pendant que vous travaillez sur les correctifs, certains peuvent être classés comme des problèmes externes à l'application en cours. Le code source de ces problèmes se trouve dans des archives spécifiques qui ne font pas partie de l'application source actuelle.

Si l'archive est une bibliothèque appartenant à votre organisation :

  1. Vous pouvez ouvrir le code source associé en tant qu'application distincte et utiliser watsonx Code Assistant pour remédier aux problèmes qui s'y trouvent.

  2. Ensuite, vous pouvez mettre à jour votre application actuelle pour utiliser la nouvelle version remédiée.

Si les archives sont une bibliothèque dont votre organisation n'est pas propriétaire :

  1. Vous devez mettre à jour vers une version qui ne contient pas ce problème. Si une telle version n'existe pas, il se peut que vous deviez utiliser une autre technologie.

  2. Vous pouvez entamer une conversation avec watsonx Code Assistant pour obtenir de l'aide dans la détermination d'un remplacement. Pour commencer, essayez de demander What is the library X used for? ou Is it easy to replace?. Poursuivez la conversation pour obtenir plus d'informations sur votre utilisation spécifique de la bibliothèque.