[SEI][SPIKE] Realizar Estudo da Viabilidade de Exclusão de Documento no SEI
CENÁRIO ATUAL
O Sistema Eletrônico de Informação é parte do projeto Governo Sem Papel, mantido pelo Estado de Rondônia, sendo utilizado para a geração e tramitação de processos entre secretarias. Economizando milhões em papel e impressão e acelerando o fluxo dos trâmites.
PROBLEMA
Com a ampla adoção pelas secretarias uma grande quantidade diária de dados é gerada. A versão utilizada possuí problemas conhecidos de performance e otimização e não pode ser atualizada devido a entraves burocráticos. O crescimento da utilização de recursos, principalmente de disco, gera dificuldades para a manutenção de logs, rotinas de backup, lentidão na aplicação e até mesmo alto custo para armazenamento.
OBJETIVO
Sendo definido o cenário atual e explicitado o problema, foi realizado um estudo preliminar para identificar quais as abordagens poderiam ser empregadas, conforme disponível em: https://documentos.sistemas.ro.gov.br/books/baymax/page/seispike-realizar-analise-para-reducao-do-espaco-em-disco-ocupado-pelo-sei .
Considerando a adoção da proposta S1 - Exclusão dos registros duplicados, este documento tem por objetivo realizar o estudo de viabilidade da solução, atendendo a Estória de Usuário propostas em: https://app.pipefy.com/open-cards/438608303 .
RESULTADOS ESPERADOS
Com este estudo espera-se:
- Documentar a organização estrutural que envolve a persistência dos arquivos gerados na aplicação, com ênfase nas tabelas dbo.versao_secao_documento e dbo.documento_conteudo;
- Documentar consultas utilizadas no processo de exploração da estrutura;
- Fornecer subsídios para a tomada de decisão da viabilidade da execução proposta;
PREMISSAS
Mantêm-se as premissas do estudo inicial (Disponível AQUI) ;
ENVOLVIDOS
- Coordenadoria de Análise e Gestão de Dados
- Coordenadoria de Infraestrutura
- Adriano B. Sol Sol
CONDUÇÃO DO ESTUDO
Durante a condução do estudo, alguns desafios foram identificados, sendo necessária a exploração e o entendimento de algumas estruturas auxiliares. Neste caso, considera-se como exploração apenas a análise das estruturas que atendem aos fins propostos pelo estudo. Os desafios identificados e conceitos de entendimento necessário, neste estudo, são considerados Pré-Exploratórios e os resultados da exploração são definidos como execução.
A condução do estudo foi realizada em uma instância da aplicação que não fosse nem a de produção e nem o ambiente de treinamento, para que tivéssemos a liberdade de realizar alterações massivas, se assim necessário. Foram criados diversos documentos e processos neste ambiente, mas para exemplificação do estudo, tomaremos por base o processo '0070.336713/2021-18' , criado neste ambiente separado.
ANÁLISE PRÉ-EXPLORATÓRIA
IDENTIFICAÇÃO DO DOCUMENTO A PARTIR DO ID_DOCUMENTO
Foi identificado que os números que aparecem seguido dos nomes dos documentos não correspondem ao número do documento de fato. Trata-se do ID_PROCOLO presente na tabela PROTOCOLO, neste caso, para se identificar o ID_DOCUMENTO, de qualquer documento presente no SEI, é necessário consultar a tabela PROTOCOLO, como representado a seguir.
-- identifica id do documento (ID_PROTOCOLO)
SELECT id_protocolo from protocolo where
protocolo_formatado like '0019564197' ;
O resultado dessa consulta é justamente o ID_DOCUMENTO, utilizado nas demais estruturas.
É interessante destacar que para identificar o ID de um processo, segue-se a mesma estrutura, substituindo a linha 3 pelo ID do processo (com formatação), conforme demonstrado a seguir:
SELECT id_protocolo from protocolo where
protocolo_formatado like '0070.336713/2021-18' ;
ORGANIZAÇÃO DO DOCUMENTO
Para possibilitar um melhor controle de alterações, a aplicação fragmenta todos os documentos gerados em blocos de seção+conteúdo, seguindo a seguinte estrutura padrão:
- LARANJA - Trata-se do cabeçalho de todo documento gerado na aplicação, nele estão inclusos o logo e referências a unidade/órgão emissor do documento.
- CIANO - Trata-se do título / tipo do documento, que pode ser um REQUERIMENTO, DESPACHO, SOLICITAÇÃO, etc.
- MAGENTA - Trata-se do corpo do documento, onde é permitida a adição, remoção e alteração de informações.
- AZUL - Trata-se do cabeçalho do documento.
SECAO_DOCUMENTO
Identificamos que este modelo de organização do documento utiliza como base a tabela SECAO_DOCUMENTO. Para exemplificar a organização, podemos utilizar a seguinte consulta:
-- seleciona modelo original do documento
SELECT id_secao_documento, id_secao_modelo, id_documento, ordem, conteudo
from secao_documento
where id_documento in (select id_protocolo from protocolo
where protocolo_formatado like '0019564198') --número no cabeçalho do documento
order by id_secao_documento;
Sendo que está, gera o seguinte resultado:
id_secao_documento | id_secao_modelo | id_documento | ordem | conteudo
------------------+---------------+------------+-----+-----------------------------------------------------------------------|
62315969 | 414 | 21766398 | 0 | <style type="text/css">img[alt*="Timbre"] {¶ max-width: 150px !important;margin: 0 aut |
62315970 | 417 | 21766398 | 10 | DESPACHO |
62315971 | 419 | 21766398 | 30 | <p class="Texto_Justificado">De: <span>@sigla_unidade@</span> |
62315972 | 420 | 21766398 | 40 | |
62315973 | 421 | 21766398 | 1000 | <hr style="border:none; padding:0; margin:5px 2px 0 2px; border-top:medium double #333" |
Com este resultados pudemos identificar alguns detalhes importantes.
Análise Exploratória
SECAO_DOCUMENTO
Execução