What's Happening with JMX Technology (TS-7171)
JMX is included in the J2SE 5.0 and J2EE 1.4 specifications, and requires no additional labor or modules to get working.
MBeans:
An Mbean is a named managed object represent a resource: program module, device, collection of statistics, etc. They consist of attributes (read/write), operations, and notifications that the MBean can send.
JConsole can be used to track memory usage and interact with MBeans. JConsole is included in J2SE 5.0, but I'm not sure if it's available in any of the 1.4.2 VMs.
MBeans don't provide the ability to aggregate attributes into Collections; rather, multiple attributes must be exposed separately by the MBean. MXBeans are working to address this problem. However, a problem with MXBeans is that JMX clients must have the Collections classes used by the MXBean object.
An alternative to both MBeans and MXBeans are Open MBeans which have a Composite Data collection of named and typed items. Types are from the predefined set of Open Types.
Monitors:
The JMX API includes threshold monitors, which are already available in Tiger (5.0). A Monitor MBean periodically samples an attribute in one or more other MBeans. It sends a notification is an MBean exceeds its expressed threshold.
Descriptors:
Available in Mustang, descriptors allow generic clients (i.e. JConsole) to make inferences about the M(X)Bean attributes. Descriptors can be generated from annotations embedded in MBean classes.
Remote Clients:
JMX API for Remote Clients used connectors to support remote access using RMI, IIOP, SOAP, etc. A Web Services Connector (JSR 262) provides access from non-Java clients such as Perl, C#, etc. XML serialization replaces Java serialization since it's an XML Web Service. An additional advantage is that the connector is firewall-friendly. Interestingly, it is a goal for the client to not need to know the servier's data model. This permits a generic client, such as JConsole.
Two protocol standards are emerging: WS-Management, and WSDM. They both cover distributed management using Web Services. It will be interesting see how notification of remote clients will be provided. One model (push-pull) requires the client to subscribe to events on the server, and then the server contacts the client through a web service exposed on the client-side. Disadvantage here is that