Andy Schwartz

Consulting Member of Technical Staff for Oracle, JSR-314 representative

Andy Schwartz
Andy Schwartz is a software engineer at Oracle, where he has spent the last 16 years designing and developing user interface frameworks. The latest of these is ADF Faces, a JSF-based, AJAX-enabled framework and component set. Andy also serves as Oracle's representative to the JSR-314 (JSF 2.0) expert group. Andy blogs about JSF and ADF Faces at http://andyschwartz.wordpress.com/.

Andy has presented at AjaxWorld, JavaOne, W-JAX and Devoxx on JSF-related topics.

Presentations

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?

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!

JSF Component Behaviors Deep Dive

The JSF component "behavior" model is a new feature introduced in JSF 2.0 in order to facilitate Ajax support. Component behaviors allow commonly used client-side functionality to be bundled into reusable objects that can be associated with arbitrary components. While the JSF specification currently defines only a single component behavior, the component behavior model is designed for extensibility, allowing anyone to create and share their own component behavior implementations.

This presentation provides an introduction to the component behavior model, including an overview of the new APIs as well as background on the requirements that drove the API design. We will explore how to create custom component behaviors and perform an in-depth walk through of a sample Google Suggest-inspired component behavior implementation. By the end of this presentation, attendees should be ready to take advantage of this new API and create their own component behaviors.

Component Framework Primer for JSF Users

For each area we will compare and contrast approaches taken by the three frameworks with an eye on understanding the strengths and weaknesses of each solution. We will also consider whether there are opportunities to improve JSF itself based on lessons learned from our comparative analysis. Attendees of this presentation should expect both to gain insight into how new features provided in JSF 2.0 can simplify development, and should come away with a better understanding of how other frameworks have tackled similar problems.

JSF 2.0 includes many new features that simplify both component development as well as application development. This presentation looks at the new revision of JSF and compares it to two other popular component-centric web frameworks: Wicket and Tapestry. We will start by answering a simple question: What constitutes a "component" in each framework? We will then examine other framework features including:

  • Page construction
  • Data binding
  • Input processing and validation
  • Event handling
  • Navigation
  • Ajax support