InfoQ

News

Gavin King's Second Wishlist for Java EE 6: JSF and EL Enhancements

Posted by Scott Delap on Jul 09, 2007 10:11 AM

Community
Java
Topics
JCP Standards
Tags
JSF ,
Java EE
Gavin King, Hibernate creator and Seam project lead, has posted the second and third parts to his wishlist for Java EE 6. InfoQ covered part 1 earlier this year. The umbrella JSR for Java EE 6 (JSR 316) was released for public review last week.

King's second installment is focused on JSF which is a core component of the JBoss Seam web application framework:

...I'm a fan of JSF, not because JSF is by any means perfect, but because I like the overall architecture, and judge it's warts and limitations to be more "fixable" than those of other Web Framworks I've used. Of course, whatever my feelings about other other frameworks, I would be idiotic to ignore JSF. JSF is easily the fastest growing web framework in the Java space...

Among the strengths he sees in JSF:

  • Application components are pojo's
  • The JSF lifecycle is perfect for applications where business logic is bound to a view
  • Managed beans are stateful and contextual
  • Markup language is not limited to the set of HTML primatives
  • The JSF UI component model solves certain problems that affect plain HTML form processing and many other Web Frameworks.

However King sees problems in the development of extensions:

...Nevertheless, there are some things which JSF 1.2 doesn't get right, and this has required the development of non-standard extensions to JSF in products like Facelets, Seam, Shale, Ajax4JSF, ICEFaces, Avatar. Certain people have argued that if you need to use non-standardized extensions, you would be better to avoid the standard altogether...

Based on this he proposes the following items (further details available in original post) for 2.0:

  • Asynchronous partial submits and renders
  • Annotation-based programming model
  • Enhanced lifecycle for non-faces requests
  • Improved orchestration
  • Error handling
  • Standardize Facelets and simplify development of JSF UI components
  • Alternative stateless UI component lifecycle
  • Databinding
  • Model-based validation
  • Allow use of EL in messages
  • Session invalidation

The third installment of King's wishlist focuses on Unified EL.

...The new Unified EL API used by JSF and JSP is a really useful addition to the Java platform. Unfortunately, while a lot of effort was put into designing the Java-level APIs for working with Unified EL, the expression language itself hasn't changed much since the earliest days of JSP. It is now well past time for some new features. A more powerful EL lets us keep presentation logic in our page, and avoids polluting the business model with extra methods...

Among the enhancements proposed (further details available in original post):

  • Method parameters
  • Switch statement
  • Collection size operator
  • Collection constructors
  • Collection iteration
great list by Markus Jais Posted Jul 10, 2007 5:50 AM
Re: great list by Gavin King Posted Jul 10, 2007 9:06 AM
Re: great list by Jacob Hookom Posted Jul 10, 2007 10:35 AM
JSF improvements by Joost de Vries Posted Jul 10, 2007 2:23 PM
  1. Back to top

    great list

    Jul 10, 2007 5:50 AM by Markus Jais

    This list really addresses many of the problems of the current JSF 1.2 standard. let's hope that all of this will be implementet in JSF 2. one thing I currently miss is the possibility to put components (like Richfaces or others) in and IDE and have all of them available with a Visual Editor. I am not sure this is something the JSF 2 standard can address but maybe there could be a common interface all IDE venders and JSF component developers could agree on that would make this possible. currently I can use Netbeans Visual Editor, which I do not like as it forces me into a specific programming model and it also has only some components and I have not yet figured out how to add other libraries to the Visual Editor or to the standard palette in Netbeans (which I prefer over the Visual Editor). Markus

  2. Back to top

    Re: great list

    Jul 10, 2007 9:06 AM by Gavin King

    one thing I currently miss is the possibility to put components (like Richfaces or others) in and IDE and have all of them available with a Visual Editor.
    Agreed, this is something that the EG should discuss. At one stage I remember discussing this with the Exadel folks, who had some interesting comments on this, but I can't for the life of me remember what the conclusion was...

  3. Back to top

    Re: great list

    Jul 10, 2007 10:35 AM by Jacob Hookom

    pertaining to the visual editor, there's a separate JSR from Oracle on Tooling/Metadata for JSF Components

  4. Back to top

    JSF improvements

    Jul 10, 2007 2:23 PM by Joost de Vries

    I can only say: hear, hear. If these changes can be implemented in a reasonable timeframe it will really invigorate JSF and JEE.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.