oracle adf architecture tv - design - task flow navigation options

36
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Upload: chris-muir

Post on 10-Nov-2014

184 views

Category:

Technology


1 download

DESCRIPTION

Slides from Oracle's ADF Architecture TV series covering the Design phase of ADF projects, covering different task flow navigation options. Like to know more? Check out: - Subscribe to the YouTube channel - http://bit.ly/adftvsub - Design Playlist - http://www.youtube.com/playlist?list=PLJz3HAsCPVaSemIjFk4lfokNynzp5Euet - Read the episode index on the ADF Architecture Square - http://bit.ly/adfarchsquare

TRANSCRIPT

Page 1: Oracle ADF Architecture TV - Design - Task Flow Navigation Options

1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Page 2: Oracle ADF Architecture TV - Design - Task Flow Navigation Options

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.