Skip navigation
Dan Allen

Speaking at Utah JUG

Posted by Dan Allen Oct 20, 2010

I'll be speaking at Utah JUG on Thursday, Oct 21 about CDI, Seam 3 and Arquillian. I'll also get a chance to meet for the first time in person one the Seam 3 community developers, Jason Porter. Jason works on Seam Catch, the exception handling process based on the CDI event bus.


Here's the abstract for my talk. Hopefully the whimsical title will convince you all to come out


CDI and Seam 3: What's the story and how do I test it?


In the first of this two-part session, Dan will provide an overview of Seam 3, a powerful Open Source development platform for building rich Internet applications in Java EE.


The talk begins with an overview of JSR-299: Contexts and Dependency Injection for Java EE (CDI). CDI is the new core programming model in both Java EE 6 and Seam 3 and therefore the most prominent aspect of this stack. It provides services for managed and enterprise beans that include dependency injection, contextual life cycle management, interceptors and event notification. It also includes an extensible SPI for developing additional portable functionality and customization, a key enabler for Seam 3.


Seam 3 extends the CDI programming model by providing portable enhancements, extensions and integrations that tie together technologies within and beyond the Java EE platform into a full-stack solution, complete with tooling. You'll discover how this stack is used to address common business concerns and then look ahead at what else is on the menu for Seam 3.


After the whirlwind tour of CDI and Seam 3, we'll ask the question "How do I test this stuff?" That's where Arquillian comes in.


Arquillian is a container-oriented testing framework, layered atop TestNG and JUnit, that brings your test to the runtime rather than requiring you to manage the runtime from your test. In doing so, it provides the missing link in enterprise Java development: simple, portable integration tests. We'll walk through example after example until the sun goes down so you can see that Arquillian is the future of enterprise testing, and there's no limit to what you can test with Arquillian in your toolbox.


See you there!

Even if given days of preparation to draft a written response, I don't think I could have answered this question more clearly than Pete Muir, lead of the Seam and Weld projects, does in the following interview. This interview was given by Java Magazin author Michael Schütz at JUDCon Berlin 2010.


Seam 3 interview with Pete Muir


I pulled out a couple of quotes to highlight here, but there's plenty more where they came from.


On the perspective Pete brings to Seam:


I'm a great believer that what makes a good framework developer is really understanding the problems the framework solves.


On how Seam 3 related to CDI:


Think of CDI as the core of Seam 3 - it's the basic programming model for your application components.


On how Seam 3 is structured:


Seam 3 is implemented as a set of portable extensions (modules) for JSR-299 that run in any environment which supports JSR-299.


On community participation:


We encourage contributions from anyone in the community who wants to develop a new module for #Seam 3 (just get in contact!)


I'll add that I thoroughly enjoy working with the community and seeing the exhilarating impact a great idea can have on the group.


On the prospect of a CDI extension directory:


We also moderate a social bookmarking group where anyone can link to a #CDI extension.


On life after JSF:


Coming up, we'll start to see GWT really take its place as a first-class option for writing your view layer. The GWT integration for Seam 3 will focus heavily on integration with Errai.


A lot of pieces had to come together for Seam 3 to take shape. Those pieces are finally aligning and, now that the source has been switched over to Git at, things are going to get heavy.