THIS PAGE IS BEING UPDATED

Apache Derby

Draft Proposal

High - Level Design for JMX Extensions

Document Contents

1. Revision History
2. Disclaimer and Legal Information
3. About this document

4. Assumptions and Dependencies
5. High Level Design

6. Management Service Startup (Under developement)
7. Use Cases (Under developement)
8. Security Considerations
9. Issues
10. Apache Raiders and fishes of glass (Geronimo and GlassFish) (Under developement)
11. References

1. Revision History

Version

Version Information

Date

Modified by

Comments

1.0

Document Created

Tuesday, June 27, 2006

Sanket Sharma

Comments are welcome!

Copyright 2005 The Apache Software Foundation or its licensors, as applicable.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

3. About this Document

3.1. Purpose


3.2. Intended Audience


3.3. Notation Conventions



3.4. Structure of this document


3.5. A Note


4. Assumptions and Dependencies



5. High Level Design

5.1. JMX Overview






5.2 Derby JMX Component Structure

http://wiki.apache.org/db-derby-data/attachments/High_Level_Design/attachments/resizedHLD.jpg

Component Name

Component Function

Starts As

Started By

Management Service

Derby Management Service

JMX Agent

Monitor

Authentication MBean

Management for Authenticaion Service

Model MBean

Management Service

System Manager MBean

Management for entire system (monitor)

Model MBean

Management Service

JDBC MBean

Management for Driver

ModelMBean

Management Service

Database MBean

Management for any loaded databases

ModelMBean

Management Service


As I said earlier, the basic design idea for adding extensions to Derby is to have an Model MBean per service that is loaded in Derby. Each MBean will manage a logical aspect of the system. Please note that the diagram is only intended to give the user a overview of the architecture. Several details, including modules and services have been intentionally left out to highlight the architecture.


The choice of this architecture was based upon following factors:


5.3 Individual Components

omponent

Implemented As

Functions

1.) System Management Service

JMX Agent (MBean Server)

Provides access to system management features

2.) Monitor MBean

Model MBean

Access to system level (monitor) properties & functions

3.) JDBC(Driver)

Model MBean

Access to JDBC driver level information

4.) Authentication

Model MBean

Access to authentication service

5.) Database MBean

Model MBean

Database level properties/management

.........

.............

(More MBeans to be added later )




5.4 Class Diagram

http://wiki.apache.org/db-derby-data/attachments/High_Level_Design/attachments/ClassDiagram.jpg


5.5 Component Diagram

The diagram below depicts the major componenets of the system e.g. The Agent, the MBeans and the components and interfaces used by MBeans.

http://wiki.apache.org/db-derby-data/attachments/High_Level_Design/attachments/ComponentDiagram.jpg

6.0 Derby Management Service Startup

7. Use Cases

8. Security Considerations


9. Issues

10. Geronimo and Glassfish




11. References

JMX tutorial sesssion as presented at the 2001 O'Reilly Enterprise Java Conference http://www.oreillynet.com/pub/d/858
JMX tutorial at Sun: http://java.sun.com/j2se/1.5.0/docs/guide/jmx/tutorial/tutorialTOC.html
JMX tutorial at XMOJO project: http://www.xmojo.org/products/xmojo/tutorials/docs/index.html[[BR]]

High_Level_Design (last edited 2009-09-20 22:12:44 by localhost)