Sie sind auf Seite 1von 39

Build Your Business Services

using ADF Task Flows


Zeeshan Baig, Oracle ACE Technical Manager, AST Corporation
www.astcorporation.com

A little about me

13+ years of Technical Experience in Oracle Products

Technical Manager at AST Oracle ACE Member Oracle ADF Certified Specialist and OCP DBA Technical Blog at www.baigzeeshan.com YouTube Tutorials www.youtube.com/baigsorcl Twitter @baigsorcl

Agenda

What are Task Flows? Types of Task Flows? Other concepts used in Task flows Understand different components to build task flows Task flows templates Reusable task flows Use cases Q&A

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)

Bounded (BTF)

Public pages / No boundary No reuse No input parameters No return values No transaction Control No security e.g. Pages - Home, Help, Search, Navigations

Well defined boundary 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-oracleadf.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

Dynamic Regions

Fixed visibility Creates Task flow binding on page

Visible based on custom logic Creates Multi-task flow binding in page definition

Tutorial
http://www.baigzeeshan.com/2010/04/crea ting-pages-with-regions-in-oracle.html

Tutorial

http://www.baigzeeshan.com/2010/06/workingwith-dynamic-regions-in-oracle.html

Task Flow Managed Bean Scopes


Application..... Remains till application stops Session.......... Persists till user session PageFlow...... Also known as Task flow scope View............... Lifespan till current page Request......... Lives for duration of request only BackingBean. UI Component based

Task flow Managed Bean Scopes

Task Flow Components

Task flow Components


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

Task flow Components


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, exception 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


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

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

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 navigationcase.

BTF can have many TF return activities

Task flow Components


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

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

Task flow Components

Allows to trigger navigation of Parent view activity in ADF Region

Identifies how control will pass from one activity to another

Represents global navigation case

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

Building Task Flows

Building Task Flows

Tips to build Reusable Task Flows

Build BTFs in separate 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 behavior of UI components based on Input parameters

Use dynamic regions

How to Reuse Task flows


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 library path

Complete Tutorial available at http://www.baigzeeshan.com/2010/08/sharing-business-components-andtask.html

Building Task flows as Services

Typical Home page - Calling Task Flows from Task Flows

Building Task flows as Services

Common Flow - Search, Edit , Commit or Rollback

Building Task flows as Services

Service Flow - Add new Item while entering data on other screen

Building Task flows as Services

Service Flow - Upload Photos, Review and Submit

Building Task flows as Services

Decision Point - Based on UserType Parameter Redirect to different Page

Building Task flows as Services

Parameterized Task Flow - Multi-functional, Hide/show components based on parameters

Building Task flows as Services

URL call flow - Calling Registration, Profile Flows using URL call, Independent transaction

Building Task flows as Services

Registration Process Train, Method calls

Building Task flows as Services

Shopping Cart Check out Reconcile, Review, Submit, Continue

Review

Learned about Task Flows Bounded and Unbounded Task Flows Page Fragments, Managed Beans, Templates ADF Library Jars, Components of Task flows Use cases

Q&A

Thank you, Task Flow Experts.

BLOG http://baigzeeshan.com

YouTube Channel http://youtube.com/baigsorcl

Email zeeshan.baig82@gmail.com

Twitter @baigsorcl

Das könnte Ihnen auch gefallen