Client offline

Client offline - Java - Programmation

Marsh Posté le 15-09-2018 à 05:22:23    

:hello:
 
Je me heurte depuis quelques années au besoin de l'un de mes "clients". Sans rentrer inutilement dans les détails, il dispose pour bosser au boulot et en déplacement d'un SI type client léger (côté serveur on a Nginx/Serveur J2EE Payara/SQL Server). Cela fonctionne parfaitement mais dans certaines circonstances en déplacement (train, zones blanches) lors desquelles il doit avoir pleinement accès à certaines fonctionnalités du SI, il ne dispose d'aucune couverture réseau.
 
Ce qui nous a amené à développer un second client lourd JavaFX, sans DB (les données sont stockées sous forme de fichiers sérialisés), allégé en fonctionnalité pour ne garder que les indispensables, mais qui représente tout de même une charge conséquente en terme de maintenance.
Pour simplifier le principe est le suivant : avant de quitter le bureau pour un déplacement, le user lance le client lourd, update les données locales (700MB à 1GB de données à télécharger soit environ 30mn). Au retour, il synchro ses saisies vers le central via une fonction dédiée.
 
Je n'ai pas trouvé de solution miracle ou d'idée brillante qui permettrait de mutualiser les technos et la maintenance. Si vous avez connu une situation similaire, je suis preneur de quelques pistes :)

Reply

Marsh Posté le 15-09-2018 à 05:22:23   

Reply

Marsh Posté le 20-05-2019 à 08:14:35    

Bonjour,
 
une possibilité serait d'avoir une base de données locale Derby, ce qui permet de réutiliser sur le client une partie du code du serveur, et de seulement développer un code de réplication bas niveau des tables.
 
J'utiise Apache Derby pour mon développement et certaines applications perso, et:

  • c'est fiable et facile à administrer (juste copier le répertoire)
  • je réutilise exactement le même code que celui qui tourne sur le serveur (avec une vraie base de données serveur : MariaDB en l'occurrence

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed