Seam & RESTEasy: You haven't seen REST yet

JSR-311 (JAX-RS) is one of the simplest, most elegant of all the Java EE specifications and is showing early signs of becoming an overwhelming success. It lets you to create RESTful web services from existing Java EE components by sprinkling a handful of annotations over it. But the downside is that the resource must be a Java EE component. Seam's RESTEasy module allows you to use JAX-RS annotations on your existing Seam components, giving your web services access to the Seam container and, dually, an alternate interface to your Seam application.

In this talk, you learn how you can use your Seam components as REST resources using the Seam RESTEasy module. The most obvious benefit is that you can create RESTful web services using a Seam component and get access to full Seam injection, security, persistence management, and so on. You almost forget that Seam eliminates the configuration required to add JAX-RS to your application. You'll be enthralled by the module's innovative approach to doing CRUD over REST that mimics Seam's CRUD framework for JSF-based UIs. Finally, you learn about some nice extras that Seam provides such as exception handling and integration with Seam security.


About Dan Allen

Dan Allen

As Principal Software Engineer at JBoss, by Red Hat, Dan serves as the JBoss Community liaison, leads the JBoss Testing Initiative and is a member of the Seam, Weld, Arquillian and ShrinkWrap projects. He authored Seam in Action (Manning), served as a representative for Red Hat on the JSR-314 Expert Group (JSF 2.0), writes for IBM developerWorks and NFJS magazine and is an internationally recognized speaker. He's appeared at major industry conferences including JavaOne, Devoxx, NFJS, JAX and Jazoon and has received recognition as a JavaOne Rock Star, a JBossWorld Top Presenter and a JAX Hall of Fame speaker.

To colleagues, Dan's known for his hard work and passion for Open Source technologies. His technical expertise includes Java frameworks (Seam, CDI, Weld, JSF, EJB 3, JPA, Hibernate, Spring), testing frameworks (Arquillian, JUnit, TestNG, Selenium), build tools (Maven 2, Gradle, Ant) and web development (Ajax, JavaScript, CSS) and more.

You can keep up with Dan's discoveries by reading his blogs at http://mojavelinux.com and http://community.jboss.org/people/dan.j.allen/blog or tracking what he's currently up to by following him on Twitter at http://twitter.com/mojavelinux.

More About Dan »