La situazione: Ho un database e un'app Web che interagiscono per visualizzare e aggiornare tabelle di dati scientifici. Il mio compito è quello di costruire un'applicazione mobile che permetterà agli utenti diAutenticazione/sincronizzazione database offline/online da jQuery Mobile
- Autentica e identificarsi non in linea di rilevamento scopi (usando predefiniti ma dinamici user-account e le autorizzazioni memorizzati nella cache)
- Scarica Identification Data per lavoro nel campo (con connessione internet)
- effettuare e memorizzare le osservazioni sul campo (senza accesso a internet)
- Sincronizzare Osservazioni in un database online in un secondo momento
La domanda: Qual è il modo migliore per eseguire l'autenticazione/download/archiviazione/caricamento dei dati necessari per amministrare tale applicazione indipendentemente dall'accesso a Internet coerente? Se due persone modificano la stessa lettura e un aggiornamento avviene tra le sincronizzazioni, come faccio a tenere traccia di quali tabelle e valori sono stati modificati e di evitare che le modifiche vengano perse?
Il treno corrente di pensiero: mio attuale strategia sperimentale per il controllo di collisione per mantenere una tabella di "Sync" che memorizza oggetti JSON che rappresentano ogni transazione database on-line memorizzata in sessionStorage e avere l'applicazione verificando continuamente il suo sincronizzazione prima di caricare i dati e controllando questo oggetto per potenziali collisioni sugli aggiornamenti di chiavi primarie specifiche. Mi piacerebbe essere in grado di bloccare le tuple quando sono in fase di editing, ma ciò sembra impossibile con l'accesso a Internet incoerente.
Scusate se questo è un po 'di una domanda newb, Sono nuovo a tutto il cellulare cosa lo sviluppo di applicazioni ...
tl; dr Come posso prevenire modifiche asincrone al database da applicazioni mobili che va avanti e offline da sovrascrittura/collisione con le modifiche di un altro individuo allo stesso database? E come posso autenticare gli utenti senza una connessione di rete?
La concorrenza è un problema con molte applicazioni e database. C'è solo una differenza maggiore nel pubblicare e la tecnologia con il cellulare, ma non è poi così diverso. – JeffO
@JeffO in realtà non rispondi alle mie domande .. la concorrenza e le collisioni di dati sono un problema che ho identificato, è vero, ma che dire? – XaxD