Help

I'm the creator of Hibernate, a popular object/relational persistence solution for Java, and Seam, an application framework for enterprise Java. I'm also contributing to the Java Community Process standards as Red Hat representative for the EJB, JPA, JSF specifications and spec lead of the Web Beans specification. At Red Hat, I'm leading the effort to build a Unified development platform of programming model, frameworks and tooling.

Location: Wherever the Sun is
Occupation: Fellow at JBoss, a Division of Red Hat
Tags
Archive 'Seam News'
My Books
Java Persistence with Hibernate
with Christian Bauer
November 2006
Manning Publications
841 pages (English), PDF ebook
Hibernate in Action
with Christian Bauer
August 2004
Manning Publications
408 pages (English), PDF ebook
Seam3
18. Nov 2008, 07:37 CET, by Gavin King

I keep getting asked about the relationship between Seam and Web Beans. At a high level, the mission of the Seam project remains unchanged: to provide a fully integrated development platform for building rich Internet applications, based upon the Java EE environment. In Seam2, this platform consists of the following layers:

  1. the contextual lifecycle, configuration and dependency injection model that forms the essential glue that makes everything work together in a consistent way
  2. a set of modules that integrate other technologies such as JSF, jBPM, Hibernate, Drools, Groovy, Wicket and GWT, or solve common concerns such as security, asynchronicity and rendering PDF, email, Excel, RSS
  3. tooling

The first layer is the part that is addressed by JSR-299. The spec defines a more elegant, more typesafe, more user-friendly, standard solution that is a huge improvement over Seam2 (and everything else out there). The value of this is more elegant, more typesafe, more loosely coupled application code. But for many people, the true value of Seam is that it provides a complete pre-built, pre-integrated stack of technologies, together with tool support. That's not the role of JSR-299.

So the goal of Seam3 is to take the second layer and port it to the Web Beans backbone. This will allow applications using the Web Beans programming model to take advantage of all the integrated technologies that make up Seam. A second immediate benefit is that Seam will integrate much more consistently and transparently with application servers that natively support Web Beans. Seam3 will probably be packaged in a more modular way than Seam2, allowing any Web Beans-based application to drop in Seam security, jBPM integration, Drools integration, etc. And hopefully, Seam won't be the only project providing infrastructure based upon Web Beans.

Of course, we want to make it's easy for people with Seam2 applications to migrate to Web Beans. There's two possible approaches and I'm not sure exactly which path we will take. We could:

  • reimplement the core of Seam as a layer over the Web Beans backbone, or
  • simply allow Seam2 and Web Beans to run side-by-side, with advanced interoperability between Web Beans and Seam2 components.

The first option sounds like a lot more work, but I suspect it might be easier than you would think.

Seam support in IntelliJ
10. Nov 2008, 16:06 CET, by Gavin King

IntelliJ IDEA 8 has Seam support. Cool!

Web Beans Public Review Draft released
03. Nov 2008, 23:43 CET, by Gavin King

The Web Beans (JSR-299) specification is now available for public review.

Web Beans defines a set of services for the Java EE environment that makes applications much easier to develop. Web Beans layers an enhanced lifecycle and interaction model over existing Java component types including JavaBeans and Enterprise Java Beans. As a complement to the traditional Java EE programming model, the Web Beans services provide:

  • an improved lifecycle for stateful components, bound to well-defined contexts,
  • a typesafe approach to dependency injection,
  • interaction via an event notification facility, and
  • a better approach to binding interceptors to components, along with a new kind of interceptor, called a decorator, that is more appropriate for use in solving business problems.

Web Beans is especially useful in the context of web applications, but is applicable to many different kinds of applications and may even be used in the Java SE context, in conjunction with an embeddable EJB Lite container, as defined in the EJB 3.1 specification.

The Web Beans public draft is available in PDF or HTML format at:

or from:

Please send feedback on the public draft to:

  • jsr-299-comments@jcp.org

An even easier way to learn about Web Beans is the Introduction to Web Beans guide available in PDF or HTML format here:

The Web Beans Reference Implementation and Compatibility Test Suite are being developed at:

This is a great time to get involved!

RichFaces 3.2 released
01. Apr 2008, 16:26 CET, by Gavin King

RichFaces 3.2.0.GA is out!

This release introduces the following new components:

  • Combo Box
  • Inplace Input
  • Inplace Select
  • Progress Bar
  • File Upload
  • Columns
  • Pick List

Along with these enhancements:

  • DataTable Sorting
  • DataTable Filtering
  • Calendar month and year manual selection
  • Objects selection for suggestion box
  • Standard component skinning
  • Client-side EL functions: rich:clientId(Id), rich:element(Id), rich:component(Id)

RichFaces 3.2 requires JSF 1.2 and JDK 5.0 or above.

You can try out a demo of the new components here.

Congratulations to the RichFaces team!

JBoss Tool 2.0.1
18. Mar 2008, 07:31 CET, by Gavin King

Congratulations to the JBoss Tools team at JBoss and Exadel for getting 2.0.1 out the door!

Showing 1 to 5 of 7 blog entries tagged 'Seam News'