Task Flows at the Heart of Oracle ADF
There is nothing more important than understanding task flow-oriented design and architecture when developing Oracle ADF applications
ADF controller supports task flows. Supporting task flows helps us to break our complex web application into smaller reusable flows. The task flows are simple XML files. Each of the pages in the task flow is added as a view activity and the control flows between the pages. The components in the task flows are called as activities and each of the control flows will have an outcome to define the navigation.
Develop User Interface Services – Not Pages
Steven Davelaar, "Building Highly Reusable Task Flows"
Key Benefits
Unbounded Task Flow
Unbounded task flows are designed to handle navigation between pages which do not necessarily follow any specific entry point or exit point. For example, consider the pages linked through the toolbar menu in an application. An end user can select any menu option that he or she likes, or the person can even type the URL directly in the browser for viewing the page and can exit from the page or switch to a new page at any point in time. The navigation model for such pages (unbounded view) is defined using unbounded task flow. Unbounded task flow defines navigation for unbounded views in a Fusion web application.
Bounded Task Flow
The bounded task flow is primarily designed to implement reusable navigation cases with definite entry and exit points. A bounded task flow contains its own set of control flow rules, activities, and managed beans.
Properties that are commonly used in Bounded Task Flows are:
For more & detailed information read my blog post about Bounded Task Flow Properties. (https://blogs.oracle.com/ArdaEralp/entry/bounded_task_flow_properties)
Property | Description |
Default Activity | Activity that is invoked first when a bounded task flow is called. |
Exception Handler | Activity that is called by the framework in case of an exception |
Initializer | Invokes managed bean method upon task flow initialization before any activity is executed. |
Finalizer | Invokes managed bean method upon task flow exit using return activity. |
URL Invoke | Bounded task flows using JSPX documents may be called directly from a browser URL. This property defines which task flow is browser accessible and which task flow can only be accessed from within an ADF application. |
Managed Beans | Managed bean definitions for use within the bounded task flow. |
Input Parameter | Definitions API contract between the bounded task flow and the calling task flow or view. |
Return Value Definitions | API contract between bounded task flow calling task flow. Requires task flows called via task flow call activity |
Train | Defines whether or not the bounded task flow exposes a train model for navigation |
Critical | If save point feature is used, critical ensures a save point is taken when the task flow is left for the application to recover to this state |
Transaction | Defines the transaction setting for the bounded task flow and whether the data control is shared or not (isolated). Also defines if an implicit save point is taken when navigating into a bounded task flow that does not run in its own transaction |