Você está na página 1de 32

ADF Task Flows For Beginners

By Zeeshan Baig, Oracle ACE www.baigzeeshan.com

A little about me.....


I am currently working as Senior Developer at NMH in Chicago. 10+ years of experience in Oracle Development tools (Database, Forms, APEX, ADF, Fusion) Oracle ACE, OCP DBA certified in 8, 8i and 10g Technical blog on ADF and other fusion technologies at www.baigzeeshan.com YouTube channel http://youtube.com/baigsorcl
Disclaimer: The views expressed are my own and does not affiliates with my employer

Agenda
What are Task Flows? Types of Task Flows? Other concepts used in Task flows Understand different components to build task flows Introduction of Task flows templates Some tips on building reusable task flows Demo Questions

Thanks Google, Flickr.com and Oracle documentation for images used in this presentation. These images are unmodified and used for educational purpose only.

What are task flows their types and other concepts?

What are Task Flows?


In simple words Visual representation of app process flow Each TF contains portion of app navigation They are similar to traditional flow charts Primary purpose is reuse

Types of Task flows


Un Bounded
Entry Points

Bounded
Entry Points

Exit Points

Exit Points

Types of Task Flows


Key Differences

Un-bounded (UTF)
Public pages / No boundry No reuse No input parameters No return values No transaction Control No security e.g. Pages - Home, Help, Search, Navigations

Bounded (BTF)
Well defined boundry Reusable Can take input parameters Can return values Allows transaction control Security control e.g. Register, Checkout, other application processes

Bounded Task flows


A typical application contains one unbounded task flow and many bounded task flows Build bounded task flows in its own application / workspace BTFs can Create with Pages or Page fragments Create as Train flows Call in a Dialog

Bounded Task flows Train Flows


Video tutorial at
http://www.baigzeeshan.com/2010/10/creating-train-flows-in-oracle-adf. html

Page vs Page Fragment


Page Fragment
Renders as content in another JSF page Must not contains the af:document, af:form, f:view, head, body and html because JSF page already has it has .jsff extension

Page
can contains many fragments extension .jsf or .jspx

Task flow Regions


Regions are created when you drag and drop a bounded task flow on a page

Static Regions Fixed visiblity Creates Task flow


binding on page

Dynamic Regions Visible based on custom logic Creates Multi-taskflow


binding

Tutorial http://www.
baigzeeshan. com/2010/04/creatingpages-with-regions-inoracle.html

Tutorial
http://www.baigzeeshan. com/2010/06/working-with-dynamic-regionsin-oracle.html

Task Flow Managed Bean Scopes


1. Application..... 2. Session.......... 3. PageFlow...... 4. View............... 5. Request......... 6. BackingBean. 7. Flash Scope.. Remains till application stops Persists till user session Also known as Task flow scope Lifespan till current page Lives for duration of request only UI Component based Remains Till Next encountered view (new in JSF 2.0)

Task flow Managed Bean Scopes

OK I got it... now what components i need to build them?\

Task Flow Components

Task flow Components


View Activity Displays a JSF Page or Fragment Extension .jsf, .jspx and .jsff
(fragments) Bookmarkable only in unbounded Task flows Can have one or more task flow regions Good practice to have page definition file attached

Task flow Components


Method Call Activity
Allows to call application logic in task flow Drag and drop methods from Data Control OR DnD from component palette then configure parameters to call managed bean methods Common usages are initialization, Clean-up, expcetion handler Can have return values in case of method returns some result if method is of 'void' type then outcome would be simple string

Task flow Components


Router Activity Route to any activity based on EL
expression Have default condition No Limits on conditions No limits on destinations Good practice is to start your task flows with Router for any future customizations.

Task flow Components


Task flow call activity
Calls another task flow from unbounded and bounded task flow Can take input parameters Can return output parameters Drag and Drop task flow from Application navigator to task flow Drag and Drop task flow to the page as link or button

Task flow Components


Task Flow Return Used to ends or send controls
back to caller in Bounded Task flows Does either Commit or Rollback (If Task flow is transactional) Set outcome to required control flow navigation-case. BTF can have many TF return activities

Task flow Components


URL View Activity
Used to Redirect application to addressable URL Can call BTFs Can call View activities on UTF Can call external sites e.g. http: //www.google.com No Control returned to caller

Task flow Components


Save point Restore
Allow to restore application to previous state Supports Save for later functionality Only required where Restore needed

Task flow Components


Parent Action

Allows to trigger
navigation of Parent view activity in ADF Region

Control flow case

Identifies how control will


paas from one activity to another

Wild-card

Represents global
navigation case

Building Task Flows

Building Task Flows

Task flow Templates


You can create task flow templates for common activities in bounded task flows Common use case is error handler Best practice is to use template for all bounded task flows

How to Reuse Task flows in Different Application


Create Deployment Profile ADF Library Jar Deploy as ADF library Jar Create Connection as File system in Resource Palette Drag and Drop from Resource Palette to your page and ADD libary path Complete Tutorial available at http: //www.baigzeeshan. com/2010/08/sharing-businesscomponents-and-task.html

Tips to build Reusable Task Flows


Build BTFs in seperate application then merge them into master app using ADF Lib Jar Use task flow with page fragments Use Input parameters Use Router activity as default Set conditional behaviour of UI components based on Input parameters e.g. read-only, show/hide Use dynamic regions

Demo Example

Search Employees - Provides Search facility Secured, called as normal on Home page and as List of values on upload photo task flow View / Edit Employees Secured, Allows 'Managers' to edit and 'endusers' to view employee detail. Displayed as ADF region and deployed as ADF library jar Upload Photo - Task flow to upload employee photo Secured, Called as Dialog and later calling search flow in a model dialog Public Runs a flash movie on home page for all unauthenticated users for authenticated users displays graphs based on user type

My Contact
BLOG http://baigzeeshan.com YouTube Channel http://youtube.com/baigsorcl Email zeeshan.baig82@gmail.com

Congratulations......
You are now Task flows Expert.... Thank you