Situação:
Aplicação web acessada por navegador.
Usuário requisita um processo, que demora um tempo variável.
O usuário deve acompanhar o andamento do processo (ex: 10%).
O usuário pode cancelar o processo em andamento.
Minha solução ANTES de começar a usar VRaptor:
Criei o UsuarioWeb, que fica na HttpSession…
UsuarioWeb tem um atributo do tipo Processo…
Em um popup modal é requisitado o processo…
o popup se recarrega a um determinado intervalo (ex: 2s)…
mostro na view o usuarioWeb.getProcesso().getStatus()…
Se clica em cancelar, usuarioWeb.getProcesso().cancelar().
Gostaria de receber algumas sugestões…
outras formas de se fazer processamento em uma aplicação web…
críticas à minha solução… etc…
Desde já agradeço!!!
vc pode fazer isso usando AJAX, daí vc não precisa de um popup…
vc pode usar bibliotecas javascript como o JQuery para fazer o modal, com a barra de progresso, enquanto ele vai fazendo requisições ajax pra sua aplicação pra perguntar o andamento do processo, atualizando a barra de progresso…
qdo acabar vc fecha o modal (que fica na mesma página da aplicação, não num popup!)
na lógica que vc pergunta sobre o andamento, vc pode retornar um JSON com o progresso, pra ficar mais fácil de trabalhar no javascript
Já implementei esta solução com jquery ainda ontem…
todas as mensagens do sistema já estavam utilizando as caixas de dialogo com jquery… daí pensei isso também!!
Pensei estar trabalhando de forma errada com a questão do Processo dentro do UsuarioWeb…
Pois cheguei a esta solução sem referência teórica… mas acho que não tem muitas maneiras de
se implementar uma solução para este problema…
Valeu Lucas Cavalcanti… (Cheguei a ler seu artigo na MundoJava… muito bom!)
Se alguém tiver uma sugestão diferente…???