Fórum MULTICAMADAS #2767
13/02/2009
0
Jose Correa
Curtir tópico
+ 0Posts
13/02/2009
Rodrigo Mourão
E muito complicado dar uma sugestão para um projeto sem conhecer todo que envolve o mesmo pois estaremos aqui lhe dando o caminho das pedras e isto e muito responsabilidade.
Para poder lher sugerir algo eu precisaria saber como as filiais se comunicam com a empresa, se é que se comunicam. Se é ful time, se vai querer o sistema em Real Time, qual o link da Matriz e etc. Pelo exposto multicamadas não seria o ideal e vou lhe explicar por que.
Muita gente faz confusão por achar que se tenho filiais ligadas à matriz então tenho multi- camadas e não é bem assim. No sistema em três camadas todas as regras estao numa aplicação a parte, que tem que implemetar uma inteface para que possa ser acessada por outras aplicações feitas ou não com Delphi.
No seu caso como trabalha com mercado o seu sistema não poderia deiaxr de funcionar caso a rede ou internet caia, correto. Então eu falo com propriedade pois meu ramo é comercial com foco em venda direta a consumidor, PDV e etc. Nesse cenário o sistema funciona da seguinte maneira. Temos uma base local em cada mercado onde os Frente de Loja de conectam e realizam a venda. Cada mercado tem seu estoque e claro todos se falam com a Matriz. Esse se falar com a matriz e feito via internet e as filiais reportam a matriz uma vez ao dia seus estoques.
Com isso não temos um sistema real time, e nem precisamos pois num mercado não se precisa fazer check de estoque para vender pois o produto se esta sendo passado no caixa e porque tem em estoque.
Entao, no meu ponto de vista seria isso: Aplicação Cliente Server nas filiais cada uma com sua base de dados em tempo real. Um vez ao dia os dados são enviado para o banco de dados da matriz que ao ser atualizado terá os estoques de cada filial e deposito sabendo assim o que falta em cada um e o que sobre.
A comunicação da matriz com a filial essa sim em 3 camadas so para persistir pois poderá ser fieta com DBX mesmo tomando os devidos cuidados com performance. PAra isso na matriz você terá que ter um IpFixo para conectar ou usar um NoIp Por exemplo. Bem esta e uma opção de arquitetura. Um segunda possibilidade é criar o sitema da matriz web e assim atualiza na web.
Segue uma imagem que vale mais que 1000 palavras rsrsrsrsrs
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Gostei + 0
13/02/2009
Jose Correa
Gostei + 0
13/02/2009
Rodrigo Mourão
O que uso nos meus PDV é o seguinte! Quando ele é acionado pela manhã e é emitida a leitura X eu atualizo uma base local com XML no formato do Client Data Set mesmo. Com os Dados do produto, Código Barra, Descrição, Preço.
Na hora da venda vou lançado os itens para a impressora e lançando num CDS, no final de cada venda eu verifico a conexão com banco, se estiver de pé, eu dou um Apply Update se não simplesmente faço: CDS.SaveToXML (ddmmyyyyhhmmss.XML).
Com isso se eu não tenho acesso à base eu salvo a venda em XML. Na próxima venda se a conexão estiver estabelecida novamente então chamo uma rotina que varre esta pasta e aplica a venda do XML no banco !
Use o Client Data Set pois ele já salva em XMl pra nós e isso facilita muito ! Com ele basta ter um XMl com os produtos para poder ler o preço e no caso de falha da rede ele salva um XML pra você.Isso funciona nos meus PDV e é bem simples de ser feito !!!!
Abs !!!Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Gostei + 0
15/02/2009
Rodrigo Mourão
Podemos encerrar o chamado ????
Estamos no aguardo, obrigado !!!
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)