Help

Controls

PermLinkWikiLink

Built with Seam

You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.

Web Beans (JSR-299) is a new Java standard for dependency injection and contextual lifecycle management.

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 specification was heavily influenced by Seam and Google Guice. The Expert Group is led by Red Hat.

The Web Beans RI (Reference Implementation) and TCK (Technology Compatibility Kit) are being developed here at seamframework.org. Both are licensed under the Apache License 2.0.

Learning more about Web Beans

To learn more about Web Beans, start with the Introduction to Web Beans guide, which explains Web Beans from the point of view of the developer. Then, if you want to get into the nitty details, move on to the Public Draft specification.

Web Beans Public Draft Specification HTML HTML (single page) PDF
Introduction to Web Beans HTML HTML (single page) PDF

How does Seam relate to Web Beans?

The two technologies share a common goal of providing a unified, contextual, programming model for Java Web Applications. Both provide integration of EJB and JSF.

However, Seam is a superset of WebBeans. Think of WebBeans as the core of a future Seam - it's the basic programming model for your application components, and for the built-in components that make up the Seam framework. Based on this programming model, Seam provides a full framework for application development, including integration with various non-standard open source technologies. In the future, Seam will probably not be the only application framework based upon Web Beans!

On the other hand, many features and ideas in Web Beans were inspired and tested in Seam first. (Others originated in other frameworks, particularly Google Guice).

Will Seam become Web Beans?

Not quite - Web Beans is just the core programming model. The future of Seam is:

  • a Web Beans-based core,
  • the application framework, ported to the new programming model, and
  • support for the Seam 2.x components with full interoperability.

Seam will continue to be the vehicle which delivers BPM integration, Seam Security, PDF and email rendering, etc.

Latest updates

Recently Resolved TCK Issues
No issues found.