AJAX
Happy Birthday, Ajax4jsf!
A progress report
Sep. 20, 2007 02:00 PM
Digg This!
Page 2 of 2
« previous page
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.
Page 2 of 2
« previous page
About Max KatzMax Katz is a senior systems engineer at Exadel. He has been helping customers jump-start their RIA development as well as providing mentoring, consulting, and training. Max is a recognized subject-matter expert in the JSF developer community. He has provided JSF/RichFaces training for the past three years, presented at many conferences, and written several published articles on JSF-related topics. Max also leads Exadel's RIA strategy and writes about RIA technologies in his blog, http://mkblog.exadel.com. Max holds a BS in computer science from the University of California, Davis.