Socket ou RMI com WEB

5 respostas
A

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

5 Respostas

P

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

J

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+

V

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.

A

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

V

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

Criado 3 de setembro de 2004
Ultima resposta 9 de set. de 2004
Respostas 5
Participantes 4