olosittaol
*** Work In Progress ***
1. Introduction
1.1. Project/Component Working Name:
OpenESB Runtime Configuration UI
1.2. Name of Document Author/Supplier:
Srinivasan Chikkala (srinivasan.chikkala@sun.com)
1.3. Date of This Document:
04/03/07 (April 03, 2007)
1.4. Name of Major Document Customer(s)/Consumer(s):
1.4.1. The ARC(s) you expect to review your project:
1.4.2. The name of your business unit:
Open ESB Community
1.4.3. Interest List: dev@open-esb.dev.java.net
2. Project Summary
2.1. Project Description:
OpenESB runtime has several configuration settings which can be set
depending on user's requirements. This project allows users to view and
modify the OpenESB runtime configuration settings using a web based GUI,
CLI or Ant scripts. This project also provides an API to view and modify
the OpenESB runtime configuration settings by a java based rich clients
such as Netbeans IDE.
2.2. Risks and Assumptions:
- It is assumed that the APIs supported by the OpenESB runtime should
be available on all platforms on which OpenESB is implemented
including Glassfish V2.
- By tightly integrating the web based gui into Glassfish V2 web console,
there is a risk of incompatible GUI between tools for OpenESB on other
platforms.
- CLI tool in which this feature will be available is Glassfish V2
specific tool.
3. Business Summary
3.1. Problem Area:
OpenESB runtime configuration settings scatter across various places in
the runtime implementation and are also platform specific such as storing
the configuration in the domain.xml of the glassfish etc. Users who are
trying to set these configuration settings for runtime will find it
difficult to know all the internal details on how and where to set
runtime configuration.
The UI tools and the API will provide a user friendly views and
modification options to the users on the runtime configuration so that
users will not need to deal with the internals of the runtime
configuration.
3.2. Market/Requester:
OpenESB users and developers trying to set the OpenESB runtime
configuration during the use of the product.
3.3. Business Justification:
It is important to provide this ease of use feature to the OpenESB
product to will the users and developers.
3.4. Competitive Analysis:
This project is all about ease of use. By providing user friendly UI
and a standard API to manage the runtime configuration, customers(users
and developers) will be more inclined to use OpenESB than the other ESB
products such as ServiceMix, Mule etc.
3.5. Opportunity Window/Exposure:
This project should be available with the OpenESB.next
3.6. How will you know when you are done?:
We will know that this project is complete when there are no Bugs and
RFEs reported by users and developers from OpenESB community.
4. Technical Description:
4.1. Details:
The OpenESB runtime configuration settings will be exposed as list of
properties to the clients ( GUI or CLI ) that are interested in viewing
and modifying them. The changes made by the clients to these properties
will be persisted to retain the changes between server restarts.
4.1.1. Runtime:
Since the configuration settings are not fixed, runtime will expose them
as set of properties to the clients.
In order to present these configuration settings to the users in a user
friendly manner, the runtime interface should expose extra metadata for
each property that it exposes as a configuration settings. For this
purpose, runtime will use JMX interfaces like MBean, MBeanInfo and
MBeanAttributeInfo as a interface to the clients.
4.1.2. Common Client:
Since there are more than one client that will be accessing the runtime
configuration settings interface, a reusable common client interface
will be provided on the client side to access the runtime configuration.
implementation of this interface on the common client will take care of
common jmx management code required by the client side.
4.1.3. Web Admin GUI:
Web Admin GUI will use the common client interface to access the runtime
configuration settings and their metadata such as description, type etc.
and present that information as a editable GUI under JBI screens in a
user friendly GUI. See interfaces section for the url for the screen
shots for admin GUI.
4.1.4. ASADMIN CLI:
ASADMIM CLI will use the common client interface to access the runtime
configuration settings. it will provide commands to display the runtime
configuration settings and also to update these settings. See the
Interface section for the list of commands.
4.1.5. JBI Ant Tasks:
Since we will have a multi-platform implementation for the OpenESB, we
may provide the Ant as a standard common interface for accessing the
runtime configuration settings on all platforms.
4.1.6. Rich Client(IDE):
Rich client implementation is out of scope for this project, but any
rich client can use the client side common client APIs or can directly
use the Runtime JMX interfaces for the runtime configuration settings.
4.2. Bug/RFE Number(s):
None.
4.3. In Scope:
None.
4.4. Out of Scope:
Rich Client interface such as Netbeans GUI for the runtime configuration
is out of scope for this project and will be implemented by a separate
project which could use the APIs exported from this project.
4.5. Interfaces:
Note that the design of the interfaces are subject to change.
4.5.1. Runtime:
//TBD : Provide url for Runtime interface description on the jbiwki page
4.5.2. Common Client:
//TBD : Provide url for Common Client interface description on the jbiwki page
4.5.3. Web Admin GUI:
//TBD : Provide url for the Web Admin GUI screen shots
4.5.4. ASADMIN CLI:
//TBD : Provide url for the asadmin commands for accessing runtime configuration settings on jbiwki page
4.5.5. JBI Ant Tasks:
//TBD : Provide url for JBI Ant tasks for accessing runtime configuration settings on jbiwki page.
4.6. Doc Impact:
- Admin GUI documentation should be updated for the Runtime configuration
GUI.
- CLI tool should provide man pages to provide help on the commands
reltate to the runtime configuration
- JBI Ant tasks if supplied for for runtime configuation settings,
should be documented.
4.7. Admin/Config Impact:
- new screen that will manage the OpenESB runtime configuration will be
added to the Glassfish Admin Console under JBI Administration screens.
- asadmin CLI tool may use the existing commands or add new command to
manage the OpenESB runtime configuration via CLI.
- Jbi Ant tasks may add new ant task to manage the runtime configuration.
- There will be new interface on the common client to set/get the
runtime configuration.
4.8. HA Impact:
None.
4.9. I18N/L10N Impact:
- Web Admin GUI need to provide internationalization and localization
support for the GUI related to the runtime configuration.
- CLI need to provide internationalization and localization support for
the commands and the output related to the runtime configuration
commands.
- Ant tasks need to provide internationalization and localization
support for the output related to the runtime configuration commands.
4.10. Packaging & Delivery:
This project will be packaged in multiple modules of the OpenESB. The
impacted modules are
- Runtime configuation APIs implementation will be packaged in the
Runtime module jar files
- Common client interfaces and the implemenation will be packaged in
the jbi-admin-common.jar
- Web Admin GUI changes will be packaged under Glassfish Admin Console.
- CLI changes will be packaged under Glassfish CLI tool
- Ant tasks will be packaged in jbi-ant-tasks.jar or jbi-ant-tasks-ext.jar
4.11. Security Impact:
None.
4.12. Dependencies:
- Depends on the Runtime implemenation of the Runtime configuration APIs.
5. Reference Documents:
jbi CLI commands:
http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=Glassfish9.1JBICLIProjectPlan
jbi admin GUI:
http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=Glassfish9.1WebConsole
jbi ant tasks:
http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=Glassfish9.1Ant
jbi common client:
http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=Glassfish9.1CommonClient
OpenESB runtime:
http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=Glassfish9.1Runtime
6. Resources and Schedule:
6.1. Projected Availability:
August 2007
6.2. Cost of Effort:
// TBD
6.3. Cost of Capital Resources:
// TBD
6.4. Product Approval Committee requested information:
6.4.1. Consolidation or Component Name:
6.4.3. Type of CPT Review and Approval expected:
RFE.
6.4.4. Project Boundary Conditions:
// Give the document's URL http://....
6.4.5. Is this a necessary project for OEM agreements:
NA
6.4.6. Notes:
// See dependencies section above.
6.4.7. Target RTI (Request to Integrate) Date/Release:
June 2007?
6.4.8. Target Code Design Review Date:
May 2007?
6.4.9. Update approval addition:
None.
6.5. ARC review type:
SelfReview
7. Prototype Availability:
7.1. Prototype Availability:
// TBD.
7.2. Prototype Cost:
// TBD.
This page (revision-12) was last changed on
11-Oct-07 14:39 PM, -0700
by CozelRicsi.
This page was created on
03-Apr-07 12:27 PM, -0700 by srini_chikkala.
More info...
| Version |
Date |
Author |
Size |
Changes ... |
|
13
|
17-Oct-07 11:20 AM, -0700
|
MarkWhite |
10558 |
to previous
|
|
12
|
11-Oct-07 14:39 PM, -0700
|
CozelRicsi |
10570 |
to previous
|
to last
|
|
11
|
01-Oct-07 12:36 PM, -0700
|
MarkWhite |
10558 |
to previous
|
to last
|
|
10
|
25-Sep-07 15:19 PM, -0700
|
BonocAracg |
10567 |
to previous
|
to last
|
|
9
|
03-Apr-07 13:55 PM, -0700
|
sureshp |
10558 |
to previous
|
to last
|
|
8
|
03-Apr-07 13:50 PM, -0700
|
sureshp |
10942 |
to previous
|
to last
|
|
7
|
03-Apr-07 12:37 PM, -0700
|
srini_chikkala |
10975 |
to previous
|
to last
|
|
6
|
03-Apr-07 12:36 PM, -0700
|
srini_chikkala |
10975 |
to previous
|
to last
|
|
5
|
03-Apr-07 12:32 PM, -0700
|
srini_chikkala |
10975 |
to previous
|
to last
|
|
4
|
03-Apr-07 12:32 PM, -0700
|
srini_chikkala |
10975 |
to previous
|
to last
|
|
3
|
03-Apr-07 12:31 PM, -0700
|
srini_chikkala |
10971 |
to previous
|
to last
|
|
2
|
03-Apr-07 12:31 PM, -0700
|
srini_chikkala |
10986 |
to previous
|
to last
|
|
1
|
03-Apr-07 12:27 PM, -0700
|
srini_chikkala |
10971 |
to last
|