Comunicação entre duas aplicações Java pela WEB para automação residencial

[color=blue][/color]
Olá.

Estou desenvolvendo uma aplicação de automação residencial para controle de dispositivos eletrônicos em Java pela porta USB usando a WEB no Windows XP.

Já desenvolvi a aplicação para rodar stand alone no computador da minha residência, no entanto, preciso que outro programa em Java em outro computador possa executar essa aplicação que tenho no computador da minha casa usando a WEB.

Pensei em usar WebService, mas como fazer para que o WebService receba um comando do programa cliente e o encaminhe ao programa que esta rodando no computador de minha casa ativando assim o dispositivo desejado?

Há outro caminho que não webservice?

Por favor me ajudem.

Obrigado.

Sim, existe.

Se webservie te der muito trabalho, faça um simples GET ou POST num aplicativo web onde um dos métodos de negócio transfira os comandos pro seu aplicativo…

No entendi muito…

Voce tem um programa e prceisa que um cliente remoto entre em contato com ele?

Talvez usando SOCKETS.

Valeu por responder.

Não consigo rodar meu programa servidor SOCKET na porta 80, acho que esta bloqueada pelo NET VIRTUA. Criei domínio para trabalhar com IP fixo no NO-IP ja que o do Virtua é dinâmico.

Como eu comunico o servidor Socket e o cliente via WEB?

Obrigado.

Hmmmmm.

As portas mais comuns eles bloqueiam mesmo.

Mas você criou uma NAT da porta 80 do IP da Virtua pro seu IP interno?

Geralmente, mas não sempre, os acessos domésticos tem as portas 80, 443, 21,22, 23 e 25 fechadas.

Se for o caso, você teria de fazer o NAT em uma porta diferente da comum (por exemplo, 3210), e trabalhar com ela.

Nem precisa de NAT, é só abrir um ServerSocket na porta desejada.


http://www.imasters.com.br/artigo/2385

Daniel, acontece qu eo servidor dele provavelmetne não vai estar acessando diretamente a internet, logo ele pode até usar a informação que você passou, mas vi ter de criar uma regra pra passar do modem pro servidor a conexão…

[quote=LeonardoCarvalho]Hmmmmm.

As portas mais comuns eles bloqueiam mesmo.

Mas você criou uma NAT da porta 80 do IP da Virtua pro seu IP interno?

Geralmente, mas não sempre, os acessos domésticos tem as portas 80, 443, 21,22, 23 e 25 fechadas.

Se for o caso, você teria de fazer o NAT em uma porta diferente da comum (por exemplo, 3210), e trabalhar com ela.[/quote]

Cara, me desculpe a ignorância no assunto, mas não sei o que é NAT nem como se cria.
Vc pode me dar uma dica?

Obrigado.

[quote=danieldestro]Nem precisa de NAT, é só abrir um ServerSocket na porta desejada.


http://www.imasters.com.br/artigo/2385[/quote]

Valeu, vou dar uma lida nesses artigos.

Obrigado.

NAT (Network Address Translation) pode ser explicado como um mecanismo de “transferência de IP”.

É assim: Seu modem tem um endereço na internet (200.X.X.X) que é um endereço “quente”, válido. Digamos que é o IP 200.200.200.200.

Mas existem endereços privados que não circulam na net (192.X.X.X, 10.X.X.X), que geralmente é o endereço que sua placa de rede recebe do modem. Chamemos este IP de 192.169.1.101.

No caso, vc liga um servidor e ele vai pegar uma porta no endereço privado.

Quando vc usa o No-IP, o ip público (“quente”), 200.200.200.200 é publicado com um nome na net.

O que acontece? Seu modem não tem um servidor ouvindo na porta,na chamada interface externa, e a conexão é recusada.

Here comes the NAT.

Você no modem vai criar uma regra de NAT, explicando que toda conexão que bater na porta, digamos, 80, no ip externo (200.200.200.200) , vai pra porta 80 (ou, 8080, esses números pode sem aleatórios) do seu servidor no seu computador (192.169.1.101).

Assim, a porta 80 do seu computador vai estar exposta na internet…

Sacou?

Entendi, só que minha conexão de rede esta configurada para obter um IP particular automaticamente (DHCP) ativado, uma vez que o Virtua fornece IP dinâmico.
Também não tenho acesso as configurações do Cable modem do Virtua.
Quando tento acessar o IP 127.0.0.1 pede login e senha.

Vou tentar ligar para o Virtua e saber sobre o acesso ao MODEM.

Abraço.

dê um traceroute ou acesse “http://network-tools.com/” para saber seu IP externo.

O IP interno do modem para vc acessar é o sue IP de gateway (ipconfig passa isso no windows, acho).

Os modens, dependendo do modelo, tem senhas padrão com admin/admin, ou /admin.

HTH

[quote=LeonardoCarvalho]dê um traceroute ou acesse “http://network-tools.com/” para saber seu IP externo.

O IP interno do modem para vc acessar é o sue IP de gateway (ipconfig passa isso no windows, acho).

Os modens, dependendo do modelo, tem senhas padrão com admin/admin, ou /admin.

HTH[/quote]

Valeu.

Se eu não conseguir vou rodar o TomCat e desenvolver com servlets.

Obrigado.

Servlets, Sockets etc… se bloquearem as portas, dá na mesma.

Entendi.

Qual é mais fácil para rodar uma aplicação cliente usando J2ME usando por exemplo um PALM ou celular com wi-fi, sokets ou servlets?

Por falar em Palm, pretendo rodar o cliente em um por wireless usando um roteador. Há alguma dificuldade em rodar a aplicação por exemplo em um palm-top com PalmOS ou em um Pocket com Windows CE?

Obrigado.