Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
Dan Allen
Senior Software Engineer - JBoss by Red Hat, Author, Open Source Advocate
Quickly after graduating from college, Dan became captivated by the world of free and open source software (FOSS). His involvment in FOSS helped him transition into the software development industry. He soon discovered the combination of Linux and the Java EE platform to be the ideal blend on which to build his professional career. In his search for a robust Web framework, Dan discovered JBoss Seam, which was quickly granted this most coveted spot in his development toolbox. The rest, as they say, is history. Dan is also a dedicated open source and Linux advocate and blogs about his experiences regularly. You can keep up with his discoveries by subscribing to his blog at http://mojavelinux.com.
Blog
Why you didn't know the Unified EL is being updated
Posted Sunday, August 2, 2009
Information about the proposed Unified EL update slated for Java EE 6 is hard to come by, so I decided to put together a blog entry with some useful links. If you haven't heard yet, which is understandable given the lack of publicized in more »A game-changing Maven 2 plugin you absolutely must use
Posted Monday, May 4, 2009
Ever since I first started using Maven 2, I envisioned having a console in which I could execute life-cycle goals without having to incur Maven's startup cost between every run. It just seemed to me such a waste for Maven to build up the project more »30 certainly was something
Posted Thursday, April 2, 2009
What a year! There's no question that year 30 was the most eventful and life changing year of my life to this point. I truly feel like I have grabbed life by the horns and got it steered in the direction I really want it more »Presentations
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 more »CDI (JSR-299), Weld and the future of Seam
This talk introduces JSR-299: Contexts and Dependency Injection for the Java EE platform (CDI), the new Java standard for dependency injection and contextual lifecycle management. The talk covers the core programming model, explains its relationship to EJ more »Real Java EE testing with Arquillian and ShrinkWrap
Unit tests and mocks can only take you so far. Eventually, you'll want to see how your components behave in the real runtime environment, a style of testing referred to as integration testing. This talk introduces Arquillian, an extension for TestNG and J more »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.
This talk introduces JSR-299: Contexts and Dependency Injection for the Java EE platform (CDI), the new Java standard for dependency injection and contextual lifecycle management. The talk covers the core programming model, explains its relationship to EJB 3.1 and JSF 2.0, and clarifies how it unifies and enhances the Java EE platform as a whole (extending to JPA, JAX-RS and JMS). You are then introduced to Weld, the JSR-299 reference implementation, and its servlet container extension. Finally, we look ahead at how a modularized Seam 3 ties into this new foundation as a set of portable CDI extensions, previewing several examples.
JSR-299: Contexts and Dependency Injection for the Java EE platform (CDI) is an elegant set of new services for Java that draws upon ideas from popular frameworks such as Seam and Guice and hooks into all the major specifications in the platform, including JavaServer Faces (JSF) 2.0, Enterprise Java Beans (EJB) 3.1, the Java Persistence API (JPA) 2.0 and JAX-RS 1.1. While many of the features provided by CDI--dependency injection, contextual lifecycle, configuration, interception, event notification--are familiar, the innovative use of meta-annotations is uniquely expressive and typesafe. This talk emphasizes the value in this approach.
Seam is a powerful open source development platform for building rich Internet applications in Java. Seam 3 is built on CDI and integrates technologies such as Java Persistence (JPA 2.0), Business Process Management (jBPM), Wicket, PDF and Excel reporting, Security and email into a unified full-stack solution, complete with sophisticated tooling.
In this discussion, Dan will talk about upcoming developments in Java EE 6 including CDI 1.0 and JSF 2.0 and how they set the foundation for Seam 3. This is a great opportunity to learn about how Red Hat is building on this new revision of the Java EE platform.
Unit tests and mocks can only take you so far. Eventually, you'll want to see how your components behave in the real runtime environment, a style of testing referred to as integration testing. This talk introduces Arquillian, an extension for TestNG and JUnit that can be used to validate the behavior of managed and enterprise beans or POJOs that rely on enterprise services just as easily as writing a unit test. Attend this talk to learn how to do real Java EE testing.
Arquillian is an extension for TestNG and JUnit that allows the developer to validate the behavior of managed and enterprise beans or POJOs that rely on enterprise services just as easily as writing a basic unit test. You can liken Arquillian to a modern version of Cargo, though its potential extends much further.
Using the fluent API provided by ShrinkWrap, groups of tests are packaged as Java EE archives, giving the developer fine-grained control over which resources are available to be tested. The test archives are then individually deployed and executed inside a pluggable remote or embedded Java EE container or a bootstrapped CDI environment. A RPC-style (or local, if applicable) communication between the test runner and the environment negotiates which tests are executed and reports back the results. This means two things for the developer: 1) You develop and execute Arquillian tests just like you would a regular unit test and 2) The environment in which you run the tests can be easily swapped...or you can use each one in turn.
Writing a test for a real business object should not create pause. You should be able to write "integration" tests just like you would test a calculator class. Arquillian and ShrinkWrap partner to give you that experience.
Books
by Dan Allen
-
JBoss Seam is an exciting new application framework based on the Java EE platform that is used to build rich, web-based business applications. Seam is rapidly capturing the interest of Java enterprise developers because of its focus on simplicity, ease of use, transparent integration, and scalability.
Seam in Action offers a practical and in-depth look at JBoss Seam. The book puts Seam head-to-head with the complexities in the Java EE architecture. The author presents an unbiased view of Seam from outside the walls of RedHat/JBoss, focusing on such topics as Spring integration and deployment to alternative application servers to steer clear of vendor lock-in. By the end of the book, you should expect to not only gain a deep understanding of Seam, but also come away with the confidence to teach the material to others.
To start off, you will see a working Java EE-compliant application come together by the end of the second chapter. As you progress through the book, you will discover how Seam eliminates unnecessary layers and configurations, solves the most common JSF pain points, and establishes the missing link between JSF, EJB 3 and JavaBean components. The author also shows you how Seam opens doors for you to incorporate technologies you previously have not had time to learn, such as business processes and stateful page flows (jBPM), Ajax remoting, PDF generation, asynchronous tasks, and more.
All too often, developers spend a majority of their time integrating disparate technologies, manually tracking state, struggling to understand JSF, wrestling with Hibernate exceptions, and constantly redeploying applications, rather than on the logic pertaining to the business at hand. Seam in Action dives deep into thorough explanations of how Seam eliminates these non-core tasks by leveraging configuration by exception, Java 5 annotations, and aspect-oriented programming.