Modernización de aplicaciones Java

watsonx Code Assistant Plan estándar

Puedes modernizar tu aplicación a Liberty. Para modernizar su aplicación, primero debe cargar un paquete de migración o compilar y analizar su aplicación y, a continuación, solucionar los problemas de la aplicación.

Antes de empezar, configure su entorno Java empresarial.

Las fuentes del servidor de aplicaciones que puede elegir son:

  • Apache Servidor de aplicaciones Tomcat
  • Servidor de aplicaciones JBoss
  • Weblogic Application Server
  • WebSphere Application Server tradicional V6.1
  • WebSphere Application Server tradicional V7.0
  • WebSphere Application Server tradicional V8.0
  • WebSphere Application Server tradicional V8.5.5
  • WebSphere Application Server tradicional V9.0
  • Otros servidores de aplicaciones de terceros

Sólo Eclipse IDE: Para obtener los mejores resultados con una aplicación Java multimódulo, asegúrese de importar el módulo agregador y cada submódulo como proyectos independientes dentro del espacio de trabajo Eclipse. es poco probable que Watsonx Code Assistant introspeccione correctamente su proyecto si importa el directorio de nivel superior como un único proyecto.

Complete los pasos para cargar su paquete de migración de aplicaciones o los pasos para analizar su aplicación. Después de completar un conjunto de pasos, puede solucionar los problemas con la migración. Los pasos para solucionar los problemas son los mismos tanto para los pasos del paquete de migración como para el análisis de la aplicación. Una vez solucionados los problemas, dispondrá de una aplicación modernizada.

Tiempo necesario para analizar su código

El tiempo necesario para analizar su solicitud varía. Los siguientes horarios son típicos.

Tiempo necesario para analizar
Hora Detalles de aplicación
Segundos a unos minutos Menos de 100 clases
de 2 a 10 minutos de 20 000 a 50 000 líneas de código
10 minutos o más 300 000 líneas de código

Cuando watsonx Code Assistant analiza tu aplicación, excluye por defecto algunos paquetes de terceros del análisis de código. Para más información, consulte Paquetes de terceros excluidos del análisis de aplicaciones.

Uso de un paquete de migración para modernizar su aplicación

Los siguientes pasos suponen que está utilizando IBM Cloud® Transformation Advisor versión 3.10 o posterior para generar un paquete de migración. El paquete de migración contiene una lista de cuestiones de modernización que deben abordarse. También contiene información de configuración generada automáticamente para que la aplicación funcione correctamente en Liberty.

Si ya ha cargado y analizado un paquete de migración para su proyecto, al cargar un nuevo paquete de migración se sobrescribe el análisis existente.

Antes de modernizar su aplicación, haga una compilación completa de la misma para asegurarse de que está empezando a partir de una compilación de aplicación buena y conocida. Esta compilación también garantiza que los archivos de clase estén actualizados con el código fuente más reciente, lo cual es un requisito antes de ejecutar automatizaciones que agregan cambios para actualizaciones de versión de Java.

Si revierte los cambios en su código, debe hacer clic en Volver a cargar / analizar y realizar un análisis completo si desea modernizar su aplicación de nuevo.

  1. En su IDE, haga clic con el botón derecho en cualquier elemento de la jerarquía en el directorio de la aplicación que desea modernizar.

  2. Utilice cualquiera de las dos vías para iniciar el proceso de modernización. Ambos son iguales:

    • Haga clic en watsonx Code Assistant y, a continuación, en Modernizar a Liberty.
    • Haga clic en Modernizar Java Aplicaciones y, a continuación, en Modernizar a Liberty.
  3. En la página Modernizar <el nombre de su solicitud>, cargue el paquete de migración.

    El IDE analiza su carpeta de proyecto, recopila información sobre su aplicación y, a continuación, carga el paquete de migración que genera Transformation Advisor.

    1. Haga clic en Cargar paquete de migración.

    2. Seleccione el archivo del paquete de aplicaciones ' .zip ' de la lista y haga clic en Abrir.

      Cuando finaliza el proceso de carga del paquete de migración, la página Modernizar <el nombre de su solicitud> muestra los siguientes archivos de configuración que se encuentran en el paquete:

      • server.xml es el archivo de configuración para Liberty y es necesario para iniciar tu aplicación.
      • Containerfile sólo es necesario para construir una imagen contenedora para tu aplicación Liberty.
    3. Seleccione los archivos que desea añadir al proyecto y haga clic en " Proceed.

      • (Obligatorio) Seleccione el archivo " server.xml ".
      • (Opcional) Selecciona el archivo ' Containerfile ' sólo si estás construyendo una imagen contenedora para tu aplicación Liberty.

    Cuando finaliza la carga del paquete de migración, se muestran las incidencias que hay que corregir o revisar.

  4. Solucionar problemas con la aplicación.

    En función de los problemas que haya que solucionar, la capacidad para solucionarlos puede ser automatizada, asistida o autodirigida. Las incidencias de la pestaña Información adicional no requieren un cambio de código, pero es posible que tenga que verificarlas o probarlas y realizar un cambio de código si lo desea.

Analizar su aplicación para modernizarla

Los siguientes pasos suponen que está analizando su aplicación en lugar de utilizar un paquete de migración Transformation Advisor para modernizar su aplicación. El análisis le proporciona una lista de problemas a resolver y una configuración limitada del servidor en el archivo " server.xml ". El archivo " server.xml " contiene una lista de las funciones que utiliza su aplicación, pero no incluye otra información de configuración, como conexiones de bases de datos o configuraciones JMS.

Si revierte los cambios en su código, debe hacer clic en Volver a cargar / analizar y realizar un análisis completo si desea modernizar su aplicación de nuevo.

  1. En su IDE, haga clic con el botón derecho en cualquier elemento de la jerarquía en el directorio de la aplicación que desea modernizar.

  2. Utilice cualquiera de las dos vías para iniciar el proceso de modernización. Ambos son iguales:

    • Haga clic en watsonx Code Assistant y, a continuación, en Modernizar a Liberty.
    • Haga clic en Modernizar Java Aplicaciones y, a continuación, en Modernizar a Liberty.
  3. En su página Modernizar <el nombre de su solicitud, expanda Analizar la aplicación y haga clic en Iniciar análisis.

  4. Seleccione los parámetros de análisis, que definen las reglas con las que se analiza el servidor de aplicaciones.

    1. Seleccione el servidor de aplicaciones de origen y el servidor de aplicaciones de destino.

    2. Opcionalmente, cambie la fuente Java SE, que se muestra automáticamente con un valor recomendado.

      El valor recomendado se basa en la versión de Java SE que watsonx Code Assistant recomienda para el origen del servidor de aplicaciones. Es posible que su servidor de aplicaciones utilice una versión de Java SE distinta de la recomendada. Si es así, cambie el código fuente de Java SE a la versión que utiliza su servidor de aplicaciones.

      Por ejemplo, watsonx Code Assistant recomienda Java SE 8 para WebSphere Application Server V8.5.5 aunque su servidor de aplicaciones pueda estar utilizando una versión anterior de Java SE.

      La versión mínima de Java es Java 5.

    3. Seleccione el objetivo Java SE.

    4. Haga clic en Analizar o en Construir y analizar.

      El análisis de la aplicación se realiza en el binario de la aplicación. La aplicación debe crearse antes de iniciar el análisis. Puede crear la aplicación automática o manualmente.

      • Para crear y analizar automáticamente la aplicación, haga clic en Crear y analizar.
      • Si construye la aplicación manualmente, primero constrúyala y luego haga clic en Analizar.

      Una vez creada y analizada la aplicación, se muestran los problemas que hay que corregir o revisar.

      Cuando haces clic en Crear y analizar, la aplicación se crea en su versión de origen de Java actual para que se pueda analizar en busca de problemas de actualización de Java. Asegúrese de que el IDE tiene el kit de desarrollo IDE ( Java ) de la versión fuente de Java configurado para que el IDE pueda compilar correctamente la aplicación.

  5. Solucionar problemas con la aplicación.

    En función de los problemas que haya que solucionar, la capacidad para solucionarlos puede ser automatizada, asistida o autodirigida. Las incidencias de la pestaña Información adicional no requieren un cambio de código, pero es posible que tenga que verificarlas o probarlas y realizar un cambio de código si lo desea.

¿Por qué se incluye un archivo.class en un informe de análisis en lugar del archivo.java?

Cuando se ejecuta un análisis de un binario (JAR/WAR/EAR), los problemas siempre se descubren en los archivos de clase. Cuando el escáner binario se ejecuta fuera de watsonx Code Assistant, no tiene acceso al código fuente, por lo que el archivo.class se incluye en el informe del análisis. Cuando se importa un plan de migración, o cuando se ejecuta un análisis dentro de watsonx Code Assistant, los informes muestran referencias a archivos de clase, pero watsonx Code Assistant vincula el archivo.class al archivo.java, y los archivos.java se muestran en la interfaz de usuario watsonx Code Assistant.

Solución de problemas y revisión de información adicional para su solicitud

La página Modernizar <el nombre de su solicitud> muestra la siguiente información:

  • El servidor de aplicaciones de origen y el servidor de aplicaciones de destino
  • La versión de Java SE de origen y la versión de Java SE de destino
  • Enlaces a un informe tecnológico, un informe de inventario y un informe de análisis
  • Pestañas para los problemas que hay que solucionar, que pueden ser soluciones automatizadas, asistidas o autodirigidas, e información adicional.

El kit de desarrollador de Java de destino es necesario cuando se ejecutan correcciones automatizadas y cuando se compila la aplicación después de realizar los cambios de destino de la versión de Java. Asegúrese de que el kit de desarrollo Java de destino está configurado para su IDE.

  • La extensión Eclipse IDE intenta encontrar automáticamente el kit de desarrollador de Java correcto que coincida con el objetivo de versión de Java del conjunto de todos los kits de desarrollador de Java configurados en el IDE.
  • En el IDE de Visual Studio Code, debe cambiar manualmente la configuración del kit de desarrollo de Java.

Realización de correcciones automáticas

Si tiene una pestaña Correcciones automáticas con una o varias correcciones, seleccione la pestaña.

Como watsonx Code Assistant completa las correcciones por ti, no necesitas hacer ningún cambio en el código. El gran modelo lingüístico (LLM) no se utiliza para correcciones automáticas.

  1. Amplíe las instrucciones y léalas.
  2. Si lo desea, abra la incidencia para revisar su descripción.
  3. Haga clic en Ejecutar correcciones automáticas.
    • Las correcciones automatizadas están arregladas.
    • Las incidencias externas permanecen en la lista hasta que se actualiza la dependencia asociada.
  4. Cuando finalice la ejecución de correcciones automáticas, haga clic en Reconstruir y actualizar para actualizar la lista de incidencias.

Si las correcciones automáticas no se ejecutan y producen errores de compilación en la salida de la consola, asegúrese de actualizar la versión del complemento maven-compiler a 3.13.0 o una versión más reciente.

Completar las correcciones asistidas

Si tiene una pestaña de Correcciones asistidas con una o varias correcciones, seleccione la pestaña.

Aunque corrijas tu código, watsonx Code Assistant te ayuda proporcionándote sugerencias en el chat sobre cómo cambiar tu código.

El nivel de asistencia disponible para los problemas varía según el tema. Las correcciones asistidas le ayudan a solucionar el problema y, a veces, una sugerencia de código le lleva hasta el final o casi. Otras veces, la sugerencia de código puede ser tan simple como eliminar una API antigua para evitar un fallo de compilación, y no se requiere ninguna otra acción por su parte. Es importante seguir los pasos para cada arreglo asistido para comprender el valor y las limitaciones de cada arreglo asistido. En los casos en los que no se proporcione una sugerencia de código completa, puede pensar en la solución asistida como un tema de conversación en el chat. Sigue participando en el chat para comprender mejor el problema y su resolución.

Para obtener una lista de los problemas asociados a las correcciones asistidas, consulte el " Referencia de correcciones asistidas" .

Para utilizar correcciones asistidas:

  1. Amplíe las Instrucciones y siga las instrucciones.

  2. Para cada tema, amplíalo.

  3. Haga clic en Leer más para ampliar el problema.

  4. Haga clic en el archivo que aparece en la edición.

    El archivo se abre en el editor.

  5. Expanda la incidencia para ver los detalles de la misma.

  6. Si en los detalles se le pide que seleccione un fragmento de código, selecciónelo.

  7. Haga clic en Ayuda para obtener asistencia para solucionar el problema.

    Si utiliza Visual Studio Code, se aplicarán las siguientes restricciones:

    • Asegúrese de seleccionar el código Java en un solo editor activo.
    • Asegúrese de que el editor activo en el que ha seleccionado el código Java se encuentra en un grupo de editores diferente al de la vista Modernizar hacia la libertad o Java Actualizar.
  8. Siga las sugerencias de código en el chat para modificar el código y solucionar los problemas.

    A veces, el chat proporciona una respuesta informativa en lugar de una sugerencia de código.

  9. A medida que solucione los problemas, haga clic en Reconstruir y actualice hasta que se solucionen todas las correcciones asistidas.

Realización de correcciones autodirigidas

Si tiene una pestaña Correcciones autodirigidas con una o varias correcciones, seleccione la pestaña.

Cambia el código y determina cómo arreglarlo, pero puedes obtener ayuda del chat.

  1. Amplíe las Instrucciones y siga las instrucciones.

  2. Amplíe cada número.

  3. Haga clic en Leer más para ampliar el problema.

  4. Haga clic en el archivo que aparece en la edición.

    El archivo se abre en el editor.

  5. Haga clic en Iniciar chat, que se muestra para cada incidencia.

    Se abre la ventana de chat para que puedas obtener ayuda para la incidencia. Por ejemplo, puede preguntar al asistente de código qué hace el código actual. O puede preguntar si existe una implementación alternativa para el código problemático.

  6. A medida que solucione los problemas, haga clic en Reconstruir y actualice hasta que se solucionen todas las correcciones autodirigidas.

Información adicional

Si tiene una pestaña Información adicional con un número de uno o más en ella, seleccione la pestaña.

Los problemas que figuran en la pestaña se determinan de la misma manera que los problemas de otras pestañas. Aunque los problemas de información adicional no requieren un cambio en su código, revise los problemas para asegurarse de que su aplicación funciona cuando se migre su código.

La información adicional podría indicar problemas, como cambios de comportamiento menores en una API o problemas de conectividad en bases de datos o registros de usuarios, y qué hacer al respecto.

Por ejemplo, tiene una base de datos a la que se conecta su aplicación. Al leer el problema de esta situación, asegúrese de que el host y el puerto configurados para la aplicación sean válidos y accesibles cuando se migre la aplicación.

  • Amplía las instrucciones y síguelas.

  • Haga clic en cada número.

    • Haga clic en Leer más para ampliar el problema.
    • Haga clic en el enlace del archivo que aparece en la edición para revisar el código.

Trabajar en cuestiones externas a la aplicación actual

Mientras trabaja en las correcciones, algunas podrían clasificarse como incidencias externas a la aplicación actual. El código fuente de estos problemas se encuentra en archivos específicos que no forman parte de la aplicación fuente actual.

Si el archivo es una biblioteca propiedad de su organización:

  1. Puede abrir el código fuente asociado como una aplicación independiente y utilizar watsonx Code Assistant para solucionar los problemas.

  2. A continuación, puede actualizar su aplicación actual para utilizar la nueva versión corregida.

Si el archivo es una biblioteca que no es propiedad de su organización:

  1. Debe actualizar a una versión que no contenga este problema. Si no existe tal versión, es posible que tenga que utilizar una tecnología alternativa.

  2. Puedes iniciar una conversación con watsonx Code Assistant para que te ayuden a determinar un sustituto. Para empezar, prueba a preguntar a What is the library X used for? o Is it easy to replace?. Continúe la conversación para obtener más información sobre su uso específico de la biblioteca.