Le Touilleur ExpressLe Touilleur ExpressLe Touilleur ExpressLe Touilleur Express
  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Gestion et surveillance de processus à distance

    Home Java Gestion et surveillance de processus à distance

    Gestion et surveillance de processus à distance

    Par Nicolas Martignole | Java | Commentaires fermés | 1 juin, 2005 | 0 | 744 affichages
         

    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.

    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
    No tags.

    Chercher

    Derniers articles

    • GitHub Actions : le tueur de Jenkins ?
    • Comment recréer du lien social dans l’Entreprise avec des outils numériques en 2021
    • FizzBuzz en Java et Scala (surtout Scala)
    • Scala Kata – 01
    • Podcast à (re)découvrir

    Commentaires récents

    • Frédéric Camblor dans Comment recréer du lien social dans l’Entreprise avec des outils numériques en 2021
    • b dans FizzBuzz en Java et Scala (surtout Scala)
    • Fabien Lamarque dans Scala Kata – 01
    • Cédric Clavier dans Podcast à (re)découvrir
    • Cédric Clavier dans Podcast à (re)découvrir

    Les plus lus

    • Les revenus d’un informaticien indépendant en EURL - 85 488 affichage(s)
    • Changer la batterie d’un MacBook Pro de 2011 - 61 322 affichage(s)
    • Optional en Java 8 - 52 078 affichage(s)
    • Quelle est la différence entre volatile et synchronized ? - 50 252 affichage(s)
    • Un modèle de Product Backlog et de Sprint Backlog avec Excel - 48 945 affichage(s)
    • Redis, découverte d’un moteur clé-valeur simple et puissant - 46 430 affichage(s)
    • Comment simuler le navigateur de l'iphone avec Firefox ou Safari ? - 41 530 affichage(s)
    • serialVersionUID mythes et légendes - 36 147 affichage(s)
    • Faut-il gérer une équipe de développeurs ? - 34 662 affichage(s)
    • Développeur après 31 ans ? Ridé et chauve tu seras - 33 962 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 parisjug paris jug pjug play playframework portlet recrutement ria Scala scrum spring Startup usi usi2010 web xebia

    Recent Posts

    • GitHub Actions : le tueur de Jenkins ?

      Avouez-le : ce titre de blog est super racoleur. J’avais aussi pensé

      15 février, 2021
    • Comment recréer du lien social dans l’Entreprise avec des outils numériques en 2021

      Nous sommes en février 2021 pendant le 3ème confinement lié à la

      10 février, 2021
    • FizzBuzz en Java et Scala (surtout Scala)

      L’exercice FizzBuzz est un petit exercice très simple, à tester par exemple

      9 février, 2021

    Recent Tweets

    • RT  @JosePaumard : Il y a tout juste un an j'ouvrais ma chaîne de cours Java en ligne (près de 80h de cours), c'était la fermeture des univer…

      3 hours ago
    •  @ShirleyAlmCh  Ça fait du bien de te lire

      4 hours ago
    • RT  @kimchy : great read from  @ldoguin  on putting customers first to the benefit of all by cloud vendors, wonderful to see it embraced by  @cl …

      13 hours ago
    •  @juliendubois   @alexismp  Interesting. However I tweet mostly in French so how accurate is this graph ?

      1 day ago
    • Et hop, voici la future liste des talks 2021 https://t.co/kQPehA8uzx avec encore quelques ajustements à faire (masq… https://t.co/mIDLEw0sML

      1 day ago

    Mots clés

    agile (18) ajax (11) Apple (11) architecture (6) barcamp (5) BarCampJavaParis (5) ddd (5) devoxx (33) esb (6) exo (6) flex (9) geek (5) google (11) grails (5) groovy (10) humeur (12) humour (7) independant (6) iphone (12) Java (77) javascript (7) jazoon (28) jboss (22) jboss seam (12) jsf (9) jug (16) Linux (11) mac (6) mule (5) parisjug (7) paris jug (22) pjug (6) play (8) playframework (6) portlet (5) recrutement (6) ria (8) Scala (21) scrum (44) spring (23) Startup (11) usi (21) usi2010 (9) web (16) xebia (7)

    Le Touilleur Express

    Contactez-moi : nicolas@touilleur-express.fr

    Suivez-moi sur Twitter : @nmartignole

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