JBoss Frameworks - Seam

JBoss Frameworks - Seam

JBoss Seam is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF),
Enterprise Java Beans (EJB3), Java Portlets and Business Process Management (BPM).

Seam has been designed from
the ground up to eliminate complexity at the architecture and the API level. It enables developers to assemble complex web
applications with simple annotated Plain Old Java Objects (POJOs), componentized UI widgets and very little XML. The simplicity
of Seam will enable easy integration with the JBoss Enterprise Service Bus (ESB) and Java Business Integration (JBI) in the future.

Learn more about Seam at seamframework.org.

Why Choose Seam?

The first application framework for EJB 3.0 EJB 3.0 has changed the notion of EJB components as coarse-grained, heavy-weight objects to EJBs as lightweight POJOs with fine-grained annotations. In Seam, any class may be an EJB - Seam eliminates the distinction between presentation tier components and business logic components and brings a uniform component model
to the EE platform.

Backward compatible with J2EE But Seam is not limited to environments that support EJB 3.0. Seam may be used in any J2EE environment, or even in plain Tomcat.
The easy way to do AJAX Seam integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's unique state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX.
A revolutionary approach to state management Before Seam, the HTTP session was the only way to manage Web application state. Seam provides multiple stateful contexts of different granularity from the conversation scope to the business process scope, liberating developers from the limitation of HTTP sessions. For example, developers can write Web applications with multiple workspaces that behave like a multi-window rich client.
Manage "flow" Seam integrates transparent business process management via JBoss jBPM, making it easier than ever to model, implement and optimize complex collaborations (workflow)and complex user interactions (pageflow).
Easy integration testing Seam components, being POJOs, are by nature unit testable. But for complex applications,unit testing alone is insufficient. Therefore, Seam provides for easy testability of Seam applications as a core feature of the framework. You can write JUnit or TestNG tests that reproduce a whole interaction with a user, exercising all components of the system, and run them inside your IDE.

Not convinced? Read Ten Good Reasons To Use Seam.