Fluxo de Integração de Usuários


A integração de usuários entre as plataformas Badiu.Net e Moodle visa manter os dados de cadastro replicados em ambos os ambientes. A plataforma Badiu.Net gerencia esse processo de forma ativa, enquanto a plataforma Moodle atua de forma passiva, executando as ações solicitadas pela Badiu.Net.
 
A figura a seguir ilustra o fluxo de comunicação entre as duas plataformas.
 
As duas plataformas possuem lógicas próprias e isoladas de gestão de usuários. Na Badiu.Net, existe uma camada responsável pela replicação de usuários no Moodle: é a camada de sincronização, que controla os registros já replicados em cada plataforma por meio do mapeamento de chaves.
No Moodle, o plugin de Badiu Webservice é o conector que recebe as requisições da camada de sincronização do Badiu.Net. Ao receber uma solicitação de cadastro, primeiro verifica se o usuário já existe pela chave de sincronização. Caso não exista, efetua o cadastro e obtém o ID gerado, único para cada usuário. Se já existir, apenas recupera o ID do usuário existente. Esse ID é então retornado para a camada de sincronização no Badiu.Net, que o registra em seu controle.

Os módulos do Badiu.Net que requerem integração com a plataforma Moodle, como o GC2 e o SGA, utilizam a camada de sincronização de usuário tanto para enviar novos cadastros quanto para enviar atualizações de dados. Além disso, também importam usuários já cadastrados no Moodle para o Badiu.Net.

Esses módulos do Badiu.Net interagem diretamente com o módulo de sincronização de matrículas, responsável por vincular um usuário a um determinado curso ou disciplina no Moodle. Antes desse vínculo, o módulo de sincronização de matrículas verifica se o usuário já está inscrito no ambiente Moodle. Se não estiver, aciona a camada de sincronização de usuários para efetuar o cadastro prévio, garantindo que o processo de matrícula seja realizado com sucesso.