SlideShare a Scribd company logo
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Task Flow Data Control Scope Options
ORACLE
PRODUCT
LOGO
Real World ADF Design & Architecture Principles
15th Feb 2013 v1.0
3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
•  At the end of this module you should be able to:
–  Understand how the traditional concept of transactions
aligns to that of ADF
–  Identify different data controls and their transaction capabilities
–  Explain the influence of the task flow data control scope option
and how it relates to data controls
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Transactions Revisited
•  ADF Data Controls
•  Task Flow “Data Control Scope"
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
In terms of database systems what is a
transaction? Why are they needed?
In ADF where are the transactional
capabilities defined?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Transactions Revisited
•  The common definition
–  A collection of work with a start and end
–  Commit or rollback acts on the entire collection of work
–  If an errors occur we don’t get stuck half way
–  Other users are isolated from the transactions
–  Only future transactions see the results
7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Transactions – What You Forgot
•  Remember transactions aren’t just about commit and rollback
–  They allow one user to chain operations together
–  Not just separate atomic actions
–  Each operation sees the previous changes within the transaction
–  Not visible to other users, but are visible to the current user
–  As such transactions are also a form of state management
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Where in ADF are the
transactional capabilities
exposed (defined) to the UI
layer again?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Transactions & Data Controls
•  Data controls provide the transactional APIs in ADF
–  Remember this isn’t just commit and rollback
–  But also state management
•  Typically one instance is given to each user session
–  This separates users’ transactions
•  Dependent on design
–  A user can be given multiple instances to perform multiple
transactions
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Transactions Recap
•  ADF Data Controls
•  Task Flow “Data Control Scope"
11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Data Controls Types
•  ADF BC
•  EJB/JPA
•  POJO
•  RESTful/URL
•  SOAP/Web service
•  Custom data controls
All designed
to carry state
EJB/JPA out-of-the-box
uses an implicit commit
model
Only ADF BC supports
explicit commit &
rollbacks
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Data Controls Challenges
•  If transactions are logically mapped to navigating groups of web pages
–  Q: How do we map the data control transaction to these boundaries?
•  If we need to support separate transactions per session
–  Q: How do we configure this with just one data control?
•  If ADF libraries may split data control definitions
–  Q: How to combine @ runtime with one instance and they can share state?
•  If our application uses multiple different data control types
–  Q: How to commit/rollback as a group?
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Data Controls Challenges & Solutions
•  If transactions are logically mapped to navigating groups of web pages
–  Q: How do we map the data control transaction to these boundaries?
–  A: Task flows allow you to define groups of pages/fragments and task flows
•  If we need to support separate transactions per session
–  Q: How do we configure this with just one data control?
–  A: Task flows can create a new data control or share an existing one
•  If ADF libraries may split data control definitions
–  Q: How to combine @ runtime with one instance and they can share state?
–  A: Intelligence is built in to combine data controls at runtime
•  If our application uses multiple different data control types
–  Q: How to commit/rollback as a group?
–  A: Task flows track the data controls attached as a group
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Data Controls Challenges & Solutions
•  If transactions are logically mapped to navigating groups of web pages
–  Q: How do we map the data control transaction to these boundaries?
–  A: Task flows allow you to define groups of pages/fragments and task flows
•  If we need to support separate transactions per session
–  Q: How do we configure this with just one data control?
–  A: Task flows can create a new data control or share an existing one
•  If ADF libraries may split data control definitions
–  Q: How to combine @ runtime with one instance and they can share state?
–  A: Intelligence is built in to combine data controls at runtime
•  If our application uses multiple different data controls
–  Q: How to commit/rollback as a group?
–  A: Task flows track the data controls attached as a group
Answered in the previous presentations
15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Data Controls Challenges & Solutions
•  If transactions are logically mapped to navigating groups of web pages
–  Q: How do we map the data control transaction to these boundaries?
–  A: Task flows allow you to define groups of pages/fragments and task flows
•  If we need to support separate transactions per session
–  Q: How do we configure this with just one data control?
–  A: Task flows can create a new data control or share an existing one
•  If ADF libraries may split data control definitions
–  Q: How to combine @ runtime with one instance and they can share state?
–  A: Intelligence is built in to combine data controls at runtime
•  If our application uses multiple different data controls
–  Q: How to commit/rollback as a group?
–  A: Task flows track the data controls attached as a group
Answered in the this presentation
16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Data Controls Challenges & Solutions
•  If transactions are logically mapped to navigating groups of web pages
–  Q: How do we map the data control transaction to these boundaries?
–  A: Task flows allow you to define groups of pages/fragments and task flows
•  If we need to support separate transactions per session
–  Q: How do we configure this with just one data control?
–  A: Task flows can create a new data control or share an existing one
•  If ADF libraries may split data control definitions
–  Q: How to combine @ runtime with one instance and they can share state?
–  A: Intelligence is built in to combine data controls at runtime
•  If our application uses multiple different data controls
–  Q: How to commit/rollback as a group?
–  A: Task flows track the data controls attached as a group
Answered in the next presentation
17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Task Flow Transaction and Data Control Scope Options
<?xml version="1.0" encoding="ISO-8859-1" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller"
version="1.2">
<task-flow-definition id="task-flow-definition">
<transaction>
<new-transaction/>
</transaction>
<data-control-scope>
<isolated/>
</data-control-scope>
<use-page-fragments/>
</task-flow-definition>
</adfc-config>
18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Shared Data Control Scope
•  “Share data controls with calling task flow”
•  Shared
–  Between calling & called task flows
–  If data controls are of the same
name and type
–  Only one instance of the data
control will be created & shared
–  And view objects sharing:
•  Current row indicators
•  Edit the same records
•  One database connection
19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Isolated Data Control Scope
•  Don’t’ “Share data controls with calling task flow”
•  Isolated
–  Regardless two instances of the
data control
–  Allows disparate data control
transactions
–  Separate view objects
•  No record coordination
•  Isolated record editing
•  Separate connections
20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Our system provides the user access to two
isolated instances of the same data control
simultaneously, and we're now infrequently
hitting row lock errors.
Why and what’s the solution?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Shared Data Control Scope: To
2
1
3
4
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Shared Data Control Scope: Returning
1
3
4
2
23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Isolated Data Control Scope: To
1
2
43
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Isolated Data Control Scope: Returning
25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Isolated Data Control Scope: Returning
1
2
4
5
3
6
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image: Ambro / FreeDigitalPhotos.net
Every isolated task flow means
separate data control instances,
more memory consumed, and if
using ADF BC more database
connections consumed.
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Rules for Sharing Data Controls
•  Data control must be in same data control frame
•  Same data control type – eg. ADF BC, EJB, WebService
•  Across ADF Libraries
–  At design time if same data
control comes from two
different ADF libraries, if they
have the same name they can
also share
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  The data control scope allows task flows to share
or create separate instances of data controls
•  If shared they will share a transaction and state
•  If isolated they will have their own transaction and state
•  Isolated makes sense when parts of the application state must
be kept separate and independent
–  But does have an overhead of extra memory and (for ADF BC) database
connections
–  And you lose sharing state (such as current iterator positions) across
separate instances of the same view object
29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Further Reading
Essential to view the next slides on
Task Flow Transaction Options
30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

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
Chris Muir
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Chris 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 Artifacts
Chris 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 Design
Chris Muir
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Chris 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 Patterns
Chris 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 MDS
Chris 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 Control
Chris 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 Options
Chris 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 Practices
Chris 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 Topologies
Chris 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 Integration
Chris 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 Decisions
Chris Muir
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
Chris 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 Dependencies
Chris Muir
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
Chris Muir
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
Chris Muir
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
Chris Muir
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
Chris Muir
 

What's hot (20)

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 - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Oracle ADF Architecture TV - 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 - 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 - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
Oracle ADF Architecture TV - Design - ADF 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 - 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 - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
 
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 - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
 
Oracle ADF Architecture TV - Design - Architecting for 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 - 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 - 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 - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
 
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 - 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...
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
 

Viewers also liked

Joulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success StoryJoulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success Story
Juniper Developer Resources Cooney
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
Chris Muir
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Chris Muir
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
Chris Muir
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
Chris Muir
 
Oracle openworld-presentation
Oracle openworld-presentationOracle openworld-presentation
Oracle openworld-presentation
Dr. Neil Brittliff
 

Viewers also liked (7)

Joulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success StoryJoulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success Story
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
 
Oracle openworld-presentation
Oracle openworld-presentationOracle openworld-presentation
Oracle openworld-presentation
 

Similar to Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options

Sql good practices
Sql good practicesSql good practices
Sql good practices
Deepak Mehtani
 
Managing Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalManaging Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with Drupal
Exove
 
Streamline it management
Streamline it managementStreamline it management
Streamline it management
DLT Solutions
 
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle DatabasesMigrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Jade Global
 
Visualization using Tableau
Visualization using TableauVisualization using Tableau
Visualization using Tableau
Girija Muscut
 
Whitepaper tableau for-the-enterprise-0
Whitepaper tableau for-the-enterprise-0Whitepaper tableau for-the-enterprise-0
Whitepaper tableau for-the-enterprise-0
alok khobragade
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
DataStax Academy
 
Copy of sec d (2)
Copy of sec d (2)Copy of sec d (2)
Copy of sec d (2)
Vaibhav Kathuria
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous World
Maria Colgan
 
Enabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data VirtualizationEnabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data Virtualization
Denodo
 
Fbdl enabling comprehensive_data_services
Fbdl enabling comprehensive_data_servicesFbdl enabling comprehensive_data_services
Fbdl enabling comprehensive_data_services
Cindy Irby
 
Workload-Aware: Auto-Scaling A new paradigm for Big Data Workloads
Workload-Aware: Auto-Scaling A new paradigm for Big Data WorkloadsWorkload-Aware: Auto-Scaling A new paradigm for Big Data Workloads
Workload-Aware: Auto-Scaling A new paradigm for Big Data Workloads
Vasu S
 
86921864 olap-case-study-vj
86921864 olap-case-study-vj86921864 olap-case-study-vj
86921864 olap-case-study-vj
homeworkping4
 
Why use trace cloud to manage your requirements (includes audio)
Why use trace cloud to manage your requirements (includes audio)Why use trace cloud to manage your requirements (includes audio)
Why use trace cloud to manage your requirements (includes audio)
Shambhavi Roy
 
Sql interview question part 5
Sql interview question part 5Sql interview question part 5
Sql interview question part 5kaashiv1
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
Knoldus Inc.
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
Knoldus Inc.
 
A introduction to oracle data integrator
A introduction to oracle data integratorA introduction to oracle data integrator
A introduction to oracle data integratorchkamal
 

Similar to Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options (20)

Sql good practices
Sql good practicesSql good practices
Sql good practices
 
Managing Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalManaging Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with Drupal
 
Streamline it management
Streamline it managementStreamline it management
Streamline it management
 
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle DatabasesMigrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
 
Visualization using Tableau
Visualization using TableauVisualization using Tableau
Visualization using Tableau
 
Whitepaper tableau for-the-enterprise-0
Whitepaper tableau for-the-enterprise-0Whitepaper tableau for-the-enterprise-0
Whitepaper tableau for-the-enterprise-0
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
 
Copy of sec d (2)
Copy of sec d (2)Copy of sec d (2)
Copy of sec d (2)
 
Copy of sec d (2)
Copy of sec d (2)Copy of sec d (2)
Copy of sec d (2)
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous World
 
Enabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data VirtualizationEnabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data Virtualization
 
Fbdl enabling comprehensive_data_services
Fbdl enabling comprehensive_data_servicesFbdl enabling comprehensive_data_services
Fbdl enabling comprehensive_data_services
 
Workload-Aware: Auto-Scaling A new paradigm for Big Data Workloads
Workload-Aware: Auto-Scaling A new paradigm for Big Data WorkloadsWorkload-Aware: Auto-Scaling A new paradigm for Big Data Workloads
Workload-Aware: Auto-Scaling A new paradigm for Big Data Workloads
 
86921864 olap-case-study-vj
86921864 olap-case-study-vj86921864 olap-case-study-vj
86921864 olap-case-study-vj
 
Why use trace cloud to manage your requirements (includes audio)
Why use trace cloud to manage your requirements (includes audio)Why use trace cloud to manage your requirements (includes audio)
Why use trace cloud to manage your requirements (includes audio)
 
Ebook5
Ebook5Ebook5
Ebook5
 
Sql interview question part 5
Sql interview question part 5Sql interview question part 5
Sql interview question part 5
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
A introduction to oracle data integrator
A introduction to oracle data integratorA introduction to oracle data integrator
A introduction to oracle data integrator
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options

  • 1. 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Task Flow Data Control Scope Options ORACLE PRODUCT LOGO Real World ADF Design & Architecture Principles 15th Feb 2013 v1.0
  • 3. 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Learning Objectives •  At the end of this module you should be able to: –  Understand how the traditional concept of transactions aligns to that of ADF –  Identify different data controls and their transaction capabilities –  Explain the influence of the task flow data control scope option and how it relates to data controls Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Transactions Revisited •  ADF Data Controls •  Task Flow “Data Control Scope"
  • 5. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. In terms of database systems what is a transaction? Why are they needed? In ADF where are the transactional capabilities defined? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 6. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Transactions Revisited •  The common definition –  A collection of work with a start and end –  Commit or rollback acts on the entire collection of work –  If an errors occur we don’t get stuck half way –  Other users are isolated from the transactions –  Only future transactions see the results
  • 7. 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Transactions – What You Forgot •  Remember transactions aren’t just about commit and rollback –  They allow one user to chain operations together –  Not just separate atomic actions –  Each operation sees the previous changes within the transaction –  Not visible to other users, but are visible to the current user –  As such transactions are also a form of state management
  • 8. 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Where in ADF are the transactional capabilities exposed (defined) to the UI layer again? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 9. 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Transactions & Data Controls •  Data controls provide the transactional APIs in ADF –  Remember this isn’t just commit and rollback –  But also state management •  Typically one instance is given to each user session –  This separates users’ transactions •  Dependent on design –  A user can be given multiple instances to perform multiple transactions
  • 10. 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Transactions Recap •  ADF Data Controls •  Task Flow “Data Control Scope"
  • 11. 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Data Controls Types •  ADF BC •  EJB/JPA •  POJO •  RESTful/URL •  SOAP/Web service •  Custom data controls All designed to carry state EJB/JPA out-of-the-box uses an implicit commit model Only ADF BC supports explicit commit & rollbacks
  • 12. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Data Controls Challenges •  If transactions are logically mapped to navigating groups of web pages –  Q: How do we map the data control transaction to these boundaries? •  If we need to support separate transactions per session –  Q: How do we configure this with just one data control? •  If ADF libraries may split data control definitions –  Q: How to combine @ runtime with one instance and they can share state? •  If our application uses multiple different data control types –  Q: How to commit/rollback as a group?
  • 13. 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Data Controls Challenges & Solutions •  If transactions are logically mapped to navigating groups of web pages –  Q: How do we map the data control transaction to these boundaries? –  A: Task flows allow you to define groups of pages/fragments and task flows •  If we need to support separate transactions per session –  Q: How do we configure this with just one data control? –  A: Task flows can create a new data control or share an existing one •  If ADF libraries may split data control definitions –  Q: How to combine @ runtime with one instance and they can share state? –  A: Intelligence is built in to combine data controls at runtime •  If our application uses multiple different data control types –  Q: How to commit/rollback as a group? –  A: Task flows track the data controls attached as a group
  • 14. 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Data Controls Challenges & Solutions •  If transactions are logically mapped to navigating groups of web pages –  Q: How do we map the data control transaction to these boundaries? –  A: Task flows allow you to define groups of pages/fragments and task flows •  If we need to support separate transactions per session –  Q: How do we configure this with just one data control? –  A: Task flows can create a new data control or share an existing one •  If ADF libraries may split data control definitions –  Q: How to combine @ runtime with one instance and they can share state? –  A: Intelligence is built in to combine data controls at runtime •  If our application uses multiple different data controls –  Q: How to commit/rollback as a group? –  A: Task flows track the data controls attached as a group Answered in the previous presentations
  • 15. 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Data Controls Challenges & Solutions •  If transactions are logically mapped to navigating groups of web pages –  Q: How do we map the data control transaction to these boundaries? –  A: Task flows allow you to define groups of pages/fragments and task flows •  If we need to support separate transactions per session –  Q: How do we configure this with just one data control? –  A: Task flows can create a new data control or share an existing one •  If ADF libraries may split data control definitions –  Q: How to combine @ runtime with one instance and they can share state? –  A: Intelligence is built in to combine data controls at runtime •  If our application uses multiple different data controls –  Q: How to commit/rollback as a group? –  A: Task flows track the data controls attached as a group Answered in the this presentation
  • 16. 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Data Controls Challenges & Solutions •  If transactions are logically mapped to navigating groups of web pages –  Q: How do we map the data control transaction to these boundaries? –  A: Task flows allow you to define groups of pages/fragments and task flows •  If we need to support separate transactions per session –  Q: How do we configure this with just one data control? –  A: Task flows can create a new data control or share an existing one •  If ADF libraries may split data control definitions –  Q: How to combine @ runtime with one instance and they can share state? –  A: Intelligence is built in to combine data controls at runtime •  If our application uses multiple different data controls –  Q: How to commit/rollback as a group? –  A: Task flows track the data controls attached as a group Answered in the next presentation
  • 17. 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Task Flow Transaction and Data Control Scope Options <?xml version="1.0" encoding="ISO-8859-1" ?> <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2"> <task-flow-definition id="task-flow-definition"> <transaction> <new-transaction/> </transaction> <data-control-scope> <isolated/> </data-control-scope> <use-page-fragments/> </task-flow-definition> </adfc-config>
  • 18. 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Shared Data Control Scope •  “Share data controls with calling task flow” •  Shared –  Between calling & called task flows –  If data controls are of the same name and type –  Only one instance of the data control will be created & shared –  And view objects sharing: •  Current row indicators •  Edit the same records •  One database connection
  • 19. 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Isolated Data Control Scope •  Don’t’ “Share data controls with calling task flow” •  Isolated –  Regardless two instances of the data control –  Allows disparate data control transactions –  Separate view objects •  No record coordination •  Isolated record editing •  Separate connections
  • 20. 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Our system provides the user access to two isolated instances of the same data control simultaneously, and we're now infrequently hitting row lock errors. Why and what’s the solution? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 21. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Shared Data Control Scope: To 2 1 3 4
  • 22. 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Shared Data Control Scope: Returning 1 3 4 2
  • 23. 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Isolated Data Control Scope: To 1 2 43
  • 24. 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Isolated Data Control Scope: Returning
  • 25. 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Isolated Data Control Scope: Returning 1 2 4 5 3 6
  • 26. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image: Ambro / FreeDigitalPhotos.net Every isolated task flow means separate data control instances, more memory consumed, and if using ADF BC more database connections consumed.
  • 27. 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Rules for Sharing Data Controls •  Data control must be in same data control frame •  Same data control type – eg. ADF BC, EJB, WebService •  Across ADF Libraries –  At design time if same data control comes from two different ADF libraries, if they have the same name they can also share
  • 28. 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Conclusion •  The data control scope allows task flows to share or create separate instances of data controls •  If shared they will share a transaction and state •  If isolated they will have their own transaction and state •  Isolated makes sense when parts of the application state must be kept separate and independent –  But does have an overhead of extra memory and (for ADF BC) database connections –  And you lose sharing state (such as current iterator positions) across separate instances of the same view object
  • 29. 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Further Reading Essential to view the next slides on Task Flow Transaction Options
  • 30. 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.