Integração Entre os Sistemas e-Estado e Governa Para Cadastro de Servidor: Aba Graduação
Estudo Técnico para integração entre e-Estado e Governa Recurso Humanos - Cadastro de Servidor, aba Graduação
Data de elaboração | |
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 Relacionada | Estudo Técnico sobre a Integração do e-Estado com o Sistema Governa. Aba Informação |
Glossário
- AMQP - Advanced Message Queueing Protocol
- RabbitMQ - servidor de mensageria de código aberto
Acknowledgement - confirmação de entrega de mensagemQoS - Quality of Service
1. Introdução
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.
2. Desenvolvimento
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.
2.1 Cadastro de Servidor - Graduação
No sistema e-Estado, através do menu "Servidor" temos acesso às funcionalidades relacionadas a essa entidade. UtilizandoNa tela de detalhes acionada ao selecionar um servidor temos o botão "NovoCadastro Servidor"Geral" somosonde redirecionadospode-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 cadastrograu de servidorinstrução, talvariando comode exemplificadoanalfabeto naaté imagemdoutorado, ae seguir:
nome do mesmo é um campo informado pelo usuário.
NestaAqui, tela o usuário pode preencher diversas informações do servidor navegando entre as abas, especialmente a mais a aba Graduaçãonote que será"Curso objeto deste estudo.
Atualmente estas telas operam independente uma da outra sendo necessário o cadastro de servidor por ambas, e consequentemente podendo resultar em inconsistência de dados por muitas vezes. Logo, a integração almejada é indispensável para realizar uma troca eficiente destes dados entre os sistemas de forma automatizada, reduzindo redundância, retrabalhos e aprimorando a qualidade de dados destes sistemas.
O estudo aborda a utilização do protocolo AMQP em conjunto com RabbitMQ, um sistema de mensageria de código aberto responsável pela implementação do protocolo, permitindo troca eficiente de mensagens entre diferentes sistemas e componentes.
2. Desenvolvimento
2.1 AMQP
Advanced Message Queueing Protocol (AMQP)Superior" é um protocolocampo selecionável de mensagensuma assíncronaslista utilizadopré-definida parapresente comunicaç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 sistemaso distribuídosnome desenvolvidodo paracurso facilitarinformado ano trocae-Estado decom mensagensos entrecursos aplicativossuperiores delistados formano eficienteGoverna e confiável.
O protocolo foi projetado para ser independente de plataforma, permitindo comunicação entre diferentes sistemas e linguagens de programação. Ele define um conjunto de regras e formatos para enviar, rotear e receber mensagens e garante sua entrega ordenada e confiável.
Uma das principais características do AMQP é a utilização de filas de mensagens. Elas são publicadas em filas e podem ser consumidas por um ou mais consumidores, de acordo com um modelo de publicação e assinatura. Isso permite que os aplicativos enviem e recebam mensagens de forma assíncrona, desacoplando o produtor da mensagem do consumidor.
Além das filas, o AMQP define trocas (exchanges) e vinculações (bindings) para rotear as mensagens para filas corretas. As trocas recebem mensagens dos produtores e encaminham-nas para as filas com base em regras de roteamento específicas. As vinculações definem a relação entre as trocas e as filas.
Suportando diferentes modelos de entrega de mensagens como confirmação (acknowledgment) que garante a entrega bem sucedida das mensagens e a qualidade de serviço (QoS) que define níveis de prioridade para as mensagens.
adequado.
2.2 RabbitMQIntegração da Graduação
RabbitMQ é um software de mensagem assíncronaVisto que implementa o protocoloGoverna AMQP.possui Eleapenas édois amplamente utilizado como um intermediário de mensagens entre diferentes sistemas e serviços distribuídos, fornecendo uma plataforma robustacampos para trocacadastro deda mensagens e permitindo que aplicativos e serviços se comuniquem de maneira eficiente e confiável. Ele utiliza filas de mensagens para armazenar e entregar as mensagens entre os produtores e consumidores.
A principal vantagem do RabbitMQ é a flexibilidade e escalabilidade. Ele suporta uma variedade de padrões de troca de mensagens, como publicaçgraduação edos assinatura,servidores, roteamento direto e tópicos. Permite quelogo os dados sejam encaminhados de maneira adequada às necessidades específicas de cada aplicativo.
2.3 Integração - Aba Concurso
Os seguintes campos podemserão refletir-serefletidos em ambos os sistemas:sistemas, sendo os demais presentes no e-Estado descartados pelo Governa.
Tabela Governa | Campo | Governa | e-Estado | Obs |
|
| |||
Neste campo, será necessário construir um |
||||
-- | Ano |
ano_conclusão |
||
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:
{
"cpf": 018.***.***-21,
"curso_nome": "Administração",
"curso_ano_conclusão": "2023"
}
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.
3. Conclusão
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 |