Académique Documents
Professionnel Documents
Culture Documents
synchronisation de données
Webinaire du 18 décembre 2018
• Introduction
• C’est quoi une donnée ?
• Cas pratiques et solutions
• Synchro à l’intérieur d’une fiche avec Live Bindings
• Synchro sur le réseau local et en Bluetooth avec App Tethering
• Synchro via Internet avec DataSnap
• Synchro via Internet avec les composants TCP/IP
• Cas client : l’application Intelli7 3.x et son cloud maison
• Conclusion
• Questions / réponses
• Les types de stockages peuvent être des flux, des variables, des
fichiers ou des bases de données.
• Les fichiers sont l’un des deux conteneurs de données que l’on
échange le plus.
• Avec les fichiers ce sont les bases de données qui sont l’autre conteneur de
données qui s’échange le plus ou dont on synchronise les contenus.
• Cas 1 : des fichiers sont créés sur un logiciel et doivent être transférés
à un autre sur le même ordinateur.
• Cas 2 : des fichiers sont créés sur un logiciel et doivent être transférés
à un autre logiciel ailleurs sur le même réseau local.
• Cas 3 : des fichiers sont créés sur un logiciel et doivent être transférés
à un autre logiciel ailleurs sur Internet.
=> Si les deux ordinateurs peuvent dialoguer directement le plus
simple est de faire du client/serveur avec WebBrocker, DataSnap ou
RAD Serveur.
=> Si les deux ordinateurs ne peuvent pas discuter, on peut passer par
un serveur intermédiaire, un envoi d’email avec pièce jointe, un
transfert FTP, un envoi en POST à un site web ou un stockage du
fichier sur un cloud.
• Cas 4 : des fichiers sont créés sur un logiciel et doivent être transférés
à un autre logiciel sur des appareils à proximité mais sans réseau
TCP/IP.
=> On peut utiliser des sockets en bluetooth si les deux appareils sont
équipés.
=> On peut utiliser AppTethering en bluetooth (mais il fonctionne en
BT classique donc pas sur iOS qui n’a que du BT LE).
=> Si le moteur de base de données ne le permet pas, que l’on est sur
un réseau TCP/IP, le plus pratique est d’utiliser DataSnap.
=> On peut aussi développer une API en REST pour accéder aux
données à distance si le langage utilisé des deux côtés n’est pas le
même.
• Les Live Bindings sont utilisés soit à la main à travers un expert, soit
visuellement à travers le concepteur Live Bindings présent sur le
concepteur de fiches VCL et FMX.
• Le tout est géré par une série de composants présents dans l’unité
System.Tether :
http://docwiki.embarcadero.com/Libraries/Rio/en/System.Tether
• Un tutoriel bien conçu a été écrit en 2015 par Malcolm Groves à la sortie
des composants AppTethering. Il est disponible à cette adresse :
http://www.malcolmgroves.com/blog/?p=1842
• Intelli7 est un cas intéressant pour les contraintes que l’on a mis dans
le projet en terme de données et de réplication.
• Nous avons donc créé un mini cloud maison pour chaque utilisateur,
synchronisé en temps réel entre tous les appareils du même
utilisateur et son serveur de référence.