I am working in a project that uses Spring, iBatis, Jess, Crystal Reports and SQL Server in server side and SWT/JFace,
Struts,
Java Web Start in the client side. Different parts of the system was developed by different teams independently and later integrated together. As a by-product of communication gap between different teams, we have come with a solution that could have saved a lot of time and effort if could be designed and developed upfront with single objective.
We are thinking of re-designing it, however, the server-side is pretty much neat and clean (except the reports part that we may switch from crystal reports to something else in future) and so better remain less touched. The first areas that seem a little bit isolated is the existance of client-side that involved SWT/JFace (which have been heavily twicked to make it windows-only), Struts and Java Web Start. We have 3 options that we can think of.
1. Improve the SWT/JFace and Struts codebase and design
patterns.
2. Switching to JFC/Swing due to its improvement over years that will solve part of our windows-only implementation in SWT.
3. Make our client totally thin client using AJAX or some other technologies that can leverage the power of what our thick client GUI is providing now.
Which approach would you have preferred?
Personally, I am in favor of AJAX based approach but want to know pros and cons from you.
Also do you mind pointing me to some popular AJAX based frameworks, preferably open source, so that I can develop a prototype myself without spending money?
Looking forward to your comments.