A concise and eloquent look at Seam - No Fluff Just Stuff

A concise and eloquent look at Seam

Posted by: Dan Allen on March 30, 2010

Despite all that I have written, explained and presented about Seam, I often find myself struggling to sum it up in a few short breaths. Fortunately, Matt Campbell does an superb job of defining the essence of what Seam provides eloquently and concisely in his blog series An Honest Look at Seam. (And I'm not just saying that because he credits Seam in Action as being his guide in his exploration of Seam).

In part 1, Matt explains how the attention to scoping of components is what sets Seam apart from Spring and makes it more suited for the web environment. In my talks on Java EE 6, I often say that JSR-299 (CDI) considers the scope of a bean (where it's stored) to be just as important as the component instance itself. Speaking of Java EE 6, Matt does some comparisons of his own between Seam and CDI.

Having established the importance of context, Matt opens part 2 introducing the conversation scope. He quickly delves into the symbiotic relationship between this scope, the persistence context and the multi-request use case (which is just about any use case on the web). He raises the ever important issue of manual flush mode in Hibernate and how it enables use of an optimistic transaction.

Matt takes a break from the theory in part 3 to address the developer's first experience with Seam. He calms the anxiety a typical newcomer might have the first time the developer observes seam-gen churn out application. While some may appreciate the huge boast that a fully-functional application provides, the shear number of artifacts is daunting for those expecting "Hello World". But as Matt clarifies,

There is a lot to Seam, but not becuase Seam itself is vastly huge and complex, but because Seam integrates so many things together.

So take your time and explore it all. Use what parts you need and skip the parts you don't.

In the future, rather than struggling to find the words to describe Seam on a trip in an elevator, I'm just going to hand the interested listener a card with the URL to these blogs on it ;)

It's important to zero in on what Seam 2 provides, especially as we look ahead to Java EE 6 and the development of the Seam 3 portable extension library. So regardless of where you are in your adoption of Seam 2 or Java EE 6, take a moment to read through these entries.

Dan Allen

About Dan Allen

Dan is an open source advocate, community catalyst, software generalist, author and speaker. Most of the time, he's hacking using some JVM language. He leads the Asciidoctor project and serves as the community liaison for Arquillian. He builds on these experiences to help make a variety of open source projects wildly successful, including Asciidoctor, Arquillian, Opal and JBoss Forge.

Dan is the author of Seam in Action (Manning, 2008) and has written articles for NFJS, the Magazine, IBM developerWorks, Java Tech Journal and JAXenter. He's also an internationally recognized speaker, having presented at major software conferences including JavaOne, Devoxx, NFJS, UberConf, RWX, JAX and jFokus. He's recognized as a JavaOne Rock Star and Java (JVM) Champion.

After a long conference day, you'll likely find Dan geeking out about technology, documentation and testing with fellow community members over a Trappist beer or Kentucky Bourbon.

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »