SlideShare a Scribd company logo
1 of 36
Download to read offline
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles
Task Flow Navigation Options
ORACLE
PRODUCT
LOGO
15th Feb 2013 v1.0
3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
•  At the end of this module you should be able to:
–  Understand the different ways task flows can be combined
–  Appreciate that the different way task flows call or embed each
other provide functionality and introduce limitations
–  Identify issues of runtime performance and memory consumption
based on your task flow navigation patterns
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Navigation
•  Unbounded vs Bounded Task Flows
•  Types of Interfaces
•  Inter-task flow navigation
–  Stack navigation
–  Network navigation
–  Hybrid navigation
–  Dashboard navigation
–  Parallel navigation
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Task Flow Navigation
•  Task flows provide different navigation patterns, both
–  Within the navigation you create at DT in UTFs and BTFs
–  Also due to the limitations/features of each
–  And also how task flows call each other
•  This can influence the user experiences
•  And can have runtime performance considerations
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Navigation
•  Unbounded vs Bounded Task Flows
•  Types of Interfaces
•  Inter-task flow navigation
–  Stack navigation
–  Network navigation
–  Hybrid navigation
–  Dashboard navigation
–  Parallel navigation
7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Unbounded Task Flow Example
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Unbounded Task Flows
•  There is no set start or end to the UTF
–  User can enter/exit application at any point
•  Navigation can be:
–  User free form
• Minimum amount of steps to get to any activity is 1
• Isolated activities are still accessible via URLs
–  Structured at design time
• Developers optionally define static uni or bi-directional navigation rules
• Wildcards provide a uni-direction navigation
Key Navigation Features
9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Bounded Task Flow Example
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Bounded Task Flow Navigation
•  One defined entry point, multiple defined exit points
•  No free-form navigation
•  Uni & bi-directional & wildcard navigation available
•  Activities are not accessible via URL
•  The minimum number of steps to any activity is defined at design time
•  Isolated nodes are inaccessible
Key Navigation Features
11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Navigation
•  Unbounded vs Bounded Task Flows
•  Types of Interfaces
•  Inter-task flow navigation
–  Stack navigation
–  Network navigation
–  Hybrid navigation
–  Dashboard navigation
–  Parallel navigation
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Drill Up/Down Interface
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Wizard Interface
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dashboard Interface
15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF UI Shell
16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Navigation
•  Unbounded vs Bounded Task Flows
•  Types of Interfaces
•  Inter-Task Flow Navigation
–  Stack Navigation
–  Network Navigation
–  Hybrid Navigation
–  Dashboard Navigation
–  Parallel Navigation
17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Inter-Task Flow Navigation
•  Definition: How task flows call task flows
•  To call a BTF based on pages we use a task
flow call
•  To use a fragment BTF we embed the BTF
as a region
–  Either in a page
–  Or another fragment
–  Contained within another task flow
Image: stockimages/ FreeDigitalPhotos.net
18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Stack Navigation
•  Suitable for page or page fragment task
flows
•  One task flows calls another without
terminating first
–  A source task flow calls a destination task
flow
–  Control is passed to the destination task
flow until it terminates
–  Upon which control is passed back to the
source/caller
Image: artemisphoto / FreeDigitalPhotos.net
19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Stack Navigation – Runtime Behavior
•  Task flow calls/returns allow stack to
grow/shrink
•  In the stack
–  The state of the source task flow is
persisted over the call
–  The state of the destination task flow
exists for its life
Image: renjith krishnan/ FreeDigitalPhotos.net
20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Stack Navigation – Advantages/Disadvantages
•  As we progress into the stack
–  The previous task flows are still active
–  Their state is stored in memory
–  Consuming more memory the deeper in the stack we go
•  Vice versa, on returning to previous item in the stack
–  There’s no need to restore the state, requery data
–  It’s stored in memory
•  The stack order is inflexible (tightly coupled)
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
What Could Be Stored in Memory?
•  ADF BC AM/VO/EOs
•  For period of request (could be passivated but will live at least for the
request)
•  ADF BC has no knowledge of what BTFs use what VOs/EOs, so it
cannot selectively passivate/activate content
•  Plus user data map in session
•  Binding layer objects
•  Bounded task flow state and pageFlow Scope
•  Task Flow state is kept in a HashMap in user session
•  The deeper the stack, more memory consumed
•  UI component tree and managed beans
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Stack Navigation
23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Network Navigation
•  Chains task flows using a composite
task flow
–  Composite comprises task flow
calls and navigation rules between
them
–  Individual task flows do not call
each other
Image: sheelamohan / FreeDigitalPhotos.net
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Network Navigation – Runtime Behavior
•  At most there’s only 2 task flows
on the stack
–  The composite and the called
task flow
Image: creativedoxfoto/ FreeDigitalPhotos.net
25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Network Navigation – Advantages/Disadvantages
•  Smaller memory footprint
•  If we need to revisit a previous task flow, as it’s state is lost, we
need to do additional processing to reestablish the state
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Network Navigation
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Hybrid Navigation
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dashboard Navigation
Task Flow
Page/Fragment
Region
Bounded Task Flow
Fragment Fragment
Bounded Task Flow
Region Fragment Fragment
29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF UI Shell
30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dashboard Navigation
•  Page/page fragments includes one or more regions
•  Regions are nested calls to other task flows
•  Nested navigation is independent of parent task flow
•  Can be stack, network or hybrid
•  Task flow stack is always minimum of 2 deep
31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dashboard Navigation
•  Nested BTFs can communicate to parent through contextual events
and parent actions
•  On termination of nested BTF there’s no way to access the BTF’s
return parameters
•  Each region is equivalent of 2 level stack
•  State of caller runs in parallel with nested region
32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image: Ambro / FreeDigitalPhotos.net
The more regions you have:
the more memory is required,
more processing is required,
more page interactions;
this makes the developer’s and
maintainer’s job harder
33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Parallel Navigation
•  BTFs can be embedded as:
–  Inline popups = Nested region navigation
–  External browser windows or tabs = Parallel navigation
•  Same user HTTP session
•  Different pageFlowScope, backingBeanScope beans and
processing
•  Need to share and separate state carefully
34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  The manner in which you call task flows can
influence:
–  The user experience
–  Which features you have at your disposal
–  What limitations you will need to workaround
–  And impact the performance of your system
35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  Fusion Developer's Guide for ADF v11.1.2.3.0
–  Section 19.6 Using Task Flow Call Activities
•  http://bit.ly/adfdevguide11123sect196
–  Section 19.0 Using Parent Action Activities
•  http://bit.ly/adfdevguide11123sect199
–  Section 38 Using Contextual Events
•  http://bit.ly/adfdevguide11123sect34
36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesChris Muir
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationChris Muir
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsChris Muir
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesChris Muir
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...Chris Muir
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningChris Muir
 
Oracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignOracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignChris Muir
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsChris Muir
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingChris Muir
 
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
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationChris Muir
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsChris Muir
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsChris Muir
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSChris Muir
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityChris Muir
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsChris Muir
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternChris Muir
 

What's hot (20)

Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Oracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignOracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout Design
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
 
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
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDS
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service Architectures
 
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
 

Viewers also liked

Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk MobileChris Muir
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleChris Muir
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...Chris Muir
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Chris Muir
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 

Viewers also liked (6)

Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
 
Joulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success StoryJoulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success Story
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 

Similar to Oracle ADF Architecture TV - Design - Task Flow Navigation Options

Primavera P6 Tips and Tricks
Primavera P6 Tips and TricksPrimavera P6 Tips and Tricks
Primavera P6 Tips and Tricksp6academy
 
Con8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2contentCon8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2contentAnil Nair
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsBerry Clemens
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningBobby Curtis
 
Some Oracle AWR observations
Some Oracle AWR observationsSome Oracle AWR observations
Some Oracle AWR observationsConnor McDonald
 
Tuning Java for Big Data
Tuning Java for Big DataTuning Java for Big Data
Tuning Java for Big DataScott Seighman
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouDavid Delabassee
 
Boosting your HTML Apps – Overview of OpenCL and Hello World of WebCL
Boosting your HTML Apps – Overview of OpenCL and Hello World of WebCLBoosting your HTML Apps – Overview of OpenCL and Hello World of WebCL
Boosting your HTML Apps – Overview of OpenCL and Hello World of WebCLJanakiRam Raghumandala
 
Database failover from client perspective
Database failover from client perspectiveDatabase failover from client perspective
Database failover from client perspectivePriit Piipuu
 
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxUKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxMarco Gralike
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...Neo4j
 
ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)Logico
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by OracleAkash Pramanik
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionMarkus Michalewicz
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschemaIvan Ma
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesNode.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesChristopher Jones
 
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeOUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeGeorgi Kodinov
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014Dave Stokes
 

Similar to Oracle ADF Architecture TV - Design - Task Flow Navigation Options (20)

Primavera P6 Tips and Tricks
Primavera P6 Tips and TricksPrimavera P6 Tips and Tricks
Primavera P6 Tips and Tricks
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
 
Con8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2contentCon8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2content
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionapps
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
Some Oracle AWR observations
Some Oracle AWR observationsSome Oracle AWR observations
Some Oracle AWR observations
 
Tuning Java for Big Data
Tuning Java for Big DataTuning Java for Big Data
Tuning Java for Big Data
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 
Boosting your HTML Apps – Overview of OpenCL and Hello World of WebCL
Boosting your HTML Apps – Overview of OpenCL and Hello World of WebCLBoosting your HTML Apps – Overview of OpenCL and Hello World of WebCL
Boosting your HTML Apps – Overview of OpenCL and Hello World of WebCL
 
Database failover from client perspective
Database failover from client perspectiveDatabase failover from client perspective
Database failover from client perspective
 
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxUKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
 
ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Javantura v6 - JDK 11 & JDK 12 - Dalibor TopicJavantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesNode.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
 
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeOUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 

Recently uploaded

UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 

Recently uploaded (20)

UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 

Oracle ADF Architecture TV - Design - Task Flow Navigation Options

  • 1. 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Real World ADF Design & Architecture Principles Task Flow Navigation Options ORACLE PRODUCT LOGO 15th Feb 2013 v1.0
  • 3. 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Learning Objectives •  At the end of this module you should be able to: –  Understand the different ways task flows can be combined –  Appreciate that the different way task flows call or embed each other provide functionality and introduce limitations –  Identify issues of runtime performance and memory consumption based on your task flow navigation patterns Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Navigation •  Unbounded vs Bounded Task Flows •  Types of Interfaces •  Inter-task flow navigation –  Stack navigation –  Network navigation –  Hybrid navigation –  Dashboard navigation –  Parallel navigation
  • 5. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Task Flow Navigation •  Task flows provide different navigation patterns, both –  Within the navigation you create at DT in UTFs and BTFs –  Also due to the limitations/features of each –  And also how task flows call each other •  This can influence the user experiences •  And can have runtime performance considerations
  • 6. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Navigation •  Unbounded vs Bounded Task Flows •  Types of Interfaces •  Inter-task flow navigation –  Stack navigation –  Network navigation –  Hybrid navigation –  Dashboard navigation –  Parallel navigation
  • 7. 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Unbounded Task Flow Example
  • 8. 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Unbounded Task Flows •  There is no set start or end to the UTF –  User can enter/exit application at any point •  Navigation can be: –  User free form • Minimum amount of steps to get to any activity is 1 • Isolated activities are still accessible via URLs –  Structured at design time • Developers optionally define static uni or bi-directional navigation rules • Wildcards provide a uni-direction navigation Key Navigation Features
  • 9. 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Bounded Task Flow Example
  • 10. 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Bounded Task Flow Navigation •  One defined entry point, multiple defined exit points •  No free-form navigation •  Uni & bi-directional & wildcard navigation available •  Activities are not accessible via URL •  The minimum number of steps to any activity is defined at design time •  Isolated nodes are inaccessible Key Navigation Features
  • 11. 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Navigation •  Unbounded vs Bounded Task Flows •  Types of Interfaces •  Inter-task flow navigation –  Stack navigation –  Network navigation –  Hybrid navigation –  Dashboard navigation –  Parallel navigation
  • 12. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Drill Up/Down Interface
  • 13. 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Wizard Interface
  • 14. 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Dashboard Interface
  • 15. 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF UI Shell
  • 16. 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Navigation •  Unbounded vs Bounded Task Flows •  Types of Interfaces •  Inter-Task Flow Navigation –  Stack Navigation –  Network Navigation –  Hybrid Navigation –  Dashboard Navigation –  Parallel Navigation
  • 17. 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Inter-Task Flow Navigation •  Definition: How task flows call task flows •  To call a BTF based on pages we use a task flow call •  To use a fragment BTF we embed the BTF as a region –  Either in a page –  Or another fragment –  Contained within another task flow Image: stockimages/ FreeDigitalPhotos.net
  • 18. 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Stack Navigation •  Suitable for page or page fragment task flows •  One task flows calls another without terminating first –  A source task flow calls a destination task flow –  Control is passed to the destination task flow until it terminates –  Upon which control is passed back to the source/caller Image: artemisphoto / FreeDigitalPhotos.net
  • 19. 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Stack Navigation – Runtime Behavior •  Task flow calls/returns allow stack to grow/shrink •  In the stack –  The state of the source task flow is persisted over the call –  The state of the destination task flow exists for its life Image: renjith krishnan/ FreeDigitalPhotos.net
  • 20. 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Stack Navigation – Advantages/Disadvantages •  As we progress into the stack –  The previous task flows are still active –  Their state is stored in memory –  Consuming more memory the deeper in the stack we go •  Vice versa, on returning to previous item in the stack –  There’s no need to restore the state, requery data –  It’s stored in memory •  The stack order is inflexible (tightly coupled)
  • 21. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. What Could Be Stored in Memory? •  ADF BC AM/VO/EOs •  For period of request (could be passivated but will live at least for the request) •  ADF BC has no knowledge of what BTFs use what VOs/EOs, so it cannot selectively passivate/activate content •  Plus user data map in session •  Binding layer objects •  Bounded task flow state and pageFlow Scope •  Task Flow state is kept in a HashMap in user session •  The deeper the stack, more memory consumed •  UI component tree and managed beans
  • 22. 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Stack Navigation
  • 23. 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Network Navigation •  Chains task flows using a composite task flow –  Composite comprises task flow calls and navigation rules between them –  Individual task flows do not call each other Image: sheelamohan / FreeDigitalPhotos.net
  • 24. 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Network Navigation – Runtime Behavior •  At most there’s only 2 task flows on the stack –  The composite and the called task flow Image: creativedoxfoto/ FreeDigitalPhotos.net
  • 25. 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Network Navigation – Advantages/Disadvantages •  Smaller memory footprint •  If we need to revisit a previous task flow, as it’s state is lost, we need to do additional processing to reestablish the state
  • 26. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Network Navigation
  • 27. 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Hybrid Navigation
  • 28. 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Dashboard Navigation Task Flow Page/Fragment Region Bounded Task Flow Fragment Fragment Bounded Task Flow Region Fragment Fragment
  • 29. 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF UI Shell
  • 30. 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Dashboard Navigation •  Page/page fragments includes one or more regions •  Regions are nested calls to other task flows •  Nested navigation is independent of parent task flow •  Can be stack, network or hybrid •  Task flow stack is always minimum of 2 deep
  • 31. 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Dashboard Navigation •  Nested BTFs can communicate to parent through contextual events and parent actions •  On termination of nested BTF there’s no way to access the BTF’s return parameters •  Each region is equivalent of 2 level stack •  State of caller runs in parallel with nested region
  • 32. 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image: Ambro / FreeDigitalPhotos.net The more regions you have: the more memory is required, more processing is required, more page interactions; this makes the developer’s and maintainer’s job harder
  • 33. 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Parallel Navigation •  BTFs can be embedded as: –  Inline popups = Nested region navigation –  External browser windows or tabs = Parallel navigation •  Same user HTTP session •  Different pageFlowScope, backingBeanScope beans and processing •  Need to share and separate state carefully
  • 34. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Conclusion •  The manner in which you call task flows can influence: –  The user experience –  Which features you have at your disposal –  What limitations you will need to workaround –  And impact the performance of your system
  • 35. 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Further Reading •  Fusion Developer's Guide for ADF v11.1.2.3.0 –  Section 19.6 Using Task Flow Call Activities •  http://bit.ly/adfdevguide11123sect196 –  Section 19.0 Using Parent Action Activities •  http://bit.ly/adfdevguide11123sect199 –  Section 38 Using Contextual Events •  http://bit.ly/adfdevguide11123sect34
  • 36. 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.