JBoss Seam is an exciting new framework for simplifying the creation of rich internet applications. It reduces the amount of redundant wiring and plumbing that a developer must write. This has been a familiar mantra over the past 7 years which has seen an explosion in web application frameworks that have come and gone or are still hanging on. The Seam project was started by Gavin King, the founder of the Hibernate project. Since it ties together JSF with EJB3 with minimal effort, it definitely has a strong appeal. Seam is part of a new vanguard in software development which stress convention over configuration. In the past, everything was configureable and had to be configured before anything useful could be done. XML often rivaled code and short comings in older incarnations of Enterprise Java Beans necessitated Data Transfer Objects and Data Access Objects. The Java code written was hardly object oriented. Seam leverages makes it easy to leverage the best of Java including annotations, JPA, JSF, AJAX, and EJB3. Seam will run in Tomcat without an EJB container.
This presentation will introduce the basics of Seam, Facelets, JSF, and EJB3 and cover the creation of a new project from scratch. Facelets is an alternative template engine for JSF that does not use JSP and shares some striking similarities with Tapestry and WebObjects. Maven will be heavily leverages to simplifying dependency management and structure the resulting project. The presentation will be split into an introduction and a coding section. Bring your laptops and code along. CDs with all of the dependencies will provided. At the end of the presentation you will have a Seam web application that persists data in database from which you can continue your explorations or prototyping. Often, the hardest part of learning a new technology is getting that first prototype up and running.
Ryan Cuprak is an analyst at Enginuity PLM, and also leads the Connecticut Java Users Group. At the moment, he is primarily focused on data integrations and extracting customer formula data from their own in-house systems and migrating to Enginuity's solution. Prior to Enginuity, Ryan has worked for TurboWorx and Eastman Kodak. Ryan has a BS in computer science and biology from Loyola University Chicago.