Jeremy Boynes wrote: > Aaron Mulder wrote: > >> Is it true that the DD information will now be specific to >> OpenEJB, Tomcat, Jetty, etc? That each module will provide its own >> DConfigBeans, and use own DDs, etc.? >>
I agree with Aaron that it is undesirable for each implementation of a service such as the web tier or ejb container to have it's own DD schemas, other configuration and management.
However, I also agree with the restructure and decoupling that has just put in place. The previous web module was trying to enforce common behaviour through an Abstract web container approach. Jeremy et al felt that was two heavyweight in the new scheme of things and that a light weight wrapping of Jetty would be better. Thus the abstract web module has been replaced by a jetty wrapper.
As he points out, lots of comminality of design/configuration/tools/management may be able to be provided with mechanisms such as common sub-schemas.
However, I don't think that this is a complete solution. Firstly we should have common code to support the handling of any common DD elements. But more importantly, I do not think that geronimo should be looking in jetty-web.xml or tomcat-web.xml for common geronimo configuration. That should be contained in a geronimo-web.xml and an implementation-web.xml should only be need for the (hopefully) minority of cases that actually cares which implementation is being used.
So the challenge is how to achieve a high degree of common behaviour without loosing the benefits of decoupling and light weight wrapping that has replaced the web module. Before proposing a solution, today I'm revisting the web architecture wiki pages that I wrote and trying to make them more requirements based - rather than solution based. I'll post that later today and hopefully a bit of discussion about the common requirements may assist in working out any common infrastucture needed by multiple implementations of the web tier.
cheers
I believe this is necessary yes.
We will make available a sub-schema that the modules can include if they chose for common elements - just like the way the standard DDs include the j2ee schema. For example, a module can use the common sub-schema and ENCHelper to handle all the ENC entries.
For more complex configurations, I believe that there will need to be module specific elements that would not fit in a unified global DD. It may not be an issue for the web modules as Greg Wilkins believes one common one will be adequate. However, modules for EJB or Connector are likely to have many more vendor specific elements - think of the issues with defining a common schema for CMP between OpenEJB and JOnAS.
So the architecture is: * deployment provides sub-schemas and DConfigBeans that other modules can use * modules decide whether to use deployment's or their own * modules are free to add whatever they like to the schema as they are in control
