The Java Dynamic Management Kit version 4.2 is compatible with the JMX Instrumentation and Agent Specification, v1.0 (Final Release, July 2000). This is the current release of the JMX specification at the time the Java Dynamic Management Kit is shipping (December 2000).
The corresponding document can be viewed online once the documentation package has been installed (see "Overview of the Product Documentation").
The Java Dynamic Management Kit version 4.2 is officially supported for development platforms under the following configurations:
Solaris 8 Operating Environment (SPARC Platform Edition), with Java 2 SDK, v1.2.2 Reference Implementation
Windows NT 4.0 service pack 6 on Intel platform with Java 2 SDK, v1.2.2 Production Release for Windows NT
Deployment platform configurations are unsupported. However, the Java Dynamic Management Kit components are 100% Java code and should run with minimal modifications on environments compliant with Java Runtime Environment for Java 2, v1.2.2 or JDK 1.1.8. Many other configurations have been tested and are known to work reliably.
The Java Dynamic Management Kit 4.2 has been tested with Java 2 SDK (JDK 1.3.0) and no problems were encountered. JDK 1.1.x versions are provided as is but are not officially supported.
Versions 4.2 and 4.1 of the Java Dynamic Management Kit are fully communications-compatible: applications developed and running with version 4.1 can communicate with those developed and running 4.2. There is complete compatibility between agents using 4.1 and managers using 4.2. In the opposite case of an agent using 4.2 and a manager using 4.1, there is only a minor limitation with the connector heartbeat feature (see "Heartbeat Cross-Compatibility").
Versions 4.2, 4.1, and 4.0 of the Java Dynamic Management Kit are fully code-compatible: applications developed with version 4.1 and 4.0 will compile without modification when using version 4.2 of the packages. Some classes may cause compiler warnings about deprecation, but functionality is unchanged.
Due to major architectural changes, including the JMX compatibility, there is no communications-compatibility between version 4.2 of the Java Dynamic Management Kit and versions 4.0, 3.2, 3.0, and 2.0. Code developed for versions 3.2, 3.0, and 2.0 will most likely need to be ported in order to take advantage of the new architecture. Agents and managers developed with different versions of the product are definitely incompatible at the communications level, except for SNMP.
Due to its relatively stable protocol definition, SNMP can be used to connect applications developed with different versions of the Java Dynamic Management Kit, to the extent that the protocol was implemented by those versions. Agents or managers must continue to run their original version of the product, but they may communicate through SNMP with entities developed and running with different versions.
Files generated by the mibgen tool of the 4.2 release are compatible with those generated by the 4.1 version with one exception. The metadata classes generated for a MIB and used by the SNMP adaptor need to be regenerated. The other classes generated to represent the whole MIB and a skeleton implementation of each MIB group are unchanged, and they can be safely replaced by your previously customized implementations.
You must run all communicating agents and managers with the same major version of the Java Runtime Environment, either all using JDK 1.1 or all using Java 2. The behavior of a manager running Java 2 and communicating with an agent running the JDK 1.1, or vice-versa, is undefined. Data integrity and behavioral integrity are only possible when both agent and manager run the same version of the Java environment.
Again, SNMP interoperability has the advantage over other protocols of being independent of the Java environment version. The SNMP protocol adaptor can, regardless of its Java version, receive and decode requests from any SNMP manager. And a manager implemented with the SNMP manager API can send requests to any agent, without needing to know about its version compatibility.
When product version compatibility and Java version compatibility are respected, the Java Dynamic Management Kit offers full management compatibility across heterogeneous platforms. For example, a manager running on a SPARC server could manage a whole deployment of Windows NT PCs, controlling their availability and upgrading their Java-technology based software when needed.