Bonjour,
J'ai une application "client lourd" qui fonctionne sur des postes industriels (connectés à des chaines de production).
Cette application est un JAR qui tourne 24h/24h.
La mise à jour (simple copie de la nouvelle version du jar) est une épouvantable galère car les postes sont difficiles d'accès et il n'est pas question de demander aux utilisateurs de cliquer quelque part pour télécharger quelque chose.
J'ai fait un test en programmant, dans mon application, un thread qui va voir toutes les minutes dans un répertoire du réseau si une nouvelle version est présente. S'il trouve une nouvelle version, il la copie dans le répertoire local de l'application (poste industriel) puis lance la nouvelle version et arrête l'ancienne.
Cela répond donc à mon besoin (pas d'intervention d'utilisateur, mise à jour à distance à n'importe quel moment). Cependant je trouve mon système un peu bricolé (forte dépendance du réseau, des noms de répertoires, perte de connexion, etc) et n'importe qui peut détruire le jar de référence du réseau s'il en a envie
J'ai envisagé de remplacer la copie du jar par un chargement via une application serveur qui pourrait envoyer le jar+librairies par un port TCP/IP mais j'ai la nette sensation de ré-inventer la roue
Donc je cherche à savoir si GlassFish pourrait faire la même chose avec plus d'efficacité :
- rendre le répertoire contenant le JAR invisible depuis le poste client
- possibilité pour le poste client de consulter GlassFish toutes les minutes pour installer une mise à jour "à chaud".
Bien sûr, toute autre solution est la bienvenue ...
Cordialement
Népomucène
Partager