Bonjour,

Je suis actuellement entrain de reprendre une application Java développée sous Eclipse.

Et je dois rajouter un module qui me permettra de faire la synchronisation entre plusieurs BDD " un mode déconnecté ". Le but étant que lorsqu'un article est ajouté ou modifié que cet ajout ou modification soit répercuté sur les autres bases de données locales des autres magasins.

Donc voici l'architecture :

Il y a dans plusieurs magasins l'application d'installée avec une base de données locale. Afin de répartir les ajouts et les changements de chacune de ses bases de données locales une base de données distante, stockée sur un serveur web, a été créé servant " de dépôt " pour toutes les données afin quelles soient disponibles pour la modification des autres bases de données locales. La base de données utilisée est une FireBird 2.1, avec IBexpert comme viewer.

La synchro dois faire :

- Ajout ou modifie des articles (si présent ou différente dans la locale et non dans la BDD distante) dans dans la distante.

- Ajout ou modifie des articles (si présent ou différente dans la BDD distante et non dans la locale) dans la locale.

- La suppression n'est pas gérée dans ce projet.

La solution envisagée pour l'instant:

- Faire un thread qui se répète par exemple toutes les 30 min et qui parcourt les 2 BDDs ( locale et distante ) et en fonction ajoute ou modifie l'élèment. Sachant qu'un index sera fais sur le code barre de la table article afin d'optimiser la recherche dans cette table.


Donc je souhaiterai savoir s'il pourrait y avoir une ou plusieurs autre(s) solution(s) soit plus simple, soit demandant moins de traitements que la solution que j'ai évoqué au dessus. Si quelqu'un aurait des conseils ou des idées à me suggérer, ils seront les bienvenue

En espérant m'être bien fait comprendre,


Merci d'avance,


Cordialement