|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Méthodologie de réplication |
| Débuté par bapt.s, 24 juil. 2014 17:58 - 3 réponses |
| |
| | | |
|
| |
| Posté le 24 juillet 2014 - 17:58 |
Bonjour à tous, J’essaye de trouver une solution à mon problème de réplication de données. Ne souhaitant pas utiliser l’outil de Windev, j’ai essayé de penser un mode de fonctionnement perso. Malheureusement, je ne vois pas comment y arriver. Quelle méthodologie adopter ? Je ne cherche pas des lignes de codes déjà écrite, mais la façon d’aborder les choses. Je me débrouillerais pour coder ensuite. Je suis tellement englué dans ce problème depuis plusieurs mois, que je n’arrive pas à prendre le recul nécessaire pour pondre quelque chose de correcte. Malheureusement ce problème est maintenant urgent et très problématique (vitale... ) pour mon entreprise.
Problématique : Les utilisateurs utilisent notre application en local chacun sur leurs ordinateurs Les utilisateurs sont tous des nomades (2 utilisateurs peuvent ne jamais se rencontrer même en travaillant dans la même entreprise) Les ordinateurs ne sont pas en réseaux et ne le seront jamais Les bases de données ne doivent pas se trouver sur Internet Impossibilité d’avoir un ordinateur avec IP fixe Impossibilité d’avoir un ordinateur qui joue le serveur Impossibilité d’avoir un NAS Impossibilité de faire de gros investissement
Besoin : Les utilisateurs doivent utiliser la même base de données
Solution : Utiliser un support externe avec une base de données maître Dès que possible les différents utilisateurs réplique leurs bases de données locale avec celle du support externe
Scénario : L’utilisateur 1 modifie sa base de données locale. 1 fois par semaine, l’utilisateur 1 branche le support externe avec la base de données maître et lance une réplication de données. L’utilisateur 2 branche à son tour le support externe (1 ou 2 jours après) et lance une réplication de données. L’utilisateur n… branche à son tour le support externe (1 ou 2 jours après) et lance une réplication de données.
J'ai lu beaucoup, beaucoup de post, avec diverses méthodologies de réplication, diverses solutions. Je n'arrive pas à transposer une méthode qui solutionne mon problème. Je n'ai jamais fais de réplication (avec ou sans outils / assistant). Et je n'arrive pas à trouver la bonne méthodologie / les bons algorithme pour faire une réplication sans perte de données et gérant les problèmes lié à la réplication (doublons etc...).
Ce problème est vraiment vitale pour mon entreprise et je me dis qu'utiliser l'outil Windev est peut être la solution. Mais si cette réplication occasionne des bugs plus tard, la finalité sera la même pour ma boîte.
J'attends vos conseils avec impatiente.
Merci pour votre lecture  |
| |
| |
| | | |
|
| | |
| |
| Posté le 25 juillet 2014 - 14:44 |
Bonjour Alain
Le seul problème que j'ai avec ta description est celui ci :
Impossibilité d’avoir un ordinateur avec IP fixe Impossibilité d’avoir un ordinateur qui joue le serveur
Pourquoi ? Il est très facile d'avoir un ordi (chez toi, dans la boite, n'importe ou) branché sur internet avec une bête liaison ADSL (la plus rapide possible, bien sur). Même s’il n'a pas d'IP fixe, l'achat d'un nom de domaine (12€/an) et l'utilisation d'un système de routage d'IP (no-ip par exemple) avec une petite config du modem résout ce problème sans aucun soucis et sans gros investissements.
Autrement, tout le reste est du classique.
Bien sur, tu pourrais le faire avec un disque dur externe branché à tour de rôle sur chaque machine client, mais est ce que tu veux vraiment que la base de données principale soit situé sur le support le plus fragile et le plus malmené de ta boite ?
Si tu veux plus d'info sur la réplication, tu peux lire les premiers articles que j'ai publié sur mon projet de réplication open source wxreplication ici: http://fabriceharari.com/UK/Page_ArticlesList.awp…
C'est en anglais, mais si c'est un problème, google translate est ton ami.
Si tu as le temps d'attendre, le projet sera opérationnel en septembre ou octobre vu que je vais le présenter en détail à la conférence américaine des utilisateurs de produits pcsoft, wxdevcon, à Atlanta, fin octobre. Pour plus de détails à ce sujet, c'est wxdevcon.com
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
NOUVEAU: WXShowroom.com est disponible : Montrez vos projets ! Plus d'information sur http://fabriceharari.com |
| |
| |
| | | |
|
| | |
| |
| Posté le 26 juillet 2014 - 10:01 |
Bonjour Fabrice, merci pour ta réponse.
Pourquoi ? Il est très facile d'avoir un ordi (chez toi, dans la boite, n'importe ou) branché sur internet avec une bête liaison ADSL (la plus rapide possible, bien sur). Même s’il n'a pas d'IP fixe, l'achat d'un nom de domaine (12€/an) et l'utilisation d'un système de routage d'IP (no-ip par exemple) avec une petite config du modem résout ce problème sans aucun soucis et sans gros investissements.
Mon client-type ne peut pas se permettre ce genre de chose. Il est même possible que certains de mes clients n'ont pas de local du tout en commun et qu'ils soient en déplacement toute la journée. Cela réduit les possibilités.
Bien sur, tu pourrais le faire avec un disque dur externe branché à tour de rôle sur chaque machine client, mais est ce que tu veux vraiment que la base de données principale soit situé sur le support le plus fragile et le plus malmené de ta boite ?
Non c'est sûr que cela ne m'enchante guère.
Si tu veux plus d'info sur la réplication, tu peux lire les premiers articles que j'ai publié sur mon projet de réplication open source wxreplication ici: http://fabriceharari.com/UK/Page_ArticlesList.awp…C'est en anglais, mais si c'est un problème, google translate est ton ami.
Merci pour ces articles. L'anglais c'est pas mon fort.
D'après ce que j'ai cru comprendre. Pour chaque enregistrement de chaque table tu n'utilise plus d'idAuto généré par Windev, mais un GUID (donné par DonneGuid).
Pour la synchronisation entre plusieurs bdd, il n'y a plus de doublons grâce à ces GUID. Tes SELECT et autres requête sont donc basé sur ces GUID ?
Je vais donc lors d'une synchro remplir une table LOG sur la base maître et en fonction des enregistrements de la log (ajout, modif, suppression) répercuté les changements sur les bases esclaves.
Si tu as le temps d'attendre, le projet sera opérationnel en septembre ou octobre vu que je vais le présenter en détail à la conférence américaine des utilisateurs de produits pcsoft, wxdevcon, à Atlanta, fin octobre. Pour plus de détails à ce sujet, c'est wxdevcon.com
Tu es en train de créer un composant de réplication qui sera adaptable sur tous les projets ? Ou ce sera une sorte de tutoriel pour nous apprendre à créer une réplication ?
Encore merci de ta réponse.
Bon week-end |
| |
| |
| | | |
|
| | |
| |
| Posté le 28 juillet 2014 - 14:53 |
Bonjour Alain
Mon client-type ne peut pas se permettre ce genre de chose. Il est même possible que certains de mes clients n'ont pas de local du tout en commun et qu'ils soient en déplacement toute la journée. Cela réduit les possibilités.
Dans ce cas, je te conseille fortement un disque SSD pour éviter les pièces mécaniques.
Ou alors tu offre TON serveur comme centre de réplication pour tous tes clients (et tu leur fait payer une location)
Merci pour ces articles. L'anglais c'est pas mon fort.
C'est pour ca que je parlais de google translate 
D'après ce que j'ai cru comprendre. Pour chaque enregistrement de chaque table tu n'utilise plus d'idAuto généré par Windev, mais un GUID (donné par DonneGuid).
C'est ca
Pour la synchronisation entre plusieurs bdd, il n'y a plus de doublons grâce à ces GUID. Tes SELECT et autres requête sont donc basé sur ces GUID ?
Les requêtes sont en général basées sur les autres champs (conditions), mais les liaisons entre fichiers sont effectivement faites avec les GUID. >
Tu es en train de créer un composant de réplication qui sera adaptable sur tous les projets ? Ou ce sera une sorte de tutoriel pour nous apprendre à créer une réplication ?
Ce sera un ensemble de sources qui pourront être intégrées à tout projet en suivant une 'recette de cuisine' de modifications pour adapter le projet de départ. Par exemple, le remplacement des ID autos par des GUIDs sera une des étapes de la "recette"
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
NOUVEAU: WXShowroom.com est disponible : Montrez vos projets ! Plus d'information sur http://fabriceharari.com
Encore merci de ta réponse.
Bon week-end
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|