Agente Inteligente para Web na arquitetura MVC

Oi. Sou iniciante nessa parte de programação para Web. Tenho um trabalho de faculdade para o fim do ano envolvendo várias matérias. O projeto é desenvolver um sistema de estágio, onde empresas e Faculdade interagem o sistema. O aluno poderá cadastrar seu curriculo e procurar por vagas. A empresa poderá cadastrar vagas e gerenciar os alunos que estagiam, através do supervidor que poderá gerar relatorios sobre aluno direto no sistema. e a Faculdade através do orientador para pegar os relatórios do aluno e dar nota.

A professora de inteligência artificial pediu para que colocássemos um agente no sistema. O agente que projetamos fará o seguinte:

  • Como todo agente, será autônomo e deverá rodar o tempo inteiro.
  • Ele ficará o tempo todo comparando alunos com vagas e classficando os alunos de acordo com o requesito da vaga, caso o aluno preencha os requisitos, mandará um e-mail para a empresa dizendo que existe um aluno para preencher a vaga e um para o aluno informando sobre a oferta de vaga.

Expliquei tudo isso para vocês entenderem como tudo vai funcionar.

Minhas dúvidas:

  1. Como devo implementar o agente ? Como uma classe comum ? Como um servlet ?

  2. Estou tendo problemas para deixar o agente em loop, pausar ele para processar o que for requerido para ele e depois ele voltar ao processamento. Como o agent evai trabalhar direto com o banco, essa interrupção do loop geraria algum problema ?

A quem puder ajudar, desde já obrigado.

bom, eu acho que sua professora viajou, mas de qualquer forma, voce deveria fazer assim:

teu agente é uma aplicacao, independente da tua aplicacao web, rodando no servidor. Esse teu “daemon” ficaria rodando em laço executando as tarefas necessárias. Isso é muito feio, nada elegante e não seria tempo real. Mas se sua professora quer assim… entendo.

Outra opcao é que as tarefas sejam executadas em pontos chaves (quando o usuario cadastra, altera remove, dados).

cara com certeza a solução mais fácil (e talvez a mais inteligente também) é, como o jmp falou… quando ocorre um novo evento no sistema, como cadastar vagas, currículo, etc

É foi issu que eu disse a ela… que essas funções seriam implementadas no caso de um novo cadastro no banco (seja de aluno ou de vaga), mas ela disse que assim o agente deixaria de ser autônomo e deixaria de ser caracaterizado como agente.

Procure sobre Threads no Tomcat que isso pode te ajudar a desenvolver tal agente…