Modernização de aplicativos Java
watsonx Code Assistant Plano padrão
Você pode modernizar seu aplicativo para o Liberty. Para modernizar seu aplicativo, primeiro você carrega um pacote de migração ou cria e analisa seu aplicativo e, em seguida, corrige os problemas do aplicativo.
Antes de começar, configure seu ambiente Java corporativo.
As origens do servidor de aplicativos que você pode escolher são:
- Apache Servidor de aplicativos Tomcat
- JBoss Application Server
- 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
- Outros servidores de aplicativos de terceiros
Somente no Eclipse IDE: Para obter melhores resultados com um aplicativo Java multimódulo, certifique-se de importar o módulo agregador e cada submódulo como projetos separados no espaço de trabalho Eclipse. é improvável que Watsonx Code Assistant introspeccione seu projeto com sucesso se você importar o diretório de nível superior como um único projeto.
Conclua as etapas para carregar o pacote de migração do aplicativo ou as etapas para analisar o aplicativo. Depois de concluir um conjunto de etapas, você poderá corrigir problemas com a migração. As etapas para corrigir os problemas são as mesmas tanto para as etapas do pacote de migração quanto para a análise do aplicativo. Depois de corrigir os problemas, você terá um aplicativo modernizado.
Tempo necessário para analisar seu código
O tempo para analisar seu aplicativo varia. Os horários a seguir são típicos.
| Hora | Detalhes do aplicativo |
|---|---|
| Segundos a alguns minutos | Menos de 100 aulas |
| 2 a 10 minutos | 20.000 a 50.000 linhas de código |
| 10 minutos ou mais | 300.000 linhas de código |
Quando watsonx Code Assistant analisa seu aplicativo, ele exclui alguns pacotes de terceiros da análise de código por padrão. Para obter mais informações, consulte Pacotes de terceiros que são excluídos da análise de aplicativos.
Uso de um pacote de migração para modernizar seu aplicativo
As etapas a seguir pressupõem que você esteja usando a versão 3.10 ou posterior do IBM Cloud® Transformation Advisor para gerar um pacote de migração. O pacote de migração contém uma lista de problemas de modernização que precisam ser resolvidos. Ele também contém informações de configuração geradas automaticamente para permitir que o aplicativo funcione adequadamente no Liberty.
Se você já tiver feito upload e analisado um pacote de migração para o seu projeto, o upload de um novo pacote de migração substituirá a análise existente.
Antes de modernizar o aplicativo, faça uma compilação completa do aplicativo para garantir que esteja começando com uma compilação de aplicativo reconhecidamente boa. Essa compilação também garante que os arquivos de classe estejam atualizados com o código-fonte mais recente, o que é um requisito antes de você executar automações que adicionam alterações para atualizações de versão do Java.
Se você reverter as alterações no código, deverá clicar em Retornar para carregar/analisar e fazer uma análise completa se quiser modernizar o aplicativo novamente.
-
No seu IDE, clique com o botão direito do mouse em qualquer item da hierarquia no diretório do aplicativo que você deseja modernizar.
-
Use qualquer um dos caminhos para iniciar o processo de modernização. Ambos são iguais:
- Clique em watsonx Code Assistant e, em seguida, clique em Modernize to Liberty.
- Clique em Modernizar aplicativos Java e, em seguida, clique em Modernizar para o Liberty.
-
Na página Modernize <yourapplication name>, carregue o pacote de migração.
O IDE analisa a pasta do projeto, reúne informações sobre o aplicativo e, em seguida, carrega o pacote de migração que Transformation Advisor gera.
-
Clique em Upload migration bundle (Carregar pacote de migração).
-
Selecione o arquivo "
.zipdo pacote de aplicativos na lista e clique em Abrir.Quando o processo de upload do pacote de migração for concluído, a página Modernizar <o nome do seu aplicativo> exibirá os seguintes arquivos de configuração que estão no pacote:
server.xmlé o arquivo de configuração do Liberty e é necessário para iniciar seu aplicativo.Containerfileé necessário apenas para criar uma imagem de contêiner para o seu aplicativo Liberty.
-
Selecione os arquivos a serem adicionados ao seu projeto e clique em '
Proceed.- (Obrigatório) Selecione o arquivo "
server.xml. - (Opcional) Selecione o arquivo "
Containerfilesomente se estiver criando uma imagem de contêiner para o seu aplicativo Liberty.
- (Obrigatório) Selecione o arquivo "
Quando o upload do pacote de migração for concluído, os problemas a serem corrigidos ou revisados serão exibidos.
-
-
Corrigir problemas com o aplicativo.
Dependendo dos problemas a serem corrigidos, a capacidade de corrigi-los pode ser automatizada, assistida ou autodirigida. Os problemas na guia Informações adicionais não exigem uma alteração de código, mas talvez você precise verificá-los ou testá-los e fazer uma alteração de código, se desejar.
Analisar seu aplicativo para modernizá-lo
As etapas a seguir pressupõem que você esteja analisando seu aplicativo em vez de usar um pacote de migração Transformation Advisor para modernizar seu aplicativo. A análise fornece uma lista de problemas a serem resolvidos e uma configuração
de servidor limitada no arquivo ' server.xml. O arquivo server.xml contém uma lista de recursos que seu aplicativo usa, mas não inclui outras informações de configuração, como conexões de banco de dados ou configurações
de JMS.
Se você reverter as alterações no código, deverá clicar em Retornar para carregar/analisar e fazer uma análise completa se quiser modernizar o aplicativo novamente.
-
No seu IDE, clique com o botão direito do mouse em qualquer item da hierarquia no diretório do aplicativo que você deseja modernizar.
-
Use qualquer um dos caminhos para iniciar o processo de modernização. Ambos são iguais:
- Clique em watsonx Code Assistant e, em seguida, clique em Modernize to Liberty.
- Clique em Modernizar aplicativos Java e, em seguida, clique em Modernizar para o Liberty.
-
Em sua página Modernizar <o nome do seu aplicativo>, expanda ' Analisar o aplicativo e clique em ' Iniciar análise.
-
Selecione os parâmetros de análise, que definem as regras contra as quais o servidor de aplicativos é analisado.
-
Selecione a origem do servidor de aplicativos e o destino do servidor de aplicativos.
-
Opcionalmente, altere a fonte Java SE, que é exibida automaticamente com um valor recomendado.
O valor recomendado é baseado na versão Java SE que watsonx Code Assistant recomenda para a origem do servidor de aplicativos. Seu servidor de aplicativos pode estar usando uma versão Java SE diferente da recomendada. Se for o caso, altere o código-fonte Java SE para a versão que o servidor de aplicativos usa.
Por exemplo, watsonx Code Assistant recomenda Java SE 8 para o WebSphere Application Server V8.5.5, embora seu servidor de aplicativos possa estar usando uma versão anterior do Java SE.
A versão mínima suportada do Java é o Java 5.
-
Selecione o destino Java SE.
-
Clique em Analisar ou Criar e analisar.
A análise do aplicativo é feita no binário do aplicativo. O aplicativo deve ser criado antes do início da análise. Você pode criar o aplicativo automática ou manualmente.
- Para criar e analisar automaticamente o aplicativo, clique em Criar e analisar.
- Se você criar o aplicativo manualmente, primeiro crie-o e depois clique em Analyze.
Depois que seu aplicativo for criado e analisado, os problemas a serem corrigidos ou revisados serão exibidos.
Quando você clica em Compilar e analisar, o aplicativo é compilado na versão de origem atual do Java para que possa ser analisado quanto a problemas de atualização do Java. Certifique-se de que o IDE tenha o kit de desenvolvedor Java da versão de código-fonte Java configurado para que o IDE possa construir o aplicativo com êxito.
-
-
Corrigir problemas com o aplicativo.
Dependendo dos problemas a serem corrigidos, a capacidade de corrigi-los pode ser automatizada, assistida ou autodirigida. Os problemas na guia Informações adicionais não exigem uma alteração de código, mas talvez você precise verificá-los ou testá-los e fazer uma alteração de código, se desejar.
Por que um arquivo.class é incluído em um relatório de análise em vez de um arquivo.java?
Quando você executa uma análise de um binário (JAR/WAR/EAR), os problemas são sempre descobertos nos arquivos de classe. Quando o scanner binário é executado fora do site watsonx Code Assistant, ele não tem acesso ao código-fonte, portanto, o arquivo.class é incluído no relatório de análise. Quando você importa um plano de migração ou executa uma análise em watsonx Code Assistant, os relatórios mostram referências a arquivos de classe, mas watsonx Code Assistant vincula o arquivo.class ao arquivo.java, e os arquivos.java são mostrados na interface do usuário de watsonx Code Assistant.
Correção de problemas e revisão de informações adicionais para seu aplicativo
A página Modernizar <o nome do seu aplicativo> lista as seguintes informações:
- A origem do servidor de aplicativos e o destino do servidor de aplicativos
- A origem da versão SE " Java e o destino da versão SE " Java
- Links para um relatório de tecnologia, um relatório de inventário e um relatório de análise
- Guias para problemas a serem corrigidos, que podem ser correções automatizadas, assistidas ou autodirigidas, e informações adicionais.
O kit de desenvolvedor Java de destino é necessário quando você executa correções automatizadas e quando cria o aplicativo depois que as alterações de destino da versão Java são feitas. Certifique-se de que o kit de desenvolvedor Java de destino esteja configurado para o seu IDE.
- A extensão Eclipse IDE tenta automaticamente encontrar o kit de desenvolvedor Java correto que corresponda ao destino da versão Java a partir do conjunto de todos os kits de desenvolvedor Java configurados no IDE.
- No IDE Visual Studio Code, você deve alterar manualmente a configuração do kit de desenvolvedor Java.
Conclusão de correções automatizadas
Se você tiver uma guia Correções automatizadas com uma ou mais correções, selecione a guia.
Como watsonx Code Assistant conclui as correções para você, não é necessário fazer nenhuma alteração no código. O modelo de linguagem grande (LLM) não é usado para correções automatizadas.
- Expanda as instruções e leia-as.
- Opcionalmente, abra o problema para revisar a descrição do problema.
- Clique em Run automated fixes (Executar correções automáticas).
- As correções automatizadas foram corrigidas.
- Os problemas externos permanecem na lista até que você atualize a dependência associada.
- Quando a execução das correções automatizadas for concluída, clique em Rebuild e atualize para atualizar a lista de problemas.
Se as correções automatizadas não forem executadas e produzirem erros de compilação na saída do console, certifique-se de atualizar a versão do plug-in maven-compiler para 3.13.0 ou mais recente.
Conclusão de correções assistidas
Se você tiver uma guia Correções assistidas com uma ou mais correções, selecione a guia.
Embora você corrija seu código, watsonx Code Assistant o ajuda fornecendo sugestões no bate-papo sobre como alterar seu código.
O nível de assistência disponível para os problemas varia de acordo com o problema. As correções assistidas o ajudam a resolver o problema e, às vezes, uma sugestão de código o ajuda a resolver tudo ou a maior parte do problema. Outras vezes, a sugestão de código pode ser tão simples quanto remover uma API antiga para evitar uma falha de compilação, e nenhuma ação adicional é exigida de você. É importante seguir as etapas de cada correção assistida para entender o valor e as limitações de cada correção assistida. Nos casos em que não for fornecida uma sugestão de código completa, você pode pensar na correção assistida como um iniciador de conversa no bate-papo. Continue a se envolver com o bate-papo para aumentar sua compreensão do problema e de sua resolução.
Para obter uma lista de problemas associados às correções assistidas, consulte a Referência de correções assistidas.
Para usar correções assistidas:
-
Expanda as instruções e siga as instruções.
-
Para cada questão, expanda-a.
-
Clique em Leia mais para expandir a edição.
-
Clique no arquivo que está listado no problema.
O arquivo é aberto no editor.
-
Expanda o problema para ver os detalhes do problema.
-
Se, nos detalhes, você for orientado a selecionar um trecho de código, selecione-o.
-
Clique em Help me (Ajude-me ) para obter assistência na correção do problema.
Se você estiver usando Visual Studio Code, as seguintes restrições se aplicam:
- Certifique-se de selecionar o código Java em apenas um editor ativo.
- Certifique-se de que o editor ativo no qual você selecionou o código Java esteja em um grupo de editores diferente da visualização Modernize to Liberty ou Java Upgrade.
-
Siga as sugestões de código no bate-papo para modificar o código e corrigir os problemas.
Às vezes, o bate-papo fornece uma resposta informativa em vez de uma sugestão de código.
-
À medida que você corrigir os problemas, clique em Rebuild e atualize até que todas as correções assistidas sejam corrigidas.
Conclusão de correções autodirigidas
Se você tiver uma guia Correções autodirigidas com uma ou mais correções, selecione a guia.
Você altera o código e determina como corrigi-lo, mas pode obter ajuda do bate-papo.
-
Expanda as instruções e siga as instruções.
-
Expandir cada edição.
-
Clique em Leia mais para expandir a edição.
-
Clique no arquivo que está listado no problema.
O arquivo é aberto no editor.
-
Clique em Iniciar bate-papo, que é exibido para cada ocorrência do problema.
A janela de bate-papo é aberta para que você possa obter ajuda para a ocorrência. Por exemplo, você pode perguntar ao assistente de código o que o código atual faz. Ou você pode perguntar se existe uma implementação alternativa para o código problemático.
-
À medida que você corrigir os problemas, clique em Rebuild e atualize até que todas as correções autodirigidas sejam corrigidas.
Endereçamento de informações adicionais
Se você tiver uma guia Informações adicionais com um número de um ou mais, selecione a guia.
Os problemas listados na guia são determinados da mesma forma que os problemas em outras guias. Embora os problemas de informações adicionais não exijam uma alteração no seu código, revise-os para garantir que o aplicativo esteja funcionando quando o código for migrado.
As informações adicionais podem indicar problemas, como pequenas alterações de comportamento em uma API ou problemas de conectividade em bancos de dados ou registros de usuários, e o que fazer a respeito.
Por exemplo, você tem um banco de dados ao qual seu aplicativo se conecta. Ao ler o problema para essa situação, você se certifica de que o host e a porta configurados para o aplicativo sejam válidos e acessíveis quando o aplicativo for migrado.
-
Amplie as instruções e siga-as.
-
Clique em cada edição.
- Clique em Leia mais para expandir a edição.
- Clique no link do arquivo que está listado no problema para revisar o código.
Trabalhar em questões externas fora do aplicativo atual
Enquanto você trabalha nas correções, algumas podem ser categorizadas como ocorrências de problemas externos fora do aplicativo atual. O código-fonte desses problemas está em arquivos específicos que não fazem parte do aplicativo de código-fonte atual.
Se o arquivo for uma biblioteca de propriedade de sua organização:
-
Você pode abrir o código-fonte associado como um aplicativo separado e usar o site watsonx Code Assistant para corrigir os problemas.
-
Em seguida, você pode atualizar seu aplicativo atual para usar a nova versão corrigida.
Se o arquivo for uma biblioteca da qual sua organização não é proprietária:
-
Você precisa atualizar para uma versão que não contenha esse problema. Se essa versão não existir, talvez seja necessário usar uma tecnologia alternativa.
-
Você pode iniciar uma conversa com watsonx Code Assistant para obter ajuda na determinação de uma substituição. Para começar, tente perguntar a
What is the library X used for?ouIs it easy to replace?. Continue a conversa para obter mais informações sobre seu uso específico da biblioteca.