In the past few weeks I have looked at the various posibilities for using Ajax with JavaServer Faces (JSF). You can of course code all the javascript/dhtml/css yourself or you can use a toolkit like Dojo, Script.aculo.us or something like that. But you can also use a set of JSF components / RenderKit. With this approach you don't need to worry about writing and debugging some ugly javascript that doesn't behave the same way in the different browsers. You naturally also get all the advantages of the JSF framework, which I won't elaborate on on this post.
Regarding Ajax for JSF several initiatives are going on both open-source and commercially. This is not a full list, but in the following I will shortly introduce some of them.
Open-source
The Sun Blueprints team is working on some AJAX components which I think is included in Sun Studio Creator 2 (I installed it the other day, but damn it was heavy to use). Ed Burns, the co-spec lead for JavaServer Faces, and Jacob Hookom, member of the JavaServer Faces expert group, put forward their take on JSF and AJAX in the JavaServer™ Faces Technology Extensions project. There is also the jMaki project which is a little broader than just JSF components I think. Finally there is Exadel's ajax4jsf project. According to Ed Burns ajax4fsj and the JavaServer™ Faces Technology Extensions project has a similar approach.
Commercial
Recently ICEsoft released ICEfaces Enterprise Edition 1.0, an implementation of JSF that relies heavily on AJAX functionality. ICEfaces looks pretty cool I think. You can take a look at their Component Suite Showcase. Actually ICEfaces also comes in a Community Edition which is a fully featured product free for development and deployment. But it miss some enterprise details such as clustered deployment support. View the complete feature comparison between the Community Edition and the Enterprise Edition here.
As mentioned earlier Exadel has their open-source ajax4jsf project. They also has the commercial Exadel Studio Pro IDE and the Exadel Visual Component Platform (VCF), which is a rich component library for JSF with AJAX capabilities. You can view a demo here. I haven't looked into VCF, but I have tried Exadel Studio which is their free version of the IDE. It works good but that's probably because it's Eclipse-based :-) For a comparison between the Pro and Free version see this feature comparison.
Very recently Infragistics announced the release of NetAdvantage for JSF 2006, Volume I. This is a commercial set of AJAX-enabled JSF components for building user interfaces in J2EE. It includes design-time support for Sun Studio Creator and Eclipse (including Exadel Studio). Infragistics also has a cool showcase of their components. According to a comment on theserverside.com from Kito D. Mann, author of JSF in Action, NetAdvantage for JSF should be of good quality.
Which one to use
I can't say. They all look cool because they make it possible to do AJAX relatively simple if you know JSF. But you should probably look into their architecture and clarify if they fit your needs. I have the luxury of just playing around with them because I'm only a student and don't do any serious customer projects. If I find the time maybe I will take a look at ajax4jsf with the free version of Exadel Studio. Or maybe the community edition of ICEfaces. Maybe I don't get the time at all! My wife is due to give birth to our first child tomorrow. Exciting :-)
