Thursday, 16 June 2016

ADF Faces vs JSF (Taskflows)

You might be familiar with the term ADF; it stands for Application Development Framework. It is a framework by Oracle that simplifies application development, while enjoying all the best practices and standards built into the framework. I would put it in this way: if you want to create the same productive application using another technology stack/framework, you may need to code a whole lot more for it.

In fact, ADF Faces is built on top of JSF standard framework (JSR-127), while offering a whole lot more functionality and improvements to it such as new UI components and simplifies web development. However, some people felt that the learning curve is too steep for ADF, especially the ADF BC (business components). That itself can be another post of its own. In this post, I shall focus on the differences between ADF Task Flows and JSF Task Flows.


JSF Page Flow
ADF Task Flow
The entire application must be represented in a single page navigation file (faces-config.xml). Although you can have multiple copies of faces-config.xml in a project, the application loads these files as one at runtime.
The application can be broken up into a series of modular flows that call one another.
All nodes within a JSF page flow must be JSF pages. No other types of objects can exist within the JSF page flow
You can add to the task flow diagram nodes such as views, method calls, and calls to other task flows
Navigation is only between pages
Navigation is between pages as well as other activities, including routers
Application fragments cannot be reused
ADF task flows are reusable within the same or an entirely different application. After you break up your application into task flows, you may decide to reuse task flows containing common functionality
No shared memory scope between multiple requests except for session scope
Shared memory scope (for example, page flow scope) enables data to be passed between activities within the task flow. Page flow scope defines a unique storage area for each instance of an ADF bounded task flow
Can be converted to an ADF taskflow
Cannot be converted back to JSF Page Flow

No comments:

Post a Comment