Especificação Funcional: Serviço de sincronização (School.CRUD.ACL)

Resumo

Este serviços será responsável por verificar os dados do School Web e realizar a sincronização com os dados do Pré-matrícula.

Descrição

Este serviço realizará a sincronização dos dados do School Web para o pré-matrícula. Ele irá incluir, excluir e alterar os dados necessários. Além disso, também será responsável por enviar os eventos de alteração e exclusão para a fila do RabbitMQ.

Para que a sincronização ocorra é necessário que a relação Gestor x IdBanco esteja configurada.

Despublicação de banco de dados

Foi criado uma validação para evitar que os dados sejam excluídos ou alterados no pré-matrícula quando o banco de dados de uma determinada escola for despublicado.

Essa validação consiste em dois pontos:

A sincronização somente será efetuada caso as das validações sejam verdadeiras.

Backup/Restore do banco de dados do School Web

Em algumas situações o banco de dados do School Web precisa ser restaurado. Quando isso ocorre é necessário que o serviço de sincronização do pré-matrícula não realize os procedimentos padrões.

Para evitar qualquer tipo de problema foi criado um mecanismo para desabilitar a sincronização de uma ou mais entidades.

Todos os registros da relação Gestor x IdBanco possuem um campo para indicar se a sincronização está ou não habilitada, caso indique que não, a sincronização não será realizada.

Além disso, um registro específico (Idbanco = 0, o valor zero foi escolhido pois não indica um idbanco válido para as escolas) indica a sincronização geral das entidades, ou seja, caso este registro esteja com a sincronização desabilitada todos as outras entidades irão ter a sincronização pausada.

Quando um processo de backup/restore for feito é necessário que o desenvolvedor seja comunicado para realizar as alterações na relação Gestor x IdBanco.