Boa tarde galera,
Desenvolvi uma aplicação em java para desktop com banco de dados MySql. A necessidade era que apenas uma máquina rodasse a aplicação, então instalei o bando de dados e a aplicação na mesma máquina e pronto. Aplicação rodando!
Acontece que apareceu a necessidade dessa aplicação rodar em outro computador, em uma cidade diferente. Eu ainda não sei como proceder para que a base de dados fique unificada, centralizada e os clientes possam acessá-las de suas máquinas.
Lembrando que:
Aplicação Java Desktop
Banco de dados MySql
Necessidade: centralizar o banco de dados e permitir acessá-lo através da aplicação desktop
Solução: ?? rsrs
Vlw galera…Abraços
Para fazer isso te aconselho a usar JEE + Servidor de Aplicação GlassFish. A sua aplicação e seu SGBD ficaram instalados no servidor, e com isso suas maquinas clientes basta acessar o endereço da aplicação no servidor. Se for aplicação desktop, a maquina cliente irá fazer o download via JWS de sua aplicação instalando no computador.
Terei que pesquisar sobre isso pois nunca fiz nada assim. Mas como minha aplicação ficaria disponível dentro de um servidor de aplicação?
E outra coisa…essa seria a única alternativa? Quais outras eu teria? Há um pouco de urgência. Minha aplicaçaõ já está desenvolvida e em produção.
Obrigado
gbazilio,
1 - Pra você conectar de uma cidade diferente, você deverá ter a máquina na qual está o servidor MySQL respondendo na Internet, a principio.
2 - Ao invés de conectar localhost, você usará os dados do servidor (um IP fixo seria uma boa), tipo
String url = "jdbc:mysql://o-ip-do-teu-servidor-mysql-aqui:3306/java";
String user = "root"; //é melhor criar um usuário no mysql, não usar root para acesso externo
String pass = "123";
Pensar em colocar os dados da conexão num arquivo properties é uma boa idéia.
essa é uma das maneiras.
Por ser uma aplicação Desktop, coloque entre suas alternativas a possibilidade de utilizado o Terminal Server ou algo similiar.
Dependendo da aplicação pode ser uma saida bastante interessante, principalmente porque as máquinas servidores de TS estarão na mesma rede que o servidor de aplicação, tornando muito mais rápido as respostas das requisições feitas pelo seu sistema.
Claro que não é o cenário mais interessante, mas traz algumas vantagens em questão de velocidade e não precisar de instalação pois clientes TS qualquer Windows ou Linux como Ubuntu tem.