Conectar Aplicativo Desktop em banco de dados hospedado na internet

Olá pessoal,

Gostaria saber como eu conecto um aplicativo desktop em uma banco de dados na internet? É muito diferente do banco instalado na própria máquina?

Pois tenho um aplicativo já desenvolvido como Java SE porém gostaria do banco na net! Ah o banco que estou utilizando é o Postgres…

Se alguém tiver alguns tutoriais ficarei grato, vlw!

É a mesma coisa que vc conectar local, vc terá um host e a porta! Faça o apontamento com usuário e senha e pronto, não tem mistério

não faça isso…
essa é a forma mais simples de se fazer, tudo bem…
no entando não é a ideal
fazendo desse jeito, 2 problemas podem acontecer:
1º sua aplicacao terá o endereço, login e senha no código. ficaria de pernas abertas com facilidade pra uma belissima invasão;
2º e se por acaso você quiser mudar a senha? ou o endereço do banco?
nesse caso eu recomendo webservice

Bom somente respondi a pergunta, mais conserteza um webservice seria uma melhor idéia, partindo da idéia que o cara terá um servidor externo e tempo de criar um e poder consumir

Legal Marlon Meneses, quais são os primeiros caminhos que devo tomar para trabalhar com webservice… por onde devo começar a pesquisar você pode me ajudar? Sou meio leigo nesta área.

eu tenho pouco conhecimento sobre webservices…
mas 1º de tudo você tem que configurar o servidor de aplicações
pesquesa pelo axis

não faça isso…
essa é a forma mais simples de se fazer, tudo bem…
no entando não é a ideal
fazendo desse jeito, 2 problemas podem acontecer:
1º sua aplicacao terá o endereço, login e senha no código. ficaria de pernas abertas com facilidade pra uma belissima invasão;
2º e se por acaso você quiser mudar a senha? ou o endereço do banco?
nesse caso eu recomendo webservice[/quote]

[color=olive]My’hero AIUEHIUaheiuAH :oops: [/color]

Mais um problema se fizer conexão direta com um banco na internet, além da falta de segurança,… lentidão…

O tempo de acesso ao banco de dados é muuuuito grande…

Marlon Meneses, vlw pela ajuda…

Galera se mais alguem pode ajudar???

Como é que o cara vai invadir a aplicação e pegar a senha ? rsrs
O único problema que eu vejo é a lentidão.

[quote=Valeio Bezerra]Como é que o cara vai invadir a aplicação e pegar a senha ? rsrs
O único problema que eu vejo é a lentidão.[/quote]
Esse problema existe pois a aplicação client vai mandar a senha e se qualquer lugar que o pacote passar alguem estiver snifando a rede, vai pegar senha do banco.
Isso até serve quando você tem um firewall no servidor com regras para ip fixo etc… mesmo assim…
Diferente de webservice que pode usar https de forma muito mais facil e além de tudo no máximo a pesso pode pegar as permissões para uma requisição especifica e não para acesso ao banco de dados.
Mesmo com um acesso fraco ao banco de dados, é possível elevar a permissão através de diversas técnicas, até mesmo brute force…
Tendo acesso admin em muitos bancos de dados é possível fazer shell reverso!

Tudo isso também é possivel com problemas de sql injection!

Exemplo: Sua aplicação bela e formosa tem o usuário e senha chumbado nela.
O cara vai usar essa app desktop por exemplo numa máquina infectada e alguem rouba o jar e consegue descompilar/decriptar e pega o usuário e a senha.
Ou senão o cara vai usar numa rede wifi qualquer, alguem faz um arp spoofing e consegue capturar os pacotes que mandam usuário e senha.
Dependendo de quem vai acessar não terá regra no firewall para ip fixo, ou vpn, ou qualquer coisa… ou seja, quem pegou a senha acessa o banco!
Acessou o banco, tem diversas técnicas para elevar privilégios e o cara se torna o admin do banco!
Usa outras técnicas para shell reverso e pronto… servidor foi invadido!

Com webservice isso é muito mais dificil!

Mas pegando o jar ele não consegue ver a senha nos arquivos .class.

Amigo, desculpe mas você só pode estar de brincadeira!
É possível ver a senha até mesmo em um executavel criptografado… quanto mais num arquivo .class…
Queira ou não uma hora a senha terá de ser aberta para ser enviada e essa senha terá de tar guardada em algum lugar no app desktop!

Que ingenuidade… É realmente muito simples.

Se estiver usando o Windows, pegue o programa “strings.exe” no “SysInternals Suite” que está disponível no site da Microsoft.

Rode o strings.exe em cima do seu arquivo .class.

Você vai ver a sua senha bela e formosa :slight_smile:

Ohoo :roll: ta polemico esse meu tópico kkkk… mas vamo galera… quais são os primeiros caminhos que devo tomar para trabalhar com webservice… por onde devo começar a pesquisar alguém pode me dar uma dica?

Vamos lá:
você pode trabalhar com soap ou com rest, vai depender muito da sua aplicação. Por exemplo, se precisar de transações entre serviços, terá de usar soap, já ser forem simples “chamadas remotas” podem ser rest.
soap… Estude jax-ws…
Implementar rest com frameworks tipo Vraptor é muito simples… pode ser uma forma também!
Isole seus serviços da camada de negócios… se um dia quiser mudar a forma de comunicação, fica mais facil!
Para acessar o webservice crie conectores que encapsulem a maior parte de regras de comunicação para deixar o cliente mais simples e facil de implementar! E também facilitar o uso em mais de um lugar!

Vamos lá:
você pode trabalhar com soap ou com rest, vai depender muito da sua aplicação. Por exemplo, se precisar de transações entre serviços, terá de usar soap, já ser forem simples “chamadas remotas” podem ser rest.
soap… Estude jax-ws…
Implementar rest com frameworks tipo Vraptor é muito simples… pode ser uma forma também!
Isole seus serviços da camada de negócios… se um dia quiser mudar a forma de comunicação, fica mais facil!
Para acessar o webservice crie conectores que encapsulem a maior parte de regras de comunicação para deixar o cliente mais simples e facil de implementar! E também facilitar o uso em mais de um lugar!