DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Gestion de la réplication / Réplication universelle
  • Présentation
  • Principe de la réplication universelle assistée automatique
  • Les étapes de la mise en place d'une réplication universelle assistée automatique sont les suivantes :
  • Adaptation de l'application (si nécessaire)
  • Utilisation de bases de données non HFSQL
  • Préparation des fichiers nécessaires à la réplication universelle assistée
  • Utilisation de la réplication
  • Réplication universelle assistée directe
  • Réplication universelle assistée par serveur de réplication
  • Mode nomade/Mode connecté
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
La réplication assistée automatique permet de mettre en place rapidement une réplication sur une application existante. Très peu de modifications sont nécessaires au niveau de l'application, et les outils de réplication fournis en standard permettent aux utilisateurs de lancer eux-mêmes la réplication de leurs données.
La réplication assistée automatique permet d'utiliser tous les modes de réplication disponibles :
  • réplication directe,
  • réplication par serveur avec réplica immédiat ou périodique.
Remarque : La réplication assistée automatique est disponible pour la réplication des données mobiles (Android ou iOS). Pour plus de détails, consultez Réplication des données mobiles (Android ou iOS).
Principe de la réplication universelle assistée automatique
Quel que soit le type d'application utilisée, lors de la mise en place de la réplication universelle assistée automatique, une base locale est automatiquement créée. Cette base locale (ou base abonnée) contient les données nécessaires au fonctionnement de l'application. Les données de la base locale sont ensuite répliquées avec les données de la base maître (base prévue dans l'application) selon le mode de réplication choisi.
La synchronisation est effectuée directement par les utilisateurs avec les outils ReplicAdmin et ReplicSynchro. Ces outils sont automatiquement installés et configurés sur le poste du client final par l'installation de l'application.

Les étapes de la mise en place d'une réplication universelle assistée automatique sont les suivantes :

  1. Adaptation de l'application si nécessaire.
  2. Préparation des fichiers nécessaires à la réplication :
    • Description de la réplication à l'aide de ReplicEdit. Cette description peut être réalisée par le concepteur de l'application (conseillé) ou directement par l'utilisateur final. La réplication est décrite dans un fichier d'extension ".WER".
    • Création du programme d'installation.
    • Installation de l'application.
  3. Utilisation de la réplication.
Remarque : Dans cette version, certaines fonctionnalités ne sont pas disponibles. Pour plus de détails, consultez les Limitations de la réplication universelle assistée.
Adaptation de l'application (si nécessaire)
Il est possible de mettre en place la réplication universelle assistée sur des applications utilisant des fichiers de données aux formats HFSQL Classic, HFSQL Client/Serveur, OLE DB, ou encore manipulés par des Connecteurs Natifs (également appelés Accès Natifs).
Les fichiers de données dans l'analyse sont au format HFSQL Classic : aucune modification ne doit être réalisée. Le paramétrage des fichiers maître peut être réalisé :
  • lors de la définition de la réplication avec l'outil ReplicEdit,
  • lors de la création de l'installation,
  • lors de l'installation de l'application.
Les fichiers de données dans l'analyse utilisent une connexion (HFSQL Client/Serveur, Connecteurs Natifs, fichiers OLE DB, ...) : il est nécessaire de définir la connexion au serveur maître dans l'analyse et d'associer les fichiers à cette connexion.
Le serveur maître utilisé par la connexion peut correspondre :
  • au serveur d'exploitation (si il est déjà connu lors de la conception de l'application). C'est le cas par exemple pour des applications développées dans la société qui les utilise.
  • au serveur local de test. Dans ce cas, le paramétrage du serveur maître d'exploitation pourra être réalisé :
    • lors de la définition de la réplication avec l'outil ReplicEdit,
    • lors de la création de l'installation,
    • lors de l'installation de l'application.
Attention : Quel que soit le format des fichiers de données, pour utiliser la réplication universelle assistée automatique, IL NE FAUT PAS modifier les informations d'accès aux fichiers par programmation. IL NE FAUT PAS UTILISER :
En effet, le mécanisme de réplication assistée automatique gère un mode Connecté/Nomade et effectue automatiquement les changements nécessaire pour accéder à la base locale ou à la base centrale.

Utilisation de bases de données non HFSQL

Pour mettre en place la réplication universelle assistée sur des bases de données différentes (Oracle, ...), il est nécessaire de créer une rubrique de type DateHeure dans chaque fichier pris en compte par la réplication. Cette rubrique devra être mise à jour par l'application lors de la modification ou lors de l'ajout d'un enregistrement.
Si les bases de données utilisent différents fuseaux horaires, il est conseillé d'utiliser un format universel (date et heure GMT par exemple).
Exemple : Gestion d'une rubrique spécifique pour la réplication entre une base de données HFSQL et une base de données MySQL :
Un trigger est mis en place pour renseigner automatiquement la rubrique "Rub_DateHeure" présente dans la base MySQL :
  • Code du trigger
    ResultatTrigger est un booléen
    ResultatTrigger = HDécritTrigger("*", "HAJOUTE,HMODIFIE,HSUPPRIME,HRAYE,HECRIT", "AjoutDateHeure", hTriggerAvant)
    SI ResultatTrigger = Faux ALORS Erreur(HErreurInfo())
  • Procédure appelée par le trigger
    PROCÉDURE AjoutDateHeure()
    TestReplic.Rub_DateHeure = DateSys() + HeureSys()
Préparation des fichiers nécessaires à la réplication universelle assistée
La préparation des fichiers nécessaires à la réplication universelle assistée automatique est réalisée sur le poste de développement :
Le fichier de réplication (fichier .WER) est créé à l'aide de ReplicEdit.
Lors de la création du programme d'installation, il est possible de configurer :
  • Réplication directe ou Réplication par serveur,
  • Utilisation du mode connecté ou du mode nomade.
Rappel : Pour créer le programme d'installation, sous le volet "Projet", dans le groupe "Génération", déroulez "Procédure d'installation" et sélectionnez "Créer la procédure d'installation".
Il est possible de modifier ces informations lors de l'installation de l'application.
Utilisation de la réplication

Réplication universelle assistée directe

Le principe de la réplication assistée directe est le suivant :
Lors d'une réplication directe, l'application est installée sur le poste local, grâce au programme d'installation (l'installation peut être une installation autonome ou avec mise à jour automatique).
Lors de cette installation, une base de données locale (au format HFSQL Classic) est automatiquement créée. Cette base de données est identique à celle de la base maître.
Si l'utilisateur n'a pas accès à la base maître, l'application fonctionne en mode nomade avec la base de données locale (cas par exemple d'un commercial possédant un portable).
Pour se synchroniser, l'utilisateur lance l'outil ReplicSynchro et effectue la synchronisation des données. Dans notre exemple, le commercial pourra effectuer une synchronisation tous les soirs.
Si le poste local a un accès direct à la base maître (dans notre exemple, le commercial est au siège pour une semaine et peut accéder au réseau), il est possible d'utiliser directement la base maître. Ce changement de mode est effectué grâce à l'outil ReplicAdmin.
Remarque : le principe décrit ici est identique pour une application utilisant une installation avec mise à jour automatique.

Réplication universelle assistée par serveur de réplication

Lors d'une réplication par serveur, l'application est installée sur le poste local grâce au programme d'installation (l'installation peut être une installation autonome ou avec mise à jour automatique).
Lors de cette installation, une base de données locale (au format HFSQL Classic) est automatiquement créée. Cette base de données est identique à celle de la base maître. Le serveur de réplication peut également être installé lors de l'installation de l'application.
Si l'utilisateur n'a pas accès à la base maître, l'application fonctionne en mode nomade avec la base de données locale (cas par exemple d'un commercial possédant un portable).
Pour se synchroniser, l'utilisateur lance l'outil ReplicSynchro et effectue la synchronisation des données. Dans notre exemple, le commercial pourra effectuer une synchronisation tous les soirs.
Si le poste local a un accès direct à la base maître (dans notre exemple, le commercial est au siège pour une semaine et peut accéder au réseau), il est possible d'utiliser directement la base maître. Ce changement de mode est effectué grâce à l'outil ReplicAdmin.
Remarque : le principe décrit ici est identique pour une application utilisant une installation avec mise à jour automatique.

Mode nomade/Mode connecté

L'outil ReplicAdmin permet de passer de mode nomade (utilisation de la base locale) au mode connecté (utilisation de la base maître) et inversement.
Lorsque l'application est en mode nomade configuré par ReplicAdmin, l'application utilise toujours les fichiers de données locaux. Aucun mécanisme automatique n'est mis en place. Pour utiliser la base maître, il faut se synchroniser et utiliser ReplicAdmin pour passer en mode connecté.
Lorsque l'application est en mode connecté configuré par ReplicAdmin, un mécanisme de contrôle automatique est mis en place. Ce mécanisme est le suivant :
  • Si la connexion à la base maître réussit au lancement de l'application, l'application est en mode connecté et utilise les données de la base maître.
  • Si la connexion au serveur échoue au lancement de l'application, un message propose à l'utilisateur de passer automatiquement en mode nomade pour utiliser les données locales.
Remarque : pour permettre d'avoir les données locales le plus à jour possible dans le cas d'un passage en mode nomade, une synchronisation immédiate des données locales peut être déclenchée à chaque fermeture de l'application (option dans le programme d'installation de l'application).
Lorsque l'application est passée automatiquement en mode local, au prochain lancement de l'application :
  • Si la connexion à la base maître réussit au lancement de l'application, un message propose de synchroniser les données locales, et de repasser en mode connecté pour utiliser les données réseau.
  • Si la connexion à la base maître échoue, l'application reste en mode nomade et continue d'utiliser la base locale.
Remarque : ce mécanisme est utilisable pour des exécutables Windows 32 et 64 bits.
Liste des exemples associés :
WD Réplication Universelle Exemples didactiques (WINDEV) : WD Réplication Universelle
[ + ] Cet exemple montre comment synchroniser les données de différents sites en utilisant la réplication universelle.
La réplication universelle permet depuis les traitements d'une application de synchroniser les données d'un site (maître), avec les mêmes données d'un ou plusieurs autres sites (abonnés). Les structures des données sont identiques sur chaque site, mais peuvent être exploitées via différents gestionnaires de données. Pour l'exemple HFSQL classic et Access sont utilisés.
L'exemple présente de façon didactique les traitements à placer dans vos applications pour permettre à l'utilisateur par une simple action (menu, bouton...) de :
- créer un réplica maître,
- créer un ou plusieurs réplicas abonnés,
- consulter / modifier les données de ces réplicas,
- exporter les données nouvellement créées ou modifiées sur un site (réplica transportable),
- importer les données créées ou modifiées sur un autre site...
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 03/07/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale