Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and Development Environments
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
-
Upload
chris-muir -
Category
Technology
-
view
182 -
download
1
description
Transcript of Oracle ADF Architecture TV - Design - Task Flow Navigation Options
![Page 1: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/1.jpg)
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
![Page 2: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/2.jpg)
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
![Page 3: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/3.jpg)
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
![Page 4: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/4.jpg)
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
![Page 5: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/5.jpg)
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
![Page 6: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/6.jpg)
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
![Page 7: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/7.jpg)
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
![Page 8: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/8.jpg)
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
![Page 9: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/9.jpg)
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
![Page 10: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/10.jpg)
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
![Page 11: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/11.jpg)
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
![Page 12: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/12.jpg)
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
![Page 13: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/13.jpg)
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Wizard Interface
![Page 14: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/14.jpg)
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dashboard Interface
![Page 15: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/15.jpg)
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
![Page 16: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/16.jpg)
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
![Page 17: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/17.jpg)
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
![Page 18: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/18.jpg)
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
![Page 19: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/19.jpg)
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
![Page 20: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/20.jpg)
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)
![Page 21: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/21.jpg)
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
![Page 22: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/22.jpg)
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Stack Navigation
![Page 23: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/23.jpg)
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
![Page 24: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/24.jpg)
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
![Page 25: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/25.jpg)
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
![Page 26: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/26.jpg)
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Network Navigation
![Page 27: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/27.jpg)
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Hybrid Navigation
![Page 28: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/28.jpg)
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
![Page 29: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/29.jpg)
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
![Page 30: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/30.jpg)
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
![Page 31: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/31.jpg)
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
![Page 32: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/32.jpg)
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
![Page 33: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/33.jpg)
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
![Page 34: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/34.jpg)
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
![Page 35: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/35.jpg)
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
![Page 36: Oracle ADF Architecture TV - Design - Task Flow Navigation Options](https://reader034.fdocuments.us/reader034/viewer/2022052315/5461e99cb1af9f71408b4d8b/html5/thumbnails/36.jpg)
36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.