Galera bom dia,
Eu sou estudante de ciência da computação e no meu estagio existe um programa bem antigo de cadastro e movimentação de processos. Eu gostaria de fazer um programa similar a este, porem com varias melhorias. Irei fazer apenas por aprendizado. A estrutura é a seguinte: um servidor com o banco de dados e mais duas ou 3 maquinas usando o programa e acessando o banco(no servidor tambem trabalha um operador utilizando o programa). minha duvida é se faço apenas um programa(executavel) para todas as maquinas, ou se criou no servidor uma programa mais robusto que fica responsavel por “monitorar” o acesso de todos os clientes a base de dados. Tenho essa duvida porque cada cliente tem a apção de alterar os registros ja gravados, então imagine a seguinte situação: o cliente A lista todos os registros e presiona uma tecla qualquer e abre uma nova janela com todos os dados daquele registro para alteração, enquanto o cliente A faz algumas alterações(como nome e etc) um segundo cliente(cliente B) pode em sua estação de trabalho listar os registros e apagar justamente o registro que esta sendo alterado pelo cliente A. Quando o cliente A confirmar a alteração vai gerar um erro, pois aquele registro que ele esta tentando alterar ja não existe mais pois o cliente B o deletou da base de dados. O que vocês me aconselham fazer? Vou desenvolver em java SE, utilizando JDBC ou Hibernate(tenho poucos conhecimentos). Acho que ja li em algum lugar q eu posso meio que “travar” algum registro do banco de dados enquanto eu estiver alterando o mesmo(tipo avisar ao banco que aquele registro esta sendo alterado e mais ninguem pode ter acesso a ele), mais não tenho certeza. Se fizer uma aplicação servidora eu sei que posso fazer “manualmente” esse controle apesar de ser muito mais trabalhoso.
Espero que possam me tirar essa duvida.
Grato a todos.