Sun Developer Network recently published a series of four articles by Rick Palkovic and Mark Basler, each article highlighting a different approach to adding Ajax functionality to an existing Java EE application. The articles present step-by-step instructions on how to implement each of the techniques described within NetBeans.
As for reducing the hand-written client-side code, the authors note that:
It handles events for you
It adjusts well to browser differences
It provides support for history and bookmark browser features that can be troublesome in Ajax
It provides a wide range of useful widgets such as date picker, rich text editor, time picker, and many more
[JSF]... provides standard components that you can extend to create your own custom components, which you can then reuse in different applications. Along with the custom component, you also create a custom renderer and a custom tag to associate the component with the renderer and to reference the component from the page.
What are your preferred methods of adding Ajax interaction to an existing enterprise app?