Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

Gestion et surveillance de processus à distance

1 juin, 2005

Aujourd’hui nous donnons la dernière touche à notre application de surveillance et d’administration. J’ai casi terminé la partie packaging avec InstallAnywhere. Du coup cela m’a aussi donné l’envie de raconter ici en quoi consiste ce boulot qui m’a pris presque 2 mois avec un collègue (yo stéphane 😉 ).

Le problème à résoudre: notre logiciel est souvent installé sur un grand nombre de machine en salle de marché. Ainsi un de nos clients gére 80 000 portefeuilles boursiers. Autant dire que notre logiciel doit être en mesure de tenir la montée en charge. Jusqu’à aujourd’hui le souci est que lorsqu’une machine plante ou que le réseau est surchargé, l’équipe d’administration technique doit se connecter sur la machine pour relancer les processus. Nous avons donc développé une application de surveillance et d’administration distante. Elle est composée d’un petit agent qui tourne sur chaque machine et d’une ou plusieurs console d’administration centrale. L’interface utilisateur est une application Web classique avec Java Server Faces pour la partie GUI et une application java pour la partie serveur.

Pour la partie agent, un petit composant Java léger permet de:

  • – démarrer un processus Unix ou Windows (directement via java.util.Process)
  • – découvrir une instance qui fonctionne déjà (via TIBCO Rendezvous)
  • – détecter les processus zombi (n’ayant plus d’activité mais étant présent en mémoire)
  • – arrêter un processus (via TIBCO Rendezvous)

Pour la partie serveur, j’ai développé une application Web qui fonctionne avec Tomcat 5.0.28. La partie modèle est commune à ce que l’agent gére. Pour synchroniser la liste des agents, j’utilise l’api JGroups de JBoss. Celle-ci permet de découvrir sur le réseau mes agents, puis ensuite de recevoir la liste des applications avec pour chacune un status (démarré/arrêté/planté…). Ensuite pour la partie GUI, comme j’aime bien faire simple j’ai choisi JSF (Java Server Faces) plutôt que Struts. Pourquoi ? Et bien JSF permet contrairement à Struts de générer soit du HTML assez complexe pour un navigateur, soit du WML pour un PDA ou un BlackBerry. Et hop ! d’une pierre, deux coups. En plus de l’interface classique en DHTML, notre application est donc aussi accessible via un BlackBerry ou un SmartPhone. Cela permet donc à une personne de l’exploitation de suivre en temps réel si le logiciel fonctionne correctement, puis ensuite d’effectuer des actions pour éventuellement démarrer d’autres machines, relancer un processus suspect, etc.

De ce projet de 3 mois, j’en ai profité pour proposer JSF afin d’apprendre un peu quelque chose de neuf. Tout d’abord je dirai qu’une fois l’api maîtrisée, il est très facile de créer une page ou deux et de rajouter des fonctionalités. Pour la partie où je devais représenter l’état du réseau, j’ai utilisé l’api MyFaces d’Apache. Il s’agit en fait de l’implémentation open-source de JavaServer(tm) Faces dit « JSF ». Si vous regardez le composant Tree2 vous aurez une idée de ce que j’ai fait pour la partie visuelle… Tiens il faudrait que je mette des screenshots, en faisant juste attention au problème de Copyright.

0 no like

Articles similaires:

Gestion des logs applicatifs avec Fluentd Default ThumbnailPrésentation d’Esper, moteur de gestion de flux d’événements en Java Default ThumbnailRetour sur le livre "Gestion de Projet Agile v3" par V.Messager Rota Default ThumbnailConsole d´admin: les captures d'écran

Chercher

Derniers articles

  • L’instant T où tu poses ta dém…
  • The « Robinson » projection – comprendre son système d’information
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise
  • Gérer les situations de blocage en tant que Staff Engineer
  • Un monolithe, c’est quoi ?

Commentaires récents

  • Nicolas Martignole dans The « Robinson » projection – comprendre son système d’information
  • Lucas dans The « Robinson » projection – comprendre son système d’information
  • Guillaume dans The « Robinson » projection – comprendre son système d’information
  • Francois Dechery dans The « Robinson » projection – comprendre son système d’information
  • Gaëtan dans The « Robinson » projection – comprendre son système d’information

Les plus lus

  • Les revenus d’un informaticien indépendant en EURL - 89 684 affichage(s)
  • Optional en Java 8 - 70 951 affichage(s)
  • Changer la batterie d’un MacBook Pro de 2011 - 65 588 affichage(s)
  • Quelle est la différence entre volatile et synchronized ? - 65 464 affichage(s)
  • Retour sur la soirée du lundi 12 juillet chez Doctolib - 63 072 affichage(s)
  • Un modèle de Product Backlog et de Sprint Backlog avec Excel - 57 801 affichage(s)
  • Redis, découverte d’un moteur clé-valeur simple et puissant - 51 018 affichage(s)
  • Comment simuler le navigateur de l'iphone avec Firefox ou Safari ? - 45 657 affichage(s)
  • serialVersionUID mythes et légendes - 41 900 affichage(s)
  • Développeur après 31 ans ? Ridé et chauve tu seras - 39 394 affichage(s)

Mots clés

agile ajax Apple architecture barcamp BarCampJavaParis ddd devoxx esb exo flex geek google grails groovy humeur humour independant iphone Java javascript jazoon jboss jboss seam jsf jug Linux mac mule paris jug parisjug pjug play playframework portlet recrutement ria Scala scrum spring Startup usi usi2010 web xebia

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express