| Data de elaboração | 30/06/2023 |
| Responsável pelo estudo | Ádrian Rabelo Mendes (Assessor), Diego Gonçalves de Almeida (Assessor), Jônatas Legal (Técnico em Tecnologia da Informação e Comunicação) (Assessor), Rodrigo Stefano Sales Nascimento (Assessor) |
| Equipe de estudo | CAOS |
| Alvo | Sistema Governa |
| Origem | Realizar levantamento para integração assíncrona do cadastro de servidor nos sistemas e-Estado e Governa - Recursos Humanos. |
| Objetivo | Possibilitar a inserção automática de informações recebidas pelo sistema e-Estado no banco de dados do sistema Governa, reduzindo retrabalho e mantendo a integridade dos dados entre os sistemas. |
| Documentação correlata | Estudo Técnico sobre a Integração do e-Estado com o Sistema Governa. Aba Informação |
AMQP - Advanced Message Queueing Protocol
RabbitMQ - servidor de mensageria de código aberto
O presente estudo técnico tem como objetivo analisar e apresentar propostas para a integração do cadastro de servidores a fim de replicar os dados oriundos do e-Estado no banco de dados do sistema Governa. Atualmente, esse processo é realizado manualmente pelos usuários destes sistemas realizando o cadastro de servidores em ambos sistemas, no entanto após análise prévia das informações presentes nestes, percebeu-se que o Governa não contempla diversas informações dos servidores que estão presentes no e-Estado. Desta maneira, a proposta de integração entre estes sistemas visa sanar tanto o retrabalho que o usuário possui atualmente para realizar o mesmo cadastro em sistemas distintos como manter a integridade dos dados nos dois sistemas.
Analisando o cenário, percebeu-se que os cadastros de graduação diferem em alguns pontos em ambos os sistemas. Para os fins de integração, o protocolo AMQP em conjunto com RabbitMQ serão as tecnologias utilizadas para implantação deste serviço como visto no segundo capítulo do Estudo Técnico sobre a Integração do e-Estado com o Sistema Governa. Aba Informação.
No sistema e-Estado, através do menu «Servidor» temos acesso às funcionalidades relacionadas a essa entidade. Na tela de detalhes acionada ao selecionar um servidor temos o botão «Cadastro Geral» onde pode-se cadastrar os dados do servidor. Entre as opções presentes nesta tela temos a aba «Cursos» onde são exibidos os cursos já cadastrados para o servidor e onde novos cursos podem ser cadastrados.

Acionando o botão «Adicionar curso» o usuário é redirecionado à outra tela onde deve informar os dados referentes ao curso que deseja cadastrar para o servidor.

Note pela imagem que curso é um tipo de grau de instrução, variando de analfabeto até doutorado, e o nome do mesmo é um campo informado pelo usuário.
Já no Governa, navegando pelo menu conseguimos acessar a tela de cadastro de servidor seguindo: «Servidor -> Cadastro de Servidor -> Novo» conforme a imagem a seguir.

Aqui, note que «Curso Superior» é um campo selecionável de uma lista pré-definida presente no Governa e são necessárias apenas o curso e o ano de conclusão. Vale salientar que, nos cadastros de curso (e-Estado) e graduação (Governa), o cenário ideal seria dos campos «Nome» (e-Estado) e «Curso Superior» (Governa) serem do mesmo tipo (selecionável ou apenas texto), no entanto, não sendo o caso, deverá ser aplicada uma comparação entre o nome do curso informado no e-Estado com os cursos superiores listados no Governa e selecionar o mais adequado.
Visto que o Governa possui apenas dois campos para cadastro da graduação dos servidores, logo os seguintes campos serão refletidos em ambos os sistemas, sendo os demais presentes no e-Estado descartados pelo Governa.
| Tabela Governa | Campo | Governa | e-Estado | Obs |
| admin pessoa_curso_superior | Curso Superior | id_curso_superior | nome | Neste campo, será necessário construir um método para selecionar o d_curso_superior da lista de cursos do governa com base no nome do curso informado no e-Estado. |
| — | Ano Conclusão | ano_conclusão | ano_conclusao. |
Após ação de cadastro de curso para um servidor, os seguintes dados serão enviados do e-Estado para o serviço de mensageria para então serem inseridos no Governa:
1 {
2 «cpf»: 018..-21,
3 «curso_nome»: «Administração»,
4 «curso_ano_conclusão»: «2023»
5 }
Assim, o CPF informado será utilizado para consulta da pessoa à qual o curso será adicionado, com os demais campos informados, na tabela «admin.pessoa_curso_superior» (que de fato cria o vínculo entre uma graduação e uma pessoa). Vale salientar que esta ação deverá ser acionada apenas quando, no e-Estado, for cadastrado um curso do tipo «Graduação» para a pessoa.
Neste estudo, analisamos a possibilidade de integração dos dados de graduação de servidor entre os sistemas e-Estado e Governa. A associação correta dos campos compartilhados requerem um identificador único da pessoa em questão tal como o CPF para verificação. Alguns campos não possuem correspondência nos sistemas, sendo apenas o nome do curso e o ano de conclusão necessários para a integração. Assim sendo, segue algumas sugestões de tarefas que podem ser criadas para implantação desta integração:
| História | O quê: Eu, dev, preciso criar uma propriedade Graduação na entidade de Servidor. Por quê: para realizar a integração de dados de Graduação, cadastradas no sistema e-Estado, para o Governa |
| Regras e validações | Deve conter nome do curso e ano de conclusão. Deve selecionar e vincular, no Governa, o curso superior de acordo com o nome informado no e-Estado. |
| Pontuação | 5 Pontos |