In uPortal HEAD towards uPortal 2.6, I really think we should adopt Spring WebMVC for the view layer.
Advantages:
- Declarative configuration and dependency injection.
- Encourages approaches that more easily port forward into uPortal 3.
- Encourages componentization that will more easily result in upgrade paths to uPortal 3.
- Well documented, well regarded framework.
- Superior exception mapping technologies – that "uPortal error" static screen hard coded in uPortal 2.x to date becomes a JSP that you can institutionally brand.
- AOP becomes possible. You may not want to do this, but it becomes an option, another way to customize your usage of uPortal without having to hack the source.
- Customizing the web layer becomes more feasible. If you have special login logic or fronting checks or additional services you'd like to wire next to your uPortal, you can wire them in via Spring WebMVC.
- Spring WebMVC is a Java web application framework usable for all sorts of things outside uPortal. Greater understanding of this framework among JA-SIG developers is a very good thing as it is a framework for using Java in the administration of higher education outside the portal as well as within.
Disadvantages:
- Learning curve: we haven't used Spring WebMVC to date, so servlet-inclined developers will have something new to learn to understand how this works.
- Conversion issues: there's work and likely problems introduced by this migration. It won't work perfectly right away. We'll have to work the kinks out of our usage of it.
