Daten zwischenspeichern & bei Verbindung automatisch synchronisieren

IlkerS

Neuer Benutzer
Beiträge
4
Hallo Community,

ein Kunde möchte ein "Offline-Modul" in meiner Applikation haben, mit Hilfe dessen er Daten produzieren kann während er NICHT mit der Datenbank verbunden ist. Diese Daten sollen entsprechend auf dem Rechner zwischengespeichert werden bis der Rechner mit der Datenbank verbunden wird. Dann sollen die Daten entsprechend mit der Datenbank synchronisiert werden. Wie speichere ich die Daten am besten zwischen? Als XML, oder die entsprechenden Objekte serialisiert (z.B. DataTable usw.)? Ich möchte ja außerdem am besten nur die Veränderungen (Löschungen, Inserts usw.) zwischenspeichern. Könnt ihr mir da gute Tipps geben bevor ich selber das Rad neu erfinden muss?

Danke im Voraus!
 
Werbung:
ein Kunde möchte ein "Offline-Modul" in meiner Applikation haben, mit Hilfe dessen er Daten produzieren kann während er NICHT mit der Datenbank verbunden ist. Diese Daten sollen entsprechend auf dem Rechner zwischengespeichert werden bis der Rechner mit der Datenbank verbunden wird. Dann sollen die Daten entsprechend mit der Datenbank synchronisiert werden. Wie speichere ich die Daten am besten zwischen? Als XML, oder die entsprechenden Objekte serialisiert (z.B. DataTable usw.)? Ich möchte ja außerdem am besten nur die Veränderungen (Löschungen, Inserts usw.) zwischenspeichern. Könnt ihr mir da gute Tipps geben bevor ich selber das Rad neu erfinden muss?

Das sind so Meta-Fragen, die schwer zu beantworten sind.

  • was für Datenmengen?
  • warum überhaupt Offline?
  • wie soll die Applikation wissen, ob die Daten in der DB sind oder nicht, wenn sie offline ist?
  • wer gewinnt, wenn N dieser Applikation offline arbeiten und dieselben Daten bearbeiten?
  • ...

nicht trivial.
 
Hallo akretschmer,

hm, ja, die Sache ist nicht ganz so kompliziert, so dass viele deiner gerechtfertigten Überlegungen gar nicht erst erwogen werden müssen:

  • was für Datenmengen?
Ganz wenige. z.B. Fragen des Users, die während einer Konferenz entstehen (kommen dann in die Frage-Relation, natürlich mit Fremdschlüssel des entsprechenden Projektes)
  • warum überhaupt Offline?
Weil der User schon mal bei seinem eigenen Kunden ist und entstehende Fragen festhalten muss. Dabei hat er keine Verbindung zum Datenbankserver.
  • wie soll die Applikation wissen, ob die Daten in der DB sind oder nicht, wenn sie offline ist?
Die Fragen (und eventuell andere Objekte) können während seines Besuchs bei seinem Kunden entstehen und werden ZUSÄTZLICH zu eventuell vorhandenen Daten mit Datumstempel hinzugefügt.
  • wer gewinnt, wenn N dieser Applikation offline arbeiten und dieselben Daten bearbeiten?
Alle gewinnen :), weil jeder seine Fragen zu einem Projekt hinzufügen kann und Fragen können auch zu einer Zeit nur von einem User beantwortet werden (hat quasi ein Lock drauf :) ), so dass bestehende Datensätze nur von einem User manipuliert werden können.
 
Werbung:
Bei den Mengen ist es eigentlich egal wie sie gespeichert werden, XML scheint mir eine gute Wahl weil man dann selbst mal testweise nachsehen kann was so drin steht. Du musst nur für deine Fragen eine ProjektID oder ähnliches als Referenz angeben um die Daten dann auch dem richtigen Objekt zuordnen zu können. Das kann beim einpflegen der Fragen oder auch erst bei der Syncrhonisation passieren.
 
Zurück
Oben