O blog da AWS

Como a Pamcary modernizou aplicações Java legadas com Amazon Q Developer

Por Mavi Mendes, AWS Solutions Architect, Amazon Web Services.

Se a sua empresa mantém aplicações Java legadas em produção, você provavelmente reconhece esses desafios: código escrito em Java 1.6, frameworks descontinuados como Richfaces, débito técnico acumulado ao longo de décadas e recursos limitados para modernização. Para a Pamcary® — referência em gestão de riscos logísticos e seguros para transporte multimodal no Brasil —, modernizar essas aplicações sem interromper operações críticas era uma prioridade estratégica.

Neste post, você vai ver como a Pamcary® usou o Amazon Q Developer para modernizar três aplicações em menos tempo e mantendo o tamanho da equipe, economizando 587 horas de desenvolvimento e alcançando ganhos de produtividade superiores a 300%. Além disso, a equipe criou ativos reutilizáveis — templates e prompts padronizados — que continuam acelerando novos projetos de modernização na organização.

Sobre a Pamcary®

A Pamcary® é referência na oferta de soluções integradas em seguros, gestão de riscos logísticos e assistência 24hs para o transporte multimodal de cargas no Brasil. Líder em um campo de atuação altamente competitivo, a Pamcary® nasceu com o DNA da tecnologia e revolucionou o conceito de proteção à carga, ao criar uma série de produtos e serviços inovadores e sob medida, que tornaram a atividade do transporte ainda mais segura e eficiente.

O que é o Amazon Q Developer?

Amazon Q Developer é um assistente de inteligência artificial generativa projetado especificamente para auxiliar times técnicos em diversas tarefas do ciclo de desenvolvimento de software. A ferramenta oferece:

  • Sugestões de código em tempo real
  • Criação de documentação automatizada
  • Análise de código existente
  • Aceleração na modernização e transformação de aplicações legadas
  • Suporte a múltiplas linguagens de programação e frameworks
  • Integração direta ao ambiente de desenvolvimento, seja em IDEs como VS Code e JetBrains, ou via terminal

O desafio de modernização

A Pamcary® orgulha-se de sua história e da fundação tecnológica que a manteve competitiva por tanto tempo. O que antes era um sistema robusto e eficaz, hoje representa um legado que está sendo modernizado:

  • As aplicações monolíticas, que foram a espinha dorsal da operação por anos, utilizavam tecnologias de ponta em seu tempo (Java 1.6, JSP, Richfaces).
  • O débito técnico acumulado é um indicativo da maturidade e da evolução contínua do negócio ao longo das décadas.
  • A modernização para versões mais recentes (Java 1.8+, frameworks modernos como PrimeFaces) visa honrar esse legado, garantindo sua relevância futura.
  • O desafio de produtividade com manutenção dos recursos humanos está sendo superado através de inovações estratégicas, tal qual a adoção do Amazon Q Developer , Kiro e a habilitação do time para serem usuários avançados da ferramenta.
  • A complexidade na migração de aproximadamente 3.000 linhas de código por aplicação evidencia a escala e a profundidade das soluções desenvolvidas internamente.

O trabalho realizado pela equipe AWS

O time AWS responsável pela Pamcary® conduziu um workshop hands-on com a equipe técnica da empresa no final de 2025. O foco foi instruir no uso da ferramenta, instalar e configurar nas máquinas de cada desenvolvedor. Posteriormente, guiá-los na modernização usando GenAI.

O workshop foi estruturado em duas fases:

Fase 1 – Engenharia reversa

Antes de modernizar qualquer linha de código, a equipe usou o Amazon Q Developer para gerar documentação automaticamente a partir do código existente:

  1. Geração de documentações que descrevessem a arquitetura e funcionalidades existentes.
  2. Detalhamento de dependências: Mapeamento completo de bibliotecas e frameworks utilizados.
  3. Documentação de APIs: Especificação de endpoints, contratos e integrações existentes
  4. Mapeamento de schemas do banco de dados: Estruturas de tabelas, relacionamentos e constraints do Amazon RDS.
  5. Uso do Model Context Protocol (MCP): Servidor AWS conectado ao Amazon Q CLI para coleta automatizada de informações e criação da documentação de schemas.

Essa fase garantiu que a lógica de negócio fosse compreendida e preservada antes de qualquer alteração, criando uma base sólida para a modernização.

Fase 2 – Testes de modernização em três grupos

Com a documentação gerada, a equipe dividiu os testes em três grupos paralelos para comparar abordagens e identificar a mais eficiente para cada tipo de aplicação:

Grupo 1 – Construção do Zero: Focado em construir uma nova aplicação semelhante à anterior utilizando Java 17 e Spring 3, explorando as capacidades do Amazon Q Developer para geração de código.

Grupo 2 – Modernização de Monólito: Dedicado à modernização de uma aplicação monolítica existente, testando a capacidade da ferramenta em transformar código legado.

Grupo 3 – Template de Projetos: Criação de templates padronizados para novos projetos, estabelecendo boas práticas desde o início.

Durante o workshop, a equipe construiu as próprias melhores práticas de uso do Amazon Q Developer:

  • Preservação da lógica SQL e de negócios durante a modernização.
  • Manutenção dos tipos de dados dos atributos para garantir compatibilidade.
  • Estratégias de prompting eficazes como estruturar solicitações para obter sugestões mais precisas.
  • Abordagem bottom-up versus top-down: começar pelos DAOs (Data Access Objects) versus começar pelos controllers, avaliando qual estratégia funciona melhor para cada contexto.
Diagrama com os passos seguidos durante o workshop.

Diagrama com os passos seguidos durante o workshop.

O processo de modernização conduzido pela Pamcary®

Após o workshop inicial, a equipe da Pamcary® aplicou os conhecimentos adquiridos em projetos reais de modernização.

Projeto 1: Migração de aplicação web

Escopo: Java 1.6 + JSP + Richfaces → Java 1.8 + JSP + PrimeFaces

A equipe enfrentou desafios iniciais na definição da estratégia ideal de migração, mas uma vez estabelecido o plano, o processo tornou-se significativamente mais ágil. O conhecimento adquirido foi consolidado em um prompt padronizado, criando um template reutilizável que serve como guia passo a passo para acelerar a modernização de outras aplicações.

Projeto 2: Template de API Java

Desenvolvimento de um template padronizado para criação de novas APIs, focado em operações CRUD com múltiplas entidades, estabelecendo padrões de arquitetura e boas práticas para toda a organização.

O template criado neste projeto está sendo utilizado pela equipe de desenvolvimento da Pamcary® para novos projetos, acelerando o time-to-market de novas funcionalidades.

Projeto 3: Migração de aplicação de processamento geográfico 24/7

Migração de Aplicação responsável pelo processamento de posicionamento geográfico de veículos rastreados, com média diária de 5 milhões de posição consistidas. Funcionamento 24x7x365.

Escopo: Java 1.6 + JMX console → Java 17 + SpringBoot 3.1.5 + Micrometer

Utilizando os conhecimentos adquiridos no Projeto 1, aplicaram todo o aprendizado para tocar esse projeto um pouco mais desafiador. Avançaran em termos de tecnologia, consolidaram os passos em um prompt padronizado, conseguindo realizar as transações e transmutações para uma tecnologia mais recente.

Resultados

Os resultados obtidos pela Pamcary® demonstram o impacto do Amazon Q Developer na produtividade e eficiência da modernização.

Projeto 1 – Migração de aplicação web

Tempo de Execução:

  • Com o Amazon Q Developer: 75 horas ao longo de 3 semanas (5 horas/dia, sem dedicação exclusiva)
  • Estimativa manual: 240 horas
  • Redução de tempo: 69% mais rápido

Produtividade:

  • Linhas modernizadas: ~3.000 linhas de código
  • Complexidade: Média para complexa
  • Equipe necessária: 1 pessoa com o Amazon Q Developer vs. 3,2 pessoas manualmente
  • Ganho de produtividade: Mais de 300%

Projeto 2 – Template de API Java

Tempo de Execução:

  • Com o Amazon Q Developer: Aproximadamente 15 dias (dependendo da quantidade de entidades)
  • Estimativa manual: Acima de 20 dias
  • Redução de tempo: 25% mais rápido

Produtividade:

  • Complexidade: Baixa/Média (CRUD)
  • Equipe necessária: 1 pessoa com o Amazon Q Developer vs. 2 ou mais pessoas manualmente
  • Ganho de produtividade: 100%+

Projeto 3 – Aplicação de processamento geográfico 24/7

Tempo de Execução:

Com o Amazon Q Developer: 98 horas ao longo de 4 semanas e meia (5 horas/dia, não dedicação exclusiva)

Estimativa manual: 480 horas

Redução de tempo: 79% mais rápido

Produtividade:

Linhas modernizadas: ~10.000 linhas de código

Complexidade: Média para complexa

Equipe necessária: 1 pessoa com o Amazon Q Developer vs. 3,2 pessoas manualmente

Ganho de produtividade: Mais de 300%

Resumo consolidado

grafico-com-tempo-economizado

Gráfico com o tempo economizado em cada projeto.

Lições aprendidas: melhores práticas aplicadas

A experiência da Pamcary® revelou práticas que você pode aplicar em projetos de modernização semelhantes:

1. Comece pela engenharia reversa: Gerar documentação antes de modernizar reduz drasticamente o risco de perda de lógica de negócio e acelera a fase de análise. O Kiro e o Amazon Q Developer são essenciais para criar documentações detalhadas, mapear dependências e integrar com MCP server para documentar infraestrutura na AWS. Por exemplo, a Pamcary® documentou o schema do banco no Amazon RDS usando o MCP AWS API.

2. Preserve a lógica SQL e de negócio: O Kiro e o Amazon Q Developer são mais eficazes quando você fornece contexto claro sobre as regras de negócio que precisam ser mantidas. Identifique queries SQL complexas, documente sua intenção e use comentários detalhados para guiar as sugestões da ferramenta.

3. Use prompts estruturados e padronizados: Prompts específicos e padronizados produzem sugestões de código mais precisas e consistentes. A Pamcary® desenvolveu templates de prompts para modernização de DAOs, atualização de controllers, migração de frameworks de UI e conversão de configurações XML para anotações Java.

4. Adote a abordagem bottom-up para monólitos: Modernizar componentes menores primeiro, antes de integrar ao sistema maior, reduz o risco de regressões. Comece pelos DAOs e entidades, avance para camadas de serviço e finalize com controllers e UI.

5. Crie templates reutilizáveis: Os templates e prompts padronizados gerados durante o projeto se tornaram ativos valiosos. A Pamcary® agora possui templates de projeto para novas APIs, prompts padronizados para modernização de aplicações web e guias passo a passo para migração de frameworks.

Teste você mesmo: reproduza a abordagem com o Kiro

Você pode reproduzir os passos acima no seu próprio ambiente usando o Kiro — a IDE agêntica desenvolvida pela AWS que vai além dos assistentes de código tradicionais. Enquanto o Amazon Q Developer acelera tarefas repetitivas diversas, o Kiro adiciona uma camada de automação agêntica ao processo, com agentes autônomos que geram planos de projeto usando Spec-Driven Development, criam arquivos de steering, executam testes e atualizam documentação.

A fim de iniciar o uso do Kiro em projetos de modernização, comece com os steering files — arquivos de contexto e instruções armazenados em kiro/steering/*.md que o Kiro usa automaticamente em todas as interações com o agente. Você pode criar steering files específicos para cada fase da modernização:

Steering file 1 – Documentação do projeto (project-overview.md): Descreva a arquitetura geral da aplicação legada: stack tecnológico, módulos principais, integrações externas e regras de negócio críticas. O Kiro usa esse contexto automaticamente ao sugerir transformações de código.

# Visão Geral do Projeto
Stack atual: Java 1.6, JSP, Richfaces
Stack alvo: Java 1.8, JSP, PrimeFaces
Módulos principais: [lista de módulos]
Regras de negócio críticas: [descrição]

Você pode também solicitar ao Kiro para criar steering files fundacionais e ele irá criar três documentos explicando o produto, a organização dos diretórios e o stack tecnológico.

Steering file 2 – Mapeamento de dependências (dependencies.md): Documente todas as bibliotecas, frameworks e suas versões de destino. O Kiro usa esse mapeamento para sugerir equivalências coerentes durante a modernização.

# Mapeamento de Dependências
| Dependência atual | Versão | Equivalente moderno | Versão alvo |
|---|---|---|---|
| Richfaces | 4.x | PrimeFaces | 12.x |
| JMX Console | — | Micrometer | 1.x |

Steering file 3 – Regras de modernização (modernization-rules.md): Defina as regras que o agente deve seguir durante a modernização: preservação de lógica SQL, manutenção de tipos de dados, padrões de nomenclatura e estratégia de migração (bottom-up ou top-down).

# Regras de Modernização
- Preservar toda lógica SQL sem alterações semânticas
- Manter tipos de dados dos atributos de entidade
- Seguir abordagem bottom-up: DAOs → Services → Controllers
- Gerar testes unitários para cada componente modernizado

Steering file 4 – Padrões arquiteturais (architecture-standards.md): Documente os padrões de arquitetura que devem ser seguidos nos novos componentes: estrutura de pacotes, convenções de nomenclatura, padrões de tratamento de erros e configurações de segurança.

Além dos steering files, você pode usar os hooks do Kiro para automatizar ações durante a modernização, como por exemplo, executar testes automaticamente após cada arquivo modificado, ou acionar a geração de documentação sempre que um novo componente for criado.

Caso você prefira usar Skills, também é possível, e você pode empacotar instruções, scripts e templates em uma Skill local (dentro do projeto) ou global (poderá ser usada em múltiplos projetos). Ela será carregada dinamicamente pelo agente do Kiro quanto ele estiver trabalhando com algo relacionado ao conteúdo descrito na Skill. Dessa forma, você evita overload de contexto com muitos arquivos de steering, e ainda assim garante que, quando necessário, o Kiro encontrará suas regras.

Para começar com o Kiro:

  1. Acesse kiro.dev/downloads e instale o Kiro IDE (macOS, Windows ou Linux)
  2. Faça login com GitHub, Google ou AWS Builder ID — não é necessária uma conta AWS
  3. Crie a pasta kiro/steering/ na raiz do seu projeto
  4. Adicione os steering files descritos acima com o contexto da sua aplicação
  5. Inicie uma conversa do tipo Vibe com o agente descrevendo o componente que você quer modernizar. O Kiro irá detectar em qual ponto da conversa iniciar um Spec para planejar a modernização usando spec-driven development.

Próximos passos da Pamcary®

A jornada de modernização da Pamcary® não termina aqui. Em 2026, a empresa inicia uma nova fase de adoção de inteligência artificial no ciclo de desenvolvimento com o Kiro, expandindo o uso de ferramentas de IA generativa além da modernização de código — com foco em automação de fluxos de trabalho completos, integração com outras ferramentas, construção de MCP servers próprios e desenvolvimento de custom agents para tarefas recorrentes da organização.

Conclusão

Neste post, você viu como a Pamcary® usou o Amazon Q Developer para modernizar três aplicações Java legadas, economizando 587 horas de desenvolvimento e alcançando ganhos de produtividade superiores a 300%, com equipes de uma única pessoa por projeto.

O caso da Pamcary® demonstra que a modernização de aplicações legadas com IA generativa não é um projeto futuro: é uma realidade disponível hoje. Se você está avaliando uma jornada de modernização semelhante, explore os recursos do Kiro e do AWS Transform.

Limpeza de recursos

Se você criou recursos AWS durante testes de modernização, exclua os ambientes de desenvolvimento que não são mais necessários para evitar cobranças adicionais.

Se você utilizou o Kiro com login via Builder ID, GitHub ou Google e pelo Free Tier, você não será cobrado pelo uso do serviço e pode continuar utilizando enquanto tiver créditos.

Autora

Mavi Mendes é Solutions Architect na Amazon Web Services e auxilia empresas a construirem soluções que impactem positivamente o negócio. Mavi tem como área de foco a adoção de IA generativa no ciclo de desenvolvimento de software.