...
For a long time we've been on the brink of having an actually modular server, not just a conceptually modular server. As reflected in a lot of recent discussion on the dev list, I think we are so close we should really work hard to make this a pleasant reality. Some of the steps I see:
enhance the plugin framework
enhance the plugin framework so bits of more config files can be added, in particular artifact_aliases.properties and config_substitutions.properties. IIUC Paul has some schema changes and xml handling rewrites in the wings as well
plugable admin console framework
finish up the pluggable admin console work and actually split the admin console into appropriate bits for the plugins
rearrange the build so it is organized by plugin (component/feature)
actually assemble the servers we ship using plugins, perhaps using gshell scripts
have more server-building tools.
For instance, a "button" to push that spits out a server with just what is needed for a set of apps and nothing else.
Clustering
Security
jaspi
triplesec
administration
beyond javaee security for jetspeed and roller
There are some good things about javaee security such as the idea of using Permissions and evaluating them in a policy but there are also a lot of limitations and problems such as no support for restricting access to user generated content that didn't exist when the security was originally configured. At least roller and jetspeed have run into this problem. I think triplesec may provide a fairly generic solution and it might be interesting to see if other projects are interested in this.
...
Management and troubleshooting
ARM
"trace on error" facility.
Have a list of info that each component can add to as the request moves through the system. If there's an error, we can show the entire path taken with all data. Otherwise we discared it.
server farm management (gshell?)
Note | ||
---|---|---|
| ||
This is definitely on my "in my head" roadmap for the shell, though we need those clustering bits first to give it something to work with. One thing we might want to add before then is some kind of reboot facility to the server, which is possible using the GShell launcher process. So a user can install some muck, tweak some configuration, then tell the server to reboot and basically pick up a pristine configuration and working environment. The same basic mechanism could be used to create a rollback configuration, or named configurations, etc. |
...