Galera desenvolvi um software para uma empresa de controle de matrículas e financeiro da empresa deles. O Software está completo, com relatórios e banco de dados em Postgresql.
Quero instalar na máquina do cliente agora o software e o banco de dados, como faço isso da maneira mais eficiente?
Alugo um servidor de banco de dados para hospedar e aponto o software para ele? (Se sim qual o mellhor servidor?
Ou deixo local, instalando o postgre na maquina junto com wamp e o jar da aplicação?
É um estudo de viabilidade, sem internet o sistema não funciona então descarta esse servidor virtual.
Local é ruim, visto que será hospedado em máquina (como fica em casa de uma eventual falha na máquina)? o necessário é um servidor local. Se quiser instalar na máquina do cliente sem acessar banco nem nada, pesquisa sobre: firebase embedded é um banco de dados que dispensa um servidor
Mestre, se você está usando Banco de Dados externo e Java para Desktop, não distribua sua aplicação em jar. O jar pode ser aberto com WinRar ou JavaDecompiler facilmente, por algum funcionário da empresa, que terá então acesso à senha do Banco de Dados e, consequentemente, ter total acesso ao banco de dados, podendo acessar e alterar dados do mesmo. Uma invasão no financeiro seria terrível para seu cliente!
Proguard bagunça o código e o nome das variáveis, mas não obfusca o valor delas. Não serve para proteger o banco de dados.
Launch4J não serve também.
O único que irá proteger a senha do banco e dificultar um pouco a ação de algum curioso é o JSmooth. Para segurança, tem que ser em EXE, não tem jeito. Agora, se segurança não for problema e todos os funcionários forem confiáveis pode ser em jar mesmo.
O Launch4J converte o “jar” para “exe”, porém é um “exe” que pode ser aberto pelo WinRar ou JavaDecompiler da mesma forma que o “jar”, ou seja, ele não esconde a senha de conexão. A estrutura dos pacotes é exatamente a mesma do “jar”.
Já o JSmooth dificulta um pouco mais a leitura do código.
Aqui seria servidor virtual né? por que logo acima você disse que local é ruim.
Eu trabalhei com firebase em um app Android que desenvolvi ano passado, achei sensacional, porém não imaginei que ele tinha suporte pra swing, vou dar um olhada na doc e sendo resolvido meu problema já trago novas informações.