Getting Started with the Java Dynamic Management Kit 4.2

Advantages of a Java Dynamic Management Solution

To summarize, the benefits of the Java Dynamic Management Kit include:

Simplified Design and Development

The JMX architecture standardizes the elements of a management system. All three levels, instrumentation, agent, and manager, are isolated and their interaction is defined through the API. This makes it possible to have modular development, each level being designed and implemented independently. Also, component reuse is possible: services developed for one JMX agent will work in all JMX agents.

At the instrumentation level:

At the agent level:

At the manager level:

At all three levels, the modularity also means the simple designs may be implemented rapidly, and then additional functionality may be added as it is needed. You can have a prototype running after your first day of development, thanks to the programming examples provided in the product.

Protocol Independence

The design of MBeans, agents, and managers does not depend in any way on the protocol an agent uses for communicating with external applications. All interactions with MBeans are necessarily handled by the MBean server and thus defined by the APIs of the Java Management extensions.

The provided connectors rely on this API and do not expose any communication details. A connector server-conector client pair may be replaced by another without loss of functionality, assuming both protocols are in the network environment. Applications may thus switch protocols according to real-time conditions. For example, if a manager must access an agent behind a firewall, it may instantiate and use an HTTP connector.

Because MBeans and agents are protocol-independent, they may be accessed simultaneously through any number of protocols. Connector servers and protocol adapters can handle multiple connections, so your agent only needs one of them for each protocol to which it would like to respond. The MBean server also supports simultaneous requests, although MBeans are responsible for their own sychronization issues.

New connectors for new protocols can be developed and used without rewriting existing MBeans or external applications. All that is required is that the new connector client expose the remote API.

Dynamic Extensibility And Scalability

By definition, all agents and manager applications developed with the Java Dynamic Management Kit are extensible and scalable. The library of agent services is always available: managers may instantiate new services when they are needed and later remove them to minimize memory usage. This is especially useful for running agents on small footprint devices.

In the same way, MBeans may be registered and unregistered with the MBean server in an agent while it is running. This is useful to represent application resources which may come and go on a given host. The scalability allows an agent to adapt to the size and complexity of its managed resources, without having to be restarted or reinstalled.

The dynamic loading service can download and instantiate MBeans from an arbitrary location. Therefore, it is possible to extend the functionality of a running agent by making new classes available at an arbitrary location and requesting that the agent load and instantiate them. This is effectively a push mechanism that can be used to deploy services and applications to customers.

Finally, JMX conformance insures that all JMX-compatible components can be incorporated into Java Dynamic Management agents, whether they are manageable resources, new services, or new communication components.