SlideShare a Scribd company logo
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….

More Related Content

What's hot

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
Steven Davelaar
 
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
John Calvert
 
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
Dvir Reznik
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Example
linkedinsys
 
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 ...
SPTechCon
 
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
John Calvert
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introductioncrokitta
 
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
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup Webinar
Keyur Shah
 
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 LightswitchRob Windsor
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
andrejusb
 
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...
Lucas Jellema
 
Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021
Slobodan Lohja
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)
Slobodan Lohja
 
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
andrejusb
 
Web flowpresentation
Web flowpresentationWeb flowpresentation
Web flowpresentation
Roman Brovko
 
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 ...
SPTechCon
 
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_COLLABORATE16Alfredo Abate
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
European Collaboration Summit
 
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
Luc Bors
 

What's hot (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 to Build your Business Services using ADF Task Flows

ADF Taskflows for beginners
ADF Taskflows for beginnersADF Taskflows for beginners
ADF Taskflows for beginners
Rajasekhar Manda
 
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
jcruizjdev
 
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
Salesforce Developers
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
iWare Logic Technologies Pvt. Ltd.
 
Introduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task FlowsIntroduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task Flows
Rohan Walia
 
Spark Workflow Management
Spark Workflow ManagementSpark Workflow Management
Spark Workflow Management
Romi Kuntsman
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overviewRohan Walia
 
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
Chris Muir
 
[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]
Wong Hoi Sing Edison
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
Knoldus Inc.
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
Knoldus Inc.
 
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
 
Dataflow.pptx
Dataflow.pptxDataflow.pptx
Dataflow.pptx
Sadeka Islam
 
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
Steef-Jan Wiggers
 
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...
ate.douma
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applications
Tom Martin
 
Angular2 routing
Angular2 routingAngular2 routing
Angular2 routing
TejinderMakkar
 
Itb2018 integrating mvc into legacy
Itb2018   integrating mvc into legacyItb2018   integrating mvc into legacy
Itb2018 integrating mvc into legacy
Ortus Solutions, Corp
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
Baskar rao Dsn
 
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
Prabhu Nehru
 

Similar to 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
 

More from DataNext Solutions

Cloud Computing Basics
Cloud Computing BasicsCloud Computing Basics
Cloud Computing Basics
DataNext Solutions
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web Services
DataNext Solutions
 
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
DataNext Solutions
 
Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEXDataNext 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 ADFDataNext Solutions
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion developmentDataNext Solutions
 

More from 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
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

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