GlassFish v3 Admin GUI One Pager [
Unknown macro: {TableOfContents title=' '}
|(TableOfContentstitle='')] 1. Introduction 1.1. Project/Component Working Name: Admin Console for GlassFish V3 Prelude Release 1.2. Name(s) and e-mail address of Document Author(s)/Supplier: The individual who are wrote this document Anissa Lam anissa.lam@Sun.com 1.3. Date of This Document: June 30, 2008 updated on July, 23, 2008 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 V3 Lite 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. The Admin Console 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 the Admin Console. The Admin Console will be using the Woodstock components, a JSF component set. It is assumed that the released version, Woodstock 4.2 GA, which will be integrated, will not have major fault that prevents the Admin Console from utilizing it. Almost all of the features and enhancements depend on backend support, and that that AMX API will be provided. Detecting the available modules for installation or update depends on the API provided by Update Center 2.0. This is still a work in progress and it is assumed that these APIs will be delivered as committed and on schedule. 3. Problem Summary 3.1. Problem Area: The Admin GUI needs to provide support for configuration so that user is not limited to the command line interface. Since GlassFish V3 has a modular, extensible architecture, the Admin Console needs to solve the pluggability issue, such that any module can plugin to the console, be recognized, and coexist with other GUI modules. As product updates and add-ons for GlassFish V3 will be deployed through the industry-strength Update Center 2.0, the Admin GUI should be able to inform GlassFish user for any installed or available modules for updates. In previous releases, the same product title, login page and branding were used for both the open source project and Sun product. This needs to be resolved as well. 3.2. Justification: The Admin Console was well received by the community and often viewed as a differentiator from other similar products in the market. For GlassFish V3, we need to continue to provide to the user this user friendly administration tool. 4. Technical Description: 4.1. Details: The Admin Console will provide support for the following in the V3 Lite release: Pluggability To align with the objective of V3 release, the Admin Console will provide the API and support for modules to plugin. The plugin points include:
- Tree Nodes
- Tabs
- Pages
- Themes
- Help Set
For more information about this feature, please refer to the one pager for Pluggability/Extensibility. Tree Nodes, Tabs and Pages are committed for V3 Prelude release. Themes and Help Set integration will not be in this release. Update Center Integration In order to minimize the size of the Application Server download, the footprint, and initial start up time, it is decided that Admin Console will not be in the application server bits for download. After server installation, when user first accesses the admin console, the screen will say that the console is not installed and ask if he/she wants to download it from the update center. Upon confirmation, there will be a progress icon and message showing the progress status. After the war file is downloaded and deployed, the usual login screen will be displayed allowing user to login to the console. This download step is a one time procedure. Note: This is just an animated icon, and not the actual % of bits downloaded or the % of completed task. For V3 final, we may consider giving more detailed information to user. The only method that the UC API provides for obtaining progress information is through the Log object. We can create a special log handler and attach it to the com.sun.pkg.client log and we can get information messages down to the detail of each individual file that is downloaded. Any modules that are for plugging into the console will be available through the update center as well. The Admin Console will utile the API provided by UpdateCenter 2.0 to show a list of available modules, its version and date. From the list of available modules for installation or update, the user can select the module to download and install. A server restart is required in order for this module to go into effect, and user will be informed about this. The team is working with HIE to design this page. When a mockup is available, a screenshot will be attached here. update: Here is a page in the console. Since the console and any plugin module is available through update center 2.0, it means the war file, and all the plugin modules will be delivered as IPS packages. update: Issues discussed in the review meeting:
- License text file for each module may not be available and display to user before installation. We will display a license file that contains the license term for most projects.
Limited Branding Support Due to resource constraint, OEM support for fully customized theme, including images, Look & Feel, color schemes, etc. will not be in for V3 Lite Express. However, there will be differentiation between GlassFish and Sun GlassFish Enterprise Server edition. Login Page, Header information and Logo will be different between these 2 products. Branding and OEM support is part of the pluggability effort for V3. Please refer to the one pager of Pluggability/Extensibility for more info. Web Tier Support Web container support in the console is implemented as a plugin and will be distributed as part of the web distribution. The following functionality will be provided and the UI is the same as in V2 release. Most of this is already in the TP2 release.
- Web Application
- deploy/undeploy/redeploy
- Listing
- Launching
- Enable/Disable
- Web Container Configuration
- (editing of General, Session, Manager and Store properties)
- HTTP Service
- Configuration including access log, request processing, HTTP protocol and file Cache, Keep Alive, Connection Pool.
- Listing/Create/Delete HTTP Listeners
- Edit the listener and SSL elements
- Listing/Create/Delete/Edit Virtual Servers
Core Functionality Core functionality in Admin Console includes
- Common Task Page. (customization for this page will not be in Prelude release)
- JVM Settings
- Domain Attributes settings, such as reload poll interval, session timeout etc.
- Product Registration (exactly as in GlassFish v2)
- Version Button for showing the exact version that is running
Domain Restart This is a new feature added to V3. There will be a button in the General information page for restarting the domain. Admin backend code will provide API to determine if domain can be restarted from Admin Console, if true, the button will be enabled, otherwise disabled. Resources The same support as in V2 for JDBC. This includes
- List/Create/Delete/Edit JDBC resources
- List/Create/Delete/Edit JDBC Connection Pool
- Ping JDBC Connection Pool
Basic Monitoring for Web Tier A few basic monitoring UI pages that are most relevant to the web tier will be shown in the Admin Console. The existing v2 monitoring UI will not be carried forward into v3 because we want to improve the monitoring UI to be easier to use, and the data shown more useful and meaningful. The new UI in v3 Prelude will show how the performance of the web container is doing. Performance will be represented as a trend line of the average response time over time in a line chart. The response time will be averaged at 1 minute intervals. Other data will be displayed to help the user discover the cause for the poor performance. Load will be represented as a trend line of the number of requests per minute over time. % Utilization of the thread pool will also be shown a a trend line as line chart over time. The Refresh button will allow the user to see data for the current time. (Details subject to change. Tables may be used instead of charts for given time constraints.) Use Case Scenario: A Sys Admin glances at the Performance tab and sees that the page latency has been trending up! It looks like traffic started growing around 1:14 or so and the server started lagging around 1:22. Looking at the HTTP thread pool, we see that all the threads are in use (not good), and a lot of requests for myAccount.jsp have been hanging. So we immediately have important information and a lead. We know the site is under heavier-than-usual load and is performing poorly, and it probably has to do with the myAccount.jsp page. We can now notify the developers and start digging through the error logs, and probably get a thread dump. UI mock-ups (To be finalized): Cannot resolve external resource into attachment. Cannot resolve external resource into attachment. Cannot resolve external resource into attachment. Configuration: There will be one ON/OFF switch for the basic monitoring exposed through the Admin Console. Configuration of the time intervals for line charts will be post-Prelude. Dependencies: The monitoring UI will depend on the following monitoring infrastructure and interfaces for the data that will be presented in the UI:
- REST API - in progress
- Monitoring telemetry objects - in progress
- gProbes infrastructure - in progress
- jMaki charting
Features listed below is Nice-To-Have, and based on the current available resources and published schedule. The chance for delivering these features is slim.
- Scripting Support. This may include Rails and Grails application deployment and listing of the application.
- Application Management. Allows editing of Deployment Descriptor after application is deployed.
- Security Realm Management. Allows listing/creating/deleting/editing of security realm.
- User/Group Management.
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: The Admin Console may not be able to cover all the functionality available in CLI in the Prelude release. Examples being security realm management, user/group management etc. 4.5. Interfaces: 4.5.1 Exported Interfaces
Interface |
Stability |
Package Name |
Comments |
ConsolePluginService |
Evolving |
org.glassfish.admingui.plugin |
Java API |
Integration Point |
Evloving |
org.glassfish.admingui.plugin |
through JSFT syntax |
4.5.2 Imported interfaces
4.5.3 Other interfaces (Optional) Any private interfaces that may be of interest? 4.6. Doc Impact: The On-Line-Help doc set needs to be updated accordingly. The content will not be significantly changed, but the set from V2 will need to be broken up into smaller doc set, to be included in each plugin module. Other docs that refers to administration of Admin Console will need to include sections on how modules can add support in the console. 4.7. Admin/Config Impact: There are no UI changes in the way to config application server. 4.8. HA Impact: What new requirements does this proposal place on the High Availability or Clustering aspects of the component? 4.9. I18N/L10N Impact: Localization of Admin Console is needed. 4.10. Packaging & Delivery: What packages, clusters or metaclusters does this proposal impact? What is its impact on install/upgrade? 4.11. Security Impact: None. 4.12. Compatibility Impact None. 4.13. Dependencies: Admin Console heavily dependent ton the Admin Infrastructure backend and the AMX API. It is important to work with the admin infrastructure team very closely to resolve any backend issues affecting our implementation. 5. Reference Documents: List of related documents, if any (BugID's, RFP's, papers). 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 V3 Prelude.
|