Comunicação entres aplicações java

8 respostas
rafaelevoinfo

Olá pessoal, estou precisando desenvolver duas aplicações que comuniquem entre si. Porém, nunca desenvolvi nada do tipo, alguém poderia me ajudar sobre por onde começo?
Com algumas buscas no google eu encontrei algo sobre sockets. Esta seria a melhor solução?

valeu pessoal.

8 Respostas

leonardobhbr

voce pode fazer de varios jeitos

Socket
RMI
WebServices
JMS

cada caso é um caso

rafaelevoinfo

No meu caso eu teria dois programas desktop rodando na rede da empresa aqui. E eles irão precisar transferir alguns objetos entre si. Qual você acredita ser a melhor solução?

Não sei muito de webservices, mas acho que para este caso não serve. ou não?

FernandoFranzini

rafaelevoinfo:
No meu caso eu teria dois programas desktop rodando na rede da empresa aqui. E eles irão precisar transferir alguns objetos entre si. Qual você acredita ser a melhor solução?
Não sei muito de webservices, mas acho que para este caso não serve. ou não?

Web services no desktop não da mesmo…
Pelo cenário banco de dados é a melhor opção…
Mas sem requisitos completos não da para sugerir muito coisa…ou seja “qualquer coisa” aparenta ser funcional

rafaelevoinfo

hum… Irei pesquisar sobre esse RMI e JMS para ver se algum se encaixa melhor do que os Sockets.

Muito obrigado Fernando.

Giulliano

rafaelevoinfo:
hum… Irei pesquisar sobre esse RMI e JMS para ver se algum se encaixa melhor do que os Sockets.

Muito obrigado Fernando.

JMS requer um servidor de aplicação JEE. Assim como EJB tb requer. Já webservices vc pode usar Java puro (como o desktop) ou atráves de servidores.

No seu caso, duas aplicações desktop conversando pela intranet, sugiro o uso de sockets mesmo…se precisar de uma ajuda é só gritar.

rafaelevoinfo

Ok, Obrigado Giulliano.

leonardobhbr

rafaelevoinfo:
hum… Irei pesquisar sobre esse RMI e JMS para ver se algum se encaixa melhor do que os Sockets.

Muito obrigado Fernando.

Se for pouco o trafico aconselho RMI

FernandoFranzini

Pelo seu cenário eu primeira tentaria assim:

  1. Integração via Banco de dados -> mais fácil, rápido sem complicadores adicionais. Para notificar uma aplicação da outra, vc pode usar a abordagem de pooling somente nos processos interessados.
  2. Socket -> legal pq vc pode fazer uma aplicação notificar a outra sem pooling, dependendo do tipo da mensagem é possível. Para mensagem assíncronas vc pode fazer usando thread separadas. Aqui não existe garantir de entrega e pode ter que implementar multiplas conexões que não é trivial assim.
  3. JMS -> seria a solução top de linha, no qual vc comunicação síncrona, assíncrona e ainda consegue garantir entrega das mensagens…Mas vai ter q aprender a especificação e ainda gerenciar um MOM.
Criado 5 de dezembro de 2011
Ultima resposta 5 de dez. de 2011
Respostas 8
Participantes 4