Estrutura para sistema web

26/03/2015

0

Bom dis estou com um sistema web rodando,onde posso fazer cadastro de cliente produto, contas a pagar e receber e a emissão de nfe, porem para cada cliente tenho que criar um banco novo e distribuir os fontes. Gostaria de saber como eu faria para poder com um unico sistema antender N clientes, ou seja, o cliente entraria no site faria o cadastro logo seria redirecionado para sua pagina administrativa
John Lima

John Lima

Responder

Posts

26/03/2015

Thiago Santana

Jonh, existem várias possibilidades!
Vou te dá um exemplo:

Todas as suas tabelas terem o ID do cliente assim em todas as operações você filtraria pelo ID Cliente logado!

Mas existem várias situações!
Responder

26/03/2015

John Lima

Realmente eu pensei nessa possibilidade, meu medo é sei la de hum dia acontecer de algum cliente ter acesso aos dados de outra empresa.

Se eu fosse fazer isso na minha modelagem de dados atual eu iria acrescentar uma nova tabela chamada ClienteWeb no qual, se relacionaria com todas as tabelas, ou seja, um join, sendo assim não iria ter um custo alto por causa da quantidade de Join que o sistema ira fazer ?
Responder

26/03/2015

Marcos P

Não há como resolver isso sem alterar a modelagem de dados.

A ideia geral, seria criar uma referência à empresa ( cliente ) nas tabelas e "filtrar", após o login no lado da aplicação, somente aos registros da empresa.

Para resolver a questão de 1 ( usuário ) x N ( empresas ), você pode criar uma tabela simples de relacionamento que armazene as empresas as quais aquele usuário tem acesso...
Responder

26/03/2015

John Lima

Entendo, poderia me cita uma simples com a tabela empresa(sistema multi-empresa), pessoa, cliente, colaborador, usuario
Responder

26/03/2015

Marcos P

Uma simples tabela ?

Não entendi sua pergunta...
Responder

26/03/2015

Thiago Santana

Você poderia criar Schemas no seu banco de dados! É uma outra hipótese
Responder

26/03/2015

John Lima

Thiago nunca trabalhei com mais de um schema =\ no postgres
Responder

26/03/2015

Thiago Santana

Responder

26/03/2015

John Lima

Thiado o que está sugerindo é que eu crie um banco em outro esquema contendo ex tabelas de cliente, usuario e pagamento certo? ao logar o sistema iria pega essas informações dentro do schema, buscar dados de acordo que essas informações ?
Responder

26/03/2015

Thiago Santana

Isso!
No seu banco você poderia ter vários schemas, cada schema correspondente à determinadas empresas, entendeu?
Responder

26/03/2015

John Lima

estava pesquisando aqui esse tipo de aplicação de chamar Multi-Tenancy no qual o proprio hibernate tem suporte
Responder

26/03/2015

Thiago Santana

Nunca ouvi falar não sobre o Multi-Tenancy!
Mas e ai com ele consegue resolver seus problemas?
Responder

27/03/2015

John Lima

Responder

27/03/2015

Thiago Santana



Legal a idéia!
Responder

27/03/2015

John Lima

É mais achei a meio vago a explicação
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar