Java EE itself can be considered as an integration framework. It specifies how various frameworks, such as servlet/JSP, JSF, EJB, JMS, JTA, JCA etc., work together in an enterprise application. However, as a standard specification, Java EE evolves very slowly. It is very slow to fix design problems in Java EE. New ideas and cutting edging technologies often emerge as open source projects before they become part of the standard. Another widely used integration framework is the Spring framework. Spring provides a thin wrapper around other frameworks and allows application developers to use XML configuration files to manage components across the entire application. However, with Spring, the developer still needs to mix and match the different component programming models from the integrated frameworks. In addition, the XML-heavy approach in Spring produces very verbose applications with lots of "XML code".
JBoss Seam is an open source "deep integration" framework that tries to have the best of both the Java EE and Spring worlds. JBoss Seam is firmly rooted in Java EE standards. It started out to address the design flaws between two key Java EE frameworks: JSF and EJB3. Some of its core features are being adopted as future official Java EE standards such as JSF 2.0 and WebBeans. As more and more users start to adopt Seam, it has expanded far beyond the scope of Java EE.
Seam does integration in ways very different from earlier frameworks like Spring. Seam provides a unified component model for all frameworks it integrates. Developers typically works with the Seam components, instead of the component management API of each individual framework. For developers, the Seam API often represents a significant improvement from the framework it integrates. The Seam annotation / API design is very similar to Java EE 5.