I think a central piece of an J2EE implementation should be the EJB container and that should be the first think to concentrate.
I don't believe that a J2EE server should be the /central/ piece, though it should obviously be a main piece.
One approach would be to configure various services with JMX, which leads to the question: should components be built on top of JMX, or should an interface be provided to control via JMX? My preference would be (initially) for the latter; although projects like JBoss are built on top of JMX I'm not sure it's necessary (or even desirable) to depend on JMX directly. (ApacheJ2EE hasA JMX interface, not ApacheJ2EE isA JMX interface).
I think a micro-kernel architecture for setting up the server and configuring the various pieces is probably a good idea though, and that should be the central piece. The other components can then sit on top of that:
+ GeronimoKernel |-- GeronimoJNDIService |-- GeronimoEJBContainer |-- GeronimoWebContainer (maybe an interface to plug in Tomcat etc) |-- GeronimoSecurityService
and so on.
Alex.