|
Table of Contents
1. Introduction
1.1 Project/Component Working Name
1.2 Name(s) and e-mail address of Document
Author(s)/Supplier
1.3. Date of This Document
2. Project Summary
2.1 Project Description
2.2 Risks and Assumptions
3. Problem Summary
3.1 Problem Area
3.2 Justification
4. Technical Description
4.1 Details
4.2 Bugs/RFE's
4.3 Scope
4.4 Out-of-scope
4.5 Interfaces
4.6 Documentation Impact
4.7 Configuration/administration Impact
4.8 High Availability Impact
4.9 Internationalization
4.10 Packaging
4.11 Security Impact
4.12 Compatibility
4.12 Dependencies
5. References
6. Schedule
1. Introduction
1.1. Project/Component Working Name
Admin Console for Glassfish v2
1.2. Name(s) and e-mail address of
Document
Author(s)/Supplier
Anissa Lam
anissa.lam@sun.com
1.3. Date of This Document
Aug 9, 2006
2. Project Summary
2.1. Project Description
Administration Console (GUI) is
one of the tools for application server administrators to configure and
monitor the application server.
2.2. Risks and Assumptions
Glassfish v2 Admin Console is
planned to be compliant with HCI-Admin guidelines version 2.2.
The assumption is that this guideline will be stable and will not
change significantly from previous release.
GUI will be using the Woodstock
components, the JSF-based component set. Woodstock
project is under development and scheduled to be released on Oct,
2006. GUI depends on this project and their
commitment to fix any bugs that blocks GUI release.
GUI is written on top of jsftemplating
framework, which is a java.net open source project. It is assumed
that jsftemplating will continue to evolve with features to support GUI.
Almost all the features and
enhancements depends on backend support, that MBean API or AMX API will
be provided.
3. Problem Summary
3.1. Problem Area
Admin GUI needs to provide
support for configurations that currently is only available through
command line interface. Graphic visualization of monitored
data, charts that help to analyze errors, time break down graphs
that help understand performance issues, and statistics that shows the
health of cluster are all useful features that are missing today.
3.2. Justification
This release will add features and
enhance existing features of the Admin GUI to allow an administrator to
accomplish nearly all administration tasks from the Admin GUI via a
consistent interface. The Admin GUI will be enhanced to
administer more areas of the product such as clusters and GMS.
Graphical visualization of the
monitored data, log error analyzer, creating and configuring jmx
monitors all allows administrators to monitor the Application Server
effectively. These features and enhancements will improve
Glassfish's competitive market advantage by meeting and sometimes
exceeding competitors feature sets.
4. Technical Description
4.1. Details
Log Error Analysis
This functionality would
perform in-memory error analysis by keeping count of the error
statistics. Depending on the user query, disk accesses may not be
necessary. With this backend support, GUI will present:
- Error statistic graph for past 'n' hours. Admin GUI
will display a bar chart showing the number of severe/warnings per
hour. This will be available for every server instance. User can
click on a specific bar to get the error report for that
particular hour. If the statistic is kept for more
than 10 hours, an overview of the entire time period will be shown
(refer to figure1). User
can click on any portion of the graph to get to a more specific time
period (see figure2).
- Error report for specific hour. This will be
presented as a pie chart showing the error distribution. Eg, the
pie chart may have 4 sections, each representing the error count for a
specific module. User can click on a specific section to
get more details. (refer to figure3)
- log viewer for specific instance and time. When
user click on a specific section of a pie chart, the actual log
records corresponding to the errors for that specific module of that
specific hour will be displayed in a log viewer.
The information presented by the
graph will be displayed in a table in the same page. This will
help us to be 508 compliant. As drill down graph by
clicking on the graph itself may not be 508 compliant, user
interface to retrieve more data or display another chart will follow
HIE guideline.
Presentation of Monitored data
Presentation of monitored
statistic will be enhanced in this version of GUI. This can be
divided into 2 efforts. One is a better text presentation.
Currently, the statistic is available in text format, and for the
mbeans that has lots of attributes for monitoring, the page shown is
long and user has to scroll up and down the page to view the
info. This will be re-designed and present to the user in a
easily readable table format.
Another is showing the statistic
in a graphical view. User should be able to select a particular
monitorable attributes and the data will be presented in a real time
chart. However, since it may not make sense to have charts for
all attributes, this feature will be provided for some only. This
list of attribute will be determined later as we get more input from
the backend. note: real time graph of statistic may not be
implemented for this release, it will be depending on the resource
available.
Graphing library
Admin GUI will be using
JFreeChart as the graphic component for drawing the charts.
JFreeChart is an open source Java class library for generating charts,
including pie charts, bar charts, line, area or combination
charts etc. The generated chart can be saved or exported in
different format. There is a PNG encoder that can encode the chart to
png format. Admin GUI will have a servlet that will send
the image over to the browser for display. Image maps and tool
tips will be generated to enhance user experience.
cluster information enhancement
For this release, user can tell if
an instance of the cluster has failed or stopped.
Deployment Process enhancement
The deployment of applications
and modules will be rewritten for better user interface. Progress
bar
will be added to this functionality.
Support for connector Pool Enhancement
Please refer to the one pager of connector
pool enhancement for information regarding the proposed
feature.
GUI will enhance the creation of jdbc resource or connector
resource. Currently there is a link in the resource creation page
for user to create the connection pool if needed.
Enhancement will be made such that after the user finished creating the
connection pool, they will be back in the resource creation page to
finishing up the resource creation.
To support the cluster pool feature, the current drop down list
for pool-name will be changed to a scrollable list box, listing all the
available pools thats available, allowing for mulitple selection.
To support additional properties of the pool, the current property
table will be replaced with 3 tables, - mandatory, sun-specific
and jdbc-driver-specific table. During editing, there will
be 3 additional tabs showing each table.
JBI Integration
JBI web console will be integrated into Admin Console for this
release. There will be an additional node in the navigation tree
that points to the JBI pages. The following JBI tasks
will be supported:
Manage JBI Deployments
List Deployed Service Assemblies
(SAs)
Show Service Assembly Details & Metadata
Deploy & undeploy SA
operate an SA
Manage JBI Components
List installed Binding Components
& Service Engines (BCs/SEs)
Show BC or SE Details and Metadata
Install & uninstall BC or SE
Operate a BC or SE
List installed shared libraries & show details
AJAX enhancement
This version of Admin Console will be moving to use the JSF based
Woodstock components. This will allow us to add AJAX
functionality. This version of Admin Console will be using
AJAX in the following pages and more depending on the schedule.
Deployment wizard:
Progress bar and the FileUpload components which gives AJAX
functionality will be used.
Web Service statistics page: The statistic will be updated
using AJAX
Monitoring data page will be using AJAX to show statistic thats
available.
4.2. Bug/RFE Number(s)
// List any Bug(s)/RFE(s) which will be addressed by this
proposed
change.
// Provide links to the Issue tracker Bug(s)/RFE(s)where possible
4.3. In Scope
// Aspects that are in scope of this proposal if not obvious
from above.
4.4. Out of Scope
// Aspects that are out of scope if not obvious from above.
4.5. Interfaces
// Interfaces are a major part of Architectural review.
// Commands, Files, Directory Layout, Ports, DTD/Schema, admin tools,
// config files, APIs, CLIs, and almost anything that is externally
// observable is an interface. In 1-Pager it is necessary to document
// any interface that can be used by external projects and products.
// Documented public interfaces must be assigned a stability level.
// Some commonly used Stability levels in prior projects are:
//
// Stable : Widely used public interface. changed very rarely.
//
// Standard : Defined by a standards body (e.g: JDBCv3). Rare but
// incompatible clarifications and changes could occur
// in a standard. Product will specify version of std
// supported. J2SE, J2EE and WS* are classified
// as Standard.
//
// Evolving : Subject to carefully controlled but possibly
// incompatible change at a major or minor release.
// When a change is made all efforts will be made
// to address incompatiblity and migration. All
// incompatibilities will need to be reviewed
// and approved by as-ccc@sun.com.
//
// Unstable : Early access, subject to unrestricted degree of
// change. A few App Server interfaces are classified
// as Unstable. Docs must call out exported unstable
// interfaces. Be wary of importing Unstable interfaces.
//
// External : Defined external to GlassFish Application Server,
// but not by a Standards body. Suitable for describing
// other freeware, open source interfaces.
//
// http://www.opensolaris.org/os/community/arc/policies/interface-taxonomy/
// describes the permitted interface taxonomy.
Admin GUI depends on admin infrastructure for a lot of
functionality. As a result, it imports most of the interfaces
documented for the application server.
4.5.1 Exported Interfaces
None.
4.5.2 Imported interfaces
| Interface |
Stability |
Exporting Project: Name, Specification or
other Link. |
Comments |
Woodstock components
|
Unstable
|
|
|
jsftemplating
|
external
|
https://jsftemplating.dev.java.net/
|
|
jfreechart
|
external
|
http://www.jfree.org/jfreechart/
|
|
4.5.3 Other interfaces (Optional)
// Any private interfaces that may be of interest?
| Interface |
Stability |
Exporting Project: Name, Specification or
other Link. |
Comments |
| |
|
|
|
4.6. Doc Impact
Administration guide will have the
biggest impact as it needs to include chapters regarding the new
configuration support. The online help Admin GUI has to be
updated to include all the new functionality and enhanced
features. It will also need to integrate with the JBI help
doc. Inline help for all the new screens is needed.
4.7. Admin/Config Impact
This change will enhance the
administration of glassfish.
4.8. HA Impact
None
4.9. I18N/L10N Impact
All the additional
messages, screen labels, online and inline help needs to be
internationalized.
4.10. Packaging & Delivery
The Admin GUI application will be
part of the application server. The application will reside in
the following directory: <install-root>/lib/install
applications/admingui The application will be deployed as an exploded
.war file and the directory structure would represent a web
module.
4.11. Security Impact
None.
4.12. Compatibility Impact
None.
4.13. Dependencies
We are heavily dependent on the
Admin Infrastructure backend APIs. It is important to work
with the admin infrastructure team very closely to resolve any backend
issues affecting our implementation. We will need the assistance
of HIE to ensure we are meeting HCI-Admin guidelines and can pass UIRB
reviews
5. Reference Documents
// List of related documents, if any (BugID's, RFP's,
papers,
Blogs).
// Explain how/where to obtain the documents, and what each
// contains, not just their titles.
6. Schedule
6.1. Projected Availability
Follow the schedule for Glassfish v2
|