Part IVAgent Services
The minimal and base agents presented in Part II, Agent Applications
are manageable but are created empty. In this part we will examine agent services,
MBeans that interact with your resources to provide management intelligence
at the agent level. These services allow your agents to perform local operations
on their resources that used to be performed by the remote manager. This frees
you from having to implement them in the management application, and it reduces
the amount of communication throughout your management solution.
In the Java dynamic management architecture, agents perform their own monitoring,
avoiding constant manager polling. Agents also handle their own logical relations
between objects, providing advanced operations that no longer require a relational
database in the manager.
Java dynamic management agents are also much smarter, using discovery to
be aware of their peers. They also connect to other agents to mirror remote
resources, thus providing a single point of entry into a whole hierarchy of
agents. Finally, agents are freed from their initial environment settings
through dynamic downloading, allowing managers to push new classes to an agent
effectively. As new resources and new services are developed, they can be
loaded into deployed agents, boosting their capabilities without affecting
their availability.
The benefit of agent services is increased by their dynamic nature.
Agent services can come and go as they are required, either as determined
by the needs of an agent's smart resources or on demand from the management
application. The agent capability of self-management through the services
is completely scalable: small devices might only allow monitors with some
logic, whereas a server might embed the algorithms and networking capabilities
to oversee its terminals autonomously.
This part contains the following chapters:
Chapter 12, M-Let Class Loader shows how the m-let
class loader downloads new classes to the agent from a given URL
(Universal Resource Locator). An m-let is a management applet: the HTML-style
tag at the target URL that contains information about the classes to download.
A manager can store new MBean classes anywhere, update its m-let file to reference
them, and instruct an agent to load the classes. The new classes are created
as MBeans, registered in the MBean server and ready to be managed.
Chapter 13, Relation Service shows how the relation
service creates associations between MBeans, allowing for consistency
checking against defined roles and relation types. New types can be defined
dynamically to create new relations between existing objects. All relations
are managed through the service so that it can expose query operations for
finding related MBeans. Relations themselves can also be implemented as MBeans,
allowing them to expose attributes and operations that act upon the MBeans
in the relation.
Chapter 14, Cascading Service shows how cascading agents allow a manager to access a hierarchy of agents
through a single point-of-access. The subagents can be spread across the network,
but their resources can be controlled by the manager through a connection
to a single master agent. MBeans of a subagent are mirrored in the master
agent and respond as expected to all management operations, including their
removal. No special proxy classes are needed for the mirror MBean, meaning
that every MBean object can be mirrored anywhere without requiring any class
loading.
Chapter 15, Discovery Service describes how the discovery service lets applications find Java dynamic management agents
that are configured to be found. Using active discovery, the client broadcasts
a discovery request over the network. Agents that have a discovery responder
registered in their MBean server will automatically send a response. The client
can then keep a list of reachable agents by using passive discovery to detect
when responders are activated and deactivated. Along with the agent's address,
the discovery response contains version information from the agent's delegate
MBean and the list of available protocol adaptors and connectors.
|