1

Ich bin auf der Suche nach Best-Practices für die Bereitstellung bidirektionaler SQL-Replikation unter dem Codenameon-Framework.Datenbank-Replikation Best-Practices in Codenameon

Die Anwendungen werden mit einer nackten Datenbank installiert und mit einem REST-Server verbunden, um aktuelle Datenvorlagen (XML-Dateien, die in sql varchar gespeichert sind) abzurufen. Die mobile Anwendung erstellt aus den Vorlagen lokale Datenbanktabellen und erstellt auch dynamische Formulare aus der Vorlage. Dadurch kann die mobile Anwendung vollständig getrennt vom Netz ausgeführt werden.

Wenn eine Verbindung verfügbar ist, werden neue oder geänderte Datensätze an den REST-Server gesendet, um die zentrale Master-Datenbank für diesen Benutzer zu aktualisieren. Zur gleichen Zeit werden neue oder geänderte Datensätze heruntergeladen.

Ich weiß, dass ich meine eigenen Replikationsdienste bereitstellen muss, da SQLite diese nicht bereitstellt, insbesondere in mobilen Versionen.

Gibt es bereits ein Framework in Codenameon für dieses Verhalten oder gibt es Beispiele, die den Aufbau des Frameworks vereinfachen würden?

Antwort

0

Derzeit gibt es keine Best Practices und keine bereits vorhandenen Tools, obwohl dies ein guter Kandidat für die Automatisierung zu sein scheint. Es gibt die data access library, aber ich habe keine Erfahrung damit, um Ihnen einen Sinn zu geben, wenn es den Prozess vereinfacht.

Beachten Sie, dass sqlite nicht sehr portabel ist. Wenn Sie sich also auf relationale Integrität und andere Verhaltensweisen verlassen, funktionieren sie möglicherweise sehr unterschiedlich zwischen iOS & Android.

Beachten Sie auch, dass die iOS-Version von sqlite nicht threadsicher ist, so dass bei der Arbeit mit dieser Datenbank besondere Vorsicht geboten ist.

+0

Vielen Dank, Shari, für den Zeiger auf die Datenzugriffsbibliothek. Ich muss es aktualisieren, um für die Replikation nützlich zu sein (eine UUID für die Zeilenidentität und einen Zeitstempel-Feldtyp), aber es gibt mir einen guten Ausgangspunkt. –