[RESOLVIDO] Qual a melhor forma de rodar um sistema desktop para que outras máquinas acessem?
9 respostas
andersonrc
Olá galera!
Eu e outro estagiário desenvolvemos um sistema desktop, usando JPA que faz a persistência no PostgreSQL, tudo isso localmente.
Tal sistema terá que ser acessado por outros pcs.
Então, o que é mais viável e possível de fazer:
1- colocar um sistema desktop no servidor para que todas as máquinas da rede local acessem? (detalhe, o servidor é um Suse, e está apenas no modo texto… Então creio eu que tal sistema desktop não funcionará)
Ou
2- Deixar apenas o banco de dados no servidor e colocar a aplicação em cada pc, fazendo a comunicação com o BD no servidor?
Caso seja a opção 2: como será feita a comunicação? (Com sockets, threads e rmi?)
Então amigo acredito que a melhor opção seja a segunda, colocando o banco de dados no servidor e configurando a aplicação para acessar o servidor.
Para fazer isto é só configurar a forma de acessar o banco de dados com o ip do servidor e não localhost, poste a parte de conexão com o banco de dados caso esteja com duvidas dai a galera pode te ajudar a implementar.
andersonrc
acromo:
Então amigo acredito que a melhor opção seja a segunda, colocando o banco de dados no servidor e configurando a aplicação para acessar o servidor.
Para fazer isto é só configurar a forma de acessar o banco de dados com o ip do servidor e não localhost, poste a parte de conexão com o banco de dados caso esteja com duvidas dai a galera pode te ajudar a implementar.
blz acromo.
Eu já tentei colocar o ip no lugar do localhost, fiz esse teste de um desktop para outro e não funcionou.
Então andersonrc só para garantir quando você fez o teste os dois computadores estavam na mesma rede e a maquina que você usou como servidor tem o postgre instalado corretamente, e com o banco de dados de seu aplicativo criado?
E qual erro ocorreu quando você tentou acessar a aplicação mudando o localhost para o ip do outro pc?
andersonrc
acromo:
Então andersonrc só para garantir quando você fez o teste os dois computadores estavam na mesma rede e a maquina que você usou como servidor tem o postgre instalado corretamente, e com o banco de dados de seu aplicativo criado?
E qual erro ocorreu quando você tentou acessar a aplicação mudando o localhost para o ip do outro pc?
acromo
Sim, estavam na mesma rede e coloquei no XML o IP da outra máquina, com o nome do banco que foi criado na outra máquina. O PostgreSQL está instalado sim.
O erro que aparece n a console do NetBeans, é que não foi possível localizar o banco de dados. Ao meu ver a aplicação sempre procura o banco de dados localmente no PC, e não na outra máquina, mesmo depois de ter sido modificado o xml, com o IP e o nom e do banco que estão na outra máquina.
Por isso que no início do tópico perguntei como será feita a comunicação (Com sockets, threads e rmi)
acromo
Cara vou dar uma pesquisada pra ver se consigo te ajudar, mais em minhas aplicações desenvolvidas no eclipse utilizando hibernate, acredito que é só mudar o ip que tudo funciona correto.
Se tiver como mostrar a mensagem de erro apresentada no console acho que fica mais fácil de tentar resolver.
Não tenho muito conhecimento de rede mas não poderia ser firewall ou alguma configuração de proxy, que esteja impedindo o acesso.
Então eu continuo achando que a forma é esta mesmo, socket ou rmi seria para outro tipo de serviço.
andersonrc
acromo:
Cara vou dar uma pesquisada pra ver se consigo te ajudar, mais em minhas aplicações desenvolvidas no eclipse utilizando hibernate, acredito que é só mudar o ip que tudo funciona correto.
Se tiver como mostrar a mensagem de erro apresentada no console acho que fica mais fácil de tentar resolver.
Não tenho muito conhecimento de rede mas não poderia ser firewall ou alguma configuração de proxy, que esteja impedindo o acesso.
Então eu continuo achando que a forma é esta mesmo, socket ou rmi seria para outro tipo de serviço.
acromo, obrigado pela ajuda
Como não estou na empresa, eliminei o banco do PostgreSQL e executei
e essa é a mensagem
Internal Exception: org.postgresql.util.PSQLException: Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se o postmaster está aceitando conexões TCP/IP.
andersonrc
andersonrc:
acromo:
Cara vou dar uma pesquisada pra ver se consigo te ajudar, mais em minhas aplicações desenvolvidas no eclipse utilizando hibernate, acredito que é só mudar o ip que tudo funciona correto.
Se tiver como mostrar a mensagem de erro apresentada no console acho que fica mais fácil de tentar resolver.
Não tenho muito conhecimento de rede mas não poderia ser firewall ou alguma configuração de proxy, que esteja impedindo o acesso.
Então eu continuo achando que a forma é esta mesmo, socket ou rmi seria para outro tipo de serviço.
acromo, obrigado pela ajuda
Como não estou na empresa, eliminei o banco do PostgreSQL e executei
e essa é a mensagem
Internal Exception: org.postgresql.util.PSQLException: Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se o postmaster está aceitando conexões TCP/IP.
Talvez seja questão de configuração de rede mesmo.
acromo
Cara existe a seguinte possibilidade quando o postgre vai ser utilizado como servidor recebendo conexões de outras maquinas, existe algumas configurações que devem ser feitas.
Dei uma pesquisada e encontrei um tópico no guj mesmo da uma olhada e segue as instruções que a galera passou pra ver se você consegue resolver seu problema.
Cara existe a seguinte possibilidade quando o postgre vai ser utilizado como servidor recebendo conexões de outras maquinas, existe algumas configurações que devem ser feitas.
Dei uma pesquisada e encontrei um tópico no guj mesmo da uma olhada e segue as instruções que a galera passou pra ver se você consegue resolver seu problema.