SlideShare a Scribd company logo
1 of 32
Download to read offline
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
Static Regions
● Fixed visiblity
● Creates Task flow
binding on page
● Tutorial http://www.
baigzeeshan.
com/2010/04/creating-
pages-with-regions-in-
oracle.html
Dynamic Regions
● Visible based on custom logic
● Creates Multi-taskflow
binding
● Tutorial
http://www.baigzeeshan.
com/2010/06/working-with-dynamic-regions-
in-oracle.html
Regions are created when you drag and drop a bounded
task flow on a page
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
Control
flow case
Wild-card
● Allows to trigger
navigation of Parent
view activity in ADF
Region
● Identifies how control will
paas from one activity to
another
● 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-business-
components-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

More Related Content

What's hot

Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version ControlNowell Strite
 
Streamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPMStreamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPMKris Verlaenen
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webpartsPrabhu Nehru
 
OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...
OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...
OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...mfrancis
 
A Dynamic Analysis Framework for Front-end JavaScript
A Dynamic Analysis Framework for Front-end JavaScriptA Dynamic Analysis Framework for Front-end JavaScript
A Dynamic Analysis Framework for Front-end JavaScriptLiang Gong
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis
 

What's hot (7)

Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version Control
 
Streamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPMStreamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPM
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
Activiti bpm
Activiti bpmActiviti bpm
Activiti bpm
 
OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...
OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...
OSGi Community Event 2010 - Migration from Java EE Application Server to Serv...
 
A Dynamic Analysis Framework for Front-end JavaScript
A Dynamic Analysis Framework for Front-end JavaScriptA Dynamic Analysis Framework for Front-end JavaScript
A Dynamic Analysis Framework for Front-end JavaScript
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
 

Viewers also liked

Presentation on quantum computers
Presentation on quantum computersPresentation on quantum computers
Presentation on quantum computersNancy Mann
 
Quantum Computing - Basic Concepts
Quantum Computing - Basic ConceptsQuantum Computing - Basic Concepts
Quantum Computing - Basic ConceptsSendash Pangambam
 
Quantum computer
Quantum computerQuantum computer
Quantum computerNikhil Eg
 
Quantum Computing: Welcome to the Future
Quantum Computing: Welcome to the FutureQuantum Computing: Welcome to the Future
Quantum Computing: Welcome to the FutureVernBrownell
 
Quantum Computers
Quantum ComputersQuantum Computers
Quantum ComputersDeepti.B
 

Viewers also liked (6)

Quantum Computing
Quantum ComputingQuantum Computing
Quantum Computing
 
Presentation on quantum computers
Presentation on quantum computersPresentation on quantum computers
Presentation on quantum computers
 
Quantum Computing - Basic Concepts
Quantum Computing - Basic ConceptsQuantum Computing - Basic Concepts
Quantum Computing - Basic Concepts
 
Quantum computer
Quantum computerQuantum computer
Quantum computer
 
Quantum Computing: Welcome to the Future
Quantum Computing: Welcome to the FutureQuantum Computing: Welcome to the Future
Quantum Computing: Welcome to the Future
 
Quantum Computers
Quantum ComputersQuantum Computers
Quantum Computers
 

Similar to Beginner's Guide to ADF Task Flows

Build your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsBuild your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsDataNext Solutions
 
Introduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task FlowsIntroduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task FlowsRohan Walia
 
Silicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for ReusabilitySilicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for Reusabilityjcruizjdev
 
Spark Workflow Management
Spark Workflow ManagementSpark Workflow Management
Spark Workflow ManagementRomi Kuntsman
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewChris Muir
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Kaxil Naik
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applicationsTom Martin
 
Nubu paper review
Nubu paper reviewNubu paper review
Nubu paper reviewBu Sawoo
 
Single page application
Single page applicationSingle page application
Single page applicationArthur Fung
 
Fighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless phpFighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless phpFabio Pellegrini
 
Lightning Design System and Components for Visualforce Developers
Lightning Design System and Components for Visualforce DevelopersLightning Design System and Components for Visualforce Developers
Lightning Design System and Components for Visualforce DevelopersSalesforce Developers
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJSvaluebound
 
End to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSEnd to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSGil Fink
 
Killer Workflow Apps! Get Rich Quick With an Intranet!
Killer Workflow Apps!  Get Rich Quick With an Intranet!Killer Workflow Apps!  Get Rich Quick With an Intranet!
Killer Workflow Apps! Get Rich Quick With an Intranet!T. Kim Nguyen
 

Similar to Beginner's Guide to ADF Task Flows (20)

Build your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsBuild your Business Services using ADF Task Flows
Build your Business Services using ADF Task Flows
 
Introduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task FlowsIntroduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task Flows
 
Silicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for ReusabilitySilicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for Reusability
 
Spark Workflow Management
Spark Workflow ManagementSpark Workflow Management
Spark Workflow Management
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applications
 
Airflow Intro-1.pdf
Airflow Intro-1.pdfAirflow Intro-1.pdf
Airflow Intro-1.pdf
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Nubu paper review
Nubu paper reviewNubu paper review
Nubu paper review
 
Single page application
Single page applicationSingle page application
Single page application
 
Dataflow.pptx
Dataflow.pptxDataflow.pptx
Dataflow.pptx
 
Fighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless phpFighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless php
 
Lightning Design System and Components for Visualforce Developers
Lightning Design System and Components for Visualforce DevelopersLightning Design System and Components for Visualforce Developers
Lightning Design System and Components for Visualforce Developers
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJS
 
End to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSEnd to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJS
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
 
Autolab Workshop
Autolab WorkshopAutolab Workshop
Autolab Workshop
 
Killer Workflow Apps! Get Rich Quick With an Intranet!
Killer Workflow Apps!  Get Rich Quick With an Intranet!Killer Workflow Apps!  Get Rich Quick With an Intranet!
Killer Workflow Apps! Get Rich Quick With an Intranet!
 

Recently uploaded

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Beginner's Guide to ADF Task Flows

  • 1. ADF Task Flows For Beginners By Zeeshan Baig, Oracle ACE www.baigzeeshan.com
  • 2. 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
  • 3. 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.
  • 4. What are task flows their types and other concepts?
  • 5. 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
  • 6. Types of Task flows Un Bounded Entry Points Bounded Entry Points Exit Points Exit Points
  • 7. 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
  • 8. 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
  • 9. Bounded Task flows Train Flows Video tutorial at http://www.baigzeeshan.com/2010/10/creating-train-flows-in-oracle-adf. html
  • 10. 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
  • 11. Task flow Regions Static Regions ● Fixed visiblity ● Creates Task flow binding on page ● Tutorial http://www. baigzeeshan. com/2010/04/creating- pages-with-regions-in- oracle.html Dynamic Regions ● Visible based on custom logic ● Creates Multi-taskflow binding ● Tutorial http://www.baigzeeshan. com/2010/06/working-with-dynamic-regions- in-oracle.html Regions are created when you drag and drop a bounded task flow on a page
  • 12. 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)
  • 13. Task flow Managed Bean Scopes
  • 14. OK I got it... now what components i need to build them?
  • 16. 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
  • 17. 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
  • 18. 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.
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. Task flow Components Save point Restore ● Allow to restore application to previous state ● Supports Save for later functionality ● Only required where Restore needed
  • 23. Task flow Components Parent Action Control flow case Wild-card ● Allows to trigger navigation of Parent view activity in ADF Region ● Identifies how control will paas from one activity to another ● Represents global navigation case
  • 26. 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
  • 27. 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-business- components-and-task.html
  • 28. 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
  • 29. 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
  • 30.
  • 32. Congratulations...... You are now Task flows Expert.... Thank you