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

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

Embed Size (px)

Citation preview

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

1 1

JMX ou Java JMX ou Java Management Management ExtensionsExtensions

1

El Ayeb Ines & Mansour Jihene

GL5-2005/2006

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

1 2

PlanPlan

Qu’est ce que JMX?Qu’est ce que JMX? Architecture JMXArchitecture JMX

• InstrumentationInstrumentation– Les MbeansLes Mbeans

– TypesTypes– MBean standardMBean standard– MBean dynamiqueMBean dynamique

• AgentsAgents– MBeanServerMBeanServer– ConnecteursConnecteurs– AdaptateurAdaptateur

• Services distribuésServices distribués ConclusionConclusion 2

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

1 3

Qu’est ce que JMX?Qu’est ce que JMX?

3

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

1 4

JMX: Vue d’ensembleJMX: Vue d’ensemble JMX est une couche JMX est une couche

intermédiaire entre les intermédiaire entre les applications de management applications de management et les ressources gérées.et les ressources gérées.

Elle assureElle assure• La transparence et La transparence et

l’interopérabilité entre la l’interopérabilité entre la couche supérieure: managed couche supérieure: managed application et la couche de application et la couche de base Managed System.base Managed System.

• La dynamique La dynamique Les ressources gérées et les Les ressources gérées et les

fonctionnalités de fonctionnalités de management peuvent être management peuvent être ajoutées ou supprimées à ajoutées ou supprimées à tout moment.tout moment.

4

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

1 5

JMX?JMX?

JMX (Java Management Extensions) est une JMX (Java Management Extensions) est une spécification de Sun fournie à travers le JCP spécification de Sun fournie à travers le JCP (Java Community Process) qui permet (Java Community Process) qui permet d’administrer à distance des applications Java, d’administrer à distance des applications Java, mais également des équipements mais également des équipements d’administration de réseau (firewall, d’administration de réseau (firewall, routeur,...). routeur,...).

JMX définie l’architecture, les « Design Patern » JMX définie l’architecture, les « Design Patern » , les API et les services pour les applications, , les API et les services pour les applications, l’administration et le contrôle des réseaux l’administration et le contrôle des réseaux dans Java.dans Java.

5

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

1 6

Avant JMXAvant JMX

6

Chaque console de gestion est Chaque console de gestion est vendor-specificvendor-specific

Normalement, pouvant être Normalement, pouvant être accessible via un navigateur webaccessible via un navigateur web• Mais chacune a sa propre Mais chacune a sa propre

terminologie, GUI, etc.terminologie, GUI, etc.• Chacune a sa propre façon Chacune a sa propre façon

de gérer sa sécurité.de gérer sa sécurité. Redondant et difficile à contrôler.Redondant et difficile à contrôler.

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

1 7

Avec JMXAvec JMX

7

Chaque ressource est Chaque ressource est administrée par administrée par l’intermédiaire d’un l’intermédiaire d’un MBean.MBean.

Tous les Mbeans Tous les Mbeans enregistrés dans un enregistrés dans un AgentAgent JMX JMX (ou groupe d’agents) (ou groupe d’agents) peuvent être administrés peuvent être administrés en utilisant une seule en utilisant une seule console de management.console de management.

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

1 8

Architecture JMXArchitecture JMX

8

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

1 9

Architecture JMXArchitecture JMX

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

9

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

1 10

Architecture JMXArchitecture JMX

10

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

1 11

Architecture JMXArchitecture JMX

Niveau Niveau instrumentationinstrumentation

11

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

1 12

Niveau InstrumentationNiveau Instrumentation

12

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

1 13

Niveau InstrumentationNiveau Instrumentation

Ce niveau concerne la communauté des développeurs Ce niveau concerne la communauté des développeurs Java en définissant un mécanisme permettant Java en définissant un mécanisme permettant d'instrumenter les ressources, connues sous le nom de d'instrumenter les ressources, connues sous le nom de beans gérés ou beans gérés ou MBeans (Managed Beans) MBeans (Managed Beans) . .

Une ressource (classe, application patrimoniale, Une ressource (classe, application patrimoniale, méthode, etc.) doit être développée en Java, ou, doit méthode, etc.) doit être développée en Java, ou, doit offrir une enveloppe Java. Elle doit être instrumentée offrir une enveloppe Java. Elle doit être instrumentée sous forme d'un ou de plusieurs MBeans. sous forme d'un ou de plusieurs MBeans. Concrètement, un MBean est un objet Java qui suit une Concrètement, un MBean est un objet Java qui suit une certaine sémantique. Il expose les informations de certaine sémantique. Il expose les informations de gestion sous forme d'attributs et d'opérations pour les gestion sous forme d'attributs et d'opérations pour les manipuler. manipuler.

13

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

1 14

Les Managed BeansLes Managed Beans

Ce sont des objets Java déposés dans le cœur Ce sont des objets Java déposés dans le cœur d’un serveur MBean et qui peuvent s’exécuter d’un serveur MBean et qui peuvent s’exécuter dans la plupart des dispositifs Java.dans la plupart des dispositifs Java.

Ils représentent la brique de base et Ils représentent la brique de base et constituent en fait des interfaces de constituent en fait des interfaces de communication avec les éléments physiques communication avec les éléments physiques (qu’ils soient locaux ou distants) ou les (qu’ils soient locaux ou distants) ou les programmes administrables à travers JMX. Ces programmes administrables à travers JMX. Ces divers éléments sont appelés ici les ressources divers éléments sont appelés ici les ressources administrables. administrables.

14

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

1 15

Composition d’un MBeanComposition d’un MBean

Chaque MBean peut avoir:Chaque MBean peut avoir:

• Zéro ou plusieurs Zéro ou plusieurs AttributsAttributs– Read-only, write-only, or read/writeRead-only, write-only, or read/write

• Zéro ou plusieurs Zéro ou plusieurs OpérationsOpérations• Zéro ou plusieursZéro ou plusieurs Notifications généréesNotifications générées

– Similaire aux événements JavaSimilaire aux événements Java• Un ou plusieurs Un ou plusieurs Public ConstructorsPublic Constructors

Leur Collection constitue les caractéristiques Leur Collection constitue les caractéristiques du MBean: « the MBean's du MBean: « the MBean's features »features »..

15

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

1 16

Types de MBeansTypes de MBeans

MBean(abstract notion)

Standard MBean

Dynamic MBean

Model MBeanOpen 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

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

1 17

MBean Standard MBean Standard Définition Définition

Un MBean standard est une classe concrète Java .Un MBean standard est une classe concrète Java . Les MBeans standards constituent la plus simple forme Les MBeans standards constituent la plus simple forme

d'instrumentation. d'instrumentation.

Ils sont les plus appropriés à la gestion des informations Ils sont les plus appropriés à la gestion des informations statiques. statiques.

Un ensemble de conventions lexicales doit être respecté Un ensemble de conventions lexicales doit être respecté lors de la mise en oeuvre des Mbeans:lors de la mise en oeuvre des Mbeans:• Un MBean standard doit implémenter une interface nommée Un MBean standard doit implémenter une interface nommée

XMBeanXMBean• "X" est le nom de la classe"X" est le nom de la classe• X et l’interface XMBean doivent être déclarés publicX et l’interface 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

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

1 18

MBean Standard MBean Standard CaractéristiquesCaractéristiques

La plupart de ces caractéristiques sont obtenues en La plupart de ces caractéristiques sont obtenues en utilisant la réflexionutilisant la réflexion• Similaire à des JavaBeans sans les classes BeanInfoSimilaire à des JavaBeans sans les classes BeanInfo

Le serveur utilise la réflexion dans l’interface Le serveur utilise la réflexion dans l’interface XXMBeanMBean• A l’exception des constructeursA l’exception des constructeurs• Donc seules les méthodes définies dans l’interface sont Donc seules les méthodes définies dans l’interface sont

considérées comme des caractéristiques de MBean.considérées comme des caractéristiques de MBean.– Toute autre méthode présente dans Toute autre méthode présente dans XX est ignorée, est ignorée,

même si elle est déclarée publiquemême si elle est déclarée publique public public typetype get getAA() définit le () définit le readable attributereadable attribute AA public void setpublic void setAA((typetype) définit le ) définit le writable attributewritable attribute AA Toutes les autres méthodes publiques sont des Toutes les autres méthodes publiques sont des opérationsopérations.. LesLes Constructeurs Constructeurs sont ceux définis dans la classe bean.sont ceux définis dans la classe bean. (Les (Les notificationsnotifications seront traitées plus tard.) seront traitées plus tard.)

18

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

1 19

MBean Standard MBean Standard CaractéristiquesCaractéristiques

public interface SimpleStandardpublic interface SimpleStandardMBean MBean {{public String public String getgetState(); State(); public void public void setsetState (String s);State (String s);

public void reset();public void reset();}}public class SimpleStandard implements public class SimpleStandard implements

SimpleStandardMBean {SimpleStandardMBean { private String state;private String state; public public SimpleStandard()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é publicUn attribut R/W

appelé State

Une opération

Ni un attribut ni une opération

19

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

1 20

MBean Standard MBean Standard Concept Concept d’héritaged’héritage

Patterns d’héritage:Patterns d’héritage:• L’héritage Java est mis en œuvre en utilisant le mot clé L’héritage Java est mis en œuvre en utilisant le mot clé

« extends »« 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 d’héritage existent et sont présentés Beaucoup de scénarii d’héritage existent et sont présentés

sous forme de cinq patterns.sous forme de cinq patterns. Exemple explicatifExemple explicatif

20

public class Basic implements BasicMBean {

// implementation of BasicMBean and other stuff. . .

}

La classe Basic implémente l’interface BasicMBean.

public class Worker extends Basic {

// implementation of Worker here. . .

}

Dans ce pattern, l’interface de management du worker est BasicMBean

public class Worker extends Basic implements WorkerMBean {

// implementation of WorkerMBean. . .

}

public interface WorkerMBean

extends BasicMBean {

// . . .

}

L’interface de managent du Worker est l’union de BasicMBean et WorkerMBean.

Il est clair que le compilateur ne permettra pas au Worker d’hériter une interface sans l’implémenter.

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

1 21

MBean NotificationsMBean Notifications

Un standard MBean peut être une cible de notificationsUn standard MBean peut être une cible de notifications Doit implémenter l’interface NotificationBroadcaster Doit implémenter l’interface NotificationBroadcaster

• (Toutes les classes sont importées du paquetage javax.management)(Toutes les classes sont importées du paquetage javax.management) Utilise le pattern publish/subscribeUtilise le pattern publish/subscribe Les méthodes de cette interface sont: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 La classe Filter est utilisée pour filtrer les événements non

désirables pour chaque listener.désirables pour chaque listener.– L’objet handback est passé au listener avec chaque événement.L’objet handback est passé au listener avec chaque événement.

– Alors s’il écoute plusieurs MBeans, il peut identifier la source.Alors s’il écoute plusieurs MBeans, il peut identifier la source.– Les deux peuvent être nulsLes deux peuvent être nuls

• removeNotificationListener(listener)removeNotificationListener(listener)• getNotificationInfo()getNotificationInfo()

21

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

1 22

MBean Notifications (cont.)MBean Notifications (cont.)

getNotificationInfo retourne un tableau d’objets getNotificationInfo retourne un tableau d’objets MBeanNotificationInfo MBeanNotificationInfo • Chaque tel objet contient de l’information à propos d’un Chaque tel objet contient de l’information à propos d’un

des types de notification que le MBean peut générer.des types de notification que le MBean peut générer.• L’information inclue le type et une descriptionL’information inclue le type et une description

Si la classe n’a pas de super classe, elle peut simplement Si la classe n’a pas de super classe, elle peut simplement hériter de la classe NotificationBroadcasterSupport hériter de la classe NotificationBroadcasterSupport • Fournie une implémentation simple de l’interface Fournie une implémentation simple de l’interface

NotificationBroadcaster.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

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

1 23

MBean Notifications (cont.)MBean Notifications (cont.)

Pour générer une notification, le MBean doit envoyer un Pour générer une notification, le MBean doit envoyer un Notification object pour tous les listeners enregistrés.Notification object pour tous les listeners enregistrés.• Ensuite examiner, pour chaque listener, si son filter veut Ensuite examiner, pour chaque listener, si son filter veut

accepter ce type de notification.accepter ce type de notification. L’information enregistrée dans chaque notification L’information enregistrée dans chaque notification

inclue: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 SequenceNumber (an integer; option utilisée pour

dénombrer les notifications dans une séquence)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

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

1 24

Notification ListenersNotification Listeners

Pour accepter les MBean notifications, une Pour accepter les MBean notifications, une classe doit implémenter NotificationListenerclasse doit implémenter NotificationListener• Une methode: Une methode:

handleNotification(notification, handback)handleNotification(notification, handback)• L’envoi de notifications est synchroneL’envoi de notifications est synchrone

– Sinon si on veut envoyer une notification Sinon si on veut envoyer une notification asynchrone, nous devons implémenter asynchrone, nous devons implémenter notre propre méthode sendNotification.notre propre méthode sendNotification.

24

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

1 25

DémoDémo

25

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

1 26

2 Cas où on ne peut utiliser des 2 Cas où on ne peut utiliser des Mbeans StandardsMbeans Standards

1.1. Les attributs et méthodes offertes à Les attributs et méthodes offertes à l’interface de gestion sont en fonction du l’interface de gestion sont en fonction du superviseur qui les a créés (une notion de superviseur qui les a créés (une notion de droit d’accès). Dans ce cas, l’objet crée ,à droit d’accès). Dans ce cas, l’objet crée ,à l’instanciation, l’interface en fonction d’un l’instanciation, l’interface en fonction d’un contexte externe.contexte externe.

2.2. L’objet ne peut construire son interface qu’à L’objet ne peut construire son interface qu’à

la vue des informations disponibles sur la la vue des informations disponibles sur la ressource qu’il modélise. ressource qu’il modélise.

26

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

1 27

Les Mbeans DynamiquesLes Mbeans Dynamiques

La dénomination dynamique pour ces Mbeans vient du La dénomination dynamique pour ces Mbeans vient du fait que l’interface de supervision de ces objets n’est fait que l’interface de supervision de ces objets n’est pas figée à la compilation mais est définie par les pas figée à la compilation mais est définie par les objets gérés eux-mêmes à l’exécution.objets gérés eux-mêmes à l’exécution.

Alors que dans le MBean standard, le conteneur Alors que dans le MBean standard, le conteneur d’objets gérés se charge de découvrir par introspection d’objets gérés se charge de découvrir par introspection les attributs et méthodes de l’objet, il va demander à les attributs et méthodes de l’objet, il va demander à l’objet géré dynamique de réaliser ce travail de création l’objet géré dynamique de réaliser ce travail de création des méta données (description de l’interface exposée à des méta données (description de l’interface exposée à la supervision) à sa place et de lui fournir cette la supervision) à sa place et de lui fournir cette interface de supervision à la demande.interface de supervision à la demande.

27

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

1 28

Les Mbeans DynamiquesLes Mbeans Dynamiques

Tout comme les Mbeans standards, les Mbeans Tout comme les Mbeans standards, les Mbeans dynamiques possèdent des attributs, des opérations, dynamiques possèdent des attributs, des opérations, des constructeurs déclarés public et des des constructeurs déclarés public et des notificationsnotifications..

Un MBean dynamique programme son interface de Un MBean dynamique programme son interface de gestion, au lieu de l’appeler par des noms de gestion, au lieu de l’appeler par des noms de méthodes statiques.méthodes statiques.

Pour ce faire, on compte sur des « descriptor Pour ce faire, on compte sur des « descriptor classes » qui représentent les attributs et les classes » qui représentent les attributs et les opérations exposées au management. opérations exposées au management.

28

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

1 29

L’interface « Dynamic L’interface « Dynamic MBean »MBean »

Les Mbeans standard exposent leurs attributs et Les Mbeans standard exposent leurs attributs et opérations statiquement dans l’interface de opérations statiquement dans l’interface de supervision. Les Mbeans dynamiques, par supervision. Les Mbeans dynamiques, par contre, partagent tous une même interface qui contre, partagent tous une même interface qui définie des méthodes génériques pour définie des méthodes génériques pour permettre l’accès aux attributs et aux méthodes.permettre l’accès aux attributs et aux méthodes.

Puisque l’interface de management n’est plus Puisque l’interface de management n’est plus visible à travers l’introspection, les Mbeans visible à travers l’introspection, les Mbeans dynamiques doivent alors fournir des dynamiques doivent alors fournir des descripteurs explicites de leurs attributs et descripteurs explicites de leurs attributs et opérations.opérations.

29

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

1 30

The « Dynamic MBean » The « Dynamic MBean » interfaceinterface

La classe « DynamicMBean » est une interface java La classe « DynamicMBean » est une interface java définie par JMX. Elle specifie les methodes qu’une définie par JMX. Elle specifie les methodes qu’une ressource doit fournir pour exposer son interface de ressource doit fournir pour exposer son interface de management.management.

Ce qui suit est un listing du code:Ce qui suit est un listing du code:

La méthode getMBeanInfo fournie une description de l’interface 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 d’attributs sont génériques, du moment qu’ils prennent le nom de l’attribut 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 d’exécuter la méthode dont le nom est passé en

paramètre avec les paramètres correspondants.

30

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

1 31

The MBean Descriptor The MBean Descriptor Classes Classes

Un MBean dynamique a la charge de construire sa propre interface Un MBean dynamique a la charge de construire sa propre interface de management.de management.

Les Mbeans dynamiques fournissent leur propre description Les Mbeans dynamiques fournissent leur propre description retournée par la méthode getMBeanInfo. Les agents utilisent aussi retournée par la méthode getMBeanInfo. Les agents utilisent aussi ces classes pour les Mbeans standards après leur introspection.ces classes pour les Mbeans standards après leur introspection.

Ces classes fournissent des informations concernant le MBean. Cette Ces classes fournissent des informations concernant le MBean. Cette information contient non seulement les attributs et les opérations de information contient non seulement les attributs et les opérations de l’interface de management mais aussi la liste des constructeurs de l’interface de management mais aussi la liste des constructeurs de la classe MBean et les notifications que le MBean peut envoyer.la classe MBean et les notifications que le MBean peut envoyer.

Un petit secret d' implémentation: lors de la manipulation des Un petit secret d' implémentation: lors de la manipulation des Mbeans standards,Le serveur utilise tout simplement la réflexion Mbeans standards,Le serveur utilise tout simplement la réflexion pour créer un objet MBeanInfo pour le MBeanpour créer un objet MBeanInfo pour le MBean

Avec les Mbeans dynamiques, l’objet MBeanInfo est directement Avec les Mbeans dynamiques, l’objet MBeanInfo est directement fourni.fourni.

31

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

1 32

The MBean Descriptor The MBean Descriptor ClassesClasses

Chaque élément est décrit par son « descriptor object » Chaque élément est décrit par son « descriptor object » contenant son nom, une description, et ces contenant son nom, une description, et ces caractéristiques.caractéristiques.

Le tableau suivant liste toutes les classes «  MBean Le tableau suivant liste toutes les classes «  MBean descriptor »descriptor »Nom de la classeNom de la classe RôleRôle

MBeanInfoMBeanInfo Cette classe contient des collections de descripteurs pour tous les Mbeans ; elle inclue 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.ainsi le nom des classes java de Mbeans et une chaîne pour sa description.

MBeanFeatureInfoMBeanFeatureInfo   C’est la classe mère de tous les autres descripteurs à partir de laquelle ils héritent les C’est la classe mère de tous les autres descripteurs à partir de laquelle ils héritent les attributs « name » et « description ».attributs « name » et « description ».

MBeanOperationInfoMBeanOperationInfo   Elle décrit une opération: son type de retour, sa signature (une collection de 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 l’opération retourne de l’information paramètres), et son impact (c'est-à-dire signale si l’opération retourne de l’information ou si elle modifie la ressource)ou si elle modifie la ressource)

MBeanConstructorInfoMBeanConstructorInfo Décrit un constructeur par sa signatureDécrit un constructeur par sa signature

MBeanParameterInfoMBeanParameterInfo Retourne le type d’un paramètre dans une opération ou dans la signature d’un Retourne le type d’un paramètre dans une opération ou dans la signature d’un constructeur.constructeur.

MBeanAttributeInfoMBeanAttributeInfo Decrit un attribute: son type, si il est “readable” ou “writable” Decrit un attribute: son type, si il est “readable” ou “writable” 

MBeanNotificationInfoMBeanNotificationInfo Contient une collection de notifications de type stringContient une collection de notifications de type string

32

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

1 33

Mbean modèleMbean modèle

Un MBean modèle est un MBean dynamique qui offre plus de flexibilité Un MBean modèle est un MBean dynamique qui offre plus de flexibilité de développement.de développement.

La différence principale est que le développement de la classe La différence principale est que le développement de la classe d'implémentation du MBean modèle est plus simple.d'implémentation du MBean modèle est plus simple.

Une classe nommée RequiredModelMBean, implémentant l'interface Une classe nommée RequiredModelMBean, implémentant l'interface ModelMBean, qui caractérise un MBean modèle, est fournie par défaut. ModelMBean, qui caractérise un MBean modèle, est fournie par défaut.

Cette classe peut être étendue, et ses méthodes peuvent être Cette classe peut être étendue, et ses méthodes peuvent être surchargées, en cas de besoin, pour obtenir la classe d'implémentation surchargées, en cas de besoin, pour obtenir la classe d'implémentation du MBean modèle. du MBean modèle.

Il est également possible de créer un objet de type ModelMBeanInfo et Il est également possible de créer un objet de type ModelMBeanInfo et de l'affecter à une instance de la classe par défaut.de l'affecter à une instance de la classe par défaut.

Une alternative à la création de cet objet serait de fournir un fichier Une alternative à la création de cet objet serait de fournir un fichier XML qui décrit les propriétés du MBean.XML qui décrit les propriétés du MBean.

33

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

1 34

Open MBeansOpen MBeans

Un MBean ouvert est lui aussi un MBean dynamique. Il est par Un MBean ouvert est lui aussi un MBean dynamique. Il est par contre restreint d'accepter et de retourner un nombre limité de contre restreint d'accepter et de retourner un nombre limité de types de données. L'utilisation d'un nombre restreint de types, types de données. L'utilisation d'un nombre restreint de types, permet d'éliminer le besoin de chargement de classes. permet d'éliminer le besoin de chargement de classes.

Les types autorisés, lors du développement d'un MBean Les types autorisés, lors du développement d'un MBean ouvert, sont :ouvert, sont :• les types primitifs (les types primitifs (intint, , booleanboolean, , floatfloat, etc.),, etc.),• les classes qui enveloppent les types primitifs : (les classes qui enveloppent les types primitifs : (IntegerInteger, ,

BooleanBoolean, , FloatFloat, etc.), etc.)• les tableaux des types précédents.les tableaux des types précédents.

Un MBean ouvert doit implémenter la méthode Un MBean ouvert doit implémenter la méthode getMBeanInfo()getMBeanInfo(), qui retourne un objet de type , qui retourne un objet de type OpenMBeanInfo OpenMBeanInfo (sous-type de (sous-type de MbeanInfoMbeanInfo). Cet objet fournit des méta-données ). Cet objet fournit des méta-données supplémentaires, décrivant le MBean ouvert.supplémentaires, décrivant le MBean ouvert.

34

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

1 35

Architecture JMXArchitecture JMX

Niveau AgentNiveau Agent

35

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

1 36

Architecture Architecture Niveau Niveau AgentAgent

36

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

1 37

Architecture Architecture Niveau Niveau AgentAgent

Ce niveau cible la communauté des applications de Ce niveau cible la communauté des applications de management en définissant un mécanisme management en définissant un mécanisme permettant de créer des agents d’administration. permettant de créer des agents d’administration.

Ces derniers stockent, contrôlent et exposent des Ces derniers stockent, contrôlent et exposent des composants MBeans aux clients via un registre, composants MBeans aux clients via un registre, appelé serveur Mbean . appelé serveur Mbean .

Un agent est un composant logiciel qui négocie les Un agent est un composant logiciel qui négocie les requêtes et les réponses entre les composants requêtes et les réponses entre les composants MBeans et les clients MBean. Il est constitué d'une MBeans et les clients MBean. Il est constitué d'une logique applicative spécifique, d'un serveur MBean, logique applicative spécifique, d'un serveur MBean, d'un groupe de services agents et d'au moins un d'un groupe de services agents et d'au moins un connecteur ou adaptateur de protocole.connecteur ou adaptateur de protocole.

37

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

1 38

Les agents JMXLes agents JMX Les clients MBean interagissent Les clients MBean interagissent

avec les MBeans via un agent et avec les MBeans via un agent et peuvent obtenir ou régler des peuvent obtenir ou régler des valeurs d'attributs sur les MBeans valeurs d'attributs sur les MBeans ou appeler des opérations sur les ou appeler des opérations sur les MBeans. MBeans.

Les clients MBean peuvent Les clients MBean peuvent également interagir avec un agent également interagir avec un agent pour recevoir des notifications pour recevoir des notifications transmises par un MBean. transmises par un MBean.

Un serveur MBean est un Un serveur MBean est un composant logiciel qui agit composant logiciel qui agit comme un registre pour les comme un registre pour les MBeans et fournit des services MBeans et fournit des services aux clients MBean afin qu'ils aux clients MBean afin qu'ils puissent manipuler les MBeans. puissent manipuler les MBeans. Toute interaction avec un MBean Toute interaction avec un MBean doit être effectuée via les doit être effectuée via les interfaces du serveur.interfaces du serveur.

38

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

1 39

Agent Agent MBeanServer MBeanServer

Un serveur de MBeans est une base qui contient et Un serveur de MBeans est une base qui contient et gère un ensemble de MBeans. C'est le coeur du niveau gère un ensemble de MBeans. C'est le coeur du niveau agent. Toutes les opérations de gestion exécutées sur agent. Toutes les opérations de gestion exécutées sur les MBeans sont faites à travers le serveur, dans lequel les MBeans sont faites à travers le serveur, dans lequel ils sont enregistrés. Le serveur est aussi responsable, à ils sont enregistrés. Le serveur est aussi responsable, à la réception d'une requête de la station la réception d'une requête de la station d'administration, de rechercher le MBean concerné, et d'administration, de rechercher le MBean concerné, et de lui transférer la requête.de lui transférer la requête.

La gestion au niveau du serveur de MBeans concerne, La gestion au niveau du serveur de MBeans concerne, par exemple, l'instanciation des MBeans, par exemple, l'instanciation des MBeans, l'enregistrement et le dés-enregistrement des instances l'enregistrement et le dés-enregistrement des instances créées.créées.

Un mécanisme de notification est supporté pour Un mécanisme de notification est supporté pour envoyer des notifications, après l'enregistrement et le envoyer des notifications, après l'enregistrement et le dés-enregistrement des instances de MBeans.dés-enregistrement des instances de MBeans. 39

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

1 40

Agent Agent MBeanServer MBeanServer

La destruction du MBeanServer provoquera la perte La destruction du MBeanServer provoquera la perte de tous les MBeans (cela sera produit, bien sur, après de tous les MBeans (cela sera produit, bien sur, après la mort du processus JVM). la mort du processus JVM).

Alors pour cette raison parmi d’autres, il est possible Alors pour cette raison parmi d’autres, il est possible d’encapsuler les contrôles de l’instance du d’encapsuler les contrôles de l’instance du MBeanServer dans un Agent.MBeanServer dans un Agent.

Afin de permettre aux applications de supervision Afin de permettre aux applications de supervision d’accéder aux MBean , l’architecture JMX propose d’accéder aux MBean , l’architecture JMX propose deux types d’accès à distance : les connecteurs et les deux types d’accès à distance : les connecteurs et les adaptateurs de protocoles.adaptateurs de protocoles.

40

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

1 41

MBeanServerMBeanServer MBean MBean NamesNames

Chaque instance MBean possède un nom représenté par la classe Chaque instance MBean possède un nom représenté par la classe " ObjectName" qui est fournie par la " Reference " ObjectName" qui est fournie par la " Reference Implementation " et qui est cruciale pour le processus Implementation " et qui est cruciale pour le processus d’enregistrement des MBean.d’enregistrement des MBean.

Dont le format est:Dont le format est:domain-name:key1=value1[,key2=value2,...,keyN=valueN]domain-name:key1=value1[,key2=value2,...,keyN=valueN]

"domainName" est utilisé pour regrouper logiquement les Mbeans"domainName" est utilisé pour regrouper logiquement les Mbeans

Exemples:Exemples:• Tools:name=Printer3Tools:name=Printer3• Tools:name=ProxyServer,port=8080Tools:name=ProxyServer,port=8080

Chaque MBean instance name doit être unique au sein du Chaque MBean instance name doit être unique au sein du serveur.serveur.

41

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

1 42

MBeanServerMBeanServer Enregistrement Enregistrement d’un MBeand’un MBean

L’agent JMX commence par chercher une référence à un serveur Mbean s’exécutant sur la plateforme en appelant la méthode getPlatformMBeanServer() importée de la classe java.lang.management.ManagementFactory.

Si un serveur n’est pas déjà en cours d’exécution, cette méthode crée automatiquement un nouveau serveur en faisant appel à la méthode MBeanServerFactory.createMBeanServer().

L’agent doit ensuite définir l’ objectName pour l’instance 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 l’objet est de type Hello.

L’objet Hello nomme “mbean” est enregistré ensuite dans le serveur “mbs” avec object name “name”, en passant l’objet et l’ object name dans l’appel de la méthode JMX MBeanServer.registerMBean().

42

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

1 43

MBeanServerMBeanServer Finding Finding MBeans MBeans

Trouver un MBean est facile si on connaît son nomTrouver un MBean est facile si on connaît son nom

Mais si on a besoin “ Tous les Mbeans d’un type donné"?Mais si on a besoin “ Tous les Mbeans d’un type donné"?

Ou peut être “ Tous les MBeans avec un attribut appelé 'count' Ou peut être “ Tous les MBeans avec un attribut appelé 'count' >=10"?>=10"?

On aura recourt à un langage de requête pour les MbeansOn aura recourt à un langage de requête pour les Mbeans• "MBeans QL"?"MBeans QL"?

Les requêtes sont construites en utilisant les objets QueryExp Les requêtes sont construites en utilisant les objets QueryExp

Chaque QueryExp représente un prédicat booléen relié aux attributs Chaque QueryExp représente un prédicat booléen relié aux attributs du MBean du MBean

QueryExps peuvent être combinés en utilisant des opérateurs QueryExps peuvent être combinés en utilisant des opérateurs logiques. logiques.

43

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

1 44

MBeanServerMBeanServer Construction et Construction et exécution des MBean Queriesexécution des MBean Queries

Les méthodes Boolean operator incluses dans la classe Query : Les méthodes Boolean operator incluses dans la classe Query : gt (greater than), lt (less than), eq (=), geq (≥), leq (≤), match gt (greater than), lt (less than), eq (=), geq (≥), leq (≤), match (wildcard matching), initialSubString, anySubString, (wildcard matching), initialSubString, anySubString, finalSubString, betweenfinalSubString, between

Les méthodes Query peuvant être utilisées pour construire des Les méthodes Query peuvant être utilisées pour construire des valeurs: plus, minus, div, times, value (utilisé pour générer des valeurs: plus, minus, div, times, value (utilisé pour générer des constantes; surcharge pour tous les types de primitives)constantes; surcharge pour tous les types de primitives)

Les méthodes Query peuvant être utilisées pour combiner des Les méthodes Query peuvant être utilisées pour combiner des élements QueryExp : and, or, notélements QueryExp : and, or, not

Apres la construction d’une requête, l’exécution de cette Apres la construction d’une requête, l’exécution de cette dernière dans le serveur MBean est realisée par:dernière dans le serveur MBean est realisée par:mbs.queryMBeans(objName, query);mbs.queryMBeans(objName, query); 44

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

1 45

Agent Agent Les connecteurs Les connecteurs

Les connecteurs permettent à un client de faire des appels de méthodes Les connecteurs permettent à un client de faire des appels de méthodes à distance sur un MBeanServer d’un agent.à distance sur un MBeanServer d’un agent.

Typiquement un connecteur peut être bâti au dessus de RMI (Typiquement un connecteur peut être bâti au dessus de RMI (Remote Remote Method InvocationMethod Invocation) de Java.) de Java.

Une implémentation particulière d’un connecteur impacte aussi bien le Une implémentation particulière d’un connecteur impacte aussi bien le côté agent que le côté client/manageur.côté agent que le côté client/manageur.

Les connecteurs exposent la même interface à un client, autorisant ainsi 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 l'accès transparent à un agent par des outils de gestion, quel que soit le protocole sous-jacent.protocole sous-jacent.

Exemples: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

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

1 46

Agent Agent Les adaptateurs Les adaptateurs

Les adaptateurs de protocoles sont des composants qui assurent la Les adaptateurs de protocoles sont des composants qui assurent la liaison entre des protocoles spécifiques (par exemple SNMP ou http) liaison entre des protocoles spécifiques (par exemple SNMP ou http) et les services locaux d’un serveur MBean. et les services locaux d’un serveur MBean.

Ces derniers permettent à des agents JMX et les Mbeans qu’ils Ces derniers permettent à des agents JMX et les Mbeans qu’ils contiennent d’être accessibles au travers d’approches existantes.contiennent d’être accessibles au travers d’approches existantes.

Aussi, les adaptateurs offrent à l’architecture une capacité Aussi, les adaptateurs offrent à l’architecture une capacité d’évolution et d’intégration des approches futures de supervision. Un d’évolution et d’intégration des approches futures de supervision. Un adaptateur est un composant lié uniquement au côté agent. adaptateur est un composant lié uniquement au côté agent.

Exemples: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

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

1 47

Agent Agent Services Services Un serveur de MBeans fournit un ensemble de services, Un serveur de MBeans fournit un ensemble de services,

implémentés sous forme de MBeans.implémentés sous forme de MBeans.

Parmi les services fournis, nous pouvons citer : Parmi les services fournis, nous pouvons citer :

• Le service Timer : envoie des notifications à des moments Le service Timer : envoie des notifications à des moments spécifiques, d'une manière simple ou répétitive, à des spécifiques, d'une manière simple ou répétitive, à des intervalles réguliers. intervalles réguliers.

• Le service Monitor : permet d'observer des attributs d'un Le service Monitor : permet d'observer des attributs d'un type Java, et d'envoyer des événements lorsque des type Java, et d'envoyer des événements lorsque des conditions spécifiques sont vérifiées.conditions spécifiques sont vérifiées.

• Le service M-Let : permet de télécharger, d'instancier et Le service M-Let : permet de télécharger, d'instancier et d'enregistrer des MBeans distants, en utilisant l'URL où ils d'enregistrer des MBeans distants, en utilisant l'URL où ils se trouvent. se trouvent.

47

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

1 48

Architecture JMXArchitecture JMX

Niveau Services DistribuésNiveau Services Distribués

48

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

1 49

Architecture Architecture Services Services distribuésdistribués

49

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

1 50

Architecture Architecture Services Services distribuésdistribués

Ce niveau vise la communauté des Ce niveau vise la communauté des

applications de gestion en définissant un applications de gestion en définissant un mécanisme permettant de localiser et mécanisme permettant de localiser et d'accéder à des agents et à des composants d'accéder à des agents et à des composants MbeansMbeans, quel que soit leur emplacement , quel que soit leur emplacement physique. Ce niveau s'occupe des services de physique. Ce niveau s'occupe des services de recherche, des protocoles de connexion, des recherche, des protocoles de connexion, des échanges de messages, etc.; échanges de messages, etc.;

50

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

1 51

ConclusionConclusion

51

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

1 52

ConclusionConclusion

Mbeans sont une façon intéressante pour mettre les Mbeans sont une façon intéressante pour mettre les paramètres de configuration et les ressources disponibles pour paramètres de configuration et les ressources disponibles pour external monitoring tools / management consolesexternal monitoring tools / management consoles

L’usage naturel:ajouter des capacités de management aux L’usage naturel:ajouter des capacités de management aux applicationsapplications

Java Java • Chaque application peut créer un MBean server avec un ou Chaque application peut créer un MBean server avec un ou

plusieurs Mbeans en exposant des informations de ses plusieurs Mbeans en exposant des informations de ses paramètres et statut.paramètres et statut.

Une autre utilité: as wrapper (convertisseur) pour les autres Une autre utilité: as wrapper (convertisseur) pour les autres services de management et les ressources administrables.services de management et les ressources administrables.• Allows for a consolidated management consoleAllows for a consolidated management console

52

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

1 53

MBeans and Other J2EE MBeans and Other J2EE TechnologiesTechnologies

Les MBeans peuvent être utilisés avec JMSLes 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 Peut translater des messages en “log information” visible de

l’extérieur.l’extérieur.• Nous Permet d’ajouter un “health monitor” pour les applications Nous Permet d’ajouter un “health monitor” pour les applications

basées sur JMS déjà existantes sans changer l’application.basées sur JMS déjà existantes sans changer l’application.– Il suffit d’ajouter un autre” listener”Il suffit d’ajouter un autre” listener”

Les MBeans peuvent être utilisé avec lesEJBsLes MBeans peuvent être utilisé avec lesEJBs• Les Mbeans peuvent être intégrés dans des applications basées sur 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 les EJBs, pour générer des notifications à des tierces parties ou pour rendre visibles des informations sur l’historique de l’application.rendre visibles des informations sur l’historique de l’application.

• Différencier la configuration de l’application de son modèleDifférencier la configuration de l’application de son modèle• Un MBean peut avoir des données directement d’EJBs en invoquant Un MBean peut avoir des données directement d’EJBs en invoquant

ses methodes d’accès.ses methodes d’accès.• Un MBean peut recevoir des donnèes envoyées par l’EJB.Un MBean peut recevoir des donnèes envoyées par l’EJB.• Enregistre et supprime un MBean en passant par un agent JMX à Enregistre et supprime un MBean en passant par un agent JMX à

travers la création et la destruction d’un EJB.travers la création et la destruction d’un EJB.

53

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

1 54

Les Implémentations JMX Les Implémentations JMX disponiblesdisponibles

Sun JMX 1.2.1 and Remote API 1.0 RISun JMX 1.2.1 and Remote API 1.0 RI• JDMK value added product for purchase.JDMK value added product for purchase.

JBOSS JBOSS-MXJBOSS 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.

NetManageNetManage• Various products for sale to help build and manage applications via JMXVarious products for sale to help build and manage applications via JMX

MX4JMX4J• 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

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

1 55

Future DirectionsFuture Directions

Utilisation des meta_donnéesUtilisation des meta_données PersistancePersistance Manipulation fiable d’ événementManipulation fiable d’ événement Master-agent/sub-agent functionalityMaster-agent/sub-agent functionality Manageability for J2EE™ appsManageability for J2EE™ apps

55

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

1 56

BibliographieBibliographie

http://java.sun.com/products/JavaManaghttp://java.sun.com/products/JavaManagementement

http://java.sun.com/j2se/1.5.0/docs/guidhttp://java.sun.com/j2se/1.5.0/docs/guide/jmx/e/jmx/

http://docs.sun.com/app/docs/doc/806-2http://docs.sun.com/app/docs/doc/806-2986986

http://www-adele.imag.fr/~ketfi/pages/frhttp://www-adele.imag.fr/~ketfi/pages/fr/ch_pdf/ch3.pdf/ch_pdf/ch3.pdf

http://www.diee.unica.it/woa03/presentahttp://www.diee.unica.it/woa03/presentations/15.pdftions/15.pdf