J4ONet Enterprise Viewpoint Analysis

JMX is useful for systems that span a a single JMX agent, or span a well defined system of JMX agents that can be trivially linked via protocol adaptors and connectors. In ODP systems, this level of pre-determined and stable state is not possible or even always desirable. It is necessary for distributed components to be able to query or "discover" their environment at runtime as needed. There are current technologies that allow for runtime configuration of systems such as directory services like JNDI or LDAP or discovery services such as JINI's.

J4ONet needs to be able to leverage these types of technologies. It also needs to not rely on them being present. J4ONet should enable JMX agents to discover each other and services running on the system dynamically. It should have its own peer to peer element to enable basic discovery services without reliance upon other technologies. It should offer a straight forward path to leveraging existing discovery and configuration services. It should be able to use this information to build a cache or "world view" of the existing system's state.



A client should be able to ask a JMX Agent to discover, or "resolve" the location of specific classes of MBeans or agents. This JMX Agent should be able to coordinate a federation of resolvers to handle resolution requests. These resolvers each would represent a different strategy: some could leverage specific technologies, like use JINI or JNDI to discovery JMX components; others may represent specific areas, like gateway resolvers which each query a specific set of other JMX agents over the network.

A MBean should be able to announce its presence to the rest of the J4ONet system as it sees fit.

A client should be able to access MBeans via a proxy object that will provide location transparency. A client should be able to get a proxy via some sort of factory object.