Idee per offline e sincronizzazione su più piattaforme [chiuso]

4

Sto cercando alcune idee di implementazione per poter disporre di app offline per sincronizzare i dati su un server centrale. Il server sarà Sql Server 2008. I client scaricheranno i dati dal server quando sarà disponibile l'accesso a Internet e dovranno consentire all'utente di apportare modifiche offline e quindi sincronizzare le modifiche sul server quando sarà nuovamente disponibile. I clienti arriveranno in molteplici versioni che vanno da Windows ad Android, quindi qualunque cosa io usi deve essere facilmente tradotta in più SO.

Ho cercato di usare Odata di Microsoft (odata.org) sul server. Sembra avere alcune caratteristiche abbastanza belle e sembra anche supportare parzialmente quello che voglio (per mezzo di un token di concorrenza) - anche se non sono sicuro di come la logica ruoterebbe attorno all'uso di questo token ancora, questo è quello che spero per ottenere da questo.

Quindi - la mia domanda è questa: c'è uno strumento o app di terze parti che posso usare su più piattaforme che possono gestire offline e amp; sincronizzare gli scenari? In caso contrario, qualcuno può fornirmi idee su come implementare la logica per sincronizzare i dati su un server e gestire cose come i conflitti, ecc.?

    
posta Chu 26.07.2011 - 23:21
fonte

2 risposte

1

Sarai in grado di raggiungere questo obiettivo utilizzando il framework di entità con entità disconnesse. Le entità possono essere pubblicate tramite un servizio dati (ad esempio WCF che utilizza l'API HTTP) per creare un'interfaccia di servizio RESTfull che può essere utilizzata dalle varie piattaforme che si stanno descrivendo. Il formato in cui vengono consegnati questi obietti dipende da te, JSON sarebbe una buona soluzione.

Dopo aver postato un'entità è possibile quindi ricollegarli all'ObjectContext che a sua volta risolve lo stato dell'oggetto (nuovo, modificato, cancellato, ecc.) e può persistere le modifiche.

L'utilizzo di sync framework è fuori ambito poiché non è supportato su piattaforme non Microsoft. Vedi FAQ link

    
risposta data 31.10.2011 - 16:11
fonte
0

Penso che dovrai implementare la tua applicazione con un database locale multipiattaforma come SQLite . Quindi devi capire cosa significa per la tua applicazione sincronizzare i dati in modo specifico per l'applicazione.

La nostra applicazione prevedeva la calibrazione di strumenti in tutti gli Stati Uniti. Tuttavia, c'era una sola persona responsabile del recupero dei dati iniziali e della generazione degli aggiornamenti per ciascun sito. Ad esempio, Tom è stato responsabile del viaggio di calibrazione a San Diego mentre Sam era responsabile per il viaggio a Miami. Ciò ha reso il caricamento dei dati un'operazione piuttosto semplice.

    
risposta data 27.07.2011 - 23:57
fonte

Leggi altre domande sui tag