I won't use then in real world because of their buggy nature, slow load time, etc. However I can't put that as a reason in part 2.
If used with RMI, then requires HTTP tunneling, else you need to keep the RMI port open
Expects the client system to have minimum software and hardware
Difficult to maintain as a changes need to be pushed to all client systems (I know WebStart has improved this a lot)
Minimizes data transfer over network
Can work with limited ability in a disconnected mode
RIA (AJAX, etc)
Has all the pros of Swing client, plus it can use the Web 2.0 features
Multiple technologies to learn
If not done carefully, might result in a lot of network traffic
Having said that all, I am inclined towards using a RIA for my part 2 assignment. Please let me know if my analysis has covered every possible pros/cons and what would be the best way to describe this to Sun.
Thanks for your comments!
"I won't use then in real world because of their buggy nature, slow load time, etc. However I can't put that as a reason in part 2."
That's probably not something you'll want to say too loud on a Sun exam.
"Difficult to maintain as a changes need to be pushed to all client systems (I know WebStart has improved this a lot)"
That's probably not something you should mention either.
You shouldn't approach a Sun exam thinking that two of the three core presentation technologies they offer won't work because they are buggy and difficult to maintain. You're one step away from submitting a Visual C++ program to them and saying "see, Microsoft does it right, so that's how I did it!"
JSF and AJAX are good, but I don't think when Sun talks about rich clients, they are talking about Web 2.0. When Sun talks about a rich client, they usually mean Swing, the richest of them all.
Remember, this is a Sun exam. If you start throwing in all sorts of peripheral technologies, or non-Sun technologies, you may find yourself in trouble. I love JQuery, but I'm not sure if the SCEA exam is the right place to be promoting your affection for the technology.
Sun does cosider AJAX as an alternative to an Applet. Below is an extract from Sun. My users won't be running in an intranet.
What about applets and plugins?
Don't be too quick to dump your plugin or applet based portions of your application. While AJAX and DHTML can do drag and drop and other advanced user interfaces there still limitations especially when it comes to browser support. Plugins and applets have been around for a while and have been able to make AJAX like requests for years. Applets provide a great set of UI components and APIs that provide developers literally anything.
Many people disregard applets or plugins because there is a startup time to initialize the plugin and there is no guarantee that the needed version of a plugin of JVM is installed. Plugins and applets may not be as capable of manipulating the page DOM. If you are in a uniform environment or can depend on a specific JVM or plugin version being available (such as in a corporate environment) a plugin or applet solution is great.
One thing to consider is a mix of AJAX and applets or plugins. Flickr uses a combination of AJAX interactions/DHTML for labeling pictures and user interaction and a plugin for manipulating photos and photo sets to provide a great user experience. If you design your server-side components well they can talk to both types of clients.
All the assignment says is to "PROVIDE STRONG VISUAL FEEDBACK TO USERS". I thought AJAX is best suitable for that. I'll re-evaluate.