
Dan Allen
(4302) Stacking the deck by integrating Spring beans and Seam components
Technical long talk 50 min
Wednesday, 2008-06-25, 12:00 - 12:50, Arena 8
Dan Allen - TetraTech, Inc. | Manning | JBoss Committer (speaker)
Topics
Abstract
The Spring Framework and JBoss Seam are both lightweight inversion of control
(IoC) and aspect-oriented (AOP) containers that champion the POJO programming
model, though with slight variations. Each framework offers a dependency
injection (DI) mechanism, ORM integration, declarative transactions, web service
clients and endpoints, asynchronous messaging support, and other parallel
integrations. The apparent overlap in the goals and features of these two
frameworks has bred staunch competition amongst them, causing sparks to fly at
times. This situation leaves the developer feeling conflicted as to which
framework to employ and master. The choice, however, is not an exclusive one.
In the dog eat dog world of today's technology market, the opportunity to create
a federation between application frameworks is often overlooked. Spring and Seam
share this symbiosis. POJO programming, which is endorsed by both frameworks,
yields reusable objects that are not tied to infrastructure services and can
thus be used in standalone environments. For Spring classes, that alternate
environment can be a Seam application. This session will demonstrate how it is
possible to take advantage of the vast, capable, and mature Spring APIs from
within a Seam application, how Seam can leverage existing Spring components, and
how Seam can contribute its capabilities back to the Spring container. Finally,
this session will demonstrate how Spring and Seam can share resources, namely
ORM persistence contexts and global transactions. This session hopes to raise
awareness of the benefits of this union.
By attending this talk, developers can suppress their anxiety about the
coexistence of the two frameworks, open there eyes to the potential that each
boasts, and learn how to combine them to create a more powerful tool for their
development toolbox.






