Each chapter of this book documents a single topic covered by the example application.
"Standard MBeans" shows how to write a standard MBean by following the design patterns defined by the Java Management extensions. The example shows how an agent then accesses the attributes and operations.
"Dynamic MBeans" shows how to implement the DynamicMBean interface to expose a coherent management interface. Running the example highlights the similarities and differences between dynamic and standard MBeans, with an analysis of performance issues.
"The MBean Server in a Minimal Agent" covers the interface of the MBean server which is used by all agents. We introduce the object name of an MBean which is its only reference in the MBean server. The only MBeans in the minimal agent are the communications MBeans, but this is enough to connect to the agent and manage it.
"The HTML Protocol Adaptor" gives us a management view of the MBeans in an agent through a web browser. It lets us create MBeans, update their attributes, invoke their operations, and remove them dynamically in a running agent.
"The Base Agent" is similar to the minimal agent but it shows how to manipulate MBeans programmatically through the instance of the MBean server. It covers the different ways of creating and interacting with MBeans in the MBean server. This topic also covers how to process the descriptor objects that represent MBean information.
"The M-Let Class Loader" is a service that lets agents and managers load MBean classes dynamically from the network. It is a fully manageable service, which means that a remote manager can create it in an agent and ask it to download classes for new services or new resources.
"Creating an SNMP Agent" demonstrates how the SNMP protocol adaptor makes a Java Dynamic Management agent also act as an SNMP agent. The MBeans generated by the mibgen tool represent SNMP MIBs which can be accessed by any SNMP manager connecting to the SNMP adaptor. This lets you implement your MIB through Java code and take advantage of the agent services.
"Developing an SNMP Manager" shows you how to use the SNMP manager API to program an SNMP manager. An SNMP manager handles Java objects representing peers, parameters, sessions, and requests to access SNMP agents and perform management operations.
"Implementing an SNMP Proxy" gives an example of an SNMP proxy that you can use in an SNMP agent developed with the SNMP adaptor. An SNMP proxy is an object that handles remote MIBs in a sub-agent. The proxy acts as a single point-of-entry to let a manager access a whole hierarchy of sub-agents.