InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

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

Posted by Scott Delap on Jul 09, 2007

Sections
Development
Topics
JCP Standards ,
Java
Tags
Java EE ,
JSF
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
Re: great list by Gavin King Posted
Re: great list by Jacob Hookom Posted
JSF improvements by Joost de Vries Posted
  1. Back to top

    great list

    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

    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

    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

    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

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.