Bonjour,
Résumé: Ma question est de savoir si mon idée de tendre vers Spring et Rest pour l'évolution de mon application est pertinante.
Situation actuelle:
Actuellement mon application (utilisant uniquement Javafx & Maven) fonctionne en mode standalone : pas de serveurs, l'application est déployée directement sur le poste utilisateur.
Basiquement, cette application interroge un serveur sur le web tier toute les minutes et si le fichier qui m'intéresse a été mis à jour, l'application affiche ces données à l'utilisateur.
Problèmes:
- J'ai de plus en plus d'utilisateurs et j'ai peur que le serveur web tier ne 'sature' à un moment (ou qu'il voit trop de requête dans la même minute et ne bloque l'IP derrière laquelle se situent tout mes clients)
- Je souhaite optimiser l'architecture: centraliser l'identification des updates, les clients discutants avec ce "noeud central" (mon propre serveur) pour savoir si les informations ont été mises à jour. Avoir un serveur central permettra aussi des développements futurs.
Mon idée:
Utiliser une application java Spring sur mon serveur (Spring facilitant la mise en place de l'API Rest), qui se chargerait d'interroger toute les minutes le site web et de répondre, via Rest donc, aux demandes d'update des clients.
Problèmes identifiés (pour l'instant):
Je ne sais pas si sur mon "noeud central" (serveur), une seule application suffira (en charge de l'interrogation du site web tiers et de répondre aux requêtes Rest des frontend utilisateurs) ou s'il vaut mieux 2 applications distinctes (une appli java pour rechercher les mises à jour et une autre pour répondre aux requêtes Rest).
Au dela du processus demandant si oui ou non il y a une update, est-il pertinant d'utiliser Rest pour transmettre les updates (un fichier CSV allant de 1 à 30 ko en fin de journée), ou ne vaut-il mieux pas laisser le client accéders en Http au fichier (ce dernier ayant été récupéré lors de la détection de la mise a jour par le processus en charge de la surveillance) ?
Question subsidiaire : quelle est la meilleure solution pour que ma vérification d'update soit faite toute les minutes (dois-je lancer un thread de vérification toute les minutes après que le précédant ai rendu la main ou y a t-il une meilleure solution sous Spring ?)
PS: vous l'aurez surrement compris, je suis un débutant (autodidacte en java, ça sera ma 1ère fois avec Spring, même si j'ai déjà lus quelques tuto)
Merci d'avance pour vos conseils
Partager