Ir para o conteúdo principal

[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:

  1. 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;
  2. Documentar consultas utilizadas no processo de exploração da estrutura;
  3. 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.

image-1629807300737.png

-- 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:

image-1629890458830.png

  • 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:&nbsp;<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