Welcome!

APIs for the Internet of Things

Max Katz

Subscribe to Max Katz: eMailAlertsEmail Alerts
Get Max Katz via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal

RIA & Ajax: Article

Happy Birthday, Ajax4jsf!

A progress report

Initial Problems
However, with popularity comes some vulnerability. As more and more people have started using Ajax4jsf, a significant number have put Ajax4jsf into production applications. Ajax4jsf has been put through many different usage scenarios, configurations, and environments, so, of course, bugs have surfaced. Many people have taken advantage of the mailing list to submit reports and ask a variety of questions about using the product. Alexander Smirnov and the rest of the Ajax4jsf team were somewhat stretched at first between fixing user-submitted bugs and introducing new features. It was not always easy to satisfy a growing open source community. While critical bugs had to be fixed first, other bugs had to be fixed later.

Nevertheless, having people report bugs and tell us how we can improve Ajax4jsf is what has made it such an excellent piece of software. I believe no QA department would be able to put Ajax4jsf through as many test cases as the users did by simply using it in their applications. This has made Ajax4jf a rock-solid product that can be used in many production environments.

Ajax4jsf's Current Feature Set
Over its year of existence, the feature set for Ajax4jsf has grown a lot. It now boasts 18 JSF components that can be used to add AJAX functionality to a JSF application. The most commonly used component is <a4j:support>, a general component that can be associated with any JSF component to invoke an AJAX request. In addition to its component library, Ajax4jsf is also a framework that provides the following capabilities:

  • Write your own custom rich components with built-in AJAX support
  • Package resources with the application's Java classes
  • Easily generate images on-the-fly
  • Create a modern rich user interface look-and-feel with skins-based technology
  • Test components, actions, listeners, and pages as you are creating them
Driving the Evolution of Ajax4jsf
Throughout the evolution of the feature set for Ajax4jsf, a few principles have been key. First, most of the changes and improvements that we make to the project are user-driven. Users request a particular functionality, and the project team implements it. It's that simple. Another important guiding principle for this project is to allow Ajax4jsf to be used with any other custom JSF component library. We don't want someone to start using Ajax4jsf and then not be able to use anything else. Ajax4jsf should be usable with any JSF implementation and any custom JSF component library.

Ajax4jsf's Future
Ajax4jsf will continue to be driven by its key principles, but there is the possibility of a big change in the near future for Ajax4jsf. Right now, the JSF Expert Group is eyeing adding AJAX functionally in JSF 2.0 using the Ajax4jsf approach. This new JSF version might surface some time toward the end of 2008.

The Right Time
At the end of this story, the obvious question to ask is: Why was Ajax4jsf so successful? Ajax4jsf is indeed an excellent framework, powerful and easy to use, but excellence doesn't always lead to success. In this case, Ajax4jsf arrived at the perfect time when the right strands of technology were developing in the right way. So, Ajax4jsf was born when it was needed the most. When there is a need to be filled and a product comes along that exactly fills that need, it's going to be used.

Postscript: Ajax4jsf Becomes JBoss Ajax4jsf!
Just before Ajax4jsf was about to celebrate its first birthday, Ajax4jsf was "reborn." Exadel formed a strategic partnership with Red Hat on March 5, 2007. All of the products that had been developed by Exadel were moved under Red Hat as open source (if they weren't open source already). Ajax4jsf is now JBoss Ajax4jsf although Exadel's programmers continue to work with Red Hat and JBoss in its development. With all of this support, Ajax4jsf is now on track to celebrate many more birthdays! Find out more from the JBoss Ajax4jsf home page: http://labs.jboss.com/portal/jbossajax4jsf.

More Stories By Max Katz

Max Katz heads Developer Relations for Appery.io, a cloud-based mobile app platform. He loves trying out new and cool REST APIs in mobile apps. Max is the author of two books “Practical RichFaces” (Apress 2008, 2011), DZone MVB (Most Valuable Blogger), and is a frequent speaker at developer conferences. You can find out what Max is up to on his blog: http://maxkatz.org and Twitter: @maxkatz.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Ken 09/20/07 09:05:17 PM EDT

I would be interested to read some comparisons between Ajax4jsf and G4jsf (Google Web Toolkit integration w/jsf). Maturity, robustness, ...