Hi, Sanket, thanks for this initial draft.  Here are some comments.

Section 5.2

- I think you might to say "Derby JMX Components" because the last section was a general overview of JMX, and one might think this was still about JMX in general

- In the figure you have a JDBC Service MBean, but in the table it's not there and you have a Driver MBean. Are these the same?

- I think it might be worth going int more detail on how a Model MBean works since this is what you're proposing to use. I liked this text from http://www.admc.com/blaine/howtos/jmx/ch06.html

"Developing Dynamic MBeans and OpenMBeans is straight forward in that you code methods in the class that you want to expose (though, as explained, those methods are ugly and difficult). With Model MBeans, you do not code in the class file that you want to expose. You use a factory to instantiate an empty Model Mbean, then tell that Model MBean what methods to expose (these methods can be from any accessible classes). So, you do not have a .java file that is a Model MBean, you get a Model MBean from the JMX implementation and work with it. (Just like you usually don't have a .java file that is a Properties. You retrieve or instantiate a Properties instance and work with it.)"

- I think you need to clearly define some terms to help avoid confusion: In particular, I think it's important to make sure we're all on the same page as to what a "Monitor" and "Service" are (I'm assuming these refer to the Derby concepts of monitor and service).

- I'm not sure if MonitorMBean is the right name, as this is an internal concept. What is the right name for this MBean from the perspective of the user? I think a Monitor has a 1-1 correspondence with the Derby concept of a "system" -- see http://db.apache.org/derby/docs/dev/devguide/cdevdvlp27610.html

- I'd like to see a summary of the methods, properties and callbacks for each MBean. I'd also like to see something like a UML diagram showing the relations between MBeans. For example, I think there is a 1-many relationship between Monitor MBean and Database MBean.

Thanks for the initial peek!

David
Sanket Sharma wrote:
Hi,

While was drafting the High Level Design document for JMX extensions I
thought of putting it up on the wiki for some early feedback.

The HLD can be accessed here :
http://wiki.apache.org/db-derby/High_Level_Design

Please note that:
1) This is draft document and is subject to constant changes
2) The document is still at very nascent stage. A lot of stuff is
still missing, but it will give the reader enough idea of the propsed
architecture.
3) The document does not contain any implemenation details. Code
examples are provided just for understanding. They should not be
mistaken for real code.

Please let me know if I'm missing out any of the required details.

Awaiting comments.

Sanket

Reply via email to