My question is based on a business model of a financial services organization that currently is supporting applications that are a hybrid mix of Classic ASP and Java, with some JSP’s already in some of the applications.
Specifically, in our large application, all of the FE starts with ASP and then uses a crude request based token that is used by other code to determine which JSP to call. In the other application, which is a suite of four linked applications, the main application and one other use all ASP in the front end and java code for the BE. The two others that are linked to it use JSPs and java code exclusively.
Due to excessive maintenance costs of using this hybrid system and concerns for using obsolete technology, management has bought into modernizing our applications to all Java and removing all ASPs on these applications. I'm on a panel group that would have to propose which Java UI to use as each UI technology has its own set of strengths and weaknesses.
Making the assumption that the following item makes up our basic use case: modernizing our current classic ASP UI to a Java standard, which incorporates the following goals:
- In general, a system that is more amenable to change.
- That would be flexible for future growth based on technology changes in the market.
- Not tied to a niche market or something experimental or unstable or cutting edge.
- More modularized code that would allow the UI to be converted to another technology, if the business need arises. This would coincide with the code structure and not just the technology, but I felt it was worth mentioning.
- Better performance.
- Stable and scalable.
- More secure than classic ASP.
- Better ROI on development time. It's been hard finding people with Classic ASP that also know Java well. Also, this would also have to incorporate the learning curve for new developers as I've heard JSF has a steep one.
Now, to the point, with the number of java UI frameworks that I’m aware of: JSP, JSF, JavaFx, Tapestry, Vaadin, GWT, Velocity, Freemarker, and Thymeleaf, based on actual experience from other developers that have actually had to do this type of conversion what have you used to do this?
Do you have any lessons learned that would coincide with this use case and business model? I don't want opinions, but answers from real life experiences.
Currently, we are being asked to limit ourselves to just JSP or JSF, but I'm not so sure those should be the only alternatives. Currently, the talk is to move everything to one or the other as another team is going down the JSF route. We are wanting to adopt a standard for everyone however. So overall, we have some infrastructure for JSF, but it's heavily favored for JSP at this time.