"
Bom, particularmente, eu estou bem tentado a tirar o máximo possível do banco.
Mas claro, sem deixar de manter a mente aberta para eventuais exceções
Seria interessante voce dar um olhada em ferramentas de rules repository.
Claro que se você desenvolve um produto que não se sabe em qual SGBD (ou qualquer outra maneira de persistir) vai rodar, você não vai deixar dependente daquele SGBD específico. Já vi empresas que desenvolvem aplicativos que são independentes de banco de dados, mas daí é meio impossível de cobrir 100% dos casos.
Por exemplo, aqui na empresa desenvolvemos vários sistemas pra um grande player de telecom. Usamos o Oracle como persistência padrão faz uns 10 anos. Eu duvido que eles vão migrar isso um dia e se migrarem, é algo que vai perdurar mais uns 10 anos. Como você disse, nesse caso acho que até vale a pena utilizar os recursos específicos do SGBD, pois eles são infinitamente (tá, não tão infinitamente aheheauea) mais performáticos, além de oferecer uma segurança maior (pois o Oracle, por exemplo, já está no mercado há muito tempo e é maduro o suficiente para ser mais seguro do que código feito por nós, meros programadores de consultorias)
[quote=Rafael Nunes][quote=magnomp]
Eu estou muito acostumado com client/server, onde é apenas o sgbd no servidor e os clientes nas estações… Removendo tudo do banco, você precisará implementar um servidor de aplicações que vai receber todo o acesso das estações e validar os dados, correto? Neste caso, qual seria a melhor forma de implementar isso?[/quote]
Essa é a idéia, agora o teu sistema não está mais na máquina do cliente, o cliente tera na sua máquina somente o que precisa para visualizar o sistema, o sistema em si com suas regras e etc estão em um servidor intermediário.
[/quote]
Saíndo um pouco do assunto original da thread, mas acho que ainda dá pra perguntar aqui mesmo:
Considerando um sistema que estou começando, que a principio vai em desktop, mas com um módulo via web, qual a melhor tecnologia para implementar este servidor?
Sou a favor de deixar a lógica de negócios completamente independente do SGBD, porém, se possível, implementar validações TAMBÉM no SGBD, pra garantir uma segurança a mais.
Abraços.
[quote=magnomp]Saíndo um pouco do assunto original da thread, mas acho que ainda dá pra perguntar aqui mesmo:
Considerando um sistema que estou começando, que a principio vai em desktop, mas com um módulo via web, qual a melhor tecnologia para implementar este servidor?[/quote]
Respondendo à minha própria pergunta, pensei no seguinte:
Coloco todo o domain (as interfaces dos repositórios junto…) em um jar, a ser utilizado tanto no servidor quanto no cliente.
No servidor tenho implementações dos repoistórios acessando os dados via hibernate, jdbc ou o que quer que seja…
E no cliente tenho implementações dos repositórios que se comunicam via rede com os repositórios localizados no servidor…
Assim, no lado do cliente, a coisa ficará bem transparente no lado cliente. Assim, no desktop vou ter minha aplicação acessando diretamente esse “RemoteRepository”, e na parte web ele seria acessado pelos meus servlets.
Alguem aqui vê algum inconveniente nesta abordagem?