Bonjour à tous,
Dans le cadre d'un projet professionnel, je suis amené à proposer et mettre en place une architecture permettant via une application cliente (typiquement un navigateur web) de
- lancer des exécutables "distribués" avec des paramètres d'entrée
- interroger/recevoir le status d'une exécution lancée via un navigateur web
Les contraintes sont les suivantes :
- Les exécutables en question sont susceptibles de tourner sur un serveur centralisé et/ou sur les serveurs de partenaires du projet
- Les exécutables implémentent des algorithmes de calcul "lourds"
- Le nombre de clients sollicitant le serveur à un moment donné ne dépasse pas la centaine
- Les exécutables sont susceptibles d'interroger et mettre à jour une base de données accessibles depuis le serveur central
- Les paramètres fournis aux exécutables sont de nature géométrique ( par exemple, suite de couples (x,y) définissant un polygone + un identifiant d'image )
N'ayant que peu d’expérience dans l'élaboration d'une telle architecture, quelqu'un serait-il en mesure de m'orienter vers les réflexions nécessaires (bonnes questions à se poser) et éventuellement me conseiller des solutions techniques adaptées à ce contexte.
De mon coté, j'ai investigué plusieurs pistes techniques semblant répondre au besoin, sans être en mesure de déterminer laquelle serait la plus adaptée : apache+php avec appel de la méthode exec, apache + utilisation de CGI, une architecture REST (du style Ruby on Rails) ou encore un framework comme Node.js.
Sachant que je n'ai eu qu'une courte expérience avec RoR et aucune avec Node et CGI.
Merci d'avance pour vos suggestions.
Partager