Olá turma!
Estou tentando desenvolver uma aplicação pra Intranet usando Laszlo + Spring. Estou utilizando as requisições HTTP para fazer as requisições para o servidor.
Agora estou enfrentando um problema para definir a melhor forma de tratamento de erros no Laszlo.
Quando o usuário submente uma ação para ser executada no servidor e este encontra problemas ele retorna um xml com a tag <errors> contendo uma ou mais tags <erro>. O Laszlo dever detectar que um erro ocorreu e recuperar.
Imagine a situação onde o usuário esta tentando inserir um registro em uma lista ele entra com os dados e submete para o servidor o servidor retorna um xml com o erro ocorrido. O laszlo deve então cancelar a inserção do registro na lista. Se tudo vai bem e uma tag <errors>não eh retornada então o registro será inserido na lista. O mesmo comportamento ocorre para atualizações e exclusões.
O grande problema em tratar isso é porque o laszlo faz requisições de forma assincrona então a aplicação continua como se nada tivesse acontecido até que ela receba uma notificação e só então vai tomar uma atitude. Imagine se o servidor demore a responder, e o usuário continua operando a aplicação e so após algum tempo aparece uma mensagem na tela confirmando ou avisando do erro ocorrido. Isso é um desastre total.
Eu estou tendo dificuldades pra definir um modelo de comunicação e tratamento de erros bacana entre as aplicações laszlo e os servidores baseados em servlets como struts ou spring.
Já pensei em ficar indo no servidor toda hora pra atualizar o xml dos datasets e dessa forma ja tratava o erro, da mesma forma que ocorre hoje com aplicações web tadicionais. porem somente parte do xml seria buscado. Por exemplo, em uma tela mestre detalhe a parte detalhe seria atualizada de maneria independente da parte mestre, iria existir um dataset para cada um, e sempre que um usuário requisitar a execução de um comando(como insert, update ou delete) então o dataset seria atualizado tornando facil a manipulação dos erros caso esses ocorram. Esse modelo é bom porém não é o ideal. Atualmente estou utilizando um modelo que somente envia o comando a ser executado e não ah a necessidade de ficar atualizando os datasets toda hora o que reduz o trafego de xmls tornando a aplicação mais leve.
Gostaria da sugestão de todos.
um abração
Ps.: Estou quase desistindo de Laszlo!
Moa.