Monday Mar 11, 2013

An Overview of JSF 2.2

Although it is technically only a point release, JSF 2.2 actually has quite a bit of good stuff for JSF fans. In a brief article, Arjan Tijms does a great job of overviewing the big ticket items included in JSF 2.2. He talks about view actions, the Faces flow, HTML 5/pass-through attributes, the file upload component, CDI alignment and more.

If the article whets your appetite to learn more about JSF 2.2, you could download the actual public review draft and give it a read. For those unaware, JSF 2.2 recently near unanimously passed its public review ballot. Bear in mind, the primary audience for a specification document is technology experts/implementors, so this is not necessarily a read for the faint of heart :-). JSF is also one of the larger Java EE specifications - the document is 400+ pages long. However, spec lead Ed Burns did a great job of summarizing the changes towards the beginning of the document in the section titled Changes between 2.1 and 2.2.

Thursday Feb 21, 2013

A Gentle Introduction to the JSF 2.2 Faces Flow

My well-respected colleague and good friend Arun Gupta continues his admirable effort to provide some very early coverage of Java EE 7 features. I thought I'd highlight his blog entry on JSF 2.2 Faces Flows written in this vein.

As many CDI adopters are aware of, Java EE 6 introduced the concept of conversation scopes. The conversation scope is a very simple, lightweight and powerful way of having greater control over application state in workflow-oriented applications (e.g. multi-step wizards). JSF 2.2 Faces Flows takes that concept to the next level by standardizing fairly well-understood workflow modeling concerns that have been been there in ADF Task Flow, Spring Web Flow and Apace MyFaces CODI. The JSF 2.2 Faces Flows are a synthesis of those ideas focused on type-safety, annotations, simplicity and fluency.

In his blog entry, Arun does a good job of explaining the basic concepts. He discusses the feature, explains the motivation, introduces the API, links to a great video demoing the feature and references further resources.