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 Information


Modified by



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

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

Component Name

Component Function

Starts As

Started By

Management Service

Derby Management Service

JMX Agent


Authentication MBean

Management for Authenticaion Service

Model MBean

Management Service

System Manager MBean

Management for entire system (monitor)

Model MBean

Management Service


Management for Driver


Management Service

Database MBean

Management for any loaded databases


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


Implemented As


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

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.

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
JMX tutorial at Sun:
JMX tutorial at XMOJO project:[[BR]]