ADF Faces Rich Client Components – Marrying JSF and AJAX together
ADF Faces aka Apache MyFaces Trinidad currently has quite a bit of essential AJAX functionality embedded. This provides a much better contained, server side driven but still rich user experiences (see for example: The (AJA)X Files – On the built-in AJAX facilities of ADF Faces for zero-code Rich User Experience).
I have just returned from a presentation by Frank Nimphius from the Oracle ADF Product Management group. It was a very good presentation, with excellent pace and great graphics, all the way from low level AJAX and JSF Overview to a demonstration of these new components.
He demonstrated a RichTable component, that shows a dynamic data grid that allows us to – and this is all done Client Side – move the columns around (drag & drop), resize the columns, scroll the table in a horizontal direction with the rest of the page fixed (Designer fans will recognize the spreadtable) and even one or more columns pinned while the others are scrolled around, as well as scroll the table in a vertical direction, dynamically loading additional records from the server!
Then he showed drag & drop from elements in this table to a Shopping Cart. The table component was contained within one tab of an accordion widget and other tabs could very rapidly be accessed as well.
These are very cool components and once released as part of the ADF Faces/Apache MyFaces Trinidad component set for JSF may very well eliminate the need for using separate libraries such as DOJO.
Frank furthermore explained a little about the architecture of these rich client components:
- Data Cache
- Abstract Component Model
- DHTML Renderering
- XMLHtppRequest object communication channel
This means: rendering takes place on the client! So no rendering by the JSF RenderKit but instead by the UI Components client side counterpart using DHTML based on the XML payload. The developer is completely shielded from the XMLHttpRequest nitty gritty details.
- JSP (tag) Syntax for specifying the Rich Client components (same as normal JSF UI Components)
- full JSF Lifecycle integration
Note: Frank’s demo was with JDeveloper 11 (or JDeveloper Fusion as the title bar read). He would not comment on any timelines, but rumours have it that late this Summer a first Early Access release may be made available on OTN, with at least the RichTable component in it.
Frank made it clear that the ADF Faces Rich Client components will also be donated to the Apache MyFaces Trinidad open source project. Oracle wants to make JSF a success and hopes to contribute towards that end by making this set available. ADF Faces will continue to exist as an Oracle brand too, part of the Oracle Fusion technology stack.
- The (AJA)X Files – On the built-in AJAX facilities of ADF Faces for zero-code Rich User Experience
- AJAX Tag Library – Open Source project for easy use of AJAX mechanisms from JSPs
- AJAX with UIX – PrimaryClientAction for instantaneous server-based client refresh
- Ajax and Ria