ho creato un applicazione distribuita nel seguente modo:
Ho n utenti che accedono al web service , ciascuno di essi ha una copia del database in remoto .
Ho usato campi contatore per la chiave primaria id .
Quando l'utente si collega , scarica la parte del database in remoto che gli manca tramite l'id massimo della tabella in locale(carica tutti i record della tabella in remoto dove id > max(id) della tabella in locale.
Cosa succede se un utente modifica o cancella un record ? come faccio a notificare agli altri utenti che quell'id va ricaricato (se è stato modificato) o cancellato ?
es: sono l'utente 1 mi connetto e cancello il record 33 sia sul remoto che sul locale;sono l'utente2 mi connetto e carico i record dal 55 in poi (55 è l'id massimo di quell tabella)
non cancello il record sul database in locale , quindi continua ad apparirmi come se ci fosse!
Ho pensato di usare la data (da anno a millisecondi) trasformata in numerico per l'id di modo che l'utente carichi tutti i record successivi all' istante dell'ultima connessione ; è una scelta giusta?se si come fare a sincronizzare la data col server?
Se non mi sono spiegato bene ditelo,
Grazie in anticipo.
Il mio problema principale è quello di sincronizzare la data col server in quanto il server potrebbe avere o sicuramente ha una data diversa dal client(soprattutto millesimi o secondi o minuti)