Uma das boas práticas (pelo menos na teoria) seria manter uma aplicação acessando o banco de dados através de um pool de conexões…
Para aplicações JavaWeb (ou qualquer outra plataforma baseada), o próprio servidor fica responsável para gerenciar as conexões simultâneas que aquele site receberá conforme o tempo.
Frequentemente, encontramos em “tutoriais” e artigos pela internet os exemplos de conexões com banco de dados para aplicações desktop sendo feitas a partir do padrão singleton, ou seja, uma conexão aberta para toda a aplicação. O que “de cara” não é eficaz.
Para uma aplicação desktop em java, onde vários clientes (.jar) usarão uma única base de dados (arquitetura cliente-servidor), qual seria a melhor forma?
Exemplo: [1] Utilizar um pool de conexões que será gerenciado pela aplicação (hibernate com c3p0 ou dbcp) ou [2] então configurar o servidor para rodar o Tomcat e configurar a aplicação Java Desktop para acessar determinado DataSource configurado no mesmo (parecido com o esquema de acesso via JNDI, mas não sei se é possível ter acesso a um “contexto” remotamente, já que os arquivos de configuração estão presentes dentro do próprio projeto).
Alguém com mais experiência poderia me ajudar?
Caso não fique explícito o que quero dizer, avisem por favor, não sei se estou dizendo “abobrinhas” aqui.
Obrigado!