Qual a melhor maneira para lidar, modificar e aplicar modificações em banco de dados via Aplicação?

Olá! Eu parei de programar tem um bom tempo, estou pensando em retomar… E me veio uma duvida de uma aplicação que desenvolvi ha uns 4-5 anos atras…

Eu criei uma aplicação de login/registro por ID(Especificações; Processador, HD, etc…) do computador utilizando OSHI. GitHub - oshi/oshi: Native Operating System and Hardware Information

Dessa maneira, seria apenas um usuario por computador. Bom, desenvolvi em Java. E utilizava uma conexão normal com um servidor de banco de dados MySQL. Para a “Segurança” do .jar, acabei ofuscando. Assim, o código fonte ficou ilegivel a quem tentasse decompilar. Até então, estava tudo OK. Até me deparar com um usuario, explorador, que me alertou referente a conexão com o MySQL direta… Ele conseguiu ter acesso a todas informações que eu passei no código fonte; como Host, Db, User e senha do banco de dados… (Não me lembro como ele conseguiu isso, mas me mostrou que quando você faz a conexão com o banco de dados, essas informações ficam gravadas…) Não lembro se foi com algum tipo de Dump como o JMap, JVisualVM ou algum outro tipo de programa… e me veio a duvida…

Qual seria a melhor maneira de fazer essa conexão? ou realizar essas ações? Trocar a conexão “direta” utilizando uma API, algum framework, REST, algo?

Sim. A melhor opção seria utilizar um backend com uma API para remover essa conexão direta com o banco da aplicação cliente.