Service Scope:
Name Space:
JMX services should be "scoped," meaning
that they should live in a defined domain or neighborhood. Each
JMX agent should live in a name space. This name space should
hierarchical, similar to URL name space. Search for MBean should
be able to be restricted to name space. For example, JMX agents
may live in the following name space:
com.company.cluster1.monitoring and
com.company.cluster2.monitoring would be children name spaces of
com.company. A search for an MBean of class DataBaseMonitor in
the name space of com.company would find
com.company.cluster1.monitoring:OurDomain:name=DataBaseMonitor,seq=1
com.company.cluster2.monitoring:OurDomain:name=DataBaseMonitor,seq=1.
Range:
A search should have a concept of a range.

A client should be able to limit the range of a
search. For example, only find MBeans in the com.company name
space that live in the local JMX agent or peer network.
Range:
A JMX Agent needs to have a type. One agent might be
used to control web servers, another to run a cluster
controller, etc. Each agent should have a type, and you should
be able to search for agents on that basis.
MBean Attributes:
You can query a JMX agent for MBeans according to the
JMX 1.1 specification. You can limit your search by MBean
attributes and domain. That should hold true for all resolvers.
MBean Class:
Just as a client can search for MBeans by attributes,
it should be able to search for MBeans by class. This class
should be determined as the class that a proxy would implement
for the MBean.
Transparency:
JMX Service Token:
The location of a MBean or agent should be contained
in some sort of token object that will provide location
transparency and hide implementation details. The resolvers
should use this token to identify unique MBeans and agents. It
should hide implementation details from the client. It should
expose all the scope information.
JMX Proxy:
The system should use proxy objects to communicate
across MBeans to provide location transparency. These MBeans may
be hosted locally or remotely, accessed by various protocol
adaptors. The JMX proxy infrastructure should hide the location
and access method of the MBean.
|