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