Java Dynamic Management Kit 5.1 Getting Started Guide

1.3 Benefits of a Java Dynamic Management Solution

To summarize, the benefits of the Java DMK include the following.

1.3.1 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 design makes it possible to have modular development, in which each level is 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 can be implemented rapidly, and then additional functionality can be added as needed. You can have a prototype running after your first day of development, because of the programming examples provided in the product.

1.3.2 Protocol Independence

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

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

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

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

The Java DMK 5.1 supports multihome interfaces, allowing you to work in environments where multiple network protocols are available. The multihome interface service means that Java DMK 5.1 offers complete support of the internet protocol version 6 (IPv6), provided it is running on a platform that is IPv6 compatible, namely JDKTM version 1.4 and higher.

1.3.3 Dynamic Extensibility and Scalability

By definition, all agents and manager applications developed with the Java DMK 5.1 are extensible and scalable. The library of agent services is always available. Managers can instantiate new services when 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 can be registered and be unregistered with the MBean server in an agent while the agent is running. This is useful to represent application resources that can come and go on a given host. The scalability enables an agent to adapt to the size and complexity of its managed resources, without having to be restarted or be reinstalled.

The dynamic loading service can download and instantiate MBeans from an arbitrary location. Therefore, you can 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.

In addition, open MBeans contribute to the flexibility and scalability of management systems by enabling management applications to use new managed objects as the objects are created.

Finally, conformance to the JMX specification ensures that all components that are compatible with the JMX specification can be incorporated into Java dynamic management agents, whether they are manageable resources, new services, or new communication components.

1.3.4 SNMPv3 Protocol

Java DMK 5.1 provides an implementation of the SNMPv3 protocol. This means that Java DMK benefits from the security and administration services offered by SNMPv3.

Java DMK supports SNMPv1 and v2 fully, and implements much of SNMPv3. A single agent can respond to requests from any version of SNMP.

For more information about security using the SNMPv3 protocol, see 2.6 Security.

1.3.5 SNMP Master Agent

The SNMP support in Java DMK 5.1 allows you to build a master agent. An SNMP master agent groups together several SNMP subagents and exports their information through a single point of access. The master agent performs the following two main functions.