Web Admininistration Console
Goals
- Zero additional installation / configuration for end user
Increase ease of use and configuration of James -> WacFunctionalRequirements
- No side effects to mission critical components
- Decoupled so that James may be 'management console agnostic'
- Developed with simple design / frameworks so as to promote developer involvement and reduce dependencies
Stages
The development of a Web Administration Console should be staged to accomodate for changes in the current James code base. Here are the forseeable stages:
- Embed Servlet Container (optional dependent on build process)
- Abstract Administration model from James for reuse by different interfaces
- Build Core Web Application
- Build Administration Commands Section
- Build Health and Status Monitoring Section
- Build Configuration Management Section
- Build Cluster / Multiple instance Management Section //TODO (Add sections you consider useful to this list)
Embed Servlet Container
- Embed into James and make it run and deploy by adding a call to its ant script in the current run.sh and run.bat, will be embedded depending on build process
- Add container to lib
- Modify build script to have a dist-webadminfull task that builds a James with embedded container/web admin tool
- Modify build script to have a dist-webadmincontainer task that builds a container/web admin tool package
- Modify build script to have a dist-webadminwar task that builds only the web application for the admin console
Abstract administration Model from James for reuse by different interfaces
- This is not exactly part of the Web Admin Console but is required to move forward
- Determine existing functionality to be exposed
- Verify existence or create MBeans that expose this functionality
- Expose a communication interface (SOAP | RMI)
Build Core Web Application
- Decide on base technologies to be used and create the core components so that adding incremental functionality will be simple and modular.
- Build an empty web application
- Decide on frameworks if any
- Decide on page layout and site navigation
- Build core application components (Controllers, Connectors to James, communication syntax, etc)
Build Administration Commands Section
- Build this section first because it is already built into the Remote Manager so would be the simplest point to start from.
- Build Command calls and result pages for web application.
Build Health and Status Monitoring Section
//TODO
Build Configuration Management Section
//TODO
Build Cluster / Multiple Instance Management Section
//TODO