Sockets ou RMI?

Fala aee galera!

Apesar de já programar há um tempo, nunca tinha me interessado por Java.
Sempre ouvi falar, mas nunca fui atrás… Putz que arrependimento!!
Comecei estudar agora e cada vez mais vejo que é uma opção interessante.

Como trabalho muito na área de redes e administração de servidores, já de cara criei um programinha básico para brincar com sockets. Daí acabei ouvindo falar no tal RMI.

Sockets tudo bem, até era um assunto que eu ja conhecia, foi fácil achar a forma de fazer em Java. Então conheci o tal RMI (Remote Method Invocation), que me chamou a atenção.

Fui atrás e cheguei a criar um “Hello World”. Acho que entendi um pouco a coisa. Agora eu queria, se alguem puder me ajudar, obter alguns esclarecimentos:

Estou criando uma ferramenta pessoal (básica, mais para aprendizado) onde pretendo acessar, da minha maquina, Windows acessar alguns arquivos texto localizados no servidor, linux, e alterar seus conteudos.

A principio eu até já fiz isso via sockets: crie um “Server.java” que executo no servidor linux e deixo ele lá. Criei também um “Client.java” que conecta ao “Servidor.java” e pede para ler um arquivo. O “Cliente.java” recebe o conteudo do arquivo e assim por diante…

Minha dúvida é a seguite:

  • Posso fazer isso também via RMI?
  • Acredito que sim, mas é uma boa??
  • Ou a idéia de RMI é para outra coisa?
  • Qual das duas opções é melhor para meu caso: sockets x RMI?

É isso. Código depois eu me viro. Preciso mais do conceito :wink:

Agradeço imensamente qualquer ajuda!

Bom o RMI serve pra programação distribuida. é mais facil de implementar que socket pois vc fz chamada a um metodo remoto

Deixei um programinha meu no link abaixo

http://www.myjavaserver.com/~andrelcvc/chat.zip

  • Posso fazer isso também via RMI?
    Sim.

  • Acredito que sim, mas é uma boa??

  • Ou a idéia de RMI é para outra coisa?

  • Qual das duas opções é melhor para meu caso: sockets x RMI?
    As três perguntas são respondidas com outra: o que significa “melhor” para você? Mais performático? Mais limpo? Mais rápido para desenvolver? Aconselho a testar as duas. :smiley:

Só para piorar sua situação, tem o DualRpc também:
http://www.retrogui.com/cgi-bin/wiki_dualrpcserver.pl/DualRpcServer

Cara, o exemplo do Chat usando RMI ficou jóia!! Estou estudando o código com calma e já me ajudou um monte!!

O DualRPC eu nem sabia que existia :slight_smile:
Vou ver ele com calma também…

Agradeço as argumentações e volto então a questionar:

Sockets / RMI / DualRPC :

O que vocês me dizem a respeito de Segurança / Velocidade ??

Eu achei o RMI meio lento em relação ao meu testes via Sockets… o DualRPC ainda não testei… Mas pode ser a forma como fiz, visto que estou nas minhas primeiras experiencias

Mas a velocidade nem é a maior preocupação… Eu primo pela segurança antes de tudo!

Se vocês ou alguem mais puder acrescentar algo a respeito de velocidade e de segurança em cada caso, eu agradeço! Algo como “acho mais seguro assim” ou “acho mais rápido com DualRPC”…

Obrigado mais uma vez!

:smiley: