Opa, faz bastante tempo que não apareço aqui na GB, mas voltei pra tirar uma dúvida aqui (que eu pesquisei até no quintos dos infernos e não consegui achar uma forma 100% eficiente de resolver).
A dúvida é a seguinte: Como posso acessar um banco de dados em uma aplicação desktop distribuida?
Para sistemas de login, eu sei que posso fazer via web os pedidos. Mas e o resto?
Irei colocar aqui um exemplo de um jogo.
Existe um jogo X, e nesse jogo, cada usuário tem seu nível, suas moedas, equipamentos, etc. Tudo isso é salvo no banco de dados. Como eu posso manipular esses dados de forma segura? Sem que o usuário (que tenha experiência em programação) consiga manipular isso. Por exemplo, tem um servidor principal, que recebe esses dados e atualiza, e o servidor secundário, que envia os dados pro servidor principal, e esse servidor secundário, recebe os dados do usuário (quando o usuário compra algo, e precisa retirar moedas dele, por exemplo). Se o usuário criar algum mecanismo (como um Socket), que consegue enviar esses dados para o servidor, ele poderia simplesmente fazer as ações que enviariam os dados pro servidor secundário, burlando o sistema.
Sei que é meio difícil de entender (até pq eu posso ter explicado de uma forma bem "bugada"), mas como eu poderia resolver isso?