Sun Microsystems
Products & Services
 
Support & Training
 
 

Previous Previous     Contents     Index     Next Next
Chapter 1

Overview of the Java Dynamic Management Kit

The Java Dynamic Management Kit (Java DMK) is a Java application programming interface (API) and a set of development tools for designing and implementing a new generation of management applications. As an implementation of Java Management Extensions (JMX), the product provides a framework for the management of Java objects through Java technology-based applications. Because the product is also an implementation of the JMX Remote API, it allows your management applications to monitor and manage resources through your network.

The Java DMK provides a complete architecture for designing distributed management systems. A Java technology-based solution can embed management intelligence into your agents, can provide an abstraction of your communication layer, and can be upgraded and extended dynamically. Your management applications can also take advantage of other Java APIs such as Swing components for user interfaces and the JDBC™ API for database access.

In addition, the Java DMK provides a complete toolkit for the simple network management protocol (SNMP), the most widespread legacy architecture for network and device management. This gives you the advantages of developing both Java dynamic management agents and managers that can interoperate with existing management systems.

This chapter contains the following sections:

1.1 Introduction to the Java DMK

This section addresses these fundamental questions about the Java DMK:

  • Why use Java dynamic management technology?

  • What is the Java Dynamic Management Kit?

  • How is a Java dynamic management solution developed?

If this is your first contact with the product, the answers to these questions should help you understand how your management needs can be solved using Java dynamic management technology.

1.1.1 Why Use Java Dynamic Management Technology?

In the past, network management was usually performed by large, centralized management applications. These management applications monitored and modified their network by tightly controlling their agents. In addition, agents were usually situated in or near the network elements they controlled, which meant that these agents were limited in nature. The agents usually contained little management intelligence and could perform only basic network management operations.

A Java dynamic management agent exposes its resources in a standard way and provides management services directly at the resource level. These services provide the intelligence that enables agent applications to perform management tasks autonomously. This frees the management application from routine tasks such as polling and thus reduces the network load as well.

When you implement Java dynamic management technology, the interface to resources is standardized, meaning your management applications can use any technology you want. As long as management applications communicate through a Java dynamic management agent, they can access any resource.

The same flexibility applies to the management services that are deployed in the agents. Because the management services can control resources through standard interfaces, they are dynamically interchangeable. When new services become available, these services can be downloaded and be plugged in dynamically to upgrade the capabilities of a smart agent. Finally, the Java DMK provides a distributed model that is protocol independent. Management applications rely on the API, not on any one protocol.

The Java DMK brings new solutions to the management domain through the following advantages.

  • Compliance with the JMX specification and the JMX Remote API specification, for managing Java objects through Java applications, as developed through the Java Community ProcessSM(JCPSM).

  • A single suite of components that provides uniform instrumentation for managing systems, applications, and networks, and that provides universal access to these resources.

  • A flexible architecture that distributes the management load. This architecture can also be upgraded in real time for the service-driven network.

The service-driven network is a new approach to network computing that concentrates on the services you want to provide. These range from the low-level services that manage relationships between network devices to the value-added services you provide to end users. These services drive your network and management needs. In addition, autonomous agent functionality makes it possible to manage a very large installed base.

With the Java dynamic management architecture, services can be incorporated directly into agents. Agents are given the intelligence to perform management tasks themselves, enabling management logic to be distributed throughout the whole network. New services can be downloaded from a web server at runtime using a dynamic pull mechanism. Services are not only implemented inside devices, but they can also be network-based. If your services are network-based, you can download them through simple web pages in the same way as Java technology-based applets.

You can connect to your agents remotely, using the connector protocols that were standardized in JMX Remote API. Using the remote method invocation (RMI) and JMX messaging protocol (JMXMP) connectors, you can access agents across a network with the connectors remaining completely invisible to either end of the connection. These connections can be secured using the Secure Sockets Layer (SSL) security mechanism with the RMI connectors, and with the more advanced Simple Authentication and Security Layer (SASL) protocol with the JMXMP connector.

This dynamic, on-demand paradigm means that it is no longer necessary to know what will need to be configured, managed, and monitored in the future or in advance of network deployment. Services are created, enhanced and deployed as needed. This unique combination of features gives the Java DMK a wide domain of application as it integrates the current and future management standards.

1.1.2 What Is the Java DMK?

The Java DMK is a Java API that includes all its class and interface objects, development tools that speed up the development process, and a complete set of documentation. The Java DMK is a compliant implementation of the following specifications:

  • The JMX specification

  • The JMX Remote API specification

The programmatic components of the Java DMK include the following.

  • New standard communication modules - Version 5.1 of Java DMK defines APIs for accessing JMX agents remotely. This version includes new standard communication modules that based on RMI and JMXMP protocols, as defined by the JMX Remote API specification. The JMXMP connector is a custom connector that has been created especially for the JMX Remote API. JMXMP is based on Java serialization over transmission control protocol (TCP) connections.

  • RMI, hypertext transport protocol (HTTP), and secure HTTP (HTTPS) communication modules. You can still use the legacy communication modules based on the RMI, HTTP, and HTTPS protocols that were included in previous versions of the product. These legacy communication modules are deprecated in Java DMK 5.1.

  • HTML adaptor. The Java DMK includes an HTML adaptor, which supports access to an agent from a web browser.

  • Agent services. The library of supplied services includes monitoring, scheduling, dynamic loading, defining relations, new and legacy systems for cascading agent hierarchies, dynamic agent discovery, and components for implementing security mechanisms.

  • SNMP API. Applications that rely on the SNMP APIs can integrate into existing network management systems and can help these systems migrate towards a more dynamic, service-based approach to network management.

  • SNMPv3 compliance. Java DMK 5.1 provides an implementation of SNMPv3 security to protect your systems from outside interference.

  • Security mechanisms. Java DMK 5.1 allows you to choose the level of security you require. For example, for an RMI connector over JRMP, you can use an RMI socket factory, so that the connection between client and server uses the Secure Socket Layer (SSL). A more advanced level of security is available with the standard JMXMP connector, which is based on the Java Secure Socket Extension (JSSE), the Java Authentication and Authorization Service (JAAS), and the Simple Authentication and Security Layer (SASL).

The development tools are implemented as two standalone applications:

  • mibgen - This tool is used when developing SNMP agents. A management information base (MIB) represents the management interface of resources in an SNMP agent, and mibgen generates the corresponding Java objects.

  • proxygen - This tool is a proxy object generator for use with legacy connectors. The proxygen tool simplifies the development of Java technology-based management applications. Proxy objects make the communication layer transparent to the manager application. Note that if you require proxies for standard connectors, you should use the dynamic proxies provided by J2SE (java.lang.reflect.Proxy), not the proxygen tool. The proxygen tool is deprecated in Java DMK 5.1.

Finally, the Java DMK includes complete documentation for developers:

  • The full description of all classes, interfaces and methods in the APIs, generated by the Javadoc utility.

  • The source code for programming examples, which demonstrate various aspects of the functionality of the Java DMK.

  • A tutorial that explains the programming examples and a reference guide for the standalone tools.

  • Both online HTML and PDF file formats for all documents. The HTML format complies with the accessibility standards for electronic and information technology covered by section 508 of the Rehabilitation Act Amendments of 1998.

Previous Previous     Contents     Index     Next Next