La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

11 JMX ou Java Management Extensions 1 El Ayeb Ines & Mansour Jihene GL5-2005/2006.

Présentations similaires


Présentation au sujet: "11 JMX ou Java Management Extensions 1 El Ayeb Ines & Mansour Jihene GL5-2005/2006."— Transcription de la présentation:

1 11 JMX ou Java Management Extensions 1 El Ayeb Ines & Mansour Jihene GL5-2005/2006

2 12 Plan b Quest ce que JMX? b Architecture JMX InstrumentationInstrumentation –Les Mbeans –Types –MBean standard –MBean dynamique AgentsAgents –MBeanServer –Connecteurs –Adaptateur Services distribuésServices distribués b Conclusion 2

3 13 Qu est ce que JMX? 3

4 14 JMX: Vue d ensemble b JMX est une couche intermédiaire entre les applications de management et les ressources gérées. b Elle assure La transparence et linteropérabilité entre la couche supérieure: managed application et la couche de base Managed System. La dynamique Les ressources gérées et les fonctionnalités de management peuvent être ajoutées ou supprimées à tout moment. 4

5 15 JMX? b JMX (Java Management Extensions) est une spécification de Sun fournie à travers le JCP (Java Community Process) qui permet dadministrer à distance des applications Java, mais également des équipements dadministration de réseau (firewall, routeur,...). b JMX définie larchitecture, les « Design Patern », les API et les services pour les applications, ladministration et le contrôle des réseaux dans Java. 5

6 16 Avant JMX 6 b Chaque console de gestion est vendor-specific b Normalement, pouvant être accessible via un navigateur web Mais chacune a sa propre terminologie, GUI, etc.Mais chacune a sa propre terminologie, GUI, etc. Chacune a sa propre fa ç on de g é rer sa s é curit é.Chacune a sa propre fa ç on de g é rer sa s é curit é. b Redondant et difficile à contrôler.

7 17 Avec JMX 7 b Chaque ressource est administr é e par l interm é diaire d un MBean. b Tous les Mbeans enregistr é s dans un Agent JMX (ou groupe d agents) peuvent être administr é s en utilisant une seule console de management.

8 18 Architecture JMX 8

9 19 b JMX est conçue autour d'une architecture à trois niveaux. Cette conception favorise une structure de développement optimisée en permettant à différentes branches de la communauté de développeurs de se focaliser sur le niveau qui correspond le mieux à leur domaine de compétences. 9

10 110 Architecture JMX Agent Instrumentation 10

11 111 Architecture JMX Niveau instrumentation Niveau instrumentation 11

12 112 Niveau Instrumentation 12

13 113 Niveau Instrumentation Niveau Instrumentation b Ce niveau concerne la communauté des développeurs Java en définissant un mécanisme permettant d'instrumenter les ressources, connues sous le nom de beans gérés ou MBeans (Managed Beans). b Une ressource (classe, application patrimoniale, méthode, etc.) doit être développée en Java, ou, doit offrir une enveloppe Java. Elle doit être instrumentée sous forme d'un ou de plusieurs MBeans. Concrètement, un MBean est un objet Java qui suit une certaine sémantique. Il expose les informations de gestion sous forme d'attributs et d'opérations pour les manipuler. 13

14 114 Les Managed Beans b Ce sont des objets Java déposés dans le cœur dun serveur MBean et qui peuvent sexécuter dans la plupart des dispositifs Java. b Ils représentent la brique de base et constituent en fait des interfaces de communication avec les éléments physiques (quils soient locaux ou distants) ou les programmes administrables à travers JMX. Ces divers éléments sont appelés ici les ressources administrables. 14

15 115 Composition d un MBean b Chaque MBean peut avoir: Zéro ou plusieurs AttributsZéro ou plusieurs Attributs –Read-only, write-only, or read/write Zéro ou plusieurs OpérationsZéro ou plusieurs Opérations Zéro ou plusieurs Notifications généréesZéro ou plusieurs Notifications générées –Similaire aux événements Java Un ou plusieurs Public ConstructorsUn ou plusieurs Public Constructors Leur Collection constitue les caractéristiques du MBean: « the MBean's features ». Leur Collection constitue les caractéristiques du MBean: « the MBean's features ». 15

16 116 Types de MBeans MBean (abstract notion) Standard MBean Dynamic MBean Model MBean Open MBean les MBeans standard exposent leurs opérations et attributs administrables en implémentant une interface Java contenant des méthodes qui respectent les modèles de nommage JavaBeans standard pour les méthodes de réglage (setter) et d'obtention (getter). les MBeans dynamiques exposent de manière dynamique les opérations et attributs administrables en appliquant des méthodes de découverte lors de l'exécution. les MBeans ouverts étendent les MBeans dynamiques pour afficher leurs attributs et opérations à l'aide de métadonnées constituées d'un ensemble prédéfini de types Java standard. les MBeans modèles étendent les MBeans dynamiques et font office de proxy pour les objets réels à gérer. Les objets gérés sont encapsulés par les MBeans modèles lors de l'exécution, lesquels délèguent ensuite tous les appels d'opérations et d'attributs aux objets gérés. 16

17 117 MBean Standard Définition b Un MBean standard est une classe concrète Java. b Les MBeans standards constituent la plus simple forme d'instrumentation. b Ils sont les plus appropriés à la gestion des informations statiques. b Un ensemble de conventions lexicales doit être respecté lors de la mise en oeuvre des Mbeans: Un MBean standard doit implémenter une interface nommée XMBeanUn MBean standard doit implémenter une interface nommée XMBean "X" est le nom de la classe"X" est le nom de la classe X et linterface XMBean doivent être déclarés public X et linterface XMBean doivent être déclarés public Les deux doivent être définis dans le même paquetageLes deux doivent être définis dans le même paquetage 17

18 118 MBean Standard Caractéristiques b La plupart de ces caractéristiques sont obtenues en utilisant la réflexion Similaire à des JavaBeans sans les classes BeanInfoSimilaire à des JavaBeans sans les classes BeanInfo b Le serveur utilise la réflexion dans linterface XMBean A lexception des constructeursA lexception des constructeurs Donc seules les méthodes définies dans linterface sont considérées comme des caractéristiques de MBean.Donc seules les méthodes définies dans linterface sont considérées comme des caractéristiques de MBean. –Toute autre méthode présente dans X est ignorée, même si elle est déclarée publique b public type getA() définit le readable attribute A b public void setA(type) définit le writable attribute A b Toutes les autres méthodes publiques sont des opérations. b Les Constructeurs sont ceux définis dans la classe bean. b (Les notifications seront traitées plus tard.) 18

19 119 MBean Standard Caractéristiques public interface SimpleStandardMBean { public String getState(); public void setState (String s); public void reset(); public void reset();} public class SimpleStandard implements SimpleStandardMBean { private String state; private String state; public SimpleStandard() {….} public SimpleStandard() {….} public String getState() { return state;} public String getState() { return state;} public void setState(String s) {….} public void setState(String s) {….} public void reset() {….} public void reset() {….} public String getNbChanges() {... } public String getNbChanges() {... }} Un constructeur déclaré public Un attribut R/W appelé State Une opération Ni un attribut ni une opération 19

20 120 MBean Standard Concept dhéritage b Patterns dhéritage: Lhéritage Java est mis en œuvre en utilisant le mot clé « extends »Lhéritage Java est mis en œuvre en utilisant le mot clé « extends » JMX a respecté ce concept à quelques différences près.JMX a respecté ce concept à quelques différences près. Beaucoup de scénarii dhéritage existent et sont présentés sous forme de cinq patterns.Beaucoup de scénarii dhéritage existent et sont présentés sous forme de cinq patterns. b Exemple explicatif 20 public class Basic implements BasicMBean { // implementation of BasicMBean and other stuff... } La classe Basic implémente linterface BasicMBean. public class Worker extends Basic { // implementation of Worker here... } Dans ce pattern, linterface de management du worker est BasicMBean public class Worker extends Basic implements WorkerMBean { // implementation of WorkerMBean... } public interface WorkerMBean extends BasicMBean { //... } Linterface de managent du Worker est lunion de BasicMBean et WorkerMBean. Il est clair que le compilateur ne permettra pas au Worker dhériter une interface sans limplémenter.

21 121 MBean Notifications b Un standard MBean peut être une cible de notifications b Doit implémenter linterface NotificationBroadcaster (Toutes les classes sont importées du paquetage javax.management)(Toutes les classes sont importées du paquetage javax.management) b Utilise le pattern publish/subscribe b Les méthodes de cette interface sont: addNotificationListener(listener, filter, handback)addNotificationListener(listener, filter, handback) –La classe Filter est utilisée pour filtrer les événements non désirables pour chaque listener. –Lobjet handback est passé au listener avec chaque événement. –Alors sil écoute plusieurs MBeans, il peut identifier la source. –Les deux peuvent être nuls removeNotificationListener(listener)removeNotificationListener(listener) getNotificationInfo()getNotificationInfo() 21

22 122 MBean Notifications (cont.) b getNotificationInfo retourne un tableau dobjets MBeanNotificationInfo Chaque tel objet contient de linformation à propos dun des types de notification que le MBean peut générer.Chaque tel objet contient de linformation à propos dun des types de notification que le MBean peut générer. Linformation inclue le type et une descriptionLinformation inclue le type et une description b Si la classe na pas de super classe, elle peut simplement hériter de la classe NotificationBroadcasterSupport Fournie une implémentation simple de linterface NotificationBroadcaster.Fournie une implémentation simple de linterface NotificationBroadcaster. Inclue une méthode de service, sendNotificationInclue une méthode de service, sendNotification La méthode getNotificationInfo doit être réécrite.La méthode getNotificationInfo doit être réécrite. 22

23 123 MBean Notifications (cont.) b Pour générer une notification, le MBean doit envoyer un Notification object pour tous les listeners enregistrés. Ensuite examiner, pour chaque listener, si son filter veut accepter ce type de notification.Ensuite examiner, pour chaque listener, si son filter veut accepter ce type de notification. b Linformation enregistrée dans chaque notification inclue: Type (a String; not a Java type), utilisé pour le filtrageType (a String; not a Java type), utilisé pour le filtrage SequenceNumber (an integer; option utilisée pour dénombrer les notifications dans une séquence)SequenceNumber (an integer; option utilisée pour dénombrer les notifications dans une séquence) TimeStamp (long)TimeStamp (long) UserData (an object ref) et Message (a String)UserData (an object ref) et Message (a String) Source (identifier les MBean générés)Source (identifier les MBean générés) 23

24 124 Notification Listeners b Pour accepter les MBean notifications, une classe doit implémenter NotificationListener Une methode:Une methode: handleNotification(notification, handback) Lenvoi de notifications est synchroneLenvoi de notifications est synchrone –Sinon si on veut envoyer une notification asynchrone, nous devons implémenter notre propre méthode sendNotification. 24

25 125 Démo

26 126 2 Cas où on ne peut utiliser des Mbeans Standards 1. Les attributs et méthodes offertes à linterface de gestion sont en fonction du superviseur qui les a créés (une notion de droit daccès). Dans ce cas, lobjet crée,à linstanciation, linterface en fonction dun contexte externe. 2. Lobjet ne peut construire son interface quà la vue des informations disponibles sur la ressource quil modélise. 26

27 127 Les Mbeans Dynamiques b La dénomination dynamique pour ces Mbeans vient du fait que linterface de supervision de ces objets nest pas figée à la compilation mais est définie par les objets gérés eux-mêmes à lexécution. b Alors que dans le MBean standard, le conteneur dobjets gérés se charge de découvrir par introspection les attributs et méthodes de lobjet, il va demander à lobjet géré dynamique de réaliser ce travail de création des méta données (description de linterface exposée à la supervision) à sa place et de lui fournir cette interface de supervision à la demande. 27

28 128 Les Mbeans Dynamiques b Tout comme les Mbeans standards, les Mbeans dynamiques possèdent des attributs, des opérations, des constructeurs déclarés public et des notifications. b Un MBean dynamique programme son interface de gestion, au lieu de lappeler par des noms de méthodes statiques. b Pour ce faire, on compte sur des « descriptor classes » qui représentent les attributs et les opérations exposées au management. 28

29 129 L interface « Dynamic MBean » b Les Mbeans standard exposent leurs attributs et opérations statiquement dans linterface de supervision. Les Mbeans dynamiques, par contre, partagent tous une même interface qui définie des méthodes génériques pour permettre laccès aux attributs et aux méthodes. b Puisque linterface de management nest plus visible à travers lintrospection, les Mbeans dynamiques doivent alors fournir des descripteurs explicites de leurs attributs et opérations. 29

30 130 The « Dynamic MBean » interface b La classe « DynamicMBean » est une interface java définie par JMX. Elle specifie les methodes quune ressource doit fournir pour exposer son interface de management. b Ce qui suit est un listing du code: La méthode getMBeanInfo fournie une description de linterface de management du MBean. Elle retourne un objet MBeanInfo qui est le type qui contient les informations concernant les attributs et les opérations. Les getters et les setters dattributs sont génériques, du moment quils prennent le nom de lattribut qui a besoin dêtre lu ou écrit. Ces méthodes utilisent les classes Attribute et AttributeList pour représenter les paires nom/valeur et les paires liste de noms/valeur respectivement. Permet dexécuter la méthode dont le nom est passé en paramètre avec les paramètres correspondants. 30

31 131 The MBean Descriptor Classes b Un MBean dynamique a la charge de construire sa propre interface de management. b Les Mbeans dynamiques fournissent leur propre description retournée par la méthode getMBeanInfo. Les agents utilisent aussi ces classes pour les Mbeans standards après leur introspection. b Ces classes fournissent des informations concernant le MBean. Cette information contient non seulement les attributs et les opérations de linterface de management mais aussi la liste des constructeurs de la classe MBean et les notifications que le MBean peut envoyer. b Un petit secret d' implémentation: lors de la manipulation des Mbeans standards,Le serveur utilise tout simplement la réflexion pour créer un objet MBeanInfo pour le MBean b Avec les Mbeans dynamiques, lobjet MBeanInfo est directement fourni. 31

32 132 The MBean Descriptor Classes b Chaque élément est décrit par son « descriptor object » contenant son nom, une description, et ces caractéristiques. b Le tableau suivant liste toutes les classes « MBean descriptor » Nom de la classe Rôle MBeanInfo Cette classe contient des collections de descripteurs pour tous les Mbeans ; elle inclue ainsi le nom des classes java de Mbeans et une chaîne pour sa description. MBeanFeatureInfo Cest la classe mère de tous les autres descripteurs à partir de laquelle ils héritent les attributs « name » et « description ». Cest la classe mère de tous les autres descripteurs à partir de laquelle ils héritent les attributs « name » et « description ». MBeanOperationInfo Elle décrit une opération: son type de retour, sa signature (une collection de paramètres), et son impact (c'est-à-dire signale si lopération retourne de linformation ou si elle modifie la ressource) Elle décrit une opération: son type de retour, sa signature (une collection de paramètres), et son impact (c'est-à-dire signale si lopération retourne de linformation ou si elle modifie la ressource) MBeanConstructorInfo Décrit un constructeur par sa signature MBeanParameterInfo Retourne le type dun paramètre dans une opération ou dans la signature dun constructeur. MBeanAttributeInfo Decrit un attribute: son type, si il est readable ou writable Decrit un attribute: son type, si il est readable ou writable MBeanNotificationInfo Contient une collection de notifications de type string 32

33 133 Mbean modèle b Un MBean modèle est un MBean dynamique qui offre plus de flexibilité de développement. b La différence principale est que le développement de la classe d'implémentation du MBean modèle est plus simple. b Une classe nommée RequiredModelMBean, implémentant l'interface ModelMBean, qui caractérise un MBean modèle, est fournie par défaut. b Cette classe peut être étendue, et ses méthodes peuvent être surchargées, en cas de besoin, pour obtenir la classe d'implémentation du MBean modèle. b Il est également possible de créer un objet de type ModelMBeanInfo et de l'affecter à une instance de la classe par défaut. b Une alternative à la création de cet objet serait de fournir un fichier XML qui décrit les propriétés du MBean. 33

34 134 Open MBeans b Un MBean ouvert est lui aussi un MBean dynamique. Il est par contre restreint d'accepter et de retourner un nombre limit é de types de donn é es. L'utilisation d'un nombre restreint de types, permet d' é liminer le besoin de chargement de classes. b Les types autoris é s, lors du d é veloppement d'un MBean ouvert, sont : les types primitifs (int, boolean, float, etc.),les types primitifs (int, boolean, float, etc.), les classes qui enveloppent les types primitifs : (Integer, Boolean, Float, etc.)les classes qui enveloppent les types primitifs : (Integer, Boolean, Float, etc.) les tableaux des types pr é c é dents.les tableaux des types pr é c é dents. b Un MBean ouvert doit impl é menter la m é thode getMBeanInfo(), qui retourne un objet de type OpenMBeanInfo (sous-type de MbeanInfo). Cet objet fournit des m é ta-donn é es suppl é mentaires, d é crivant le MBean ouvert. 34

35 135 Architecture JMX Niveau Agent Niveau Agent 35

36 136 Architecture Niveau Agent 36

37 137 Architecture Niveau Agent b Ce niveau cible la communauté des applications de management en définissant un mécanisme permettant de créer des agents dadministration. b Ces derniers stockent, contrôlent et exposent des composants MBeans aux clients via un registre, appelé serveur Mbean. b Un agent est un composant logiciel qui négocie les requêtes et les réponses entre les composants MBeans et les clients MBean. Il est constitué d'une logique applicative spécifique, d'un serveur MBean, d'un groupe de services agents et d'au moins un connecteur ou adaptateur de protocole. 37

38 138 Les agents JMX b Les clients MBean interagissent avec les MBeans via un agent et peuvent obtenir ou régler des valeurs d'attributs sur les MBeans ou appeler des opérations sur les MBeans. b Les clients MBean peuvent également interagir avec un agent pour recevoir des notifications transmises par un MBean. b Un serveur MBean est un composant logiciel qui agit comme un registre pour les MBeans et fournit des services aux clients MBean afin qu'ils puissent manipuler les MBeans. Toute interaction avec un MBean doit être effectuée via les interfaces du serveur. 38

39 139 Agent MBeanServer b Un serveur de MBeans est une base qui contient et gère un ensemble de MBeans. C'est le coeur du niveau agent. Toutes les opérations de gestion exécutées sur les MBeans sont faites à travers le serveur, dans lequel ils sont enregistrés. Le serveur est aussi responsable, à la réception d'une requête de la station d'administration, de rechercher le MBean concerné, et de lui transférer la requête. b La gestion au niveau du serveur de MBeans concerne, par exemple, l'instanciation des MBeans, l'enregistrement et le dés-enregistrement des instances créées. b Un mécanisme de notification est supporté pour envoyer des notifications, après l'enregistrement et le dés-enregistrement des instances de MBeans. 39

40 140 Agent MBeanServer b La destruction du MBeanServer provoquera la perte de tous les MBeans (cela sera produit, bien sur, après la mort du processus JVM). Alors pour cette raison parmi dautres, il est possible dencapsuler les contrôles de linstance du MBeanServer dans un Agent. Alors pour cette raison parmi dautres, il est possible dencapsuler les contrôles de linstance du MBeanServer dans un Agent. b Afin de permettre aux applications de supervision daccéder aux MBean, larchitecture JMX propose deux types daccès à distance : les connecteurs et les adaptateurs de protocoles. 40

41 141 MBeanServer MBean Names b Chaque instance MBean possède un nom représenté par la classe " ObjectName" qui est fournie par la " Reference Implementation " et qui est cruciale pour le processus denregistrement des MBean. b Dont le format est: domain-name:key1=value1[,key2=value2,...,keyN=valueN] b "domainName" est utilisé pour regrouper logiquement les Mbeans b Exemples: Tools:name=Printer3Tools:name=Printer3 Tools:name=ProxyServer,port=8080Tools:name=ProxyServer,port=8080 b Chaque MBean instance name doit être unique au sein du serveur. 41

42 142 MBeanServer Enregistrement dun MBean Lagent JMX commence par chercher une référence à un serveur Mbean sexécutant sur la plateforme en appelant la méthode getPlatformMBeanServer() importée de la classe java.lang.management.ManagementFactory. Si un serveur nest pas déjà en cours dexécution, cette méthode crée automatiquement un nouveau serveur en faisant appel à la méthode MBeanServerFactory.createMBeanServer(). Lagent doit ensuite définir l objectName pour linstance de MBean qui va servir à le créer. Dans ce object name, le domaine est com.example.mbeans (le paquetage dans lequel les Mbeans seront contenus)et la key-property déclare que lobjet est de type Hello. Lobjet Hello nomme mbean est enregistré ensuite dans le serveur mbs avec object name name, en passant lobjet et l object name dans lappel de la méthode JMX MBeanServer.registerMBean(). 42

43 143 MBeanServer Finding MBeans b Trouver un MBean est facile si on connaît son nom b Mais si on a besoin Tous les Mbeans dun type donné"? b Ou peut être Tous les MBeans avec un attribut appelé 'count' >=10"? b On aura recourt à un langage de requête pour les Mbeans "MBeans QL"?"MBeans QL"? b Les requêtes sont construites en utilisant les objets QueryExp b Chaque QueryExp représente un prédicat booléen relié aux attributs du MBean b QueryExps peuvent être combinés en utilisant des opérateurs logiques. 43

44 144 MBeanServer Construction et ex é cution des MBean Queries b Les méthodes Boolean operator incluses dans la classe Query : gt (greater than), lt (less than), eq (=), geq (), leq (), match (wildcard matching), initialSubString, anySubString, finalSubString, between b Les méthodes Query peuvant être utilisées pour construire des valeurs: plus, minus, div, times, value (utilisé pour générer des constantes; surcharge pour tous les types de primitives) b Les méthodes Query peuvant être utilisées pour combiner des élements QueryExp : and, or, not b Apres la construction dune requête, lexécution de cette dernière dans le serveur MBean est realisée par: mbs.queryMBeans(objName, query); 44

45 145 Agent Les connecteurs b Les connecteurs permettent à un client de faire des appels de méthodes à distance sur un MBeanServer dun agent. b Typiquement un connecteur peut être bâti au dessus de RMI (Remote Method Invocation) de Java. b Une implémentation particulière dun connecteur impacte aussi bien le côté agent que le côté client/manageur. b Les connecteurs exposent la même interface à un client, autorisant ainsi l'accès transparent à un agent par des outils de gestion, quel que soit le protocole sous- jacent. b Exemples: - RMI and RMI/IIOP connectors - RMI and RMI/IIOP connectors - JMX Messaging Protocol( JMXMP) connector - JMX Messaging Protocol( JMXMP) connector - SOAP/HTTP, XML/RPC, JMS … - SOAP/HTTP, XML/RPC, JMS … 45

46 146 Agent Les adaptateurs b Les adaptateurs de protocoles sont des composants qui assurent la liaison entre des protocoles spécifiques (par exemple SNMP ou http) et les services locaux dun serveur MBean. b Ces derniers permettent à des agents JMX et les Mbeans quils contiennent dêtre accessibles au travers dapproches existantes. b Aussi, les adaptateurs offrent à larchitecture une capacité dévolution et dintégration des approches futures de supervision. Un adaptateur est un composant lié uniquement au côté agent. b Exemples: - SMTP adapter - SMTP adapter - Web (HTML/HTTP)adapter - Web (HTML/HTTP)adapter - Local GUI - Local GUI -CORBA Adapter, AMI Adapter for Tibco… -CORBA Adapter, AMI Adapter for Tibco… 46

47 147 Agent Services b Un serveur de MBeans fournit un ensemble de services, implémentés sous forme de MBeans. b Parmi les services fournis, nous pouvons citer : Le service Timer : envoie des notifications à des moments spécifiques, d'une manière simple ou répétitive, à des intervalles réguliers.Le service Timer : envoie des notifications à des moments spécifiques, d'une manière simple ou répétitive, à des intervalles réguliers. Le service Monitor : permet d'observer des attributs d'un type Java, et d'envoyer des événements lorsque des conditions spécifiques sont vérifiées.Le service Monitor : permet d'observer des attributs d'un type Java, et d'envoyer des événements lorsque des conditions spécifiques sont vérifiées. Le service M-Let : permet de télécharger, d'instancier et d'enregistrer des MBeans distants, en utilisant l'URL où ils se trouvent.Le service M-Let : permet de télécharger, d'instancier et d'enregistrer des MBeans distants, en utilisant l'URL où ils se trouvent. 47

48 148 Architecture JMX Niveau Services Distribués Niveau Services Distribués 48

49 149 Architecture Services distribu é s 49

50 150 Architecture Services distribués b Ce niveau vise la communauté des applications de gestion en définissant un mécanisme permettant de localiser et d'accéder à des agents et à des composants Mbeans, quel que soit leur emplacement physique. Ce niveau s'occupe des services de recherche, des protocoles de connexion, des échanges de messages, etc.; 50

51 151 Conclusion

52 152 Conclusion b Mbeans sont une façon intéressante pour mettre les paramètres de configuration et les ressources disponibles pour external monitoring tools / management consoles b Lusage naturel:ajouter des capacités de management aux applications Java Java Chaque application peut créer un MBean server avec un ou plusieurs Mbeans en exposant des informations de ses paramètres et statut.Chaque application peut créer un MBean server avec un ou plusieurs Mbeans en exposant des informations de ses paramètres et statut. b Une autre utilité: as wrapper (convertisseur) pour les autres services de management et les ressources administrables. Allows for a consolidated management console Allows for a consolidated management console 52

53 153 MBeans and Other J2EE Technologies b Les MBeans peuvent être utilisés avec JMS Comme un message de réceptionComme un message de réception Peut translater des messages en log information visible de lextérieur.Peut translater des messages en log information visible de lextérieur. Nous Permet dajouter un health monitor pour les applications basées sur JMS déjà existantes sans changer lapplication.Nous Permet dajouter un health monitor pour les applications basées sur JMS déjà existantes sans changer lapplication. –Il suffit dajouter un autre listener b Les MBeans peuvent être utilisé avec lesEJBs Les Mbeans peuvent être intégrés dans des applications basées sur les EJBs, pour générer des notifications à des tierces parties ou pour rendre visibles des informations sur lhistorique de lapplication.Les Mbeans peuvent être intégrés dans des applications basées sur les EJBs, pour générer des notifications à des tierces parties ou pour rendre visibles des informations sur lhistorique de lapplication. Différencier la configuration de lapplication de son modèleDifférencier la configuration de lapplication de son modèle Un MBean peut avoir des données directement dEJBs en invoquant ses methodes daccès.Un MBean peut avoir des données directement dEJBs en invoquant ses methodes daccès. Un MBean peut recevoir des donnèes envoyées par lEJB.Un MBean peut recevoir des donnèes envoyées par lEJB. Enregistre et supprime un MBean en passant par un agent JMX à travers la création et la destruction dun EJB.Enregistre et supprime un MBean en passant par un agent JMX à travers la création et la destruction dun EJB. 53

54 154 Les Impl é mentations JMX disponibles b Sun JMX 1.2.1 and Remote API 1.0 RI JDMK value added product for purchase.JDMK value added product for purchase. b JBOSS JBOSS-MX JMX Compliant Implementation availableJMX Compliant Implementation available MicroKernal Application architecture is based on JMX Agent technology.MicroKernal Application architecture is based on JMX Agent technology. b NetManage Various products for sale to help build and manage applications via JMXVarious products for sale to help build and manage applications via JMX b MX4J OpenSource Implemenation of JMX 1.1OpenSource Implemenation of JMX 1.1 Currently working on 1.2Currently working on 1.2 Currently working on Remoting APICurrently working on Remoting API 54

55 155 Future Directions b Utilisation des meta_données b Persistance b Manipulation fiable d événement b Master-agent/sub-agent functionality b Manageability for J2EE apps 55

56 156 Bibliographie b http://java.sun.com/products/JavaManageme nt http://java.sun.com/products/JavaManageme nt http://java.sun.com/products/JavaManageme nt b http://java.sun.com/j2se/1.5.0/docs/guide/jmx/ http://java.sun.com/j2se/1.5.0/docs/guide/jmx/ b http://docs.sun.com/app/docs/doc/806-2986 http://docs.sun.com/app/docs/doc/806-2986 b http://www- adele.imag.fr/~ketfi/pages/fr/ch_pdf/ch3.pdf http://www- adele.imag.fr/~ketfi/pages/fr/ch_pdf/ch3.pdf http://www- adele.imag.fr/~ketfi/pages/fr/ch_pdf/ch3.pdf b http://www.diee.unica.it/woa03/presentations/ 15.pdf http://www.diee.unica.it/woa03/presentations/ 15.pdf http://www.diee.unica.it/woa03/presentations/ 15.pdf


Télécharger ppt "11 JMX ou Java Management Extensions 1 El Ayeb Ines & Mansour Jihene GL5-2005/2006."

Présentations similaires


Annonces Google