Desenvolvimento com DB remoto 'sigiloso'

Olá devs!
Ao desenvolver um programa de cunho empresarial, me deparei com uma possivel(falha?) debilidade com a conexão de dados remota usada no sistema.
Gostaria de saber se tem como instanciar uma conexão com um db hosteado, sem precisar aplicar no codigo diretamente?

  • para prevenir vazamento de dados por decompilação de codigos.

Por exemplo: Depois de criar a classe de conexão com ‘java.sql.Connection’, ‘java.sql.DriverManager’ e ‘java.sql.SQLException’ (exemplo padrãozão), para conectar seria usado as variaveis ‘hostName’, ‘userName’, ‘password’, ‘dataBaseName’ e ‘port’.
Como eu poderia sincronizar com um banco de dados no programa, sem precisar declarar “abertamente” os valores dessas variaveis?

Desde já, grato pela atenção.

PS: Usado de exemplo, o codigo fornecido pelo DevMedia à baixo.
Fontes: https://www.devmedia.com.br/java-crie-uma-conexao-com-banco-de-dados/5698

Geralmente são utilizadas variáveis de ambiente!

https://www.baeldung.com/java-system-get-property-vs-system-getenv

1 curtida

Valeu pela dica.
Mas, esse caso seria se o db estivesse na maquina local, certo?

Me referia em bancos de dados hospedados na nuvem.
Esse metodo funciona dessa forma também?

Independentemente de onde estiver o banco de dados, à grosso modo, a forma de acesso sempre será a mesma, ou seja, baseado em uma URL, usuário e senha, sendo assim estes valores sempre são configurados por variáveis de ambiente, seja localmente, seja em servidor ou em algum provedor de cloud.

Outras alternativas são “chumbar” isso em código (que não é recomendado) ou usar arquivos de configuração (que se expuserem texto puro também não é recomendado).

2 curtidas