Multi-Empresa, Como ?
Caros colegas,
Não desenvolvi ainda nenhuma aplicação multi-empresa, agora surgiu a necessidade, se alguém puder me ajudar ficaria agradecido...
Que mudança deve efetuar no sistema para que ele seja multi-empresa?
Delphi 7, Sql Server 2005...
Agradecido
Não desenvolvi ainda nenhuma aplicação multi-empresa, agora surgiu a necessidade, se alguém puder me ajudar ficaria agradecido...
Que mudança deve efetuar no sistema para que ele seja multi-empresa?
Delphi 7, Sql Server 2005...
Agradecido
Irenildo
Curtidas 0
Respostas
Craudio
19/08/2008
Adicione mais uma chave nas tabelas do banco de dados.
por exemplo
hipotéticamente vc tem uma tabela chamada
tbVenda
cdCliente primary key,
nmCliente
Com o sistema multi-empresa vc adiciona mais o campo ´cdempresa´ nas suas tabelas
Então a tabela ´tbVenda´ passa a ser ...
tbVenda
CDEMPRESA integer primary key,
cdCliente primary key,
nmCliente
espero que ajude..
por exemplo
hipotéticamente vc tem uma tabela chamada
tbVenda
cdCliente primary key,
nmCliente
Com o sistema multi-empresa vc adiciona mais o campo ´cdempresa´ nas suas tabelas
Então a tabela ´tbVenda´ passa a ser ...
tbVenda
CDEMPRESA integer primary key,
cdCliente primary key,
nmCliente
espero que ajude..
GOSTEI 0
Irenildo
19/08/2008
No caso,
Eu teria que ter + uma chave em todas as tabelas, a qual indicaria em qual empresa estaria trabalhando, certo?
De que forma eu faria essa indicação?
Agradecido
Eu teria que ter + uma chave em todas as tabelas, a qual indicaria em qual empresa estaria trabalhando, certo?
De que forma eu faria essa indicação?
Agradecido
GOSTEI 0
Diegotiemann
19/08/2008
Isso não é uma questão simples. Existem muitas coisas que deve ser consideradas para se adotar um métodologia de traabalho multi-empresa.
EX:
Um usuário pode estar ligado a mais de uma empresa?
Você vai armazendar os dados em uma única empresa?
O sistema vai rodar em rede?
EX:
Um usuário pode estar ligado a mais de uma empresa?
Você vai armazendar os dados em uma única empresa?
O sistema vai rodar em rede?
GOSTEI 0
Irenildo
19/08/2008
Veja,
Um usuário pode estar ligado a mais de uma empresa? Não seria necessário
Você vai armazendar os dados em uma única empresa? Os dados serão armazenados em um único servidor, porém dividido em Matriz e filiais...
O sistema vai rodar em rede? O sistema vai rodar em rede sim...
Se possível, me ajudem a entender melhor como seria esse processo.
Agradecido
Um usuário pode estar ligado a mais de uma empresa? Não seria necessário
Você vai armazendar os dados em uma única empresa? Os dados serão armazenados em um único servidor, porém dividido em Matriz e filiais...
O sistema vai rodar em rede? O sistema vai rodar em rede sim...
Se possível, me ajudem a entender melhor como seria esse processo.
Agradecido
GOSTEI 0
Diegotiemann
19/08/2008
Então as multi empresas seriam a matriz e as filiais? Certo?
Você vai conectar todas as filiais no servidor ou isso você ainda não sabe como fazer?
Você vai conectar todas as filiais no servidor ou isso você ainda não sabe como fazer?
GOSTEI 0
Paulo
19/08/2008
Aqui na minha empresa temos 35 filiais e uma Matriz. O que o craudio te falou, é um começo. Quanto a ter uma chave com cdempresa em todas as tabelas não, mas somente naquelas onde se faz necessário identificar a empresa. Crie um Servidor de Aplicação e os demais clientes. Cada cliente conectado a esse SA. Cada log identificado pelo cdempresa. Assim você poderá trabalhar com várias filiais(multi empresa) conectado a uma Matriz(é assim que nós aqui na minha empresa trabalhamos). Desta forma aqui, a coisa vai bem. Temos lojas em: SP,GO,DF,MG e PE. Todas conectadas com a Matriz em SP. Agora é um projeto complexo sim, é necessário um bom planejamento, para planejar o fluxo das informaçoes(DFD), o banco deve estar bem projetado, bem consistido e íntegro. Após tudo isso, é que se pensa qual banco usar e qual linguagem, mas antes deve estar tudo no papel ou na tela. Projete o seu sistema primeiro.
GOSTEI 0
Irenildo
19/08/2008
Paulo,
Eu trabalho com Delphi 7 e Sql Server 2005, ja tenho uma certa esperiência em desenvolvimento, porém nada multi-empresa, se não fosse esse detalhe, teria tudo planejado... Porém existe pequeno grande detalhe, eu não entendi bem o que vc me sugeriu, vc poderia se possível detalhar um pouco mais?
Agradecido
Eu trabalho com Delphi 7 e Sql Server 2005, ja tenho uma certa esperiência em desenvolvimento, porém nada multi-empresa, se não fosse esse detalhe, teria tudo planejado... Porém existe pequeno grande detalhe, eu não entendi bem o que vc me sugeriu, vc poderia se possível detalhar um pouco mais?
Agradecido
GOSTEI 0
Paulo
19/08/2008
Eu sugeri vc usar Multi Camadas, pois fica melhor distribuída a sua aplicação, evitando assim, problemas com consumo de banda de rede e etc... Voce define seu RDM principal - Multipla Instancioa(RDM-Remote Data Module) e os demais RDM - Internal. Nesses últimos, é onde você distribui seu projeto(tipo, RDM-Cadastros, RDM-Relatórios, RDM-Financeiro e etc...). Quanto ao banco, é aquilo que o craudio te falou e que você já sabe, ou seja, as tabelas que precisam ser identificadas por empresa, coloque um codigo que identifique a empresa e/ou filial.
GOSTEI 0
Irenildo
19/08/2008
Paulo,
andei lendo sobre multicamadas, achei bastante enteressante, vc não teria modelos de RDM-Cadastros, RDM-Relatórios, RDM-Financeiro e etc... Se tiver e se for o caso oderiamos negociar os mesmo, certo?
Outra coisa, como trabalho com Bd Sql Server e Ado, não teria problema em utilizar esse tipo de componentes de acesso a dados, certo?
E quanto as triggers e procedures se quiser utilizar no banco também não teria problemas?
Agradecido
andei lendo sobre multicamadas, achei bastante enteressante, vc não teria modelos de RDM-Cadastros, RDM-Relatórios, RDM-Financeiro e etc... Se tiver e se for o caso oderiamos negociar os mesmo, certo?
Outra coisa, como trabalho com Bd Sql Server e Ado, não teria problema em utilizar esse tipo de componentes de acesso a dados, certo?
E quanto as triggers e procedures se quiser utilizar no banco também não teria problemas?
Agradecido
GOSTEI 0
Godzilla_xf
19/08/2008
Paulo,
andei lendo sobre multicamadas, achei bastante enteressante, vc não teria modelos de RDM-Cadastros, RDM-Relatórios, RDM-Financeiro e etc... Se tiver e se for o caso oderiamos negociar os mesmo, certo?
Outra coisa, como trabalho com Bd Sql Server e Ado, não teria problema em utilizar esse tipo de componentes de acesso a dados, certo?
E quanto as triggers e procedures se quiser utilizar no banco também não teria problemas?
Agradecido
Olá, bem eu uso assim como foi citado acima, com uma chave primaria a mais em cada tabela, quando o usuario loga no sistema ele escolhe uma empresa, ai fica a cargo das sql fazer as chamadas de acordo com o codigo da empresa selecionada. ex:
select ,id_cliente ,id_empresa ,nome ,fone ,etc... from MyTabe where (id_cliente = :id_cliente) and (id_empresa = :id_empresa) // aqui seria a empresa selecionada pelo usuario.
quanto a multicamadas e o banco sql pelo que eu sei nao tem problema nenhum usa-lo, outra coisa, sobre usar trigers no banco acaba que contraria um pouco a questao do multicamadas onde todo o serviço e feito pelo servidor de aplicaçoes. mas posso estar errado a esta respectiva informaçao.
GOSTEI 0