@John: it could be good to know if your reasons to object JSF. In my understanding JSF 2 solved many of the problems, and it have some very useful features. Maybe if some idea is enough useful, myfaces community can push to include it on next JSF 2.2 spec. Suggestions, critics and tomatoes are most welcome ;-). That's how innovation works, right?
Try developing a mostly read-only/downloads application...JSF is overkill for that. State your reason for using JSF for a read-only/downloads application. I've been thinking about using Opa http://opalang.org/ Compiles to exe. Please study Opa make Java/JSF as easy to use as that. It would be good to see a head to head comparison (same apps) to see which one is easier to read, quicker to build etc. Also, caching is a nightmare with JSF. You can cache in application scope, but then you have to provide a refresh button. JSF needs a way to provide caching so that the application programmers don't need or care to know how many times the getters are called. A correct caching scheme will avoid referencing the database too many times. I realize we should use JPA instead of JDBC. There needs to be a refresh button (or flush cache) with JPA, and the application and session scope caches (they should work in concert with the refresh button on the browser). Can one tell if the refresh button has been pressed by looking at HTTP? I don't know. Maybe we need an extension to HTTP, so we don't get those stupid popups anymore (do you want to resend?) There's a requirement to both fetch new data, and a requirement to cache data for speed. A good application framework would support both w/ the application developer having to build their own cache and refresh technology. There's a requirement to cache across multiple users, and many "experiments" or main objects of concern selected from a list (although the most recent is the highest priority). The amount of overhead and memory required to run JSF is a concern. It seems like Oracle just wants to sell servers instead of making a good technology. John