Fluxo de engenharia documentado
| Elemento | Padrão consolidado |
|---|---|
| Branches principais | dev para desenvolvimento, rc para homologação e main para produção. |
| Branches auxiliares | feature/*, bugfix/* e hotfix/* associadas à demanda. |
| Pull request | Branches principais recebem mudança por PR e aprovação. |
| Versionamento | SemVer com pre-releases -dev e -rc. |
| Qualidade | SonarQube for IDE/SonarLint, testes unitários e revisão antes do commit. |
| CI/CD | Build, testes, análise estática e release por ambiente no Azure Pipelines. |
| Rastreabilidade | Tag da versão, log de release e vínculo com a demanda. |
Mudança segura no legado
- 1Reproduzir e delimitar
Identifique regra, versão AGHU, perfil, massa sintética e componente afetado.
- 2Criar teste de caracterização
Registre o comportamento atual antes de alterar código legado.
- 3Corrigir no menor escopo
Evite refatoração ampla junto a hotfix assistencial.
- 4Testar integrações
Inclua dblec, AGHU, LDAP, impressão e relatórios conforme impacto.
- 5Analisar qualidade
Execute testes, análise estática e revisão de segurança.
- 6Homologar o fluxo completo
Valide entrada, transições, logs e regressão, não apenas a tela corrigida.
- 7Publicar e observar
Use pipeline, tag, janela e monitoramento pós-implantação.
Proposta de modernização encontrada
O repositório contém um estudo que sugere separar frontend e backend e atualizar a plataforma. Ele é uma proposta, não o estado atual.
| Aspecto | Vigente documentado | Proposta |
|---|---|---|
| Backend | Java 8, JSF/EJB no WildFly 20 | Java 21 + Spring Boot 3 |
| Frontend | XHTML/Facelets acoplado | Angular 20 ou Flutter Web |
| Integração interna | Chamadas no monólito e JPA | API REST com contrato OpenAPI |
| Deploy | WAR e serviços da VM | Containers Docker e possível orquestração futura |
| Testes | Práticas a ampliar no legado | JUnit 5, Mockito e automação como base |
| Autenticação | LDAP/AGHU para usuário | JWT/OAuth2 a definir por contexto |
Estratégia incremental recomendada pela proposta
- Mapear funcionalidades, entidades e regras críticas do legado.
- Definir contratos, responsabilidades e autenticação antes de codificar.
- Criar uma base de backend com persistência, APIs e testes.
- Construir o frontend escolhido consumindo contratos versionados.
- Automatizar containers e CI/CD.
- Migrar módulo a módulo, com testes e validação do negócio.
- Preservar interoperabilidade com AGHU e histórico de auditoria durante a transição.
Checklist antes do PR
- Regra de negócio vinculada à fonte ou demanda.
- Código formatado e sem credenciais, endpoints internos ou dados de produção.
- Teste novo para classe nova e para comportamento alterado.
- SQL legível, parametrizado e sem SELECT * quando desnecessário.
- Análise estática executada e alertas relevantes corrigidos.
- Compatibilidade AGHU v10/v11 considerada quando a query toca a integração.
- Plano de rollback e evidência de homologação anexados ao canal apropriado.