[RESOLVIDO] 1 aplicação com banco de dados diferentes conforme login

8 respostas
vinnymesquita

Pessoal estou com uma duvida a muito tempo e agora vou precisar.
E possível ter 1 aplicativo J2EE com vários bancos de dados e dependendo do login o sistema conecta em um banco?
A idéia e ter uma base para o login controlando usuários/bd.
Utilizo JPA, Hibernate, JSF, Eclipse, MySQL.
Valeu!

8 Respostas

M

Cara possível é, mas acho que você pode estar saindo do caminho da luz!!!

bombbr

Sim é possível.

Gleidson_Henrique

Imagine você ter uma empresa e essa empresa tem 3 filias.

Dai voce pensa em criar 4 banco de dados para elas, uma para cada.

Nao seria mais facil voce criar um campo ‘empresa’ e cada registro estar vinculado a uma empresa (caso haja necessidade, pois algumas coisas como produtos por exemplo seriam iguais para todas as empresas)

Se for mais ou menos isso, reveja os conceitos. Se nao for, nos dê uma ideia do porque…

Como o amigo disse, voce pode estar saindo da luz rsrs

Abraços

rmendes08

marcelogomesrp:
Cara possível é, mas acho que você pode estar saindo do caminho da luz!!!

++

É importante separar projeto lógico de projeto físico. O ideal é modelar o domínio e as regras de negócio da maneira mais abstrata possível, justamente para que você possa tomar decisões no projeto físico com o mínimo de impacto no projeto lógico. Resumindo, as suas regras de negócio devem funcionar para 1, 2, quantos nós de bancos de dados forem necessários.

vinnymesquita

Obrigado pela resposta de todos. A idéia é a seguinte:

Estou desenvolvendo um projeto a quase 3 anos e gostaria de disponibiliza-lo free a fim de receber feedback para melhorias.
A idéia inicial era um sistema por contrato de licença onde o sistema todo iria para a maquina do cliente ou data center.
Agora com essa nova idéia de disponilizar free to pensando em criar varios contratos em um só sistema onde seria 1(Contrato de Licença):N(Empresas) dessa forma eu conseguiria ter as Empresas e filiais por contrato e os Usuarios seriam do Contrato (N:1).
Penso assim pois meu receio é chegar num ponto que a aplicação suba muito e consuma muita memória e pare todos, então a idéia é que se isso começar a ocorrer ou eu virtualizo o servidor ou se o cliente quiser levar para outro servidor a base dele ja esta separada e assim fica mais facil de migrar e também porque acho que é mais seguro as bases isoladas.
Se alguém tiver uma idéia melhor fiquem a vontade.

Um bom dia a todos(as)!

rmendes08

vinnymesquita:
Obrigado pela resposta de todos. A idéia é a seguinte:

Estou desenvolvendo um projeto a quase 3 anos e gostaria de disponibiliza-lo free a fim de receber feedback para melhorias.
A idéia inicial era um sistema por contrato de licença onde o sistema todo iria para a maquina do cliente ou data center.
Agora com essa nova idéia de disponilizar free to pensando em criar varios contratos em um só sistema onde seria 1(Contrato de Licença):N(Empresas) dessa forma eu conseguiria ter as Empresas e filiais por contrato e os Usuarios seriam do Contrato (N:1).
Penso assim pois meu receio é chegar num ponto que a aplicação suba muito e consuma muita memória e pare todos, então a idéia é que se isso começar a ocorrer ou eu virtualizo o servidor ou se o cliente quiser levar para outro servidor a base dele ja esta separada e assim fica mais facil de migrar e também porque acho que é mais seguro as bases isoladas.
Se alguém tiver uma idéia melhor fiquem a vontade.

Um bom dia a todos(as)!

Acho que para todos esses casos, colocar tudo em uma única base de dados é a melhor solução. Caso algum cliente queira migrar seus dados para um banco de dados “in-house”, nada te impede de exportar apenas os dados do cliente. Enfim, quanto mais simples for sua arquitetura mais fácil será escalar a sua aplicação se necessário.

vinnymesquita

Então vou tentar desenvolver numa base apenas.
Estou pensando em fazer uma tabela com as licenças/cliente e distribuir este id entre as demais tabelas para isolar os dados de cada cliente. Será a a melhor forma e colocar como uma simples chave estrangeira ou componho ela na chave da tabela (chave composta)?

vinnymesquita

Obrigado a todos!
Estou resolvendo tudo em uma base.

Valeu!

Criado 20 de setembro de 2012
Ultima resposta 28 de set. de 2012
Respostas 8
Participantes 5