1

## What is JBoss Seam

EJB 3.0 and JSF are perhaps the most exciting new developments in the Java EE 5 platform. Seam is an innovative new application framework that integrates the EJB 3.0 component model with JSF as a presentation tier. Seam builds upon the standard extension points provided by both specifications and provides a set of Java annotations that extends the standard annotations defined by the EJB specification. In addition, Seam introduces several innovative new ideas: managed conversations, declarative and contextual application state management, bijection and integrated business process management.

Traditional web applications are incredibly vulnerable to bugs and performance problems relating to state management. Developers are forced to handle issues like back button navigation, multi-window browsing, session size management in an utterly ad-hoc fashion. Access to transactional components from the web tier has also been problematic. J2EE provided no way to have simultaneous access to state held in contexts associated with the web request, and state held in transactional resources accessed via EJB. Finally, J2EE had no first-class construct for representing state associated with a long-running business process. Seam tackles all these problems, and provides a uniform model for stateful components in Java EE 5.

Like all JBoss software, this entire software stack is free. The full source code of this sample application is available in the `examples/booking` directory of the Seam distribution.