Hi guys,
in my sparetime I have done some researches and some experimentations on the modularization of WEB-UI for GeoServer.
The concept is that we would like to put the User Interface for a certain module directly inside the module JAR. That means that a module, like WCS, WPS, WCaS, ecc…, should be plugged into GeoServer by simply adding the JAR to the classpath, and automatically deployed wihtout touching anything of the GeoServer core.
My first try was to maintain the actual architecture as much as possible for the User Interface, i.e. Struts integrated with Spring.
I did almost everything by creating a MultipleActionServlet class which overrides the standard Struts ActionServlet, and allows a user to automatically load moultiple struts-config files in a way like this:
in such a way you can easily define the form beans, actions and everything inside a separated module.jar:WEB-INF/struts-config.xml. The configuration is automatically joined to the main struts-config. This is actually working very well in the 1.4.x WCS branch.
The problem is for the JSP pages … at this time I’m not able yet to let the Web Container capable of getting the JSP pages directly from the module jar file. I don’t know if this is possible … however exactly the same approach I used whith Struts can be used with other Frameworks supported by Spring like JSF, Wicket (as suggested by Andrea), Tapestry and so on. The advantage of using other frameworks instead of Struts is that they can provide a different way to render the web pages (expecially for Wicket).
–
Eng. Alessio Fabiani
Vice President/CTO GeoSolutions