POC Modernização do SIPO

O planejamento de sempre.
Uma nova base para evoluir.

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.

Natureza
Prova de conceito técnica
Estado
POC implementada
Compromisso
Preservar o que funciona
Diagrama de blocos da arquitetura implementada Três camadas: interface Jakarta Faces 4 com PrimeFaces 15, serviços de domínio, persistência JPA com PostgreSQL e relatórios Jasper, sobre um container runtime. ARQUITETURA IMPLEMENTADA FIG. 01 01 INTERFACE Faces 4 · PrimeFaces 15 02 SERVIÇOS DE DOMÍNIO Regras de negócio · façade DADOS JPA · PostgreSQL RELATÓRIOS Jasper · JRXML WILDFLY 39 / JAVA 21 JAVA 21 · FACES 4
Diagrama esquemático da arquitetura implementada. Versão expandida na seção Arquitetura.

01O desafio do legado

Sustentar o trabalho existente, ganhar uma base para evoluir.

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.

Comparação entre a base recebida e a POC implementada
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

A visão do orçamento, em uma interface renovada.

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.

Painel real do SIPO migrado, com navegação lateral, indicadores orçamentários e áreas de planejamento, relatórios e execução.
Captura real da versão migrada em execução. Dados sintéticos para demonstração, sem histórico operacional.

03Inventário do código

O que o levantamento direto da base encontrou.

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.

  1. 190

    arquivos Java

    Lógica de domínio, façade e serviços

  2. 34

    entidades JPA

    Modelo de persistência mapeado

  3. 46

    páginas e componentes XHTML

    Interfaces JSF preservadas no plano de modernização

  4. 59

    fontes de relatórios JRXML

    34 nomes únicos de relatório no catálogo

04Domínio preservado

Seis frentes que o sistema sustenta, e que precisam seguir sustentando.

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.

001

Planejamento e pré-planejamento

Construção dos cenários iniciais, parâmetros e versões de trabalho que abrem o ciclo orçamentário.

002

Orçamento e créditos

Composição dos orçamentos, vinculação de créditos e gestão das dotações ao longo do exercício.

003

Prioridades e aprovações

Fila de prioridades, pareceres e o trâmite de aprovações entre áreas técnicas e decisórias.

004

Acompanhamento orçamentário

Execução, saldos e indicadores que sustentam o controle do orçamento durante o ano.

005

Pesquisas e capacitação

Consultas, listas e relatórios que apoiam decisões de planejamento e desenvolvimento de pessoal.

006

Administração e perfis

Gestão de usuários, perfis de acesso, permissões e parâmetros gerais do sistema.

05Arquitetura implementada

Planejamento modernizado, da interface aos relatórios.

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.

Diagrama da arquitetura implementada WildFly 39 com Java 21 e Jakarta EE 10, interface Jakarta Faces, serviços de domínio, persistência JPA com PostgreSQL 16 e relatórios Jasper. A infraestrutura usa Contabo com Kubernetes/K3s e segredos privados da plataforma. WILDFLY 39 / JAVA 21 FIG. 02 L1 INTERFACE · FACES 4 PrimeFaces 15 · 35 telas principais verificadas USUÁRIO L2 SERVIÇOS DE DOMÍNIO Regras de negócio · façade · casos de uso NEGÓCIO L3a PERSISTÊNCIA JPA · PostgreSQL 16 L3b RELATÓRIOS Jasper · 75 fontes JRXML VPS Contabo · Kubernetes / K3s Java 21 · Jakarta EE 10 · WildFly 39 · PostgreSQL 16 · Segredos privados ⏚ VISÃO LÓGICA DA APLICAÇÃO APLICAÇÃO · DADOS · RELATÓRIOS
O container WildFly 39 agrupa a aplicação Jakarta EE 10 e seu domínio. A Contabo executa a aplicação em Kubernetes/K3s, com PostgreSQL 16 e configuração sensível em segredos privados da plataforma.
L1 · Interface
Telas XHTML em Jakarta Faces 4 com PrimeFaces 15, com a navegação e a composição que a operação conhece.
L2 · Domínio
Classes Java com regras de negócio, implementadas sobre o stack moderno.
L3a · Persistência
Entidades JPA sobre PostgreSQL, com o mesmo modelo de dados.
L3b · Relatórios
Fontes JRXML compiladas via Jasper, no catálogo atual de relatórios.
Implementação
Contabo com Kubernetes/K3s, aplicação WildFly 39 em Java 21/Jakarta EE 10, PostgreSQL 16 e segredos privados da plataforma.

06Evidências observáveis

Uma entrega sustentada por evidências.

Código, testes e execução possuem registros próprios. Os resultados abaixo foram conferidos no escopo demonstrativo da POC.

  • Inventário de código

    Levantamento dos arquivos Java, entidades JPA, páginas e componentes XHTML e fontes JRXML concluído e conferido.

    Conferido

    Set 2026

  • Rastreabilidade de telas e domínio

    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.

    Conferido

    Código e contratos

  • Fontes de relatórios recuperadas

    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.

    Conferido

    Fontes e hashes

  • Execução e fluxos

    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.

    Conferido

    Base sintética

  • Relatórios em execução

    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.

    Conferido

    Base sintética

  • Comparação histórica com o legado

    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.

    Histórico local

    Base sintética · etapa anterior

  • Dados da demonstração

    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.

    Dados sintéticos

    Escopo definido

  • Qualidade do código, medida nos dois

    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.

    Conferido

    SonarQube 25.9

  • Teste de segurança com reteste

    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.

    Conferido

    OWASP ZAP, Semgrep, Trivy

  • Relatório executivo

    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.

    Publicado

    Versão 1.6

  • Validação e termo de aceite

    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.

    Aguardando aceite

    Versão 1.0

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

Do código recebido à POC implementada.

Inventário, atualização técnica, validação funcional e pacote de implantação formam uma entrega com evidências rastreáveis.

  1. 01

    Marco 01

    Inventário concluído

    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.

  2. 02

    Marco 02

    Stack modernizado

    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.

  3. 03

    Marco 03

    Testes funcionais

    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.

  4. 04

    Marco 04

    Implantação versionada

    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

Demonstração técnica do SIPO.

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.