Skip to main content

Modernización de aplicaciones de Java con GitHub Copilot

          GitHub Copilot puede ayudar a modernizar y migrar aplicaciones Java mediante la evaluación del código base, la identificación de rutas de actualización y la automatización de las tareas de corrección y contenedorización.

La extensión de modernización de aplicaciones de GitHub Copilot en Visual Studio Code automatiza las actualizaciones de Java mediante la identificación de marcos obsoletos, las API en desuso y los bloqueadores de actualizaciones. agente en la nube de Copilot aplica cambios de código, actualiza los archivos de compilación y resuelve los problemas de compilación y CVE.

Las recomendaciones e informes generados por la extensión pueden ayudar a los equipos a adoptar nuevas tecnologías rápidamente y reducir la deuda técnica. Copilot le guía a través de las actualizaciones con pasos y resúmenes accionables, acelerando y protegiendo las migraciones al tiempo que reduce el esfuerzo manual.

Para obtener instrucciones sobre las funcionalidades, la configuración y la interfaz de usuario, consulte La documentación de modernización de gitHub aplicación Copilot en la documentación de Microsoft.

Marco de modernización

Al iniciar una sesión del agente mediante la extensión de actualización Java, la extensión le ayudará a modernizar la aplicación de Java mediante el marco siguiente.

  •         **Realizar tareas de evaluación**. La extensión puede analizar el código, la configuración y las dependencias, lo que proporciona una evaluación del estado actual de la aplicación.
    
  •         **Cree un plan de modernización personalizable**. En función de la evaluación, la extensión puede sugerir una ruta de modernización, incluidas las actualizaciones necesarias del marco y la biblioteca.
    
  •         **Identificación temprana de problemas**. La extensión identifica las dependencias, las bibliotecas obsoletas y las características del lenguaje y los posibles problemas de migración. La extensión proporciona estrategias accionables para corregir problemas.
    
  •         **Personalice el plan**. Edite el plan de modernización a las necesidades específicas de la aplicación, como incorporar estándares y prácticas de la organización, excluir determinados componentes o priorizar características o patrones de diseño específicos.
    
  •         **Implemente el plan**. La extensión puede ayudar a aplicar cambios de código, actualizar archivos de compilación, refactorizar las API en desuso y resolver problemas de compilación y sintaxis. La extensión corregirá automáticamente los errores de compilación y realizará validaciones de prueba después de cada paso para garantizar la estabilidad y los cambios sin errores. <!-- markdownlint-disable-line GHD046 -->
    
  •         **Revise los cambios**. La extensión puede generar un informe de actualización detallado, resumir los cambios aplicados y enumerar los problemas no conocidos y los pasos restantes para la modernización.
    
  •         **Generar pruebas unitarias**. La extensión evalúa automáticamente las pruebas existentes y genera nuevos archivos de prueba y los agrega al área de trabajo. Se genera un informe que resume los resultados de las pruebas anteriores y posteriores a la generación.
    
  •         **Containeriza tu aplicación**. La extensión puede generar automáticamente dockerfiles, crear imágenes y validar todo para que la aplicación modernizada se ejecute dentro de los servicios de contenedor, como Azure Kubernetes Service (AKS), Azure Container Apps (ACA) y AKS Automatic, lo que permite una implementación y escalabilidad más sencillas.
    
  •         **Prepárese para la implementación**. La extensión puede ayudarle a preparar la aplicación para la implementación y la contenedorización mediante la generación de artefactos de implementación como scripts y configuraciones.
    
  •         ** Implementación automática en Azure**. La extensión puede ayudarle a implementar o aprovisionar su aplicación modernizada en Azure, generando los artefactos necesarios y los recursos de Azure, y realizando pasos de ejecución.
    

Puede mejorar la comprensión del equipo del código base de la aplicación y ahorrar tiempo y esfuerzo mediante el uso Copilot de para ayudar con tareas de modernización complejas, como:

  • Ingeniería inversa y transformación de código
  • Análisis de vulnerabilidades y dependencias y comprobaciones de comportamiento de código y corrección
  • Generación automatizada de recursos, documentación e informes de actualización
  • Generación y evaluación de pruebas
  • Automatización de la implementación

Introducción al flujo de trabajo de modernización

En este ejemplo, se describen los pasos generales para modernizar una aplicación de Java mediante la extensión de modernización de aplicaciones de GitHub Copilot en Visual Studio Code.

Para obtener instrucciones e requisitos previos detallados, consulte Quickstart: actualizar un proyecto de Java con GitHub Copilot modernización de aplicaciones en la documentación de Microsoft.

Nota:

Durante el flujo de trabajo de modernización, es posible que agente en la nube de Copilot le pida con frecuencia que confirme antes de realizar acciones específicas.

1. Abra el proyecto de Java

Use VS Code para abrir la carpeta del proyecto.

Acciones recomendadas

  • Asegúrese de que su proyecto se construya correctamente antes de continuar.
  • Si encuentra problemas de compilación, puede usar Copilot para ayudarles a resolverlos antes de iniciar el proceso de modernización.

2. Iniciar un espacio de trabajo de modernización

Inicie Chat de Copiloto e inicie una nueva sesión en modo de agente. Elija GitHub Copilot modernización de aplicaciones: actualización para Java en las herramientas disponibles.

3. Analizar el proyecto para obtener oportunidades de actualización

          Copilot examinará el código base. El análisis incluye:
  • Detección de marcos obsoletos (por ejemplo, Spring Boot, Jakarta EE, Java versiones SE).
  • Identificación de api en desuso y patrones obsoletos.
  • Sugerencias para oportunidades de actualización.

Puede revisar los resultados y un plan de actualización estructurado en el editor, que se mostrará:

  • Versiones actuales y recomendadas para marcos y dependencias.
  • Ubicaciones de código que requieren migración o refactorización.
  • Bloqueadores de actualizaciones o dependencias incompatibles.

Acciones recomendadas

  • Revise y personalice el plan de modernización antes de continuar con la actualización.

4. Aplicar Copilot recomendaciones de actualización

Use Copilot para aplicar o revisar los cambios de código, actualizar los archivos de compilación y refactorizar las API.

Si se encuentran errores de compilación, Copilot puede escribir un bucle fix-and-test hasta que el proyecto se compile de forma limpia.

          agente en la nube de Copilot los cambios automatizados pueden incluir:
  • Actualizar archivos pom.xml o build.gradle para las nuevas versiones de dependencia.

  • Generar solicitudes de incorporación de cambios o confirmar cambios directamente.

  • Refactorización del código para los cambios de API. Por ejemplo, migrar de javax.* a jakarta.* espacios de nombres.

  • Sugerir o aplicar transformaciones de código para abordar los cambios importantes.

            Copilot iterará y seguirá corrigiendo errores hasta que el proyecto se compile correctamente y no haya más problemas que requieran corrección. Es posible que los problemas menores que no requieran correcciones inmediatas puedan permanecer. Esto no impedirá que se complete la actualización.
    

Acciones recomendadas

  • Revise todos los cambios de código en el editor de diferencias de código antes de aceptarlo.
  • Use Copilot para explicar y documentar los cambios en el código.
  • Cuando la extensión le pida que acepte las opciones para comprobar las dependencias modificadas de los CVE conocidos y para validar el comportamiento del código para garantizar la coherencia.
  • Revise los problemas restantes y evalúe su importancia.

5. Ver el informe de actualización y los siguientes pasos sugeridos

Una vez completado el proceso de actualización, Copilot generará un informe de actualización de resumen que incluye:

  • Información del proyecto.
  • Se cambiaron las líneas de código.
  • Dependencias actualizadas.
  • Cambios de código resumidos.
  • Se han corregido problemas de seguridad de CVE y de incoherencia de código, si los hubiera.
  • Problemas menores de CVE no abordados.

Acciones recomendadas

  • Revise el informe para comprender los cambios realizados.
  • Siga los pasos siguientes sugeridos para finalizar la modernización.

Finalización de la modernización

El trabajo adicional para apoyar la modernización puede incluir:

  •         **Revisar** exhaustivamente la modernización inicial y los cambios de código. Asegúrese de que se cumplen los estándares de codificación y los procedimientos recomendados de su empresa.
    
  •         **Revisar** estrechamente el código modificado. Por ejemplo, compruebe que el código generado se ajuste al propósito y a la arquitectura del proyecto. Para obtener más sugerencias, consulte [AUTOTITLE](/copilot/tutorials/review-ai-generated-code).
    
  •         **Corrección de errores**. Compruebe el contenido específico para detectar errores sutiles y use sus propias herramientas de depuración y linting para evaluar el nuevo contenido.
    
  •         **Escribir pruebas** e identificar brechas en las pruebas para el proyecto actualizado.
    
  •         **Limpie** el proyecto quitando los archivos que ya no sean necesarios.
    
  •         **Refactorice** el código en el nuevo lenguaje. El proceso de modernización puede haber dado lugar a un proyecto cuya arquitectura se basaba en la del proyecto original, pero ya no es la solución ideal o óptima para sus necesidades. Es posible que ahora quiera refactorizar el código para hacer el mejor uso de las características del lenguaje y el marco de trabajo usado.
    
  •         **Actualización de la documentación**. Es posible que la información del proyecto y los archivos de contribución estén obsoletos y que deba volver a escribirse.
    
  •         **Contenedorización**. Actualice el código de la aplicación, genere archivos de contenedorización como Dockerfiles y compile la imagen para probar la validez. Si es necesario, Copilot puede realizar estas tareas de contenedorización y también crear un plan completo que detalla los pasos siguientes.
    
  •         **Deploying** la aplicación modernizada a sus entornos objetivo, incluidas las plataformas en la nube, como Microsoft Azure.