Planejamento e pré-planejamento
Construção dos cenários iniciais, parâmetros e versões de trabalho que abrem o ciclo orçamentário.
POC Modernização do SIPO
A evolução do Sistema de Planejamento Orçamentário, preservando as telas e o domínio que sustentam o trabalho das equipes sobre uma base de execução moderna.
01O desafio do legado
O material recebido reúne regras de planejamento orçamentário, telas e relatórios sobre uma base Java EE legada. A POC implementada preserva essa referência, moderniza o runtime e valida os fluxos com cenários sintéticos.
| Dimensão | Base recebida | POC implementada |
|---|---|---|
| Runtime | Aplicação Java EE com bibliotecas legadas de JSF e Seam | Aplicação Java moderna, executando em container portátil e reproduzível |
| Framework web | JSF mantido por componentes legados do JBoss Seam | Jakarta Faces 4 com PrimeFaces 15, sem dependência do Seam |
| Empacotamento | Empacotamento legado Java EE | Imagem de container versionada, com a mesma aplicação por trás |
| Operação | Configuração de ambiente encontrada no código recebido | Build Maven e deploy versionado em Kubernetes/K3s na Contabo |
| Domínio | Regras de negócio presentes no código recebido | Regras recebidas como referência, com persistência JPA modernizada |
Stack implementado: Java 21, Jakarta EE 10, WildFly 39 e PostgreSQL 16. Infraestrutura Contabo com Kubernetes/K3s e segredos privados da plataforma. Descrição atualizada em 6 de novembro de 2026; as evidências históricas mantêm suas datas.
02A nova experiência
O painel reúne os valores planejados, os créditos registrados e os próximos passos do trabalho. A navegação conecta planejamento, aprovação, relatórios e execução.
03Inventário do código
Os números abaixo descrevem o que existe no código-fonte atual. Indicam a dimensão do trabalho mapeado, não o que já foi migrado para a nova base.
190
arquivos Java
Lógica de domínio, façade e serviços
34
entidades JPA
Modelo de persistência mapeado
46
páginas e componentes XHTML
Interfaces JSF preservadas no plano de modernização
59
fontes de relatórios JRXML
34 nomes únicos de relatório no catálogo
04Domínio preservado
O exercício de modernização começa pelo reconhecimento do trabalho que a base já faz. Cada frente abaixo descreve uma parte essencial do SIPO que precisa permanecer fazendo o que faz hoje.
Construção dos cenários iniciais, parâmetros e versões de trabalho que abrem o ciclo orçamentário.
Composição dos orçamentos, vinculação de créditos e gestão das dotações ao longo do exercício.
Fila de prioridades, pareceres e o trâmite de aprovações entre áreas técnicas e decisórias.
Execução, saldos e indicadores que sustentam o controle do orçamento durante o ano.
Consultas, listas e relatórios que apoiam decisões de planejamento e desenvolvimento de pessoal.
Gestão de usuários, perfis de acesso, permissões e parâmetros gerais do sistema.
05Arquitetura implementada
A POC implementada mantém a interface Jakarta Faces 4 com PrimeFaces 15 e a persistência JPA, em WildFly 39 com Java 21 e Jakarta EE 10, executado no Kubernetes/K3s da Contabo. PostgreSQL 16 e segredos privados da plataforma completam a infraestrutura.
06Evidências observáveis
Código, testes e execução possuem registros próprios. Os resultados abaixo foram conferidos no escopo demonstrativo da POC.
Levantamento dos arquivos Java, entidades JPA, páginas e componentes XHTML e fontes JRXML concluído e conferido.
Os 46 arquivos XHTML e as 34 entidades JPA da origem foram inventariados. Na comparação de 17 de setembro, as 34 diferenças apontadas pelo comparador ficaram visíveis, com justificativas e hashes registrados para as transformações. A comparação não foi refeita depois das mudanças de código posteriores.
Conferência de código e contratos. A validação dos fluxos de uso possui evidências próprias e não é inferida pela presença dos arquivos.
Cinco modelos que existiam apenas em binário tiveram sua definição recuperada. Dois arquivos com conflitos do legado foram restaurados, e as variantes por diretório permanecem rastreáveis.
Navegação das 35 telas principais em desktop e mobile, com 185 verificações aprovadas, incluindo login, logout e restrições de acesso. A suíte inclui 1.680 testes unitários e 87 testes de integração aprovados contra PostgreSQL, com 95,7% das linhas cobertas, entre eles a conferência do modelo JPA e da consulta de cada relatório contra a baseline aplicada pelo deploy. Oito roteiros de gravação exercitam pela interface planejamento, pesquisa, execução orçamentária, configuração de exercício, cadeia estratégica e a edição do mesmo lançamento em duas sessões, conferindo cada registro no banco.
75 fontes JRXML recompiladas. Os 22 modelos chamados pelo sistema e quatro sub-relatórios recuperados foram preenchidos com a base sintética e exportados, com conferência de documentos e valores.
Evidência limitada aos cenários demonstrativos, sem reconciliação de histórico operacional.
O relatório da etapa local registra 29 comparações com a mesma massa sintética nas versões legada e modernizada: login dos cinco perfis, recusa de senha incorreta e conteúdo das grades de 20 telas de negócio. Esse registro descreve a comparação técnica anterior, sem dados operacionais reais.
A comparação histórica foi de dados, não de aparência. O relatório declara uma exceção em uma tela do legado. O ambiente legado não integra a publicação atual na Contabo.
A POC utiliza dados sintéticos identificados. O material recebido contém o código do sistema, sem banco nem histórico operacional. Os cenários demonstram a aplicação sem representar registros reais. As mensagens de e-mail ficam na caixa demonstrativa da própria aplicação, sem envio para destinatários externos.
Os dois códigos foram analisados pelo mesmo SonarQube, com o mesmo perfil de regras e as mesmas exclusões: 522 apontamentos no código recebido contra nenhum aberto no migrado, 26 bugs contra zero, uma vulnerabilidade contra zero, e cerca de 50 horas de dívida técnica eliminadas. As notas de confiabilidade e de segurança passaram de D para A.
Zero aberto não é zero levantado: ao longo do projeto o Sonar apontou 27 itens no migrado, 17 corrigidos no código e 10 aceitos com justificativa registrada na própria ferramenta. A medição mais recente é de 22 de setembro.
Análise estática, análise de dependências e varredura dinâmica autenticada, estruturadas pelas fases do NIST SP 800-115 e com os achados classificados pelo OWASP Top 10. Cada achado foi tratado e reconferido com a mesma varredura: nenhum alerta de risco alto, nenhuma vulnerabilidade conhecida no pacote da aplicação, nenhum hotspot a revisar e 21 telas sem violação de política de conteúdo. Um alerta médio ficou aceito com motivo registrado: a política de conteúdo ainda permite estilo embutido, de que as telas dependem, e a execução de script segue restrita.
As varreduras ativas rodaram em 18 de setembro contra instância isolada, nunca contra esta demonstração. Um teste de intrusão manual por especialista continua recomendado antes de produção.
Documento de 27 páginas para o cliente: o que o sistema faz, por que a pilha antiga não tinha caminho de atualização, a pilha nova e a razão de cada troca, o inventário comparado, capturas lado a lado, os sete defeitos corrigidos, como foi validado, a auditoria independente de 22 de setembro e o que ela achou, o dimensionamento em pontos de função (728, contados em 17 de setembro, com faixa de 640 a 770 pela revisão independente), prazo e custo das alternativas, o que falta para produção, a qualidade do código comparada, o teste de segurança, como testar e os limites declarados. Abrir o relatório em PDF.
A revisão que gerou o PDF está impressa na capa e no fecho. Testes, cobertura, medições do SonarQube e inventário podem ser refeitos a partir do repositório, cada um com a sua data.
Documento de 10 páginas que fecha a prova de conceito em forma de aceite: dez critérios, com o resultado e a prova de cada um; o que a auditoria independente confirmou e o que aguarda reteste; treze cenários para o usuário do DECEx homologar; as ressalvas, com quem resolve cada uma; e o termo para assinatura. Abrir o termo em PDF.
A validação técnica está concluída. A homologação pelo usuário e o aceite formal cabem ao DECEx, e o documento não declara a prova de conceito aceita.
A POC foi implementada e validada nos cenários sintéticos. Esta página não afirma homologação operacional nem aprovação institucional.
07Marcos da entrega
Inventário, atualização técnica, validação funcional e pacote de implantação formam uma entrega com evidências rastreáveis.
Marco 01
Identificação completa dos 190 arquivos Java, 34 entidades JPA, 46 arquivos XHTML e 59 arquivos JRXML recebidos (34 modelos de relatório distintos). Esta página é o espelho público desse inventário.
Marco 02
Stack Java 21, Jakarta EE 10 e WildFly 39 em container, com a interface Jakarta Faces 4 e PrimeFaces 15 e a persistência JPA modernizada sobre PostgreSQL 16.
Marco 03
Suíte de testes sobre a base sintética, com 1.680 testes unitários e 87 testes de integração aprovados contra PostgreSQL, cobrindo 95,7% das linhas. Fluxos reais de gravação, aprovação e bloqueio de edição desatualizada verificados, inclusive com duas sessões no mesmo lançamento.
Marco 04
Pacote de implantação em Kubernetes/K3s na Contabo, com build Maven e imagem versionada de WildFly 39/Java 21. PostgreSQL 16 para persistência e segredos privados da plataforma.
Próximo passo
Explore a nova experiência do SIPO, os módulos recebidos e os cenários de demonstração. A base sintética permite avaliar o sistema sem representar informações operacionais reais. Endereço da POC: poc-exercito.apps.migrai.com.br.
Acesso à demonstração
Os cinco perfis utilizam credenciais privadas e individuais de teste. Solicite ao responsável pela apresentação o acesso ao perfil desejado. A demonstração contém somente dados sintéticos.