JBoss has proven itself a force in the J2EE application server market. Now,
with Seam and the acquisition of some exciting new products, JBoss is jockeying
for control of the JavaServer Faces market.
JBoss on the Rise
If you have followed JBoss over the past few years, you can't deny that they've
made a lot of good moves. First there's the catchy marketing phrase "Professional
Open Source." Then, there's the ability to tap open source products and
talent, such as Hibernate and its creator Gavin King. And, to be sure, gobbling
up J2EE server market share and getting acquired by Red Hat aren't too shabby
either. Even with the departure of founder Marc Fleury, the company is not resting
on its laurels.
JBoss, like other J2EE vendors, pledged full support for Java Enterprise Edition
(Java EE) 5.0, and just like everybody else (except Sun Microsystems) they took
their sweet time releasing a compliant server. However, they noticed something
that other Java EE vendors didn't: there was a piece missing. While EJB 3.0
has gone to great lengths to simplify development of Enterprise JavaBeans, the
JavaServer Faces (JSF) specification missed the boat. The focus of JSF 1.2 (the
first release included with Java EE 5) was better integration with JavaServer
Pages, or as we in the expert group called it, "web-tier alignment."
Unfortunately, we didn't have the time to properly include full-fledged support
for ease-of-use features such as annotations. Moreover, JSF 1.2 doesn't provide
any special integration with EJB.
JBoss Seam, a brainchild of Gavin King, is a framework that integrates JSF
with EJB 3, bringing to JSF many of the features that make the rest of Java
EE 5 easier to use, such as annotations. Seam allows you to use EJBs directly
within your JSF application, eliminating the "glue code" previously
necessary for communicating between the two layers. In addition, Seam, like
Apache Shale, provides many features that fill in the gaps in the JSF specification
and make developing JSF applications easier.
So far, Seam has been a runaway success. It's one of those products that attracts
far more champions than detractors, and developers are generally happy with
it. Seam's concepts will eventually become standardized as part of the WebBeans
JSR as well as related specifications such as JSF 2.0.
With all of its promise, it's not surprising to see JBoss pushing Seam. After
all, it fits in very well with their Java Enterprise Middleware Suite, which
consists of Hibernate and JBoss Application Server, Portal, jBPM, Rules, Messaging,
and so on. Seam is a no-brainer for a JBoss shop. However, recently the product
has expanded its reach towards other application servers—it can now integrate
with Spring, and it runs on Tomcat. There may be more at play here than simply
adding value to the existing product line. Not only is JBoss embracing outside
technologies, it's acquiring them as well.
Exadel has long been known as a strong open source player, gaining praise
initially for their Struts Eclipse plug-ins as well as their consulting and
training services. When JSF was released back in 2004, Exadel clearly understood
its potential and immediately began providing JSF services as well as support
in their Struts Eclipse plug-ins, currently named Exadel Studio and Exadel Studio
Pro. Last year saw the release of two more JSF-based products: their component
suite, the Exadel Rich Client Platform, and their most significant contribution
so far, Ajax4Jsf, which provides transparent support for Ajax in JSF applications.
Exadel has clearly established itself as a dominant player in the JSF market.
While consulting companies who also sell products often have tension between
their two business models, I was still surprised to hear that all three JSF
products were essentially being sold to JBoss through a "strategic partnership."
While Exadel will still be involved with development, these products will be
hosted at jboss.org, released as 100% open source, and JBoss will own the IP.
Exadel will continue to provide consulting services.
The Bottom Line
So, what does this mean for JBoss? Suddenly, it has four key products in the
JSF market: a powerful JSF-based framework, an IDE, a component suite, and an
Ajax integration toolkit. And they're all free and open source. While Sun and
Oracle both have significant contributions in these areas, JBoss has the spotlight
right now. From where I sit, it looks as if they're the open source JSF powerhouse.
It'll be interesting to see where things go from here.