SlideShare una empresa de Scribd logo
1 de 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
● 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.
Agenda
What are task flows
their types
and other concepts?
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
What are Task Flows?
Un Bounded
Entry Points
Types of Task flows
Bounded
Entry Points
Exit Points Exit Points
Types of Task Flows - Key Differences
Un-bounded (UTF)
● Public pages / No boundary
● No reuse
● No input parameters
● No return values
● No transaction Control
● No security
● e.g. Pages - Home, Help,
Search, Navigations
Bounded (BTF)
● Well defined boundary
● Reusable
● Can take input parameters
● Can return values
● Allows transaction control
● Security control
● e.g. Register, Checkout, other
application processes
● 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
Video tutorial at
http://www.baigzeeshan.com/2010/10/creating-train-flows-in-oracle-
adf.html
Bounded Task flows - Train Flows
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
Page vs. Page Fragment
Task flow Regions
Static Regions
● Fixed visibility
● Creates Task flow binding on
page
● Tutorial
http://www.baigzeeshan.com/2010/04/crea
ting-pages-with-regions-in-oracle.html
Dynamic Regions
● Visible based on custom logic
● Creates Multi-task flow binding
in page definition
● 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
● 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 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 navigation-
case.
● 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
● 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
Task flow Templates
Building Task Flows
Building 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
Tips to build Reusable 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-and-
task.html
How to Reuse Task flows
● 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
Building Task flows as Services
● Learned about Task Flows
● Bounded and Unbounded Task Flows
● Page Fragments, Managed Beans, Templates
● ADF Library Jars, Components of Task flows
● Use cases
Review
Q & A
● BLOG http://baigzeeshan.com
● YouTube Channel http://youtube.com/baigsorcl
● Email zeeshan.baig82@gmail.com
● Twitter @baigsorcl
Thank you, Task Flow Experts….

Más contenido relacionado

La actualidad más candente

Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
crokitta
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
Rob Windsor
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Alfredo Abate
 

La actualidad más candente (20)

Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
 
IBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewIBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's New
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Example
 
Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingSharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup Webinar
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
 
Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pact
 
Web flowpresentation
Web flowpresentationWeb flowpresentation
Web flowpresentation
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
 
ADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guideADF Mobile: 10 Things you don't get from the developers guide
ADF Mobile: 10 Things you don't get from the developers guide
 

Similar a Build your Business Services using ADF Task Flows

Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overview
Rohan Walia
 

Similar a Build your Business Services using ADF Task Flows (20)

ADF Taskflows for beginners
ADF Taskflows for beginnersADF Taskflows for beginners
ADF Taskflows for beginners
 
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
 
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
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
 
Introduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task FlowsIntroduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task Flows
 
Spark Workflow Management
Spark Workflow ManagementSpark Workflow Management
Spark Workflow Management
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overview
 
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
 
[20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team][20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team]
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
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...
 
Dataflow.pptx
Dataflow.pptxDataflow.pptx
Dataflow.pptx
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applications
 
Angular2 routing
Angular2 routingAngular2 routing
Angular2 routing
 
Itb2018 integrating mvc into legacy
Itb2018   integrating mvc into legacyItb2018   integrating mvc into legacy
Itb2018 integrating mvc into legacy
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
 
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
 

Más de DataNext Solutions

Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEX
DataNext Solutions
 
The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
DataNext Solutions
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion development
DataNext Solutions
 

Más de DataNext Solutions (6)

Cloud Computing Basics
Cloud Computing BasicsCloud Computing Basics
Cloud Computing Basics
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web Services
 
Oracle SOA Suite for High availability Enterprises
Oracle SOA Suite for High availability EnterprisesOracle SOA Suite for High availability Enterprises
Oracle SOA Suite for High availability Enterprises
 
Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEX
 
The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion development
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Build your Business Services using ADF Task Flows

  • 1. Build Your Business Services using ADF Task Flows Zeeshan Baig, Oracle ACE Technical Manager, AST Corporation www.astcorporation.com
  • 2. 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
  • 3. ● 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. Agenda
  • 4. What are task flows their types and other concepts?
  • 5. 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 What are Task Flows?
  • 6. Un Bounded Entry Points Types of Task flows Bounded Entry Points Exit Points Exit Points
  • 7. Types of Task Flows - Key Differences Un-bounded (UTF) ● Public pages / No boundary ● No reuse ● No input parameters ● No return values ● No transaction Control ● No security ● e.g. Pages - Home, Help, Search, Navigations Bounded (BTF) ● Well defined boundary ● Reusable ● Can take input parameters ● Can return values ● Allows transaction control ● Security control ● e.g. Register, Checkout, other application processes
  • 8. ● 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
  • 10. 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 Page vs. Page Fragment
  • 11. Task flow Regions Static Regions ● Fixed visibility ● Creates Task flow binding on page ● Tutorial http://www.baigzeeshan.com/2010/04/crea ting-pages-with-regions-in-oracle.html Dynamic Regions ● Visible based on custom logic ● Creates Multi-task flow binding in page definition ● 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. ● 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
  • 13. Task flow Managed Bean Scopes
  • 15. 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
  • 16. 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
  • 17. 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.
  • 18. 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
  • 19. 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 navigation- case. ● BTF can have many TF return activities
  • 20. 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
  • 21. Task flow Components ● Allow to restore application to previous state ● Supports Save for later functionality ● Only required where Restore needed
  • 22. 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
  • 23. ● 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 Task flow Templates
  • 26. ● 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 Tips to build Reusable Task Flows
  • 27. ● 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-and- task.html How to Reuse Task flows
  • 28. ● Typical Home page - Calling Task Flows from Task Flows Building Task flows as Services
  • 29. ● Common Flow - Search, Edit , Commit or Rollback Building Task flows as Services
  • 30. ● Service Flow - Add new Item while entering data on other screen Building Task flows as Services
  • 31. ● Service Flow - Upload Photos, Review and Submit Building Task flows as Services
  • 32. ● Decision Point - Based on UserType Parameter Redirect to different Page Building Task flows as Services
  • 33. ● Parameterized Task Flow - Multi-functional, Hide/show components based on parameters Building Task flows as Services
  • 34. ● URL call flow - Calling Registration, Profile Flows using URL call, Independent transaction Building Task flows as Services
  • 35. ● Registration Process – Train, Method calls Building Task flows as Services
  • 36. ● Shopping Cart Check out – Reconcile, Review, Submit, Continue Building Task flows as Services
  • 37. ● Learned about Task Flows ● Bounded and Unbounded Task Flows ● Page Fragments, Managed Beans, Templates ● ADF Library Jars, Components of Task flows ● Use cases Review
  • 38. Q & A
  • 39. ● BLOG http://baigzeeshan.com ● YouTube Channel http://youtube.com/baigsorcl ● Email zeeshan.baig82@gmail.com ● Twitter @baigsorcl Thank you, Task Flow Experts….