SlideShare a Scribd company logo
1 of 23
ADF DATABINDINGS & DATACONTROLS
Rohan Walia
Oracle ADF/Fusion Middleware Consultant
ABOUT MYSELF
 Oracle ADF and Fusion Middleware Consultant.
 Oracle Certified ADF & Webcenter Implementation
specialist.
 Consultant, Blogger, Speaker and open networker.
 Part of A Team of North India Chapter AIOUG.
 Passionate about Oracle Technologies.
 Have been working in Oracle/Java products from 8.5
years.
 Blog – http://rohanwalia.blogspot.in/
 Twitter - @rohanwalia17
 Linked in : sg.linkedin/in/rohanwalia
AGENDA
 Revisit ADF Architecture.
 How ADF Model Fits into the Architecture.
 ADF Model.
 More about ADF DataControls.
 Get deep into ADF Data Bindings.
 Understand Page Definition files.
 DataBindings.cpx.
 Different Type of Bindings.
 Examples and Demo.
ORACLE ADF - ARCHITECTURE
Business
Services
Data Services
Model
Controller
JSF View
Desktop Browser-Based
Office
ADF
Swing
EJB BAMADFBC PortletsBIBPELWeb ServicesJava
ADF Faces
MetadataServices(MDS)
Mobile
Database Web Services Legacy Systems Apps Unlimited
JSF ADF Controller
ADF Data Controls & ADF Bindings
Mobile
ORACLE ADF - ARCHITECTURE
Business
Services
Data Services
Model
Controller
JSF View
Desktop Browser-Based
Office
ADF
Swing
EJB BAMADFBC PortletsBIBPELWeb ServicesJava
ADF Faces
MetadataServices(MDS)
Mobile
Database Web Services Legacy Systems Apps Unlimited
JSF ADF Controller
ADF Data Controls & ADF Bindings
Mobile
ADF MODEL LAYER
 This layer is different from other J2EE
frameworks.
 New module in Web Framework by Oracle.
 Responsible for communication between
Business Services to UI and Controllers and
vice/versa.
 Consist of Data Controls and Bindings.
 Data Controls
ADF DATA CONTROLS
 They exposes Business Services to Bindings Layer.
 UI Layer interacts with Bindings and Bindings
interact with Data Controls.
 Each user gets its own instance of DataControls.
 By default there is a data control for each Root
Application Module in Business Components.
 All the instances in AM Datamodel and methods are
exposed in Data Controls.
ADF BINDINGS OVERVIEW
 Associate Business Service data or methods to the
UI Components.
 Takes Care of Row iterations in Collection Models.
 No coding is required to get the current row values.
TreeBinding DataControls
•EmployeeId
•FirstName
LasName
Employee Table
Employee ADF Table
EmployeeVO
ADF Model
Business Services
BINDINGS - FILES
 Page Definition Files.
 Each Jspx Page/ Fragment has its own file.
 <PageName>PageDef.xml file.
 Also known as Binding Container.
 Databindings.cpx file.
 Has mapping between All pages and pageDefination
files in the ViewController project.
 Known as Binding Context.
 Has name/id of all the Data Controls used by the
ViewController layer.
 Default Exception Handler which can be modified using
ErrorHandlerClass attribute.
HOW BINDINGS WORK
 Each User Session has a Binding Container.
 Consist of Bindings and Data Controls
 Each component on the page uses its own binding
for values or performing action.
s
Page
Method
Commit
Input Text
Input Text
Bindings Context
(Databindings.cpx)
Bindings Container
PageDef
Bindings Container
PageDef
Business ServicesDataControls
DataControls
Attribute Value
Bindings
Action Bindings
View Object
Attributes
Operations
PAGE DEFINATION FILE
 Each page/fragment has a page definition file.
 It’s a XML file that stores bindings of the corresponding page.
 They are created by default when any UI component is created on
the page associated to DC for first time. E.g. drag and drop VO as
Table.
 Gets created in Application Sources in ViewController Project.
 One can go to page definition through bindings tab of page.
PAGEDEFINATION DETAILS
 PageDef files consist of three sections.
 Bindings.
 Executables.
 Data Controls where executables refer to.
EXECUTABLES
 Bindings must refer executables.
 Executables are Iterators/collection models from data controls.
 Iterators sync the current row accessed in the UI to the row in
collection model and remembers it.
 VO Iterators are created whenever any VO is dragged to the
page to create a component.
 Variable iterator are used to save values between the
requests.
CREATING NEW BINDINGS
 New bindings can be created using green + icon in bindings tab.
 Different types of bindings based on the needs.
 Below is the example to create new attribute value binding which
refers to a single value (attribute) in DepartmentVOIterator.
ACCESS BINDINGS FROM PAGE
 Bindings are accessed in page/fragments using EL.
 Bindings variable (#{bindings} ) contain all the bindings
from the page definition of current page in which it is
accessed.
DepartmentName
Page Definition
Bindings
#{bindings.DepartmentName}
COMMON BINDING TYPES
 Attribute values
 Tree Bindings
 List Binding
 Action Binding
 Method Action Binding
ATTRIBUTE VALUES
 Is used to access single value from collection/Iterator
executable.
 They are accessed using
#{bindings.<bindingName>.inputVale}
TREE BINDINGS
 Tree bindings represent collection data. Can be considered
as Row Set from a query.
 Exposes data of all the rows from Iterator in the executables
to which binding point to.
 Number of columns (attributes) can be selected to be
included in the Tree bindings.
 It refers Iterators collectionModel property for getting rows.
LIST BINDING
 Used to create dropdowns (List of Values)
 List can be static list or dynamic based on
 Value attribute is bind to
ACTION BINDING
 Added when any operations from
DataControls are dragged to the
page as buttons or links.
 Operations like create, createInsert
etc. They are specific to View
Objects instance.
 AM Operations like commit,
rollback.
 They are called in page through
#{bindings}
 They can be called in Managed
Bean for programmatic access.
METHOD ACTION BINDINGS
 Almost same as action
bindings.
 Are used to expose custom
methods in ADF BC to the
view layer.
DEMO
THANKS

More Related Content

What's hot

Angular 2.0 forms
Angular 2.0 formsAngular 2.0 forms
Angular 2.0 formsEyal Vardi
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVCIndicThreads
 
Oracle Forms: Menu
Oracle Forms: MenuOracle Forms: Menu
Oracle Forms: MenuSekhar Byna
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)Tom Kocjan
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 OverviewMike Ensor
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
AngularJS Directives
AngularJS DirectivesAngularJS Directives
AngularJS DirectivesEyal Vardi
 
Elastic search adaptto2014
Elastic search adaptto2014Elastic search adaptto2014
Elastic search adaptto2014Vivek Sachdeva
 

What's hot (20)

react redux.pdf
react redux.pdfreact redux.pdf
react redux.pdf
 
Spau spdd
Spau spddSpau spdd
Spau spdd
 
Angular 2.0 forms
Angular 2.0 formsAngular 2.0 forms
Angular 2.0 forms
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVC
 
Oracle Forms: Menu
Oracle Forms: MenuOracle Forms: Menu
Oracle Forms: Menu
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event Handling
 
Angular Data Binding
Angular Data BindingAngular Data Binding
Angular Data Binding
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
AngularJS Directives
AngularJS DirectivesAngularJS Directives
AngularJS Directives
 
Elastic search adaptto2014
Elastic search adaptto2014Elastic search adaptto2014
Elastic search adaptto2014
 
Tomcat
TomcatTomcat
Tomcat
 
Angular Directives
Angular DirectivesAngular Directives
Angular Directives
 
Oaf personalization examples
Oaf personalization examplesOaf personalization examples
Oaf personalization examples
 
Java beans
Java beansJava beans
Java beans
 
ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
 
Introduction to DDD
Introduction to DDDIntroduction to DDD
Introduction to DDD
 
Extensibility
ExtensibilityExtensibility
Extensibility
 
Angular
AngularAngular
Angular
 

Similar to ADF Bindings & Data Controls

Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part IIMichael Fons
 
Customizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADFCustomizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADFRohan Walia
 
Overview of atg framework
Overview of atg frameworkOverview of atg framework
Overview of atg frameworkYousuf Roushan
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africamagnificsmile
 
Oracle Application Development Frame Work (ADF) Online Training
Oracle Application Development Frame Work (ADF) Online TrainingOracle Application Development Frame Work (ADF) Online Training
Oracle Application Development Frame Work (ADF) Online TrainingGlory IT Technologies
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworksbrendonschwartz
 
Data Virtualization Primer -
Data Virtualization Primer -Data Virtualization Primer -
Data Virtualization Primer -Kenneth Peeples
 
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...seasofttraining
 
Document databases
Document databasesDocument databases
Document databasesQframe
 

Similar to ADF Bindings & Data Controls (20)

Oracle fusion dba online training
Oracle fusion  dba online trainingOracle fusion  dba online training
Oracle fusion dba online training
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part II
 
ASP.NET Lecture 4
ASP.NET Lecture 4ASP.NET Lecture 4
ASP.NET Lecture 4
 
J2EE pattern 5
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
 
Customizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADFCustomizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADF
 
Overview of atg framework
Overview of atg frameworkOverview of atg framework
Overview of atg framework
 
An Oracle ADF Introduction
An Oracle ADF IntroductionAn Oracle ADF Introduction
An Oracle ADF Introduction
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
 
Oracle Application Development Frame Work (ADF) Online Training
Oracle Application Development Frame Work (ADF) Online TrainingOracle Application Development Frame Work (ADF) Online Training
Oracle Application Development Frame Work (ADF) Online Training
 
Intro
IntroIntro
Intro
 
Introduction to Oracle
Introduction to OracleIntroduction to Oracle
Introduction to Oracle
 
Introduction to Oracle
Introduction to OracleIntroduction to Oracle
Introduction to Oracle
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
Olap
OlapOlap
Olap
 
Ch 7 data binding
Ch 7 data bindingCh 7 data binding
Ch 7 data binding
 
Data Virtualization Primer -
Data Virtualization Primer -Data Virtualization Primer -
Data Virtualization Primer -
 
dvprimer-concepts
dvprimer-conceptsdvprimer-concepts
dvprimer-concepts
 
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
 
Document databases
Document databasesDocument databases
Document databases
 
Ado.net
Ado.netAdo.net
Ado.net
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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)
 
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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

ADF Bindings & Data Controls

  • 1. ADF DATABINDINGS & DATACONTROLS Rohan Walia Oracle ADF/Fusion Middleware Consultant
  • 2. ABOUT MYSELF  Oracle ADF and Fusion Middleware Consultant.  Oracle Certified ADF & Webcenter Implementation specialist.  Consultant, Blogger, Speaker and open networker.  Part of A Team of North India Chapter AIOUG.  Passionate about Oracle Technologies.  Have been working in Oracle/Java products from 8.5 years.  Blog – http://rohanwalia.blogspot.in/  Twitter - @rohanwalia17  Linked in : sg.linkedin/in/rohanwalia
  • 3. AGENDA  Revisit ADF Architecture.  How ADF Model Fits into the Architecture.  ADF Model.  More about ADF DataControls.  Get deep into ADF Data Bindings.  Understand Page Definition files.  DataBindings.cpx.  Different Type of Bindings.  Examples and Demo.
  • 4. ORACLE ADF - ARCHITECTURE Business Services Data Services Model Controller JSF View Desktop Browser-Based Office ADF Swing EJB BAMADFBC PortletsBIBPELWeb ServicesJava ADF Faces MetadataServices(MDS) Mobile Database Web Services Legacy Systems Apps Unlimited JSF ADF Controller ADF Data Controls & ADF Bindings Mobile
  • 5. ORACLE ADF - ARCHITECTURE Business Services Data Services Model Controller JSF View Desktop Browser-Based Office ADF Swing EJB BAMADFBC PortletsBIBPELWeb ServicesJava ADF Faces MetadataServices(MDS) Mobile Database Web Services Legacy Systems Apps Unlimited JSF ADF Controller ADF Data Controls & ADF Bindings Mobile
  • 6. ADF MODEL LAYER  This layer is different from other J2EE frameworks.  New module in Web Framework by Oracle.  Responsible for communication between Business Services to UI and Controllers and vice/versa.  Consist of Data Controls and Bindings.  Data Controls
  • 7. ADF DATA CONTROLS  They exposes Business Services to Bindings Layer.  UI Layer interacts with Bindings and Bindings interact with Data Controls.  Each user gets its own instance of DataControls.  By default there is a data control for each Root Application Module in Business Components.  All the instances in AM Datamodel and methods are exposed in Data Controls.
  • 8. ADF BINDINGS OVERVIEW  Associate Business Service data or methods to the UI Components.  Takes Care of Row iterations in Collection Models.  No coding is required to get the current row values. TreeBinding DataControls •EmployeeId •FirstName LasName Employee Table Employee ADF Table EmployeeVO ADF Model Business Services
  • 9. BINDINGS - FILES  Page Definition Files.  Each Jspx Page/ Fragment has its own file.  <PageName>PageDef.xml file.  Also known as Binding Container.  Databindings.cpx file.  Has mapping between All pages and pageDefination files in the ViewController project.  Known as Binding Context.  Has name/id of all the Data Controls used by the ViewController layer.  Default Exception Handler which can be modified using ErrorHandlerClass attribute.
  • 10. HOW BINDINGS WORK  Each User Session has a Binding Container.  Consist of Bindings and Data Controls  Each component on the page uses its own binding for values or performing action. s Page Method Commit Input Text Input Text Bindings Context (Databindings.cpx) Bindings Container PageDef Bindings Container PageDef Business ServicesDataControls DataControls Attribute Value Bindings Action Bindings View Object Attributes Operations
  • 11. PAGE DEFINATION FILE  Each page/fragment has a page definition file.  It’s a XML file that stores bindings of the corresponding page.  They are created by default when any UI component is created on the page associated to DC for first time. E.g. drag and drop VO as Table.  Gets created in Application Sources in ViewController Project.  One can go to page definition through bindings tab of page.
  • 12. PAGEDEFINATION DETAILS  PageDef files consist of three sections.  Bindings.  Executables.  Data Controls where executables refer to.
  • 13. EXECUTABLES  Bindings must refer executables.  Executables are Iterators/collection models from data controls.  Iterators sync the current row accessed in the UI to the row in collection model and remembers it.  VO Iterators are created whenever any VO is dragged to the page to create a component.  Variable iterator are used to save values between the requests.
  • 14. CREATING NEW BINDINGS  New bindings can be created using green + icon in bindings tab.  Different types of bindings based on the needs.  Below is the example to create new attribute value binding which refers to a single value (attribute) in DepartmentVOIterator.
  • 15. ACCESS BINDINGS FROM PAGE  Bindings are accessed in page/fragments using EL.  Bindings variable (#{bindings} ) contain all the bindings from the page definition of current page in which it is accessed. DepartmentName Page Definition Bindings #{bindings.DepartmentName}
  • 16. COMMON BINDING TYPES  Attribute values  Tree Bindings  List Binding  Action Binding  Method Action Binding
  • 17. ATTRIBUTE VALUES  Is used to access single value from collection/Iterator executable.  They are accessed using #{bindings.<bindingName>.inputVale}
  • 18. TREE BINDINGS  Tree bindings represent collection data. Can be considered as Row Set from a query.  Exposes data of all the rows from Iterator in the executables to which binding point to.  Number of columns (attributes) can be selected to be included in the Tree bindings.  It refers Iterators collectionModel property for getting rows.
  • 19. LIST BINDING  Used to create dropdowns (List of Values)  List can be static list or dynamic based on  Value attribute is bind to
  • 20. ACTION BINDING  Added when any operations from DataControls are dragged to the page as buttons or links.  Operations like create, createInsert etc. They are specific to View Objects instance.  AM Operations like commit, rollback.  They are called in page through #{bindings}  They can be called in Managed Bean for programmatic access.
  • 21. METHOD ACTION BINDINGS  Almost same as action bindings.  Are used to expose custom methods in ADF BC to the view layer.
  • 22. DEMO