| Retour
Pr*sentation OpenSync| OpenSync vous permet de synchroniser les données et les documents liés aux données de plusieurs bases 4D de manière simple. |
| OpenSync s'appuie sur l'architecture combinée de xShell et de tcp_Open. tcp_Open apporte à OpenSync la couche communication et xShell la couche gestion et synchronisation des enregistrements. OpenSync utilise ces briques logiciels au travers des triggers. De cette manière l'implémentation de OpenSync se fait par l'ajout d'une ligne de code dans le trigger de la table à synchroniser: |
| La structure d'accueil ne nécessite pas de modification, sauf si vous ne disposez pas dans la table à synchroniser de clé primaire. Tout repose sur l'existance d'une clé unique. Dans le cas ou la clé primaire n'aurait l'assurance de l'unicité lors de sa génération sur des bases différentes à un instant T, OpenSync vous propose la méthode hdl_GetHandle qui génère de manière alléatoire un identifiant assuré unique. Il reste à modifier le code du trigger de la manière suivante: |
| La méthode trg_ peut d'ailleurs accepter un deuxième paramètre discréminant pour assurer l'unicité à l'aide de deux identifiants : |
| trg_ (->[Demo]IDClient;->[Demo]TelPerso) |
| OpenSync vous propose un ensemble de méthodes et d'options pour affiner votre architecture de synchronisation. Vous pouvez alors aller de la simple synchronisation entre deux bases mono-poste jusqu'à une architecture complexe de données réparties incluant la gestion de clients nomades en relation avec un ou plusieurs serveurs pour des échanges de données partiels. Vous avez ici des exemples de mise en place possibles avec OpenSync. |
| Echanges entre deux bases mono-poste |
| La base en téléchargement sur Canal OpenSource est une base 4D 6.7 PC. Il n'y a aucune difficulté à la passer sous MacOS 9 ou Mac OS X et la faire évoluer de version. Elle est paramétrée pour mettre en place une synchronisation entre deux bases 4D. Après la duplication de la base, il suffit juste de renseigner l'adresse IP du serveur dans les paramètres du client. Cette modification se fait à l'aide du dialogue de paramètres accessible en menus créés. On établi alors une relation de 1 vers 1 qui peut évoluer vers une relation de N clients vers 1 serveur par simple duplication du client. Aucun reparamétrage n'est nécessaire, tout est transparent pour le développeur comme pour l'utilisateur. OpenSync gère déjà pour vous un niveau complexe de technologie. |
| Echange entre deux bases mono-poste |
| Le couple ci-dessus s'intègre maintenant dans une nouvelle relation où l'un des deux postes se synchronise aussi sur un serveur qui consolide les informations en provenance d'autres bases. Celles-ci peuvent être des bases 4D sous 4D Serveur ou 4ème Dimension. Aucune restriction n'existe à ce sujet avec OpenSync. |
| Echange entre deux bases et un serveur de consolidation |
Les clients nomades travaillent en mode déconnecté, c'est-à-dire sans être relié au réseau de l'entreprise. |
| Vous pouvez aussi avec OpenSync définir des connexions persistantes et simuler une relation client/serveur. Un scheduler permet de régler la fréquence des synchronisations. |
| Le réseau de l'entreprise et le site Internet |
| La protection des données de l'entreprise est essentielle. Le risque d'avoir sur une même machine le serveur de l'entreprise et le site web amène à séparer physiquement les deux et à établir une synchronisation des données. Les informations saisies par les internautes sont envoyées au serveur et les informations disponibles à la publication sur le web saisie dans l'entreprise sont envoyées sur le site Internet. |
| Echange entre le réseau de l'entreprise et son site web |
| Il n'est pas nécessaire d'envoyer toutes les informations de l'entreprise sur le serveur web. OpenSync vous permet de nommer vos données en fonction du contexte de manière à ne synchroniser que de façon partielle vos fichiers de données. Une méthode s'ajoute au trigger des tables que vous voulez synchroniser: |
| Cette méthode peut être placée dans un au cas ou et "NomDeDonnees" peut varier selon le contexte. Au niveau du dialogue de paramètrage, vous indiquez les données à synchroniser en fonction du nom que vous avez attribué. Précisons que pour chaque nom de données il est possible d'indiquer si la synchronisation se fait dans les deux sens ou seulement dans un sens ou dans l'autre. C'est ainsi que vous pouvez construire une architecture de synchronisation partielle entre différents sites d'un réseau Intranet. |
| Le réseau Intranet de l'entreprise répartie sur plusieurs sites |
| Pour une entreprise qui possèderait son siège à Paris, une agence à Lyon et une aute à Marseille on peut envisager d'adopter la stratégie suivante : |
| La stratégie Intranet de l'entreprise |
| Le site de Paris consolide l'ensemble des données de l'entreprise et allimente le site web d'où il tire aussi des informations en provenance des internautes. |
| Le site de Lyon met à disposition ses informations pour des clients sur son réseau local et pour ses clients nomades. Il envoie l'ensemble de ses informations à Paris mais ne reçoit que les informations pertinantes pour Lyon. Les informations spécifiques à Paris ou à Marseille ne lui sont pas envoyées. Il en est de même pour Marseille. |
| La synchronisation de Lyon et de Marseille est programmée pour être réalisée aux heures creuses pour l'ensemble des données, à une exception près d'un type de données qui doit être réalisée toutes les heures. |
Avec deux lignes de code et un écran de paramétrage, vous pouvez mettre en place cette stratégie de synchronisation. |
| Le dialogue de paramétrage des serveurs |
| C'est un dialogue en 4 pages. |
| Les paramètres serveur définissent principalement son nom et son port d'écoute. Vous pouvez créer plusieurs serveurs avec pour chacun un des paramètres clients aux options différentes. C'est ce même dialogue qui est utilisé pour créer des serveurs tcp_Open et IncludeFtpServer. Le code source de tcp_Open est inclu en totalité dans OpenSync, cela vous donne la possibilité d'ajouter un traitement spécifique à vos synchronisations. |
| Les paramètres client indique principalement s'il est utilisé pour une synchronisation de données, l'adresse IP du serveur et son port. |
| Le panneau de synchronisation I permet de fixer des options comme le nombre de canaux utilisés pour l'échange de données. Cette possibilité de pouvoir communiquer entre le client et le serveur avec plusieurs process simultannément accroit de manière significative les temps de réponse. |
| Le panneau de synchronisation II enregistre les paramètres du scheduler pour le déclanchement de la synchronisation à un moment T et enregistre les informations sur les données à échanger. |
ITK ou 4D IC? Qu'importe, les deux à la fois si vous le voulez. Le serveur en ITK et les clients en 4D IC. Le choix se fait en cochant ou décochant une case, c'est tout. |
OpenSync est disponible dans le cadre de l'abonnement à Canal OpenSource, c'est-à-dire 35 € seulement pour un abonnement trimestriel ! C'est un code source en open source et libre de droit. Vous pouvez l'implémenter dans vos bases et le distribuer sans avoir la moindre redevance à reverser. Vous disposez avec votre abonnement d'un support technique grâce au forum de Canal OpenSource et si vous voulez prendre en main rapidement et de manière complète OpenSync vous pouvez suivre une formation en cours particulier. |
| Plusieurs développeurs ont témoigné de la qualité du code source et du suivi qu'offre Canal OpenSource. Lisez leurs temoignages et abonnez-vous à Canal OpenSource. |
| Les icônes qui illustrent cette page sont disponibles sur DesignServer. |
| Cette page a été réalisée avec iWriter. |
| Haut de page | Retour
|