Desktop Lendo Informações Web

Pessoal,

Tenho uma aplicação Desktop que tem q buscar dados, e gravar em um banco web. Tenho uma página web q interage com esse banco e preciso q uma aplicação desktop acesse esse banco, para gravar dados e ler… Não gostaria de colocar o acesso ao banco no programa desktop pq se descompilar o .class o usuario teria a senha e dados de login ao banco. Entao pensei em desenvolver algo para disparar funções em classes web e pegar resultados delas. Assim minha conexão ficaria somente nessas classes. Qual a melhor solução para isso? O que vcs sugerem?

Agradeço,
Fábio.

O problema da senha é o menor deles. Integrar coisas via banco de dados é uma péssima esc0lha na maioria dos casos. Utilize um servidor com chamadas RPC como EJB ou webservices POX ou REST.

Se integrar via banco não é uma boa ideia o q vc sugere para integração dos dados do sistema desktop com o da web?

Fabio, isso o Shoes já respondeu:

Eu recomendo que você use tecnologias no desktop que te permitam mudar essa integração de forma transparente (basicamente, use AOP em alguma forma). Para isso, você pode usar o Spring ou o genesis.

Como o mister_m falou, tu pode usar spring

http://static.springframework.org/spring/docs/2.0.x/reference/remoting.html

fabio,

Eu te aconselho o uso de webservices.

Eu já fui partidário de criar uma action que retorna XML ou ObjetoSerializadoEmBase64. Então o seu desktop faria uma requisição web e receberia um objeto Java (via xStream ou ObjectInputStream). A desvantagem é ficar construindo as requisições via java.net.URL, mas nada que uma boa abstração não resolva. Outra desvantagem seria duplicar actions que fazem a mesma coisa (para web e para desktop), mas aí vc pode criar um filtro que intercepta a mesma action e redireciona o Output para um forward (web) ou para um stream (desktop). São coisas para se analisar…

Mas agora que conheci o xFire, acho que de repente vale a pena “abstrair” isso na sua cabeça e deixar o xFire fazer esse trabalho sujo pra vc.

[quote=fsquadro]fabio,

Eu te aconselho o uso de webservices.
[/quote]

Pq?
Teve problemas com o spring-remoting?

EDITADO agora que vi… provavelmente tu deve ter respondido para o fabio.candia que criou o topico