SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles
Task Flow & Region Communication Patterns
ORACLE
PRODUCT
LOGO
15th Feb 2013 v1.0
3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
•  At the end of this module you should be able to:
–  Understand different patterns of ADF region interaction
–  Be able to choose the right pattern to implement for a problem
–  Understand the dos and don’ts of task flow communication
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
•  Contextual Events
•  Exercises
5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Task Flow Communication
Bounded Task Flow Call Options
Bounded
Task Flow
Region
Task Flow
Call Activity
displayed in
navigate to
URL GET
Request navigate to
6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Task Flow Communication
Call Activity
Task Flow
Task Flow
Call Activity navigate to
provision
Input Parameter
Input Parameter
Input Parameter
7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Task Flow Communication
Call Activity
Task Flow
Task Flow
Call Activity return control to
process
Return Value
Return Value
Return Activity
8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Task Flow Communication
ADF Region
Shared Data Control
Task Flow
provision
Input Parameter
Input Parameter
Input Parameter
RegionParent
View
Task Flow
Binding
refresh
Parent View
PageDef
get RegionModel
9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8
But where is the return value in ADF
regions?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
•  Contextual Events
•  Exercises
11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Example
Region 1
Region 2
12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region Interaction
•  Shared Data Control
•  Input Parameters
–  Parameter changes
–  JavaBean instance references
•  ADF Region events
•  Contextual events
Establishing Communication
13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Secret of Oracle ADF Rockstar Programmers
Often there is no single solution to a problem.
Use case matters.
14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
•  Master-detail synchronization between parent view and content
shown in region
•  Parent view passing data to child region for further processing
–  Embedded wizard use case
•  Parent view triggering navigation in region
–  Generic CRUD flow
–  Content switcher to display different views for a set of data
Usecase
15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
•  Region to return value to parent view at end of task flow processing
–  Region "exit" use case
•  Region method call to call behavior on parent view
–  Dynamic Tab Shell Template use case
•  Navigate parent view in response to region change
•  Change dynamic task flow configuration from region
Usecase
16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Region
•  Master-Detail behavior
•  Region causing navigation in another
•  Data passing
Usecase
17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
–  Shared Data Control
–  Input Parameter
–  Region Events
–  Other
•  Contextual Events
•  Exercises
18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Master-Detail Behavior – Shared DC
Task Flow
af:region
Parent View
View
<file>.jsff
NextPrevious Administration
PPR
1.
4.
19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Master-Detail Behavior – Shared DC
Task Flow
af:region
Parent View
View
<file>.jsff
<file>PageDef.xml
dependentEmployees
Iterator
<file>PageDef.xml
allDepartmentsIterator
NextPrevious Administration
change row currency
PPR
1.
2.
4.
20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Master-Detail Behavior – Shared DC
Task Flow
af:region
Parent View
View
<file>.jsff
<file>PageDef.xml
dependentEmployees
Iterator
<file>PageDef.xml
allDepartmentsIterator
NextPrevious Administration
change row currency
change row
currency
PPR
update
1.
2.
3.
4.
21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Master-Detail Behavior – Isolated DC
Task Flow
af:region
Parent View
View
<file>.jsff
NextPrevious Administration
PPR
1.
4.
22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Master-Detail Behavior – Isolated DC
Task Flow
af:region
Parent View
View
<file>.jsff
<file>PageDef.xml
dependentEmployees
Iterator
Data Control Layer
<file>PageDef.xml
allDepartmentsIterator
NextPrevious Administration
change row currency
PPR
Data Control Layer
taskFlowBinding
DepartmentName
detect change
parameter
value
Input Parameter
query
1.
2.
3.
4.
23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
–  Shared Data Control
–  Input Parameter
–  Region Events
–  Other
•  Contextual Events
•  Exercises
24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Common Usecase: Navigate to Specific View in Region
Task Flow
af:region
Input Parameter
Parent Flow
control flow case 1
control flow case 2 view1
view2
view3
view3
Show View 3
On Click
PPR
25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Bean Reference Injection
Bounded Task Flow
af:region
Input Parameter
Insert References to Parent View API
Managed
Bean
Parent Task Flow
(unbounded or bounded)
#{viewScope.ManagedBean}
Managed
Bean
invokes method
on caller
reference saved in
26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent: Chaperone in Action
Usecase: Self closing regions in tabs
Bounded Task Flow
af:region
Managed
Bean
Parent View
Dynamic Tab Shell
Managed Bean
View Scope
Input Parameter
View1 View2 Return
Activity
Method
Activity
27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent: Chaperone in Action
Usecase: Self closing regions in tabs
Bounded Task Flow
af:region
Managed
Bean
Parent View
Dynamic Tab Shell
Managed Bean
View Scope
View1 View2 Return
Activity
Method
Activity
Invoke method on
28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent: Chaperone in Action
Usecase: Self closing regions in tabs
Bounded Task Flow
af:region
Managed
Bean
Parent View
Dynamic Tab Shell
Managed Bean
View Scope
View1 View2 Return
Activity
Method
Activity
Invoke method on
29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent: Chaperone in Action
Usecase: Self closing regions in tabs
Bounded Task Flow
af:region
Managed
Bean
Parent View
Dynamic Tab Shell
Managed Bean
View Scope
View1 View2 Return
Activity
Method
Activity
Invoke method on
close tab
30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
–  Shared Data Control
–  Input Parameter
–  Region Events
–  Other
•  Contextual Events
•  Exercises
31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Navigate Parent View : RegionNavigationListener
af:region
Shopping Cart View Checkout View
checkOut
Task Flow
View1 View2 Return
Activity
"view1" "view2" null
32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Navigate Parent View : RegionNavigationListener
af:region
Shopping Cart View Checkout View
checkOut
Task Flow
View1 View2 Return
Activity
"view1" "view2" null
?
33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Navigate Parent View : RegionNavigationListener
af:region
Shopping Cart View Checkout View
checkOut
Task Flow
View1 View2 Return
Activity
RegionNavigation
Listener
If(viewId == null){
//navigate to
//checkout
}
"view1" "view2" null
Managed
Bean
34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Secret of Oracle ADF Rockstar Programmers
The Region Navigation Listener listens for what
happens in a region not for what happens to a
region
35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
•  Method of the af:region component
–  RichRegion
•  Invokes an ActionEvent as if it was queued from a command
component inside a region
–  Does not require the ADF region to refresh
–  Used for navigating between activities
•  Control flow cases are discoverable
Navigate Region: queueActionEventInRegion
36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
•  Region capabilities are used by a page to identify the available
navigation cases for a view displayed in a region
Determine Region Capabilities in EL
#{bindings.[regionId].regionModel.capabilities['outcome']}
37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
•  Determine Region Capabilities in Java
//backing bean with region component binding
RichRegion region = this.getEmpRegion();
RegionModel model = region.getRegionModel();
Set<String> capabilities = model.getCapabilities();
...
38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent-to-Region
Navigate Region: QueueActionEventInRegion
af:region
Parent View
Task Flow
View2
View3
View4 View5
toView2
toView5
View1
Managed Bean
Handle Navigation
RichRegion region = ...
region.queueActionEventInRegion(...)
Press to Navigate
toView1
39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
–  Shared Data Control
–  Input Parameter
–  Region Events
–  Other
•  Contextual Events
•  Exercises
40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Navigate Parent View : Parent Activity
af:region
Shopping Cart View
CheckoutView
checkout
Task Flow
View1 View2 FailView
Task Flow
checkoutCallFailed
41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Navigate Parent View : Parent Activity
af:region
Shopping Cart View
CheckoutView
checkout
Task Flow
View1 View2 FailView
Task Flow
checkoutCallFailed
42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Region-to-Parent
Navigate Parent View : Parent Activity
af:region
Shopping Cart View
CheckoutView
checkout
Task Flow
View1 View2 FailView
Task Flow
checkoutCallFailed
43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
–  Shared Data Control
–  Input Parameter
–  Region Events
–  Other
•  Contextual Events
•  Exercises
44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
About Contextual Events
•  Mechanism on the ADF binding layer for creating loosely coupled
publish and subscribe event models
•  Events may carry a data payload
–  Payload does not have to be a single simple scalar type but can be a
complex object
•  Require fragment based task flows embedded within page regions
•  Task flows with event producer and consumers can be saved in ADF
libraries
45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Contextual Events #1
Parent View
ParentViewPageDef
View Port View Port
Region 1 Region 2
ViewPageDef ViewPageDef
1
2
Event Map
Raise Event
46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent View
ParentViewPageDef
View Port View Port
Region 1 Region 2
ViewPageDef ViewPageDef
Contextual Events #2
2
1
Event Map
Raise Event
47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Parent View
ParentViewPageDef
View Port View Port
Region 1 Region 2
ViewPageDef ViewPageDef
Region 3
View
Port
Contextual Events #3
1
23
Event Map
Raise Event
48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Contextual Events
•  Discoverability
–  Event producer and event receiver
•  Documentation
•  Event payload
–  What type of object is it?
–  What is in a payload?
•  Developer "skill-up"
Challenges
49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Task Flow Call Options
•  Region Interaction Recipes
–  Shared Data Control
–  Input Parameter
–  Region Events
–  Other
•  Contextual Events
•  Exercises
50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise #1
•  The corporate architecture board is asked to suggest a solution for
implementing master-detail behavior between two regions
•  The application requirement is to coodinate the content displayed in
the region such that one shows customer information and the other
the selected customer's orders
•  Further the requirement is that the view shows the master-detail
behavior upon its initial rendering
•  Changing the customer displayed in the parent (customer) region
should immediately show the associated orders is response
Parent-Child Relationship Between Regions
51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise #1
Parent-Child Relationship Between Regions
Parent View
Customer View Customer - Orders View
52 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise #2
•  The requirement is for a task flow in a region to be able to hide /
show components in the parent view
•  The use case that needs to be implemented is to conditionally hide /
show (default) a panel accordion
Help the Team
53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise #2
Hide/Show Components From a Region
Parent View
RegionCustomer
Orders
Pending Shipments
Payments
Conditionally
Hide&Show
Accordion
Questions?
54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  Keep it simple! Contextual events is powerful but not
needed in many cases
•  Don't make any assumption in a task flow about the environment the
task flow executes in and how it is called
•  Document task flow requirements for input parameters and return
values
•  Use task flow templates
55 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  ADF Region Interaction Functional Pattern
–  http://www.oracle.com/technetwork/developer-tools/adf/adfregioninteraction-155145.html
•  Contextual Events Introduction
–  http://www.oracle.com/technetwork/issue-archive/2011/11-may/o31adf-352561.html
•  Contextual Events: Callback pattern
–  http://www.oracle.com/technetwork/developer-tools/adf/learnmore/
regionpayloadcallbackpattern-1865094.pdf
•  Master- commander: reusable contextual event solution
–  http://www.oracle.com/technetwork/issue-archive/2012/12-nov/o62adf-1867716.html
•  Parent view initializing region navigation
–  http://www.oracle.com/technetwork/developer-tools/adf/learnmore/
externaltrainnavigationpattern-1845645.pdf
56 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Oracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingOracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingChris 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 - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsChris Muir
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignChris Muir
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsChris Muir
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlChris Muir
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsChris 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 - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsChris Muir
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk MobileChris Muir
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesChris Muir
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationChris Muir
 
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 - 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 - 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 - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesChris Muir
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewSteven Davelaar
 
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 - 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
 

Was ist angesagt? (20)

Oracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingOracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error Handling
 
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 - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
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 - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
 
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 - 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 - 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 - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
 
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 - 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...
 

Andere mochten auch

Mass communication research
Mass communication researchMass communication research
Mass communication researchismael morales
 
Levels of Communication by140210125014-015
Levels of Communication by140210125014-015Levels of Communication by140210125014-015
Levels of Communication by140210125014-015Chirag Parmar
 
Levels and flow of communication
Levels and flow of communicationLevels and flow of communication
Levels and flow of communicationpatel_parthkumar
 
Levels and flow of communication
Levels and flow of communication Levels and flow of communication
Levels and flow of communication Vibhor Agarwal
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Andere mochten auch (8)

Mass communication research
Mass communication researchMass communication research
Mass communication research
 
Levels of Communication by140210125014-015
Levels of Communication by140210125014-015Levels of Communication by140210125014-015
Levels of Communication by140210125014-015
 
Levels and flow of communication
Levels and flow of communicationLevels and flow of communication
Levels and flow of communication
 
Levels and flow of communication
Levels and flow of communication Levels and flow of communication
Levels and flow of communication
 
Flow of communication
Flow of communicationFlow of communication
Flow of communication
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Ähnlich wie Oracle ADF Architecture TV - Design - Task Flow Communication Pattern

Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...Milomir Vojvodic
 
Oracle primavera and bpm the power of integration ppt
Oracle primavera and bpm   the power of integration pptOracle primavera and bpm   the power of integration ppt
Oracle primavera and bpm the power of integration pptp6academy
 
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 zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Kamalesh Ramasamy
 
Intro to JavaScript for APEX Developers
Intro to JavaScript for APEX DevelopersIntro to JavaScript for APEX Developers
Intro to JavaScript for APEX DevelopersDaniel McGhan
 
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...jeckels
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Ashish Srivastava
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsBerry Clemens
 
Module 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX AppsModule 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX AppsDaniel McGhan
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Bizagi Inc
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningBobby Curtis
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingPhil Wilkins
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & designMark Swarbrick
 
Hadoop and Big Data Overview
Hadoop and Big Data OverviewHadoop and Big Data Overview
Hadoop and Big Data OverviewPrabhu Thukkaram
 
Intro to GraphQL for Database Developers
Intro to GraphQL for Database DevelopersIntro to GraphQL for Database Developers
Intro to GraphQL for Database DevelopersDaniel McGhan
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesMarkus Michalewicz
 
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Beyond SQL Tuning: Insider's Guide to Maximizing SQL PerformanceBeyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Beyond SQL Tuning: Insider's Guide to Maximizing SQL PerformanceAshish Agrawal
 
Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02shubham gupta
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullBerry Clemens
 

Ähnlich wie Oracle ADF Architecture TV - Design - Task Flow Communication Pattern (20)

Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
 
Oracle primavera and bpm the power of integration ppt
Oracle primavera and bpm   the power of integration pptOracle primavera and bpm   the power of integration ppt
Oracle primavera and bpm the power of integration ppt
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionapps
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
 
Intro to JavaScript for APEX Developers
Intro to JavaScript for APEX DevelopersIntro to JavaScript for APEX Developers
Intro to JavaScript for APEX Developers
 
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
 
Module 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX AppsModule 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX Apps
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About Logging
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
Findfixandvalidate 140221013443-phpapp01
Findfixandvalidate 140221013443-phpapp01Findfixandvalidate 140221013443-phpapp01
Findfixandvalidate 140221013443-phpapp01
 
Hadoop and Big Data Overview
Hadoop and Big Data OverviewHadoop and Big Data Overview
Hadoop and Big Data Overview
 
Intro to GraphQL for Database Developers
Intro to GraphQL for Database DevelopersIntro to GraphQL for Database Developers
Intro to GraphQL for Database Developers
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
 
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Beyond SQL Tuning: Insider's Guide to Maximizing SQL PerformanceBeyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
 
Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-full
 

Kürzlich hochgeladen

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Oracle ADF Architecture TV - Design - Task Flow Communication Pattern

  • 1. 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Real World ADF Design & Architecture Principles Task Flow & Region Communication Patterns ORACLE PRODUCT LOGO 15th Feb 2013 v1.0
  • 3. 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Learning Objectives •  At the end of this module you should be able to: –  Understand different patterns of ADF region interaction –  Be able to choose the right pattern to implement for a problem –  Understand the dos and don’ts of task flow communication Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes •  Contextual Events •  Exercises
  • 5. 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Task Flow Communication Bounded Task Flow Call Options Bounded Task Flow Region Task Flow Call Activity displayed in navigate to URL GET Request navigate to
  • 6. 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Task Flow Communication Call Activity Task Flow Task Flow Call Activity navigate to provision Input Parameter Input Parameter Input Parameter
  • 7. 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Task Flow Communication Call Activity Task Flow Task Flow Call Activity return control to process Return Value Return Value Return Activity
  • 8. 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Task Flow Communication ADF Region Shared Data Control Task Flow provision Input Parameter Input Parameter Input Parameter RegionParent View Task Flow Binding refresh Parent View PageDef get RegionModel
  • 9. 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 But where is the return value in ADF regions? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 10. 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes •  Contextual Events •  Exercises
  • 11. 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Example Region 1 Region 2
  • 12. 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region Interaction •  Shared Data Control •  Input Parameters –  Parameter changes –  JavaBean instance references •  ADF Region events •  Contextual events Establishing Communication
  • 13. 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Secret of Oracle ADF Rockstar Programmers Often there is no single solution to a problem. Use case matters.
  • 14. 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region •  Master-detail synchronization between parent view and content shown in region •  Parent view passing data to child region for further processing –  Embedded wizard use case •  Parent view triggering navigation in region –  Generic CRUD flow –  Content switcher to display different views for a set of data Usecase
  • 15. 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent •  Region to return value to parent view at end of task flow processing –  Region "exit" use case •  Region method call to call behavior on parent view –  Dynamic Tab Shell Template use case •  Navigate parent view in response to region change •  Change dynamic task flow configuration from region Usecase
  • 16. 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Region •  Master-Detail behavior •  Region causing navigation in another •  Data passing Usecase
  • 17. 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes –  Shared Data Control –  Input Parameter –  Region Events –  Other •  Contextual Events •  Exercises
  • 18. 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Master-Detail Behavior – Shared DC Task Flow af:region Parent View View <file>.jsff NextPrevious Administration PPR 1. 4.
  • 19. 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Master-Detail Behavior – Shared DC Task Flow af:region Parent View View <file>.jsff <file>PageDef.xml dependentEmployees Iterator <file>PageDef.xml allDepartmentsIterator NextPrevious Administration change row currency PPR 1. 2. 4.
  • 20. 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Master-Detail Behavior – Shared DC Task Flow af:region Parent View View <file>.jsff <file>PageDef.xml dependentEmployees Iterator <file>PageDef.xml allDepartmentsIterator NextPrevious Administration change row currency change row currency PPR update 1. 2. 3. 4.
  • 21. 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Master-Detail Behavior – Isolated DC Task Flow af:region Parent View View <file>.jsff NextPrevious Administration PPR 1. 4.
  • 22. 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Master-Detail Behavior – Isolated DC Task Flow af:region Parent View View <file>.jsff <file>PageDef.xml dependentEmployees Iterator Data Control Layer <file>PageDef.xml allDepartmentsIterator NextPrevious Administration change row currency PPR Data Control Layer taskFlowBinding DepartmentName detect change parameter value Input Parameter query 1. 2. 3. 4.
  • 23. 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes –  Shared Data Control –  Input Parameter –  Region Events –  Other •  Contextual Events •  Exercises
  • 24. 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Common Usecase: Navigate to Specific View in Region Task Flow af:region Input Parameter Parent Flow control flow case 1 control flow case 2 view1 view2 view3 view3 Show View 3 On Click PPR
  • 25. 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Bean Reference Injection Bounded Task Flow af:region Input Parameter Insert References to Parent View API Managed Bean Parent Task Flow (unbounded or bounded) #{viewScope.ManagedBean} Managed Bean invokes method on caller reference saved in
  • 26. 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent: Chaperone in Action Usecase: Self closing regions in tabs Bounded Task Flow af:region Managed Bean Parent View Dynamic Tab Shell Managed Bean View Scope Input Parameter View1 View2 Return Activity Method Activity
  • 27. 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent: Chaperone in Action Usecase: Self closing regions in tabs Bounded Task Flow af:region Managed Bean Parent View Dynamic Tab Shell Managed Bean View Scope View1 View2 Return Activity Method Activity Invoke method on
  • 28. 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent: Chaperone in Action Usecase: Self closing regions in tabs Bounded Task Flow af:region Managed Bean Parent View Dynamic Tab Shell Managed Bean View Scope View1 View2 Return Activity Method Activity Invoke method on
  • 29. 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent: Chaperone in Action Usecase: Self closing regions in tabs Bounded Task Flow af:region Managed Bean Parent View Dynamic Tab Shell Managed Bean View Scope View1 View2 Return Activity Method Activity Invoke method on close tab
  • 30. 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes –  Shared Data Control –  Input Parameter –  Region Events –  Other •  Contextual Events •  Exercises
  • 31. 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Navigate Parent View : RegionNavigationListener af:region Shopping Cart View Checkout View checkOut Task Flow View1 View2 Return Activity "view1" "view2" null
  • 32. 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Navigate Parent View : RegionNavigationListener af:region Shopping Cart View Checkout View checkOut Task Flow View1 View2 Return Activity "view1" "view2" null ?
  • 33. 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Navigate Parent View : RegionNavigationListener af:region Shopping Cart View Checkout View checkOut Task Flow View1 View2 Return Activity RegionNavigation Listener If(viewId == null){ //navigate to //checkout } "view1" "view2" null Managed Bean
  • 34. 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Secret of Oracle ADF Rockstar Programmers The Region Navigation Listener listens for what happens in a region not for what happens to a region
  • 35. 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region •  Method of the af:region component –  RichRegion •  Invokes an ActionEvent as if it was queued from a command component inside a region –  Does not require the ADF region to refresh –  Used for navigating between activities •  Control flow cases are discoverable Navigate Region: queueActionEventInRegion
  • 36. 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region •  Region capabilities are used by a page to identify the available navigation cases for a view displayed in a region Determine Region Capabilities in EL #{bindings.[regionId].regionModel.capabilities['outcome']}
  • 37. 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region •  Determine Region Capabilities in Java //backing bean with region component binding RichRegion region = this.getEmpRegion(); RegionModel model = region.getRegionModel(); Set<String> capabilities = model.getCapabilities(); ...
  • 38. 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent-to-Region Navigate Region: QueueActionEventInRegion af:region Parent View Task Flow View2 View3 View4 View5 toView2 toView5 View1 Managed Bean Handle Navigation RichRegion region = ... region.queueActionEventInRegion(...) Press to Navigate toView1
  • 39. 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes –  Shared Data Control –  Input Parameter –  Region Events –  Other •  Contextual Events •  Exercises
  • 40. 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Navigate Parent View : Parent Activity af:region Shopping Cart View CheckoutView checkout Task Flow View1 View2 FailView Task Flow checkoutCallFailed
  • 41. 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Navigate Parent View : Parent Activity af:region Shopping Cart View CheckoutView checkout Task Flow View1 View2 FailView Task Flow checkoutCallFailed
  • 42. 42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Region-to-Parent Navigate Parent View : Parent Activity af:region Shopping Cart View CheckoutView checkout Task Flow View1 View2 FailView Task Flow checkoutCallFailed
  • 43. 43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes –  Shared Data Control –  Input Parameter –  Region Events –  Other •  Contextual Events •  Exercises
  • 44. 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. About Contextual Events •  Mechanism on the ADF binding layer for creating loosely coupled publish and subscribe event models •  Events may carry a data payload –  Payload does not have to be a single simple scalar type but can be a complex object •  Require fragment based task flows embedded within page regions •  Task flows with event producer and consumers can be saved in ADF libraries
  • 45. 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Contextual Events #1 Parent View ParentViewPageDef View Port View Port Region 1 Region 2 ViewPageDef ViewPageDef 1 2 Event Map Raise Event
  • 46. 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent View ParentViewPageDef View Port View Port Region 1 Region 2 ViewPageDef ViewPageDef Contextual Events #2 2 1 Event Map Raise Event
  • 47. 47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Parent View ParentViewPageDef View Port View Port Region 1 Region 2 ViewPageDef ViewPageDef Region 3 View Port Contextual Events #3 1 23 Event Map Raise Event
  • 48. 48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Contextual Events •  Discoverability –  Event producer and event receiver •  Documentation •  Event payload –  What type of object is it? –  What is in a payload? •  Developer "skill-up" Challenges
  • 49. 49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Task Flow Call Options •  Region Interaction Recipes –  Shared Data Control –  Input Parameter –  Region Events –  Other •  Contextual Events •  Exercises
  • 50. 50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise #1 •  The corporate architecture board is asked to suggest a solution for implementing master-detail behavior between two regions •  The application requirement is to coodinate the content displayed in the region such that one shows customer information and the other the selected customer's orders •  Further the requirement is that the view shows the master-detail behavior upon its initial rendering •  Changing the customer displayed in the parent (customer) region should immediately show the associated orders is response Parent-Child Relationship Between Regions
  • 51. 51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise #1 Parent-Child Relationship Between Regions Parent View Customer View Customer - Orders View
  • 52. 52 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise #2 •  The requirement is for a task flow in a region to be able to hide / show components in the parent view •  The use case that needs to be implemented is to conditionally hide / show (default) a panel accordion Help the Team
  • 53. 53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise #2 Hide/Show Components From a Region Parent View RegionCustomer Orders Pending Shipments Payments Conditionally Hide&Show Accordion Questions?
  • 54. 54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Conclusion •  Keep it simple! Contextual events is powerful but not needed in many cases •  Don't make any assumption in a task flow about the environment the task flow executes in and how it is called •  Document task flow requirements for input parameters and return values •  Use task flow templates
  • 55. 55 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Further Reading •  ADF Region Interaction Functional Pattern –  http://www.oracle.com/technetwork/developer-tools/adf/adfregioninteraction-155145.html •  Contextual Events Introduction –  http://www.oracle.com/technetwork/issue-archive/2011/11-may/o31adf-352561.html •  Contextual Events: Callback pattern –  http://www.oracle.com/technetwork/developer-tools/adf/learnmore/ regionpayloadcallbackpattern-1865094.pdf •  Master- commander: reusable contextual event solution –  http://www.oracle.com/technetwork/issue-archive/2012/12-nov/o62adf-1867716.html •  Parent view initializing region navigation –  http://www.oracle.com/technetwork/developer-tools/adf/learnmore/ externaltrainnavigationpattern-1845645.pdf
  • 56. 56 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.