Finally, the Java Dynamic Management Kit allows you to access agents and their resources very easily from a remote application. All components for handling the communication are provided, both in the agent and for the client application. The same API that is exposed by the MBean server in the agent is also available remotely to the manager. This symmetry effectively makes the communication layer transparent.
Management applications perform requests simply by getting or setting attributes or invoking operations on an MBean identified by its symbolic name. Proxy objects provide a further level of abstraction by representing an MBean remotely and handling all communication: the manager can be designed and developed as if all resources were local. The communication components also handle notification forwarding, so that remote managers may register to receive notifications from broadcasting MBeans.
Management applications developed in the Java programming language use connectors to make the communication layer transparent. Connectors for the RMI, HTTP/TCP and HTTP/SSL protocols are provided, all with the same API for interchangeability.
Adaptors provide a view of an agent through other protocols for management applications which are not Java-based. For example, the HTML adaptor represents MBeans as web pages that can be viewed in any Web browser. The SNMP adaptor exposes special MBeans that represent an SNMP MIB and responds to requests in both SNMP v1 and v2 protocols.
All connectors and adaptors are themselves implemented as MBeans. Management applications may therefore create, configure and remove communication resources dynamically, according to network conditions or available protocols. Of course, the agent application may also implement security features that prevent unwanted operations on the communicator MBeans.
The flexibility of communicator MBeans and the availability of connectors for multiple protocols makes it possible to deploy management solutions in heterogeneous network environments. The adaptors create a bridge between agents based on the JMX architecture and existing management systems. You may also create your own connectors and adaptors to accommodate proprietary protocols and future management needs.