BTW, forgot to mention, if you took a look at the latest Struts2.1.8 that has now released OSGi plugin as its official plugin, and from what I know, Attlassian is using it to implement the OSGi modularity in their revamped application architecture. I hope to play with that as soon as I could manage to cut out some time for it.
On Tue, Oct 20, 2009 at 1:04 PM, Thomas Joseph <[email protected]>wrote: > Filippo, > > You are on an interesting task. IIRC, few months back, you were on search > for a best web framework for OSGi. Looks like you settled with Spring MVC. > > <OT> > Last year, I did slices similar work with JSF, but it was not very neat > (may be if I put some more effort I can make it), there my integration with > Spring WebFlow was a blocking stone, that did not mesh directly with OSGi > slices concept (I used to call them web-modules), and we had to implement > our own flow handler. But right ow due to other project priorities, I have > given up that task. But by looking at your work, it seems similar > </OT> > > > On Mon, Oct 19, 2009 at 9:00 PM, Filippo Diotalevi < > [email protected]> wrote: > >> Hi, >> I'm trying to write a modular Spring MVC web app, where I can >> install/uninstall new "pages" at runtime, to be run with Pax Web. >> >> Of course that's simple with PaxWeb (whiteboard-ext) and plain >> servlets, but I'm wondering if anybody is trying to do that with >> Spring MVC. The suggestion, on Spring side, is to use Slices [1], >> which is however tied to the Spring DM server. >> >> In theory it shouldn't be that complicated. In the most simple >> approach, one would need >> - an HandleMapper, that takes an URL and maps it with a Controller >> (that can be instantiated in any bundle) >> - a ViewResolver, that takes a view name and maps it with a file (say, >> a JSP) contained in one of the bundles >> >> I've implemented the HandleMapper, a simple implementation is quite >> straightforward, using the whiteboard pattern (exactly how pax >> whiteboard does). Any bundle can publish a Controller service, with a >> property "alias" defining the URL it must be mapped to. Then, when a >> request comes, the HandleMapper just look in the service registry for >> a Controller with the right alias. >> >> Moving to the second part, I'm not sure how to do the mapping between >> a view name and a file. What's the best approach here? >> Should I publish a File object in the service registry, with a >> "view-name" property defining the view it must be mapped to? Not so >> sure here. >> > > I have not worked on Spring MVC, however, I too had to do a similar thing > - mapping view-name to a file. From my experience, the best way would be to > include a namespace convention in your view names. The namespace couold be > for the simplest case be the bundle symbolic name (version if you require, > or rather give the logic of picking up the version as a configuration) > > eg. dashboard for a customer screen ---> myapp-customer-dashboard.do > dashboard for admin screen --> myapp-admin-dashboard.do > > And not sure how you are picking up the view file itself from the bundle, > because again that may need a convention, that you can device again sith the > simplest case being bundle symbolic name, or else chose the java package > name itself. > > Not sure if you could get my point, and if this is what you need. Let me > know if you want any clarifications > > HTH > > > >> >> Does anybody have tried to write a similar application? wdyt? >> >> [1] http://forum.springsource.org/showthread.php?t=75771&highlight=spring >> >> Many thanks, >> -- >> Filippo Diotalevi >> >> _______________________________________________ >> general mailing list >> [email protected] >> http://lists.ops4j.org/mailman/listinfo/general >> > > > > -- > -- > Thanks and Regards, > /Thomas Joseph > > LinkedIn: http://www.linkedin.com/in/ethomasjoseph > Twitter: http://twitter.com/ethomasjoseph > Blog: http://openthoughtworks.blogspot.com > > ------------------------------------------------------------ > Promote Open Source - Promote Liberty of Ideas and Software. > ------------------------------------------------------------ > -- -- Thanks and Regards, /Thomas Joseph LinkedIn: http://www.linkedin.com/in/ethomasjoseph Twitter: http://twitter.com/ethomasjoseph Blog: http://openthoughtworks.blogspot.com ------------------------------------------------------------ Promote Open Source - Promote Liberty of Ideas and Software. ------------------------------------------------------------
_______________________________________________ general mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/general
