Speakers
- Dan Allen
- Jay Balunas
- Lincoln Baxter III
- Emmanuel Bernard
- Andy Bosch
- David Chandler
- Cagatay Civici
- James Cook
- Keith Donald
- Michael Freedman
- Jeremy Grelle
- Neil Griffin
- Daniel Hinojosa
- Ian Hlavats
- Max Katz
- Micha Kiener
- Jason Lee
- Martin Marinschek
- Pete Muir
- Scott O'Bryan
- Christian Schalk
- Andy Schwartz
- Stan Silvert
- Matthias Wessendorf
- Michael Yuan
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
Don't overlook this framework
Posted Thursday, June 10, 2010
During my long flight to Frankfurt last month, I responded to an interview by Jan Groth about Seam for the German Java Magazin. In the interview, I reflect on the value of Open Source, how I got involved in Seam and where we are headed with Weld and Sea more »A concise and eloquent look at Seam
Posted Tuesday, 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 more »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 information, the U 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 object m 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 to head more »Presentations
The Best Kept Secrets of Seam, RichFaces, JSF and Facelets
This session discloses best practices, tips and techniques and disclose inside information to save you in a pinch and maximize your use of Seam, RichFaces, JSF and Facelets. more »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 »Maturing your application's security with Seam Security
Learn how Seam's security can protect your application throughout the development life cycle, from simple authentication to fine-grained, rule-based security restrictions. 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 »JSF 2: Keeping Progress Coming
This presentation will provide an in-depth introduction to many of the new JSF 2.0 features and will ask of each: Is the currently specified solution sufficient? We'll also consider whether other concerns (paper cuts) have been overlooked? more »This session discloses best practices, tips and techniques and disclose inside information to save you in a pinch and maximize your use of Seam, RichFaces, JSF and Facelets.
Dan has amassed a catalog of hidden gems and lesser known facts while developing in the Seam ecosystem. This session discloses those best practices, tips and techniques and gives you inside information to save you in a pinch and maximize your use of Seam, RichFaces, JSF and Facelets. If you are a developer working with any or all of these technologies today, this session is a must see to help you find the path to success while avoiding the slippery steps.
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.
Learn how Seam's security can protect your application throughout the development life cycle, from simple authentication to fine-grained, rule-based security restrictions.
Security is the cornerstone of your application's integrity and, therefore, it should be a key component of any enterprise framework. And you'd rather the complexity be confined to the security rules, not contributed by the security framework itself.
Seam's security module is a central component of the Seam framework and offers a significantly simpler alternative to the monolithic and complex Java Authentication and Authorization Service (JAAS) in Java EE. In this talk, you learn how Seam Security allows you to evolve the security model of your application over time, keeping inline with the development cycle.
The talk starts you off with a very simple configuration that applies a security blanket over the application to keep out guests and establish a basic identity for the user. Then you mature the security infrastructure of the application gradually by adopting Seam's declarative approach to authentication or defining fine-grained authorization rules that enforce contextual restrictions at the level of database records, database fields, object fields and UI fragments.
You are introduced to the numerous authorization styles that Seam supports ranging from binary, role-based, rule-based (Drools), and ACLs. Examples are presented to help you differentiate the four styles of authorization and when it's appropriate to use each one. In the process, you learn to appreciate that Seam's authorization is able to take the context of the restriction into account, a feature than many security frameworks overlook.
By the end of the talk, you will be intimately familiar with Seam's security module and be able to use it to enforce advanced security rules in your application you never thought possible.
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.
This presentation will provide an in-depth introduction to many of the new JSF 2.0 features and will ask of each: Is the currently specified solution sufficient? We'll also consider whether other concerns (paper cuts) have been overlooked?
The JSF 2.0 specification (JSR-314) addresses a substantial number of long standing pain points that JSF users have just come to accept as a hard knock life (or death by 1000 paper cuts). At last, JSF is a true contender amongst web frameworks. Now that the specification final, it's time to take a step back, evaluate the results and look ahead to JSF 2.1.
Here's a partial list of the features we'll be covering:
- State saving: We'll introduce the new partial state saving solution in JSF 2.0 and consider whether additional utilities are needed for stricly stateless use cases.
- GET support: At long last, JSF now supports GET request processing in the form of bookmarkable URLs and request parameter binding. But how does it measure up to frameworks that accept REST-style URLs?
- Validation: Integration with JSR-303: Bean Validation changes the data validation landscape. We'll examine how far it stretches and whether it can handle that elusive multi-component validation use case.
- Ajax: JSF 2.0 finally delivers Ajax support! We'll survey this new functionality and consider just how far it goes to allowing developers to forget about the tedium of JavaScript, and how well it accomodates custom JavaScript when it's warranted.
- Facelets: The marriage between JSF and JSP was never a good one. Facelets stood in as the surrogate view handler for JSF and arguably saved the framework. Now it's part of the specification and also got it's long overdue update. But is there still room for this templating solution to improve?
While this presentation effectively provides an overview of the JSF 2.0 specification, the underlying goal of this session is to serve as an outreach to identify outstanding recommendations for making the framework more pleasant and productive to use and to give members of the JSF community the invitation to participate in the improvement of the JSF platform. As such, attendees are encouraged to bring their own concerns and suggestions to the table.
Whether you are a new JSF user who wants to find out more about the latest developments in the specification or an old hat with an issue or two on your mind, this session has something to offer you!
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.