Ir para o conteúdo principal

Retificação de Decretos gerados no SISNE

Data de elaboração 06/06/2023
Responsável pelo estudo

Alexandre dos Santos Freire Ferreira (Assessor)

Equipe do estudo Caveiras
Alvo SISNE .
Origem

Implementação

Objetivo Possibilitar retificação de decretos gerados pelo sistema SISNE, mantendo compatibilidade com decretos gerados através do sistema CECAANE.
1. Introdução

AtualmenteAtualmente, o SISNESistema de Nomeação estae preparadoExoneração para(SISNE) retificarenfrenta um desafio significativo relacionado à retificação de decretos gerados por meio dele,dele. toda aA estrutura atual do sistema foi pensadaconcebida apenasexclusivamente nospara lidar com decretos gerados no sistema cecaane.CECAANE, Sendoo assimque seráresultou em uma incompatibilidade com os decretos do tipo Guid.

Essa incompatibilidade entre os tipos de decreto representa uma limitação importante do SISNE. Enquanto o CECAANE utiliza um identificador único do tipo inteiro para os decretos, o SISNE exige um identificador do tipo Guid. Essa diferença estrutural impede que o SISNE acomode adequadamente ambos os tipos de decretos, o que compromete sua capacidade de realizar retificações.

Para superar esse obstáculo, é necessário realizar auma refatoração completa do Sistema de Nomeação e Exoneração. A refatoração envolverá modificações substanciais na arquitetura e no código-fonte do sistema, paraa quefim sejade possítorná-lo compatível e capaz de suportar as duas estruturas diferentes dosde decretos.

2. Desenvolvimento

A primeira etapa desse processo de refatoração será a adaptação da estrutura do SISNE para incorporar o identificador do tipo Guid. Isso exigirá modificações extensivas em vários componentes do sistema, como a camada de persistência de dados, os modelos de dados e as APIs de comunicação com outros sistemas.

Uma vez concluída essa adaptação, o próximo passo será estabelecer mecanismos de conversão entre os diferentes tipos de identificadores de decreto. Isso garantirá que o SISNE possa reconhecer e manipular corretamente tanto os decretos do tipo inteiro quanto os do tipo Guid. Será necessário implementar algoritmos de conversão eficientes e confiáveis, a fim de realizar a tradução adequada entre os dois formatos de identificador.

Essa é uma estrutura utilizada durante a retificação, através do id ou protocolo do decreto é realizado uma busca na base de dados do sistema cecaane, e em seguida essa estrutura abaixo é preenchida:

image.png

O Cecaane possui todas essas informações em sua base dados, dessa forma não existe a necessidade de consultar outros serviços externos, porém o decreto gerado pelo SISNE não segue da mesma forma, ele trabalha com informações distribuídas em outros serviços. Sendo assim essa nova forma de buscar as informações devera ser aplicada nas classes atuais.

image.png

2.1 Mesclagem dos decretos

APara possibilitar a retificação trabalhados decretos no Sistema de Nomeação e Exoneração (SISNE), é necessário encontrar uma solução para unificar a abordagem dos identificadores de decreto. Atualmente, a retificação no sistema funciona apenas com decretoIdo inteirocampo apenas,"decretoId" sendodo assimtipo inteiro. Portanto, será necessário aplicaradotar medidas para permitir que estesos trabalhemdecretos emde conjunto,ambos umaos sistemas, CECAANE e SISNE, possam ser processados juntos.

Uma opção eviável é converter o campo "decretoId" de inteiro para string,string. aEssa fimconversão de poderpermitirá agregar tanto o decretoid"decretoId" inteiro do cecaane,CECAANE quanto o decretoId"decretoId" do SISNESISNE, que é um campo do tipo Guid.

2.1 Impactos

Essa mudançaa, apesarembora seja de pequena iraescala, atingirterá muitosimpacto arquivos,em necessitandovários tambémarquivos do sistema. Será necessário ajustar os testes automatizados existentes para garantir que eles estejam alinhados com a nova estrutura de reajusteidentificadores. dos testes automatizados, aléAlém dadisso, necessidadeserá decrucial realizar uma revalidação de todos os fluxos,fluxos para garantirassegurar que o sistema continue operacional.operacional após a implementação dessa modificação.

Além da alteração do tipo do campo "decretoId", será necessário refatorar as classes queresponsáveis buscampor buscar as informações dodos decreto,decretos. Essas classes precisarão ser ajustadas para que possam identificar de forma automática qual éautomaticamente a fonte do decreto e retornar os dados corretamentecorretos, casodependendo existam.da origem do decreto.

Essa adaptação exigirá um cuidadoso planejamento e execução, pois impactará vários componentes do sistema. Será necessário atualizar a estrutura do banco de dados para acomodar o novo formato do campo "decretoId" e garantir que a integridade dos dados seja preservada durante o processo de migração.

Além disso, testes abrangentes devem ser realizados para identificar e corrigir quaisquer problemas que possam surgir devido à mesclagem dos diferentes tipos de identificadores de decreto.

3. Conclusão

É importante ressaltar que a refatoração do SISNE não se limitará apenas às questões relacionadas aos tipos de identificadores de decretos. Durante esse processo, será uma oportunidade para realizar outras melhorias e otimizações no sistema, visando aprimorar sua eficiência, escalabilidade e manutenibilidade.

Em resumo, a atual incompatibilidade do Sistema de Nomeação e Exoneração em relação aos diferentes tipos de identificadores de decretos requer uma refatoração completa do sistema. Essa refatoração envolverá adaptações na estrutura do SISNE, implementação de mecanismos de conversão entre os tipos de identificadores, atualização da lógica de negócio e possíveis melhorias adicionais.

Somente com essas mudanças será possível garantir que o SISNE seja capaz de suportar e retificar adequadamente os decretos gerados tanto no sistema CECAANE quanto no SISNE que utiliza o identificador do tipo Guid. Foi iniciado algumas mudanças relacionadas a essa demanda, estão na branch CAV-1140 no gitlab dentro do projeto do SISNE.