ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Sincronização de Banco de Dados

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
StraightFree
Novato
Novato


Registrado: Sexta-Feira, 17 de Julho de 2015
Mensagens: 86

MensagemEnviada: Sáb Jul 28, 2018 11:24 am    Assunto: Sincronização de Banco de Dados Responder com Citação

Fala galera do AD,

Estou com um desafio para desenvolver e venho novamente solicitar a ajuda dos mestres aqui do forum.

Vamos ao problema:

Construi um web service em PHP e nele possuo 4 métodos:

putProduto;
getProduto;
deleteProduto;
postProduto;

Esses métodos estão trabalhando com um banco de dados MySQL e está na nuvem. Consigo realizar um CRUD completo com esses métodos.

Paralelamente possuo um sistema rodando localmente nas lojas com banco de dados firebird. Não posso deixar ligado direto ao banco na nuvem pois caso caia a internet a operação da loja não pode parar, por isso uso o banco local.

Minha ideia é utilizar o webservice como um meio de campo para sincronizar os bancos das lojas.

Pra isso estou desenvolvendo uma aplicação para rodar em uma thread separada que irá verificar quando houve alteração no banco local e irá replica-lá para o webservice, assim as outras lojas poderão atualizar os seus bancos locais.

Detalhe, por trás do webservice possuo um cliente WEB desenvolvido em AngularJS que também poderá atualizar as informações, para posterior atualização nas lojas.

Assim, quando a loja 1 atualizar o preço de um produto localmente, a aplicação local (quando houver internet) irá atualizar o preço no webservice e as outras lojas poderão se conectar para atualizar os preços.

O conceito é perfeito e irá resolver meu problema, que é manter as informações sincronizadas.

A questão é no ponto de definir como saber qual registro é o mais atual. Se o da aplicação local ou o do webservice.

Pensei primeiramente em criar um campo "data_alteracao" na tabela e toda vez que atualizar ou inserir um produto colocar a data e hora atual nesse campo e depois compara-lo com o banco local. Porém, essa solução fica muito vulneravel, pois caso o usuario altere a data e hora do sistema ou acabe a bateria da bios de alguma maquina cliente o sistema todo irá quebrar, pois as atualizações daquele cliente não seriam replicadas.

Ai vem minha pergunta, qual a melhor maneira de identificar qual banco está com a versão mais atualizada?

Toda ajuda ou sugestão será muito bem vinda.

Agradeço antecipadamente a todos que contribuírem.

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB