Figure 1-1 shows how the key concepts for the Java Dynamic Management Kit relate to an agent and a manager. They are explained in the following subsections.
The core management framework (also referred to as the framework) is a registry for objects in an agent. Objects can be registered by:
The agent itself
A manager through an adaptor in the agent
Any object that you want to be managed from outside the framework must be registered. When you register an object, the Java Dynamic Management Kit assigns a default object name to the object when it is registered. A manager uses the object name to identify the object on which it is to perform a management operation. Any object registered with the framework must be an instance of an m-bean. The framework is a component supplied with the Java Dynamic Management Kit.
A managed bean, or m-bean, is a Java object that conforms to certain design patterns. These design patterns are derived from the JavaBeansTM component model. They enable properties, actions, and events to be defined for an m-bean. They also enable you to make the distinction between a read-only and a read-write property in an m-bean. To comply with the design patterns for m-beans, an m-bean must be a JavaBeans component.
An m-bean instance is manageable as soon as it is registered with the framework. An m-bean can be instantiated and registered by:
An agent
A manager through an adaptor in an agent
Any object that you want to be accessible through the framework must be represented as an m-bean. Such objects include:
The resources you want an agent to manage
Services you want to provide for managing resources
You write the m-beans representing these objects yourself. Some components of the Java Dynamic Management Kit are implemented as m-beans.
While an agent is running, the m-beans are stored in memory.
All the information in memory is lost when the agent is stopped. When an agent is started, it has to reload the information into the repository. Compiled m-bean classes can be stored at any location specified in the CLASSPATH environment variable of the agent.
An adaptor connects the framework to external applications. It provides a view through a specific protocol of the m-beans instantiated and registered with the framework. An adaptor enables an external application to:
Get or set properties of existing m-bean instances
Invoke methods on existing m-bean instances
Instantiate an m-bean and register the new m-bean instance
The Solaris Bandwidth Manager policy agent includes an HTTP adaptor.
A client bean, or c-bean, is a stub object that represents a remote m-bean to a manager developed with the adaptor client API. Like an m-bean, a c-bean is a JavaBeans component. The manager accesses an m-bean by performing operations on the c-bean, which are propagated to the m-bean, namely:
Getting or setting attributes
Method invocations
Events emitted by the m-bean are propagated to the c-bean.