Robô de Busca em Java

6 respostas
D

Pessoal, estou desenvolvendo um sistema de busca de informações na WEB (em lugares especifidos), e gostaria de saber…

É possível eu enviar um requisição de processamento ao sistema no qual o controle de processamento ficaria no servidor e não no browser do cliente.
Pois no sistema que desenvolvi, possui o seguinte fluxo:

Fiz um sistema de busca de informações de veiculo do detran através do Renavam:

  • Importo arquivo TXT com números de Renavam no servidor.
  • Carrego pagina que efetua a busca de RENAVAM, lê cada linha(RENAVAM) do arquivo TXT e consulta no DETRAN
  • Leio retorno de dados em HTML extraindo as infomações que preciso
  • Através das informações retornadas, gero um arquivo de SAIDA também no formato TXT ou armazeno no banco de dados.

Porém, me deparei com um possível problema, quando faço a requisição de busca pelo RENAVAM, meu browser fica processando até que as buscas sejam concluídas, caso eu feche o BROWSER o processamento é interrompido.

Gostaria de saber se é possível ou quais recursos devo utilizar para que o sistema fique encarregado do processamento e não o browser do cliente?
Exemplo: Importaria o arquivo e o sistema internamente realizaria as buscas e devolveria o arquivo para o usuário, independente dele fechar o browser ou não.

Meu codigo está contido em uma página JSP. Não sei se esse é o metodo mais adequado…

6 Respostas

Tiburcio_Mancha

mas o browser é a interface com o cliente, através dele vc pode mostrar o status do processamento. Não acho seguro o cara fechar tudo e não ter nenhuma informação do que está acontecendo. Já viu os esquemas de sessão? Vc está logado e fecha o browser, ao abri-lo novamente na mesma aplicação nãose pede o login e vc cai direto na aplicação. Esse éseu caminho caso queria implementar algo!

D

Caro Amigo,

Acho que não me expressei bem…rs
Na verdade ele poderia acompanhar o status do processamento… Como se fosse quando você faz uma compra na internet, no qual o site disponibiliza status do Pedido (AGUARDANDO PAGAMENTO, ENVIADO,…etc).

Só que abstraindo para o que eu preciso, o usuário enviaria ao sistema diversas requisições de processamento em lote, e o sistema ficaria encarregado de processar os dados e atualizar o status das pesquisas para o clientes, que quando tivesse ok, ele pudesse visualizar.

Como o sistema consultará em diversas fontes de informação, o processamento pode ser demorado e o cliente não tenha paciência de aguardar a conclusão ou acidentalmente fechar o browser…

Seria tipo assim…
CLIENTE SOLICITA BUSCA DE INFORMAÇÃO > SISTEMA PROCESSA > QUANDO CONCLUIDO RETORNA PARA USUÁRIO SENDO ESTE ATRAVÉS DE ACESSO AO PAINEL DO SISTEMA ONDE ELE PODERÁ VISUALIZAR AS PESQUISAS REALIZADAS E O STATUS DAS PESQUISAS EM ANDAMENTO % DE CONCLUSÃO, ETC…

Tiburcio_Mancha

Entendi, como disse, acho que vc teria q trabalhar com sessão, e caso o cara feche o browser, a sessão é mantida…

mas tem outras variáveis…

a internet do cliente vai ser estável?pq se cair todas hr já viu né?

vc tem q prever tudo isso…

Tiburcio_Mancha

Ah, e se vc trabalhar com sockets, onde o cliente starta o serviço e dexa ele rodando, ae para colher informações vc cria as views onde ele pode visuyalizar as informações pelo browser.

D

Agora sim,…heehhe

vou dar uma lida sobre sockets, acho que deve ser isso que estou precisando…

Valeu!!!

B

acho que a melhor alternativa para seu problema seria o uso de JMS… JMS é utilizado quando há necessidade de uso
de chamadas assíncronas… Ou seja, voce envia e requisicao para o servidor e esquece… aí o server faz o que é necessário…

Dessa forma voce poderia processar sua requisicao e atualizar o BD, por exemplo, com os status necessarios para o cliente…

Criado 24 de abril de 2010
Ultima resposta 24 de abr. de 2010
Respostas 6
Participantes 3