Vous êtes sur la page 1sur 54

RAPPORT DE STAGE :

Centreon Status Map Conception et dveloppement dune application j2se


Du Mardi 1 mai au Mercredi 31 octobre 2007.

Jean-Baptiste Lamotte lamott_j

Effectu : Socit Merethis 12 avenue Raspail 94270 Gentilly France

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Remerciements :
Je remercie toute lquipe et ses responsables qui mont permis deffectuer ce stage dans de bonnes conditions :

Romain Lemerlus, mon tuteur de stage, directeur des projets, et cofondateur de Merethis

Julien Mathis, directeur technique, et cofondateur de Merethis Cedric Facon, architecte web et formateur, Mathavarajan Sugumaran, formateur, William Lienard, dveloppeur, Sylvestre Ho-Tam-Chay, web designer, Thierry Bernardini, administrateur.

Mmoire de stage de 3e anne.

Page 2 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Table des matires


Remerciements : ................................................................................................................... 2 1. 2. Rsum ......................................................................................................................... 4 Prsentation de lentreprise ........................................................................................... 6 2.1. 2.2. 2.3. Secteur dactivit ..................................................................................................... 6 Lentreprise ............................................................................................................. 6 Les services ............................................................................................................ 7 Formation ......................................................................................................... 7 Support ............................................................................................................ 7 Edition .............................................................................................................. 7

2.3.1. 2.3.1. 2.3.2. 2.4. 3.

Le positionnement du stage dans lentreprise.......................................................... 8

Travail effectu .............................................................................................................. 9 3.1. Cahier des charges ................................................................................................. 9 But gnral....................................................................................................... 9 Explication dtaille des rsultats obtenir .....................................................10

3.1.1. 3.1.2. 3.2.

Compte rendu dactivit ..........................................................................................12 Axe dtude et de recherche choisis ................................................................12 Droulement concrets des tudes. ..................................................................15 Interprtation et critique des rsultats ..............................................................49

3.2.1. 3.2.2. 3.2.3. 4. 5.

Conclusion gnrale .....................................................................................................50 Bibliographie & webographie ........................................................................................51 5.1. 5.2. Bibliographie ..........................................................................................................51 Webographie ..........................................................................................................51

6.

Glossaire ......................................................................................................................52

Mmoire de stage de 3e anne.

Page 3 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

1. Rsum
Le stage de 6 mois a t effectu chez Merethis, socit cre en 2005 par danciens lves dEpitech, spcialise dans la supervision rseau open source.

La supervision rseau est un domaine en pleine expansion. En effet, toutes les entreprises ont aujourdhui un besoin croissant en informatique, et le nombre dquipements ne cesse daugmenter. De mme, les rseaux transmettent de plus en plus dinformations. Cela permet linformatique doccuper une place dcisive dans les entreprises. Toutefois, cela rend les infrastructures plus sensibles.

La supervision rseau permet de surveiller le bon fonctionnement de ces ressources et ainsi de prvenir dventuelles pannes, ou de les dtecter dans les plus brefs dlais, avant quelles naient des rpercutions plus importantes.

Merethis a initialement cr Oreon, une solution de monitoring complte et open source. Ce logiciel open source tire sa force dune grande communaut dutilisateurs des logiciels, mais cr aussi une faiblesse pour lentreprise qui ne gnre des bnfices que par son support. Le but du stage tait de reprendre le dveloppement dune application de cartographie avance, visant rendre la supervision accessible un nophyte une fois le parc informatique correctement configur dans Centreon, et optimiser le temps daccs linformation via une application centralisant tout ce qui concerne le monitoring et laissant de cot la configuration Centreon. Cette application se nomme Centreon Status Map.

Cette premire application possdait malheureusement de nombreux dfauts et ntait pas commercialisable en ltat.

De nombreuses phases dtudes, de tests, et de ttonnements permirent daboutir une version finale de Centreon Status Map 2. Il y eu 4 phases directives qui composrent ce stage. Mmoire de stage de 3e anne. Page 4 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Apres une premire phase dtude de Centreon Status Map 1.x, il tait vident que toute la conception tait revoir. Lapplication fut recommence. Le but tait de reproduire toutes les fonctionnalits prsentes, de les amliorer, et den crer de nouvelles, sans les problmes de performances, et bug de cette premire version.

La seconde phase fut dtudier le framework eclipse RCP, et de dmarrer le dveloppement de Centreon Status Map 2.x. La richesse de ce framework nest pas encore puise, mais tout au long du stage, mes connaissances se sont amliores.

La troisime phase dtude fut consacre lexploration des technologies XML avec JAVA. Je conus plusieurs modles de flux XML permettant de transfrer linformation entre le serveur de supervision utilisant Centreon, et lapplication Centreon Status Map.

La dernire phase fut dimplmenter un diteur graphique reposant sur le framework GEF. Ce framework aux multiples possibilits est malheureusement trs mal document. Son tude demanda beaucoup dassiduit afin daboutir un rsultat exploitable.

Aprs de nombreuses phases de test, la version 2.0.0 de Centreon Status Map tait enfin disponible. Cette version fut teste par plusieurs grands groupes (souhaitant garder lanonymat), utilisant Centreon comme base de monitoring. Il y eu des retours, sur des amliorations fonctionnelles. Chacune des demandes de ces entreprises fut satisfaite, afin daboutir aujourdhui Centreon Status Map 2.1.1. Un produit leur apportant pleine satisfaction. Lentreprise Merethis ma propos un contrat en alternance aprs le stage, et ma plac la tte ce projet. Il comptera trs bientt de nouveaux dveloppeurs afin dacclrer son volution. Le dveloppement de Centreon Status Map a encore un bel avenir devant lui, afin de rpondre tous les nouveaux besoins des entreprises.

Mmoire de stage de 3e anne.

Page 5 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

2. Prsentation de lentreprise
Le stage a t effectu durant 6 mois la socit Merethis. 2.1. Secteur dactivit Les entreprises et organisation ont aujourdhui de plus en plus dquipement informatique et lectronique, et leurs surveillances (tat de fonctionnement, qualit de fonctionnement etc..) ne peuvent tre effectues manuellement tant leur nombre est lev. Cest pourquoi il existe des solutions de monitoring rseau. Merethis se place au cur de ces systmes de surveillance, en proposant de nombreux outils, afin de surveiller efficacement lensemble de ces quipements. 2.2. Lentreprise Merethis a t cr en 2005, la suite dun projet de fin dtude effectu par 5 tudiants de lEpitech.

Le projet initial consistait crer une surcouche au clbre ordonnanceur Nagios afin de simplifier sa configuration. Ce projet sappelle Oreon, puis deviendra Centreon en 2007. Ce projet est open source, et dispose dune forte communaut.

Seul 2 anciens tudiants ont souhait continuer le projet, et crer la socit Merethis :

Romain Lemerlus Julien Mathis

Aujourdhui, Merethis dveloppe toujours Centreon, pour la communaut open-source, mais propose galement des applications payantes, complmentaires Centreon, pour les entreprises ncessitant des rsultats plus pouss de leur monitoring.

Cartographie avanc (Centreon Status Map) Qualit de service (Meta service) Mmoire de stage de 3e anne. Page 6 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Merethis propose galement des solutions compltes prinstalles, pour surveiller tout un parc informatique, avec sa Meribox . Enfin, Merethis propose un support et des formations Centreon, afin daider les entreprises utiliser Centreon plus efficacement. 2.3. Les services 2.3.1. Formation Merethis propose toute une gamme de formations ddies la supervision rseau Open Source. Il existe actuellement 4 types de formation : Exploitation Centreon Nagios 2 jours Bases de la supervision 3 jours Supervision avance 3 jours Expert Centreon Nagios 5 jours

2.3.1. Support Merethis propose un support afin de rsoudre des problmes dutilisation et/ou bug dOreon.

Problme Dlai d'acquittement - contournement Solution corrective Crdits

Mineur 8 heures 5 jours 6 crdits

Majeur 4 heures 48 heures 10 crdits

Bloquant 2 heures 24 heures 16 crdits

Ce support fonctionne par un systme de crdits qui sachtent au forfait, par lot de 50, 100, 200, 400, 500. 2.3.2. Edition Merethis a depuis peu, un service ddition, soccupant de crer des logiciels et complment Centreon, rpondant aux besoins des entreprises. Mmoire de stage de 3e anne.

Page 7 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
2.3.2.1. Cartographie avance (Centreon Status Map)

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Centreon Status Map, aussi appel OSM dans le jargon de Merethis, est une application Java permettant de surveiller efficacement ltat dun ensemble dquipements que ce soit lchelle locale ou mondiale, via un systme darborescence. Les diffrents types dlments (host, hostgroup, service, servicegroup, metaservice, osl) possdent des formes simples rendant leurs identifications faciles, et un systme de coloration selon leurs tats. On peut y ajouter facilement des lments graphiques, pour rendre la visualisation plus explicite, tels que des cartes, des plans etc.
2.3.2.2. Qualit de service (Meta Service)

La mesure de la qualit de service n'est pas une fonctionnalit native de Nagios ; agrger au sein de l'outil les tats des lments superviss n'existe pas.

L'outil Centreon propose une solution pour exploiter les donnes de performance entre elles avec le plugin des Meta Services, il propose galement de suivre dans le temps l'volution des mtriques, mais pas d'informations sur des tats agrgs.

2.4. Le positionnement du stage dans lentreprise Merethis avait jusque l une faible activit dans le domaine de ldition. Le dveloppement dapplicatifs permet Merethis de diversifier ses offres, en proposant autre chose que du service. Le stage sinscrit donc au cur de lactivit Merethis, permettant de rpondre ce manque dans ldition, par le dveloppement de Centreon Status Map.

Mmoire de stage de 3e anne.

Page 8 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3. Travail effectu

3.1. Cahier des charges

3.1.1. But gnral Le cahier des charges dtaill nexistait pas au dpart, et sest construit au fur et mesure de lavancement de la mission.

La mission comportait 2 objectifs :

Analyser une application dont Merethis est propritaire : Oreon Status Map 1.x (OSM 1.x) Reprendre le dveloppement dOSM 1.x afin doptimiser les performances, et y ajouter de nouvelles fonctionnalits.

Le second objectif deviendra aprs lanalyse : Dvelopper OSM 2.x from scratch ( partir de rien), afin davoir un cur dapplications plus performant que la prcdente mouture. Note : Oreon Status Map 2.x deviendra Centreon Status Map 2.x (que lon surnomme toujours OSM 2.x)

Mmoire de stage de 3e anne.

Page 9 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.1.2. Explication dtaille des rsultats obtenir

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.1.2.1. Analyser lexistant

Ce premier objectif consistait prendre connaissance de lapplication OSM 1.x. OSM 1.x souffrait de problmes de performance, et dun manque de certaines fonctionnalits : Trs grande lenteur lorsque beaucoup dlments taient prsents Freeze de lapplication lors des rafrachissements de statuts et des tlchargements dimages Stockage des informations sur la structuration de la cartographie en local (via un import / export) Problme de synchronisation des donnes (un lment supprim dans Oreon toujours prsent dans Oreon Status Map) Problme de duplication de donnes Nombreux petits bugs non bloquants

Apres cette premire analyse, il tait vident que ces problmes taient lis la conception mme dOSM 1.x. Il fallait reprendre le dveloppement depuis le dbut.
3.1.2.2. Dveloppement de lapplication Centreon Status Map 2.x

Apres cette premire analyse, ce second objectif visait corriger les diffrents problmes dOSM 1.x, et dy ajouter de nouvelles fonctionnalits : Dvelopper une application multithread o tous les traitements sont effectus en tche de fond Stocker les informations du ct serveur afin davoir linformation toujours disponible o que lon se trouve. Etablir un protocole de communication pour lchange de donnes client / serveur, en utilisant un flux XML pour le transfert de donnes. Mmoire de stage de 3e anne. Page 10 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Retrouver toutes les fonctionnalits prsentes dans la version prcdente dOSM. Ajouter de nouvelles fonctionnalits.

Mmoire de stage de 3e anne.

Page 11 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2. Compte rendu dactivit

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Tout dabord, quelques chiffres : Centreon Status Map 2.x, cest 49 packages, 261 classes, 1628 mthodes, et 18 277 lignes de code, par consquent, seul un regard conceptuel sera port sur le projet. 3.2.1. Axe dtude et de recherche choisis Il y eu plusieurs phase dtude, et dexprimentation avant daboutir un produit final, vendable. Toutes ces phases dtude furent effectues plus ou moins en mme temps, chacune se compltant et senrichissant mutuellement.
3.2.1.1. Etude dOreon Status Map 1.x

Ltude de cette application fut brve. Un peu de manipulation du programme, afin de voir ce quil permet de faire, de trouver ses limitations, et ses bugs. Cette tude va mener la dcision de reprendre le dveloppement de Centreon Status Map au point de dpart. Je suis revenu plusieurs fois dessus, afin de garder le mme esprit de fonctionnement de lapplication.
3.2.1.2. Etude du Framework Eclipse RCP

Ltude de ce framework se fera aprs ltude dOreon Status Map 1.x, et durant toute la dure du stage.

Le Framework Eclipse RCP est un puissant Framework, simplifiant la tche de cration dapplication de type client lourd, ou client riche. Il dispose de nombreuses librairies permettant dimplmenter rapidement des boites de dialogue, des menus, etc. Cest cette richesse qui va permettre de dcouvrir de jour en jour de nouveaux concepts, devenant par la suite indispensable.

Mmoire de stage de 3e anne.

Page 12 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Eclipse, bas sur le Framework Eclipse RCP.


3.2.1.3. Etude du Framework JDom

Quelques temps aprs la dcouverte du framework Eclipse RCP, il fallut se pencher sur le problme dun bon framework permettant de manipuler du XML. Cest le framework JDom qui sera lu aprs la lecture de documentation sur divers forums, pour ses performances, et son api performante.

Mmoire de stage de 3e anne.

Page 13 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.1.4. Etude du Framework GEF

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Enfin, la dernire phase dtude se fit quelques mois aprs la cration de la majeure partie de lapplication. Il ne manquait que lditeur, contenant des lments graphiques. Ce Framework graphique de type MVC (modle-vue-contrleur) correspondait parfaitement au besoin graphique de lapplication. De plus, celui-ci a fait ses preuves dans de nombreuses applications, aussi bien chez IBM que de petites entreprises.

Mmoire de stage de 3e anne.

Page 14 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2. Droulement concrets des tudes.
3.2.2.1. Etude et test dOreon Status Map 1.x

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Au dpart, le dveloppement dOreon Status Map 1.x devait tre repris. Une phase de test simposa, afin de dterminer les problmes de performance, limitation, problme dvolutivit, et enfin les bugs. 3.2.2.1.1. Test de performance Divers tests de monte en charge permirent de mettre jour de graves problmes de performances. En voici des exemples :

Test de monte en charge

Le premier test effectu, fut dajouter de trs nombreux host dans Oreon, afin de voir comment ragissait lapplication : Lancement de lapplication Identification Tlchargement des ressources Blocage de lapplication le temps du tlchargement des ressources Plantage si interaction de la part de lutilisateur Conclusion : un thread effectuant cette tche en arrire plan pourrait corriger le problme.

Mmoire de stage de 3e anne.

Page 15 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se Test de tlchargement dimages volumineuses

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Le second test, fut dajouter des cartes de grande taille, demandant plus de temps tlcharger : Lancement de lapplication Identification Tlchargement des images Blocage de lapplication le temps du tlchargement des ressources Plantage si interaction de la part de lutilisateur Conclusion : un thread effectuant cette tache en arrire plan pourrait corriger le problme.

Test dajout de nombreux lments sur la carte

Le troisime test fut dajouter de trs nombreux lments sur la carte, tout en gardant un trs petit nombre de ressources : Lancement de lapplication Identification Tlchargement des images Blocage de lapplication le temps du tlchargement des ressources Plantage si interaction de la part de lutilisateur Conclusion : un thread effectuant cette tche en arrire plan pourrait corriger ce problme.

Tous les tests mirent en vidence la ncessit davoir une application multithread afin deffectuer les traitements en tche de fond, sans que lapplication ne bloque, ou plante la moindre action de lutilisateur.

Mmoire de stage de 3e anne.

Page 16 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.1.2. Limitation Gestion des vues

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

OSM 1.x avait une gestion des vues relativement basique. Chaque vue tait importe et exporte dans un fichier XML, qui pouvait ne plus correspondre du tout ce quil y a dans Oreon, aprs de nombreuses modifications, non rpercutes sur ces fichiers XML. Impossibilit dajouter plusieurs images un diteur

Chaque diteur tait limit une seule image, affiche en arrire plan, impossible dplacer.

Remonte des statuts

La remonte des statuts tait imprcise, confondant aussi bien un statut WARNING quun statut CRITICAL . Mmorisation dun seul utilisateur et/ou proxy

Linterface daccueil ne permettait de mmoriser que les paramtres de connexion du dernier utilisateur. Le mme problme se posait pour la gestion du proxy. La nature mme de limplmentation dOSM 1.x rendait difficile lvolution de ces limitations.

3.2.2.1.3. Bug Gestion des vues

La gestion des vues posait un double problme, la fois dvolutivit, mais aussi gnratrice de bug. En effet, la moindre suppression dun lment dans Oreon rendait inexploitable OSM 1.x, celui-ci cherchant des lments quil ne trouvait pas, lors de la mise jour des statuts, provocant une erreur qui ne permettait pas de finir cette mise jour de statuts.

Monte en charge

OSM 1.x finissait systmatiquement par planter, lorsquil y avait trop de ressources, dlments, ou de cartes volumineuses. Mmoire de stage de 3e anne. Page 17 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se Drag-n-Drop

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Le drag-n-drop des ressources dans lditeur se retrouvaient au mauvais endroit lorsque le zoom tait activ.

XML non valide

Les flux XML utiliss pour le transfert de ressource, et le stockage de la vue courante ntaient pas normaliss, provocant des erreurs alatoires, dans certains cas particuliers.

La correction de tous ces bugs aurait demand beaucoup de temps tre localiss prcisment dans le code, puis corrigs.

Mmoire de stage de 3e anne.

Page 18 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.1.4. Bilan sur Oreon Status Map 1.x OSM 1.x souffrait de nombreux dfauts, tant sur le plan de la conception que sur le plan de limplmentation : Le pire dfaut tait bien videmment le fait que lapplication soit mono threade, provocant des blocages et plantages lorsquon montait lgrement en charge. Cest aprs cette analyse, que je pris la dcision de baser Oreon Status Map 2.x sur une nouvelle base.

Le choix des Framework suivant est conserv : Eclipse RCP GEF

Le Framework permettant de grer le XML est en revanche remplac par JDom.

Mmoire de stage de 3e anne.

Page 19 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.2. Etude du Framework Eclipse RCP

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Le Framework eclipse rcp est une puissante collection dobjets, permettant de crer rapidement une application java. Cest un peu la rponse de java, aux solutions que propose Microsoft dans son IDE visual studio. Cest partir du clbre IDE Eclipse, que le Framework Eclipse RCP a t cr. 3.2.2.2.1. Le choix dEclipse RCP Ce choix sest impos de lui-mme. Il avait permis de crer la version prcdente dOreon Status Map. 3.2.2.2.2. Une premire application Eclipse RCP Apres avoir tudi en profondeur les dfauts dOSM 1.x, il tait temps de se lancer dans le dveloppement dOSM 2.x, en tenant compte des problmes de la prcdente version.

Une simple application hello world fut alors cre :

Cest sur cette petite application que reposera par la suite tout OSM 2.x

Mmoire de stage de 3e anne.

Page 20 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.2.3. Ltude des perspectives declipse RCP.

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Eclipse RCP propose une notion appele perspective. Il sagit dune reprsentation des lments que lont peut voir lcran. Les perspectives sont des conteneurs de vue et dditeur. Ils permettent de positionner o bon lui semble, au dveloppeur, les diffrents lments visibles dans la perspective. Le but originel des perspectives est de permettre lutilisateur de switcher de lune lautre, en gardant les mmes fentres ouvertes, mais plac des endroits radicalement diffrents. Cest lutilisation de ces perspectives qui va permettre de crer les diffrents morceaux de lapplication : La perspective daccueil, La perspective de slection des vues, La perspective de monitoring.

3.2.2.2.4.

Ltude des diteurs et vues dEclipse RCP

Afin de peupler les perspectives, il existe 2 types de fentre :

Les diteurs, Les vues.

Les diteurs sont des fentres plutt destines ldition, c'est--dire contenir des lments destins tre dplacs, modifis et c Les vues quant elles servent plutt afficher des lments. Il est videmment possible comme pour les diteurs dy mettre des lments modifiables, mais ce nest pas le but premier.

Mmoire de stage de 3e anne.

Page 21 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.2.1. La premire perspective, et sa premire vue

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Aprs avoir compris ces notions cl de perspective, diteur et vue, il tait temps de crer une premire perspective, peuple par une vue. Cela se droula sans encombre grce lapi bien document dEclipse RCP, et quelques jours de test. Lapplication ressemblait dsormais ceci :

Lapplication finale, sur la perspective daccueil, avec la vue Centreon Status Map. Il ny avait pas encore de menu ni de barre doutils, mais il ntait pas encore temps de se pencher sur ce problme.

Mmoire de stage de 3e anne.

Page 22 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.3. Etude du Framework JDom

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.3.1. Le choix de JDom Le Framework JDom est un ensemble de classes permettant de manipuler des donnes de type XML.

Ses avantages sont les suivants :

Plus simple utiliser que les API Sun grce une abstraction de plus haut niveau Respecte les spcifications DOM du W3C, rendant son utilisation facile tout dveloppeur objet ayant dj utilis une api respectant ces spcifications dans un autre langage.

Ce sont principalement ces 2 caractristiques qui ont motiv le choix de ce Framework plutt quun autre. 3.2.2.3.2. Une premire implmentation de JDom La premire utilisation de JDom fut pour le stockage des profils de connexion en local. Lobjectif tait simple, avoir un conteneur (XML) ordonn, et extensible volont.

Ce modle sera par la suite tendu afin denregistrer les proxys. Grce ce modle, la fentre de dialogue de connexion allait pouvoir tre cre.

Mmoire de stage de 3e anne.

Page 23 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.4. La fentre de dialogue de connexion

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.4.1. Implmentation du menu de connexion La fentre dialogue de connexion corrige les erreurs de la prcdente version. Celleci permet denregistrer des profils de serveur et/ou dutilisateur.

La boite de dialogue de connexion finale

Chacune des informations visibles dans la boite de dialogue est enregistre dans le fichier XML cr prcdemment.

Diffrentes fonctionnalits y seront ajoutes au cour du projet : Le mode administrateur, Le proxy, Le Timer Mmoire de stage de 3e anne. Page 24 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.5. Cration dune mthodologie pour la transmission de donnes

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Afin de pallier aux problmes de la prcdente version, qui enregistrait ses informations dans un fichier XML stock en local, il fallut rflchir comment changer les donnes avec le serveur, afin que celles-ci soient gardes sur celui-ci.

3.2.2.5.1.

Choix du protocole

Le choix du protocole http, avec lenvoi de xml fut rapide pour plusieurs raisons : Centreon a besoin dun serveur Apache (serveur http) pour fonctionner. Le xml transite facilement par le protocole http Le xml est un excellent conteneur de donnes ordonnes. 3.2.2.5.2. Normalisation des changes via XML

Afin de crer un parseur gnrique, il fallait dfinir un certain nombre de balises communes tous les flux XML. Des modifications seront apportes tout au long du projet ces balises, afin de rpondre aux besoins croissants dinformations de lapplication. Les spcifications finales seront les suivantes :

Balise <data> encapsulant tout flux Balise <DESCRIPTIVE>, qui dcrit le type de flux envoy o o Host, Hostgroup, ServiceGroup, MetaService, OSL, Image pour les listes des ressources all, add, rem, mod, pour larborescence et les modifications lies cette arborescence.

Balise <ctn>, qui dcrit llment ainsi que tous ses attributs. Chaque balise <ctn> peut avoir une infinit denfants, aussi bien pour les ressources que pour larborescence.

Mmoire de stage de 3e anne.

Page 25 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.5.3. Rcupration des ressources 3.2.2.5.3.1. Flux XML

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Centreon Status Map est compos des mmes lments que ceux contenus dans Centreon. (Host, hostgroup, service, servicegroup, metaservice, osl). Pour chacune de ces ressources, il fallut donc crer 5 modles XML, permettant denvoyer ces informations, bass sur les spcifications prcdentes.

Chacune des ressources possde une balise ctn , compose de plusieurs attributs : Nom, alias, adresse IP, ID, type dlments

Ces ressources ont galement des enfants, qui sont encapsul dans la premire balise ctn . Seuls les enfants du niveau immdiatement en dessous sont renvoys. La requte permettant dobtenir les hosts retourne donc une liste dhost, et ses services enfants.

Il en va de mme pour les autres lments : Liste dhostgroup et leurs host enfants Liste de servicegroup et leurs services enfants Liste de metaservice, sans les enfants (qui ne doivent pas tre affich dans OSM) Liste dosl, sans les enfants (qui ne doivent pas tre affich dans OSM) Il nexiste pas de requte permettant de rcuprer la liste des services, ceux-ci tant envoys via la requte de rcupration des hosts.

Mmoire de stage de 3e anne.

Page 26 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.5.3.2. Mthode de rcupration des flux XML

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Afin denvoyer ces flux XML, un fichier PHP fut mis en place du ct du serveur par Romain Lemerlus en respectant les spcifications que javais tablies. Une requte web simple de type GET est effectue, prenant en paramtre une cl indiquant le type de ressources rcuprer. Exemple : getOSMResources.php?key=200 permet de rcuprer la liste dhost et leurs services enfants.

3.2.2.5.4. Rcupration des lments dune vue 3.2.2.5.4.1. Flux XML Comme pour la rcupration des ressources il fallait crer un modle de flux XML. Cette fois ci, tous les enfants devaient tre renvoys quel que soit llment, afin de construire une arborescence dans OSM 2.x. On passe simplement une cl en paramtre, et un argument correspondant lid de llment rcuprer.

Mmoire de stage de 3e anne.

Page 27 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Exemple :
http://192.168.1.240:80/oreon/modules/osm/webServices/getOSMTopology.php?ke y=100&args[0]=152

Le flux xml renvoy est parfaitement structur. Chaque niveau dindentation montre un niveau dans larbre qui sera cr dans la perspective de monitoring.

Mmoire de stage de 3e anne.

Page 28 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.6. Cration de la perspective de slection des vues

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.6.1.

Objectif de cette perspective

Cette perspective permet de slectionner la vue que lon souhaite afficher, dans la perspective de monitoring. Aucune fonctionnalit similaire ntait prsente dans la version prcdente.

Cette perspective a plusieurs avantages : Possibilit de changer radicalement denvironnement de monitoring en quelques clics. Possibilit pour un super administrateur, de visualiser lensemble des vues, disponible aux diffrents sous-administrateurs surveillant leurs domaines spcifiques (base de donnes, rseau, etc.) Corrige le dfaut de la version prcdente, qui obligeait charger / dcharger manuellement un fichier XML, pour changer de vue. 3.2.2.6.2. Composition

3.2.2.6.2.1. Vue Cette perspective est compose dune unique vue (RCP), contenant une liste de vues (de monitoring). Un double click permet douvrir la perspective de monitoring, bas sur cette vue.

La vue (RCP) de slection des vues (de monitoring) de lapplication finale. Mmoire de stage de 3e anne. Page 29 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Note : les vues du Framework eclipse rcp ne sont pas confondre avec le nom choisi pour les vues (de monitoring).

Cette vue rcupre son contenu via le flux XML tabli prcdemment. Afin de ne pas ralentir lexcution de laffichage, un thread est utilis pour le chargement du flux XML, palliant au problme dOSM 1.x qui ralentissait ou bloquait, lorsquil y avait trop dinformations rcuprer. 3.2.2.6.2.2. Menu Diffrents menus sont galement ajouts cette perspective afin deffectuer les actions courantes de lapplication.

Menu de lapplication finale.

La fonctionnalit permettant de rafrachir les informations est utilise dans le cas o 2 administrateurs ou plus effectuent des crations de vue. 3.2.2.6.2.3. Barre doutils Afin de satisfaire les utilisateurs les plus presss, une barre doutils contenant les actions les plus courantes est ajoute.

Barre doutils de lapplication finale.

Mmoire de stage de 3e anne.

Page 30 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.6.2.4. La fentre de cration des vues

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

La fentre de cration des vues va lessentiel. Elle permet de crer 3 types de vue. A lheure actuelle, il nexiste que la perspective gographique, cest pourquoi les vues mtier et network sont dsactives (gris). Celles-ci seront implmentes dans les mois venir, aprs le stage. Cette fentre subira galement un relooking .

La fentre de cration de vue finale.

Mmoire de stage de 3e anne.

Page 31 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.7. Cration de la perspective de monitoring (gographique)

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.7.1.

Objectif de cette perspective

La perspective de monitoring est la plus importante. Cest dans celle-ci que lon pourra observer les tats des diffrents quipements superviss.

3.2.2.7.2.

Composition

La perspective de monitoring finale, et ses vues.

Mmoire de stage de 3e anne.

Page 32 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se Cette dernire contient tous les lments ncessaires au monitoring :

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Un arbre (en haut gauche) pour se dplacer dans les lments Une minimap (au milieu gauche) pour se reprer lorsque les cartes sont trop grandes Plusieurs vues contenant les ressources dropper dans lditeur (en bas gauche) Une vue synthtique (en haut droite) Une vue avec les graphes (historiques) de ltat de fonctionnement des lments superviss ( droite) Un diteur qui contient les images, et les diffrentes ressources surveilles (galement prsentes dans larbre).

Cette perspective reprsente la phase la plus difficile du stage, mais galement la plus intressante.

Mmoire de stage de 3e anne.

Page 33 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.7.2.1. Les vues de ressources

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Ces vues sont au nombre de 6. Ce sont elles qui contiennent tous les lments prsents dans Oreon, que lon peut drag-n-dropper dans lditeur et larbre.

Les vues de ressources finales.

Cette vue rcupre son contenu via le flux XML tablie prcdemment. Au dpart, ces vues naffichent que la liste brut de chaque catgorie dlments. Par la suite, elle fut modifie, afin dafficher leurs enfants respectifs, et le flux XML modifi en consquence, afin de renvoyer ces informations complmentaires. Le flux XML est rcupr via un thread, en arrire plan, afin de ne pas ralentir lexcution de lapplication et provoquer des blocages.

Mmoire de stage de 3e anne.

Page 34 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.7.2.2. La vue arborescente

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Cette vue permet de visualiser rapidement la liste de toutes les ressources monitores. Elle permettra de se reprer dans lditeur, et via un menu contextuel, lancer diffrentes actions.

La vue arborescente finale.

Cette vue, comme les prcdentes, rcupre ses informations via un flux XML, en arrire plan, grce un thread.

Une erreur sera commise lors de sa cration : elle est cre en implmentant un arbre reposant sur JFace, une surcouche de SWT, lenvironnement graphique du framework Eclipse RCP. Lditeur ce moment-l nexiste pas encore, mais celui-ci repose sur le framework GEF, il fut alors ncessaire de refaire cet arbre, en se reposant galement sur le mme framework, afin de synchroniser la slection dans lditeur, et larbre. (Le menu se droule alors tout seul, en se dplaant dans lditeur). Cette erreur fit perdre 1 semaine de dveloppement.

Mmoire de stage de 3e anne.

Page 35 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.7.2.3. La vue tableau synthtique

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Lditeur graphique est la fonctionnalit la plus intressante pour visualiser o se trouvent les lments dfaillants, mais certaines socits possdent des parcs informatiques normes, et il peut parfois tre difficile de trouver rapidement tous les lments dfectueux.

Il fallait donc pallier ce manque, en crant une vue synthtique. Cette vue contient les mmes informations que celles contenues dans lditeur, mais organises en colonne. On peut trier les lments par nom, alias, type dlment, statut, et statut des enfants. Le principal intrt tant de pouvoir trouver immdiatement les lments ayant un statut critique, grce au tri par statut.

La vue tableau synthtique finale.

Par la suite, une petite fonctionnalit fut ajoute, afin de simplifier la navigation : un cadenas, permettant de verrouiller ou dverrouiller la vue. Lorsque la vue est dverrouille, le simple click sur un lment dans larbre ou lditeur permet de changer le contenu de cette vue, en affichant instantanment les enfants de llment slectionn.

Mmoire de stage de 3e anne.

Page 36 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.7.2.4. La vue des graphes

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Il existe dans Centreon, une page permettant dafficher des graphes sur ltat de fonctionnement dans le temps dun service. Lintgrer Centreon Status Map semblait une excellente ide, et trs simple mettre en uvre. Il suffisait simplement dappeler un navigateur web embarqu dans lapplication, et dappeler ladresse permettant dafficher le graphe correspondant.

La vue des graphes finale Comme pour la vue synthtique, une fonctionnalit permettant de verrouiller et dverrouiller la vue fut implmente.

Mmoire de stage de 3e anne.

Page 37 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.7.2.5. Les menus

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Le menu gnral permettant deffectuer la navigation standard fut ajout, comme pour la perspective de slection des vues. Un menu option, contenant une action permettant de forcer le rafrachissement manuel des statuts, fut galement ajout. Enfin, une action permettant de rafrachir tous les lments en rechargeant toute la liste fut ajoute, afin de permettre 2 administrateurs deffectuer simultanment des modifications sur la mme vue, sans devoir relancer lapplication.

Les diffrents menus de la perspective de monitoring.

Un menu contextuel fut galement cr, ragissant au click droit sur un lment, que ce soit dans lditeur ou larbre.

Le menu contextuel dun host, dans lapplication finale. Ce menu est cr dynamiquement, son contenu variant selon que laction peut tre effectue sur llment ou non. La dtermination de la possibilit dutiliser une action ou non se fait grce aux editpolicy du framework GEF. Ce menu nest au dpart pas dynamique, et affiche toutes les actions pour tous les lments, mme si cela nest pas possible. Le problme tait le mme que pour la vue arborescente, cr via JFace, et non GEF. Mmoire de stage de 3e anne. Page 38 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.7.2.6. La barre doutils

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Comme pour la vue de slection des vues, une barre doutils pour les utilisateurs presss ( power users ) est cre. Celle-ci contient les actions les plus couramment utilises. Des outils supplmentaires sont galement disponibles. Ceux-ci neffectuent que des actions qui influent sur laffichage de lditeur.

La barre doutils de la perspective de monitoring.

Mmoire de stage de 3e anne.

Page 39 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.8. Etude du Framework GEF

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Une fois toutes les vues cres, il tait temps de passer lditeur, qui allait contenir les lments graphiques, tels que les images, et des icones reprsentatives de chacun des lments. Avant dimplmenter cet diteur, il fallait tudier le framework graphique GEF. 3.2.2.8.1. Le choix de GEF

GEF avait t utilis dans la prcdente version de Centreon Status Map. Il avait prouv quil pouvait produire un visuel agrable. De plus, GEF a t utilis dans de nombreuses applications commerciales avec succs. Son seul dfaut est quil est trs peu document, rendant la tche ardue quelquun qui le dcouvre. 3.2.2.8.2. Fonctionnement de GEF

Le Framework GEF est un Framework de type Model-View-Controller (MVC). Celui-ci est complt par le toolkit Draw2d (sorte de mini Framework), ddi aux affichages en 2 dimensions. Le principe objet MVC permet de sparer compltement les donnes graphiques ( vue , des proprits de ces objets (modle). Afin de lier les donnes graphiques aux proprits, on utilise un contrleur.

Mmoire de stage de 3e anne.

Page 40 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Ce schma rsume brivement le fonctionnement de GEF.

Voici une vulgarisation du fonctionnement : Lutilisateur effectue une action, sur la vue (view). Celle-ci est transmise au contrleur (controller) Le contrleur cr une requte (requests) La requte (requests) vrifie via les editpolicy si celle-ci est autorise. Si la requte est autorise, par les editpolicy, celles-ci crent une commande (commands) qui effectue la modification dans le modle (model). Le Model transmet alors au contrleur la modification, qui modifie son tour la vue (view). Cest cette phase dtude qui a demand le plus de temps avant de produire un visuel li au modle (cr via les flux XML prcdents).

Mmoire de stage de 3e anne.

Page 41 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.8.3. Etude du toolkit Draw2d

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Gef utilisant le toolkit Draw2d pour son visuel, il fallut galement tudier le fonctionnement de ce dernier.

Les Figures , sont les lments graphiques de base de draw2d. On peut crer les formes que lon souhaite avec, et pour les formes plus complexes, on utilise un empilement de figures.

Draw2d a 2 rgles de fonctionnement essentielles : La prcdente figure dun mme niveau de parent est cache par la suivante. Chaque niveau de parent est cach par la partie visible du niveau enfant.

Si un enfant dpasse de la zone de son parent alors la zone en dehors du parent est cache.

Mmoire de stage de 3e anne.

Page 42 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.9. Cration de lditeur

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.9.1.

Gestion des images

Ltude du framework GEF allait enfin permettre de construire lditeur. De nombreux tests furent encore effectus avant darriver un diteur viable.

Dans un premier temps, il fallut ajouter la gestion des images, et par la mme occasion, rgler les problmes de la prcdente version, de blocage de lapplication lors du chargement, et la possibilit de nafficher quune seule image par diteur Chaque image est charge via un thread ddi, en arrire-plan. Une petite image dun travailleur est affiche durant le chargement des images.

3.2.2.9.2.

Gestion des diffrents lments

Chaque lment dropp dans lditeur devait tre positionn prcisment. Deux problmes se posrent :

Drag-n-Drop avec le zoom activ Drag-n-Drop dans larbre

Pour le premier problme, les coordonnes du drop taient mauvaises, ne prenant pas en compte la gestion du zoom. Ce problme tait dj existant dans la version prcdente. Gef nest pas prvu pour grer ce type de cas. Il fallut contourner le fonctionnement de GEF, par un calcul partir des coordonnes de la fentre. Pour le second problme, il nexistait pas de coordonne, puisque dropp directement dans larbre. Cela impliqua la cration dun systme de placement automatique des icones.

Mmoire de stage de 3e anne.

Page 43 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Chaque drop dlment, ou dplacement dlment cr une requte envoye au serveur, via un flux XML, qui renvoie son tour un flux XML, pour signaler la modification, qui nest effectue quune fois approuve par le serveur. Cette requte est encore une fois effectue dans un thread, afin de ne provoquer aucun blocage de lapplication.

3.2.2.9.3.

Pop-Up de lgende des icones

Une petite fentre de lgende de la forme des icones a galement t ajoute, accessible via le menu daide, afin daider les utilisateurs dbutants connatre la correspondance des icones dans lditeur.

Mmoire de stage de 3e anne.

Page 44 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.9.4. Zoom

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Dans le cas o de trs grandes cartes taient utilises, il pouvait tre intressant de pouvoir dzoomer afin de se dplacer plus facilement dans lditeur. Cette fonctionnalit fut implmente. 3.2.2.9.5. Placement automatique Le placement automatique dispose de 2 modes : Un placement automatique de tous les lments lorsque celui-ci est activ Un placement automatique des lments nayant pas de coordonnes, lorsque celuici est dsactiv.

Le placement automatique dlments activs, dans lditeur final. Ce systme de placement automatique est utile dans le cas dun hostgroup possdant de trs nombreux host, amen voluer souvent.

Mmoire de stage de 3e anne.

Page 45 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.2.9.6. Afficher / masquer le texte

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Dans le cas o des images en arrire plan avaient du texte, il pouvait tre utile de ne pas afficher le texte des icones. Cette fonctionnalit fut galement implmente.

Le nom des lments masqus, dans lditeur final. 3.2.2.9.7. Enregistrement des proprits de lditeur

Les proprits de zoom, daffichage de la police, et de placement automatique ntaient pas enregistres au dpart. Dans le cas de la fermeture de lapplication, ladministrateur perdait tous ses paramtres dditeur. Une fonctionnalit permettant de les mmoriser la demande de lutilisateur fut ajoute. Celle-ci ne fut pas gre de faon automatique, afin de minimiser les requtes vers le serveur, et de permettre lutilisateur de retrouver un environnement par dfaut, sil ne souhaitait pas mmoriser sa dernire utilisation.

Mmoire de stage de 3e anne.

Page 46 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

3.2.2.9.8. MiniMap La dernire fonctionnalit ajoute fut la minimap. Cette vue affiche une reprsentation miniature de lditeur actif. Elle permet de se dplacer rapidement dans lditeur, lorsque de grandes images sont utilises, acclrant laccs une zone particulire de lditeur. Un rectangle est affich dans la minimap, reprsentant la zone visible de lditeur.

La minimap de lapplication finale.

Mmoire de stage de 3e anne.

Page 47 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se
3.2.2.10. Remonte des statuts

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Afin que notre perspective de monitoring soit utile, il fallait bien videmment remonter les statuts des lments, afin de savoir sils sont oprationnels (statut OK), demandant une attention particulire (statut WARNING), ou demandant une intervention immdiate (statut CRITICAL). Cette remonte dinformations se fait bien videmment laide dun flux XML, et dune requte rgulirement envoye au serveur afin de rcuprer ce flux.

Les statuts sont affichs par un systme de coloration des lments : Etat OK -> vert Etat WARNING -> Orange Etat CRITICAL -> Rouge Etat UNKNOW -> Noir Etat PENDING -> Bleu

Les statuts sont remonts de fils en pre, jusquaux lments la racine de larbre. Le pire statut est remont, et les statuts UNKNOW (inconnu) et PENDING (en suspend) sont ignors dans cette remonte. Limplmentation de lapplication permet de faire voluer facilement lalgorithme de remonte des statuts, afin de proposer plusieurs algorithmes lutilisateur. Pour le moment, il nexiste que celui remontant le pire des statuts.

Mmoire de stage de 3e anne.

Page 48 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se 3.2.3. Interprtation et critique des rsultats Lobjectif de dpart tait damliorer le logiciel existant Oreon Status Map 1.x.

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

Apres la phase danalyse de ce logiciel, il paraissait vident que le dveloppement ne pouvait continuer sur une base aussi buggu et dont la conception ne permettrait jamais de monter fortement en charge. Le dveloppement dune nouvelle version fut dmarr. Le but tait de conserv le mme esprit dapplication, sans reproduire les erreurs de performance de la premire version. Afin darriver au rsultat final, dune application vendable, il y eu des petites phases de ttonnement et derreur. La dcouverte du framework GEF me montra quil ne fallait pas toujours se lancer immdiatement dans un dveloppement. En effet, procder de cette faon me fit perdre 1 semaine de dveloppement recommencer un arbre en changeant le framework utilis.

Globalement, pour le reste, cela fut trs positif, tous les dfauts de la prcdente version nayant pas t reproduit, et de nombreuses amlioration ajoutes. Ces erreurs auraient peut tre t commise si cette premire version navait pas exist, mais tirer profit des erreurs de quelquun dautre est tout aussi profitable que de ses propres erreurs.

Le but premier a finalement t dpass dans un nouveau produit commercialis et attractif.

Mmoire de stage de 3e anne.

Page 49 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

4. Conclusion gnrale
Lobjectif tait de continuer le dveloppement de Centreon Status Map 1.x. Cette objectif fut rapidement revu aprs ltude de ce dernier. Le nouvel objectif tait de recrer une nouvelle application Centreon Status Map 2.x, en gardant les ides de la premire version, mais en vitant de reproduire les mmes problmes. Le stage sest effectu en plusieurs phases dtude : ltude de la prcdente mouture et ltude des framework Eclipse RCP, JDom, et GEF. Chaque pas dans ces tudes permit de dcouvrir de nouvelles possibilits compltant les prcdentes, ou parfois les remettant en question, aboutissant enfin une version finale.

Centreon Status Map 2.x est dsormais commercialis et reprsente une part importante dans lactivit conomique de Merethis, attirant galement de nouveaux clients ne trouvant pas de logiciel quivalent dans la concurrence. Ce stage ma permis dveiller mes connaissances dans le dveloppement Java, et la supervision rseau. Il ma plac la tte dun projet denvergure, dont je poursuivrai les futures volutions dans le cadre de mon contrat en alternance, et prochainement avec laide de nouveau dveloppeurs que jencadrerai.

Mmoire de stage de 3e anne.

Page 50 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

5. Bibliographie & webographie


5.1. Bibliographie Eclipse 3 pour les dveloppeurs Java Dveloppez des plug-ins et des applications client riche Auteur : Berthold Daum, traduit de lallemand par Claude Raimond. Marque : Dunod Collection : InfoPro

5.2. Webographie Le site officiel dEclipse : www.eclipse.org pour le tlchargement de lIDE eclipse, et des plugins ncessaires au projet OSM 2.x, ainsi que pour son excellente API en ligne. Le site de la communaut de dveloppeurs franais : www.developpez.com

Mmoire de stage de 3e anne.

Page 51 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

6. Glossaire
API : Application Programming Interface, est un terme courant pour designer la documentation accompagnant un Framework. Lensemble des classes et interfaces y sont regroup, afin de trouver immdiatement linformation recherch.

Centreon : Centreon est un logiciel de surveillance et de supervision rseau, bas sur le moteur de rcupration d'information libre Nagios.

Drag-n-Drop : Glisser, dposer. Framework : un Framework est un ensemble de bibliothques, doutils et de convention permettant le dveloppement rapide dapplications. Il fournit un ensemble de brique complter, permettant de crer des applications. Chaque Framework volue de son cot, indpendamment des applications lutilisant, mais conserve gnralement une oprabilit avec ses versions prcdentes.

IDE : Integrated Development Environment, est un terme qui dsigne un environnement de dveloppement, c'est--dire un programme regroupant un diteur de texte, un compilateur, divers outils dautomatisation, et un dbogueur.

Java : Le java est la fois un langage de programmation orient objet, et un environnement dexcution informatique multi plateforme. JDK : Java Developement Kit, le JDK est lenvironnement dans lequel le code Java est compil pour tre transform en bytecode, afin que la JVM (via une JRE) soit capable de linterprter quel que soit la plateforme.

JFACE : JFace est une bibliothque graphique Java pour le projet Eclipse qui s'appuie sur la bibliothque SWT pour fournir des interfaces utilitaires plus structures.

Mmoire de stage de 3e anne.

Page 52 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

JRE : Java Runtime Environment, la JRE est un environnement dexcution permettant lexcution de programme sur toutes les plates formes supportes. Cette dernire est constitue dune JVM, et dune bibliothque standard utilise comme base dans la plupart des programmes java.

JVM : Java Virtual Machine, la machine virtuelle est un programme qui interprte le code java, et le convertie en code natif, propre la plateforme sur laquelle il est excut.

Oreon : Oreon a t renomm en Centreon en 2007.

OSM 1.x : Oreon Status Map 1.x.

OSM 2.x : Centreon Status Map 2.x, anciennement appel Oreon Status Map.

Proxy : Un proxy est un serveur informatique qui a pour fonction de relayer des requtes http entre un post client et un serveur. Ils sont couramment utiliss dans les grandes entreprises afin de bloquer les attaques extrieures.

RCP : Rich Client Platform, est un Framework open source proposant de nombreux outils pour acclrer le dveloppement dapplication riche. Socks : Un sock est trs similaire un proxy, si ce nest que le socks permet de laisser passer tous type dinformation, contrairement au proxy qui ne laisse passer que les requtes http.

Thread : Un processus lger, galement appel fil d'excution (autres appellations connues: unit de traitement, unit d'excution, fil d'instruction, processus allg), est similaire un processus car tous deux reprsentent l'excution d'un ensemble d'instructions du langage machine d'un processeur. Du point de vue de l'utilisateur, ces excutions semblent se drouler en parallle. Toutefois, l o chaque processus possde sa propre mmoire virtuelle, les processus lgers appartenant au mme processus pre se partagent sa mmoire virtuelle. Par contre, tous les processus lgers possdent leur propre pile systme.

Mmoire de stage de 3e anne.

Page 53 sur 54

Socit Merethis Centreon Status Map Conception et dveloppement dune application j2se

Origine :

LAMOTTE JeanBaptiste
Domaine :

Mmoire de stage

XML : Extensible Markup Language, est un langage informatique de balisage gnrique. Celui-ci respecte des normes precises de balisage, utilis dans dautres langages de balisages (XHTML, SVG, XSLT). Son objectif initial est de faciliter lchange automatis de contenus entre systmes dinformations htrognes.

Mmoire de stage de 3e anne.

Page 54 sur 54

Vous aimerez peut-être aussi