Socket ou RMI com WEB

Daê,

Quero fazer uma aplicação web (Struts rodando no tomcat) que se comunique com um desktop application que está na mesma rede. Gostaria de saber se isso é possível e se posso usar Socket? ou RMI?

Obrigado!

Alex

Oi,

Se você quer que sua aplicação cliente acesse o servidor que usa Struts/Tomcat, pode usar um protocolo como o HTTP. Eu recomendaria XML sorbe HTTP se forem estruturas de dados complexas, texto puro ou CSV (separa do por víruglas) se forem simples.

Seu cliente acessar a URL do servidor enviando comandos HTTP como GET e POST e vai receber dados em formato texto, que ele vai transformar em objetos. Praticamente tudo isto já está implementado, basta juntar as peças :slight_smile:

[]s

Oi

Bahhh, ao Phillip aí, esse é um GUJeiro de carteinha, seja bem vindo ae cara, a casa é tua aqui tb :joia:

Alex, tu pode pensar em EJBs tb, neste caso fugiria do Tomcat pra usar JBoss com o Tomcat dentro, é uma solução um tanto mais complicada e robusta.

T+

Concondo com o pcalcado sobre usar XML sobre HTTP. E uma das formas de se fazer isso (talvez a melhor) é usando Web Services com Axis. Esse artigo do Renan Paulon, encontrado em Portal Java ->Artigos e Tutoriais -> JEEE -> Web Services pode te ajudar.

Essa forma é muuuuuito simples, é bem extensível e o seu cliente desktop não precisa ser necessariamente feito em Java. RMI é mais eficiente, eu sei, mas a combinação Axis + XStream sempre foi suficiente para mim.

Eu uso XStream para passar qualquer objeto para XML e transmito via Axis. Do lado do cliente, passo de XML para objeto Java novamente. Fica bem legal.

Oi,

Blz, consegui rodar o axis com um ws teste (Calculator). Mas agora se eu quiser que meu webService tenha várias classes? Onde eu encontro material sobre isso? alguem sabe?

Obrigado!

[]'s

Alex

http://ws.apache.org/axis/