Uma aplicacao, varios clientes

10 respostas
feltraco

Boa tarde a todos.
Seguinte.
Estamos desenvolvento uma aplicacao web utilizando, hibernate, spring, com interface provavelmente em FLEX.
Nesta aplicacao teremos varios clientes ( se Deus quiser =D ).
Minha ideia eh criar uma base de dados para cada cliente, e de alguma forma parametrizar isso por usuario.

A ideia esta ate bem montada, o problema eh aplicar.
Gostaria de saber se alguem jah fez algo do genero, sabe de algo que eu possa estar pesquisando para fazer isso.

Atualmente tenho um .property que eh lido pelo Spring.

PS: Desculpa se estiver no forum errado.

Desde ja obrigado o/
[]`s

10 Respostas

drigo.angelo

Isso tem até um nome “bonitinho”: Multi-tenant

Pouco tempo atras vi umas discussões aqui no fórum sobre isso, não acompanhei muito a fundo porque não precisei ainda, mas da uma pesquisada aí que tu acha também…

Falo
[]'s

feltraco

Opa, se tem um nome jah dah pra procurar =D

Valeu…

R

Aqui rolou uma discussão boa, sobre as diversas abordagens multi-tenant: http://www.tectura.com.br/topics/abordagens_de_multitenant

Aqui é uma discussão que mostro como ficaria a implementação de algumas abordagens utilizando VRaptor (ainda não está pronto, quando tiver algo concreto crio um projeto no github com os fontes. Estou aguardo o webminar do Hibernate): http://www.guj.com.br/java/230902-multi-tenant-com-vraptor

Atualmente faço isso na ‘mão’. Crio uma SessionFactory para cada cliente. Tenho um .cfg.xml para cada cliente.
E também utilizo o Flex no front-end :stuck_out_tongue:

feltraco

Otimos links @RafaelViana, gostei msm.
Discussao mt massa…

Vou continuar lendo a respeito, mas acho que vou optar pelo caminho da virtualizacao, oq acham ?

[]`s

R

Virtualização? O que você quer dizer com virtualização?

feltraco

Com Virtualizacao quero dizer, criar Uma VM para cara cliente, VM esta que ira conter Tomcat, MySql e afins.

Tambem estamos discutindo a possibilidade de existir um Server exclusivo para BD, e as VM acessarem este server.

O "problema"do deploy pode ser resolvido com Scripts linux, q fazem a atualizacao via SSH ou FTP.

Multi-Tenant, me pareceu trazer mais “problema/dificuldades” do que “solucoes/vantagens”.

Mas continuo pesquisando a respeito.
E a opiniao dah glr aqui eh muito importante, experiencias e tal.

[’]s

Andre_Fonseca

feltraco:
Com Virtualizacao quero dizer, criar Uma VM para cara cliente, VM esta que ira conter Tomcat, MySql e afins.

Tambem estamos discutindo a possibilidade de existir um Server exclusivo para BD, e as VM acessarem este server.

O "problema"do deploy pode ser resolvido com Scripts linux, q fazem a atualizacao via SSH ou FTP.

Multi-Tenant, me pareceu trazer mais “problema/dificuldades” do que “solucoes/vantagens”.

Mas continuo pesquisando a respeito.
E a opiniao dah glr aqui eh muito importante, experiencias e tal.

[’]s

ao invés de utilizar scripts linux para o deploy você não poderia usar um servidor de CI (continuous integration) ?

abs

feltraco

@André Fonseca
Confeso que nao coheco.
Vou dar uma pesquisada mais tarde.
Se vc tiver alguns links interessantes ai pra compartilhar.

[]`s

Andre_Fonseca

feltraco:
@André Fonseca
Confeso que nao coheco.
Vou dar uma pesquisada mais tarde.
Se vc tiver alguns links interessantes ai pra compartilhar.

[]`s

oi,

quem irá fazer o deploy é o ANT ou o Maven por exemplo

a prática da IC é para automatizar este processo

seguem alguns links

http://continuum.apache.org/

http://cruisecontrol.sourceforge.net/

http://improveit.com.br/xp/praticas/integracao

http://blog.improveit.com.br/articles/2007/10/05/nosso-processo-de-integracao-continua

feltraco

Depois de ter optado por trabalhar com N contextos, hoje conseguie fazer uma implementacao muito interessante.

Pesquisando sobre DataSources encontrei este post:

E nao eh que funcionou perfeitamente =]
Fica a dica.
[]`s

Criado 8 de fevereiro de 2011
Ultima resposta 20 de jun. de 2011
Respostas 10
Participantes 4