Why the New Oracle ADF Essentials is Important to JSF Developers Shay Shmeltzer March 04, 2013 at 02.44:00

With a new free version of Oracle ADF, it might be time for JSF developers to take a look at what Oracle has to offer to create richer UIs and add reusability to their applications. Shay Shmeltzer reviews the new Oracle ADF Essentials offering from the perspective of JSF developers.

A couple of months back Oracle released "Oracle ADF Essentials"—a free version of the core technologies at the base of Oracle ADF, which is Oracle's strategic Java EE based development framework used to develop the Oracle Fusion Applications and other Oracle products.

This should be very interesting to developers who are currently using JSF to build their applications, as Oracle ADF Essentials is offering some unique capabilities and extensions around JSF.

Here are some of the things JSF developers should know about ADF Essentials:

A Richer Set of JSF Components

Oracle ADF Essentials includes what is probably the largest and most advanced set of JSF components out there: Oracle ADF Faces Rich Client Components. These components include:

Advanced dynamic layout components

A variety of input components

Several data collections representations components such as tables and trees

Over 50 types of graphs

Various data visualization components such as maps, gauges, hierarchy viewers, calendars, and carousels

Much more

The components have built-in Ajax behavior that leads to a very rich user interaction experience and smarter communication with the server.

Beyond components, Oracle ADF Faces offers support for:

Skinning through CSS

Accessibility

Internalization

Partial page rendering

Windows and pop-up

Drag and drop

Advanced push of server events to clients

The components are also certified to run on iPads, automatically adjusting to support touch gestures, HTML5/CSS 3 rendering, adaptive layout, etc.

A good starting place for people who want to evaluate the components is the hosted components demo, which is also available as a WAR file you can download and deploy to your server.

Moving from Page Flows to Process Flows

Building on top of the JSF controller, the Oracle ADF controller extends to support complete reusable process flows definition. This enables developers to build process flows that navigate between pages, methods, and decision points—capability that in other frameworks requires a separate process engine.

A key capability of the ADF Controller is support for reusability of flows. Flows can be included as steps in other flows, but more important is the ability to run a complete flow as a region inside another JSF page. Dynamically changing the content of such a region is also supported.

To support this encapsulation of flows, Oracle ADF Essentials provides new memory scopes that extend the scopes provided by JSF with a page flow scope that is positioned between the request and session scope.

Some of the concepts that are already in the ADF Controller are making their way into the next version of the JSF 2.2 specification.

Simplified Data Binding

While it is optional when building applications with Oracle ADF Essentials, the Oracle ADF binding layer is definitely worth considering. It provides dramatic reduction in coding of managed beans and ELs that bind the UI to them, especially when you use the declarative development offered with JDeveloper or Eclipse (through Oracle Enterprise Pack for Eclipse).

The concept is simple: pick up a Java class, EJB, or Web service and create a "data control" with a simple wizard. Oracle ADF introspects the class to understand the structure of your business service, and then you can simply drag and drop individual attributes, complete collections, and methods to create your JSF UI, where they can be dropped as fields, forms, tables, graphs, etc. A meta-data file documents the pages and data controls that they are using. This simply accelerates the development of your JSF applications in a major way, eliminating a lot of tedious managed-beans and expression language coding.

Summary

There are other interesting capabilities included in the new Oracle ADF Essentials offering, but in this article we reviewed the parts that are of special interest to developers who are currently using JSF.

Oracle provides a host of tutorials and documentation that can get you started with the various components of Oracle ADF Essentials. Now that this powerful framework is free, you should definitely take a look into it.

Shay Shmeltzer is a Senior Group Manager at Oracle's Java development tools organization with 13 years of experience in the Java tools and framework eco-system. He frequently blogs at: http://blogs.oracle.com/shay.

Copyright (C) 2003-2011 Virtua, Inc. All Rights Reserved. Java, JavaServer Faces, and all Java-based marks are trademarks or registered trademarks of Oracle Corporation. in the United States and other countries. Virtua, Inc. is independent of Sun Microsystems, Inc. All other trademarks are the sole property of their respective owners.