Seems like the dev list has been a bit quiet lately as I know many folks have been working on getting 2.0 done and through some additional testing for Axis, fit and finish stuff, etc. Although important, its not exactly the next generation so I thought I'd start this thread to get some ideas formed around the next step for AG. These are just my thoughts and I'm soliciting input for ideas and discussion.

I thought I'd put my thoughts in the form of a user describing what they need from Geronimo. This is based on input I've heard from several folks as well as users and includes some of my own ideas as well. It feels like we've been chasing the specs for so long that we haven't fully realized some of the other awesome ideas people have had. Aaron's plugin architecture is workable but not fully consumable, Dain's repository work and a host of other ideas. I think now is the time to have some fun. To that end here is the list of requirements.

Geronimo 2.1 Punch List

*Flexible framework for building server assemblies that include only the components needed for an application*

This means that a user could either build a custom assembly with only the needed parts or, alternatively, could run with all parts available but only start what they need. The model is up to the user to decide based on their unique requirements.

*Dynamically binding needed elements*

Using the plugin architecture and Maven repo concepts one could install a needed element into the server by simply pointing to a remote repository and installing the element. Other artifacts needed for execution would be obtained automagically from either the network or a shared filesystem as needed and based on the policies provided by the user. The default mode of operation would provide the best user experience.

*Dynamic Console for managing installed artifacts*

Improve the console framework to allow installed artifacts to register a portlet for managing the configuration. For highest level of flexibility a component would provide the required portlet elemtns and we would bind them into the navigation framework and security infracstructure. We'd need a good set of docs and samples to help people in deploying this easy. Ideally we would start with a minimal assembly and a mgmt console so that new functions could be loaded through the console. I'm not sure that we'd need to have an assembly smaller than minimal at this point since we'd need a web container for the mgmt console anyway.

*Cluster Aware Mgmt Application*

For users that want to federate a number of servers together we need a clustering solution that will allow for configuration of nodes as well as autodiscovery. This requires a clustering element for Geronimo that takes into account multiple clustering users (services). I think Jeff has some of the foundation in GCache.


*SOA Assembly*
It would be great to have a SOA assembly (that works in a flexible way :) with AMQ, ServiceMix and a Tx Manager. A LOT of people I talk to want something simple like a Tomcat and a Mule...let's give it to them.


*Tooling*
A really huge part of what people have talked about as being important is tooling integration (I've heard mostly about Eclipse and NetBeans).


*OSGi and Spring*
This has been kicked around for a long time. I was talking with someone who said they needed a flexible runtime that would allow them to wire in OSGi bundles (seems like the traction is increasing) and use Spring for the configuration. People smarter than I can weigh in on this area but this is seems to get Independent Software Vendors (ISV's) all hot under the collar. If we could deliver this with the flexible server stuff I think we'd have a huge swell of interest.


Other thoughts?


Reply via email to