SlideShare uma empresa Scribd logo
1 de 4
ADF performance tuning tips
Tune ADF Model Layer
 Use Bind Variables instead of where clause in VO query.
 Avoid writing more complex logic in backing beans, instead redirect/move
business logic to associated AMImpl.
 Use VO based on entity object , only when you are doing DML operations
 This is only for Transient View objects - General -> Tuning -> Ensure to check
ONLY 'No Rows' options rest all unchecked , also check ' Passivate State'
option.
 Close rowSetIterator in end.
 Never ever use ApplicationModule Locator to get the instance of any
application module anywhere in the project except in Web services project.
Implement Nested application module technique if there is requirement to get
instance of any application module.
 Make sure to have unique/Primary key defined on every View Object.
 Use Programmatic VO's ( Transient VO's) only if required.
 If any ViewObject dragged onto page fragment as component, Make sure
fetchSize should be #{bindings.MyView.rangeSize} - Good practice to keep
fetchSize as low as possible.
 Avoid storing data in Session Scope .
 If there are any common LOV's being used in respective page fragments and
as independent components, then define them in 'faces-config.xml' and use
wherever needed instead of binding to each page fragment
 Ensure not to have any member level variables at application module level.
Split as much as possible to smaller application module based on functional
area.
 Never use getRowCount() unless it is really needed.
 Use a read-only View Object if the View Object does not have to insert or
update data.
 Close unused rowsets.
 If some data is static and used at multiple places then, cache data can be
collected using a shared application module. Define in one application module
and reuse using share application module.
Tune ADF Faces UI Layer
 While using tree or table, always consider set correct fetch size( fetch size -
defines the number of rows to be sent to the client in one round-trip).
 While using tree or table ,use appropriate content delivery mode
Possible values for this attribute are:
 immediate
 lazy
 whenAvailable
 Avoid inline usage of JavaScript/Cascading Style Sheets (CSS) whenever
possible.
 While using tree or table, always consider set correct fetch size( fetch size -
defines the number of rows to be sent to the client in one round-trip).
 Avoid binding UI components in backing beans, if used make them as transient
 Minimize the Number of Application Module Data Controls.
 While using tree or table use column stretching, if really required.
 Use "blocking=true" for and to avoid multiple clicks on submit buttons.
 If you use, af:region and the jsff page fragment files have more than 1 root
component, optimize it by arranging these components with a single root
component. For example, if you want your region contents to stretch, you might
have one visible content component and a series of popup components, put
the visible content component inside of a “center” facet of an
af:panelStretchLayout and put all of those popups in the “bottom” facet but also
make sure to assign bottomHeight=”0px”. If you don’t want the contents to
stretch, simply wrap these components with an af:panelGroupLayout
layout=”vertical”.
 Remove unused items from page bindings.
 Minimize use of components that provide overflow popups, e.g.
af:panelAccordion, af:panelTabbed, af:toolbar, af:breadCrumbs, af:menuBar. If
you have to use these components, make sure that your target screen size can
accommodate the content without having to invoke overflow.
 Set Immediate Property to True when Appropriate.
 Remove unused VOIterators on JSFF Page definitions.
 Use AJAX (PPR) as much you can.
 Never use normal html tag with ADF face component.
 Minimize use of components that provide custom title text truncation, e.g.
af:panelHeader and af:showDetailHeader. If you have to use these
components, make sure that your target screen size can accommodate the title
text without having to truncate.
 Ensure none of Page definitions should have more than one data control if not
needed. This may result in increasing number of database connections.
 Avoid using a af:panelStretchLayout where topHeight, bottomHeight,
startWidth, or endWidth is set to “auto”.
 Don’t ignore the warnings that JDeveloper gives you.
 Don’t use JSF/ADF Faces and JavaServer Pages Standard Tag Library (JSTL)
tags together.
 Use the "visible" and "rendered" attributes wisely.
 The visible property specifies simply whether the component is to be
displayed on the page, or is to be hidden.
 The rendered property specifies whether the component shall exist in the
client page at all.
Tune ADF Controller Layer
 Ensure to define same scope ( Pageflow,Backingbean) for a backing bean
across all .jsff , task flows and adfc-config.cml.
 Reuse task flow as much you can.
 Best practice to define Navigational flows in the task flows instead of using
NavigationalHandler in backing bean scope to define the Navigation.
 Ensure each backing bean/Manage bean should implement java.io.Serializble
interface.
 Keep the managed beans in the lowest possible scope.
General Tips -
 Use oracle.adf.share.logging. ADFLogger to log all debugging messages which
gives more control on the logging part.
 Preferred changes in web.xml –
org.apache.myfaces.trinidad.resource.DEBUG - False
oracle.adf.view.rich.CHECK_FILE_MODIFICATION - False
oracle.adf.view.rich.CLIENT_STATE_METHOD - token
oracle.adf.view.rich.LOGGER_LEVEL - False or remove this entry
oracle.adf.view.rich.ASSERT_ENABLED - False or remove this entry

Mais conteúdo relacionado

Mais procurados

JSF (ADF) Case Studies Presentation
JSF (ADF) Case Studies PresentationJSF (ADF) Case Studies Presentation
JSF (ADF) Case Studies PresentationMichael Fons
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)Christian Rokitta
 
Visual Regression Testing
Visual Regression TestingVisual Regression Testing
Visual Regression TestingVodqaBLR
 
Taking Apex and Visualforce Above and Beyond
Taking Apex and Visualforce Above and BeyondTaking Apex and Visualforce Above and Beyond
Taking Apex and Visualforce Above and BeyondSalesforce Developers
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...Lucas Jellema
 
Oracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTOracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTandrejusb
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocketandrejusb
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportSteven Davelaar
 
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 PreviewMarrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 PreviewLucas Jellema
 
ajn11 BT appengine SDK updates
ajn11 BT appengine SDK updatesajn11 BT appengine SDK updates
ajn11 BT appengine SDK updatesSATOSHI TAGOMORI
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation frameworkAnand Bagmar
 
Get responsive with Galen
Get responsive with GalenGet responsive with Galen
Get responsive with GalenThoughtworks
 
Creating Multi-Page Data Entry Controllers
Creating Multi-Page Data Entry ControllersCreating Multi-Page Data Entry Controllers
Creating Multi-Page Data Entry ControllersSalesforce Developers
 
Sample google app engine applications
Sample google app engine applicationsSample google app engine applications
Sample google app engine applicationsAurel Medvegy
 

Mais procurados (14)

JSF (ADF) Case Studies Presentation
JSF (ADF) Case Studies PresentationJSF (ADF) Case Studies Presentation
JSF (ADF) Case Studies Presentation
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)
 
Visual Regression Testing
Visual Regression TestingVisual Regression Testing
Visual Regression Testing
 
Taking Apex and Visualforce Above and Beyond
Taking Apex and Visualforce Above and BeyondTaking Apex and Visualforce Above and Beyond
Taking Apex and Visualforce Above and Beyond
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
 
Oracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTOracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC REST
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
 
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 PreviewMarrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
 
ajn11 BT appengine SDK updates
ajn11 BT appengine SDK updatesajn11 BT appengine SDK updates
ajn11 BT appengine SDK updates
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework
 
Get responsive with Galen
Get responsive with GalenGet responsive with Galen
Get responsive with Galen
 
Creating Multi-Page Data Entry Controllers
Creating Multi-Page Data Entry ControllersCreating Multi-Page Data Entry Controllers
Creating Multi-Page Data Entry Controllers
 
Sample google app engine applications
Sample google app engine applicationsSample google app engine applications
Sample google app engine applications
 

Destaque

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
 
The 7 Deadly Sins Of Project Portfolio Management
The 7 Deadly Sins Of Project Portfolio ManagementThe 7 Deadly Sins Of Project Portfolio Management
The 7 Deadly Sins Of Project Portfolio ManagementJie Wang
 
18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF InteractionSteven Davelaar
 
ADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesAndreas Koop
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1Markus Eisele
 

Destaque (7)

Oow2013 ef final_4_3
Oow2013 ef final_4_3Oow2013 ef final_4_3
Oow2013 ef final_4_3
 
Oracle application-development-framework-best-practices
Oracle application-development-framework-best-practicesOracle application-development-framework-best-practices
Oracle application-development-framework-best-practices
 
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
 
The 7 Deadly Sins Of Project Portfolio Management
The 7 Deadly Sins Of Project Portfolio ManagementThe 7 Deadly Sins Of Project Portfolio Management
The 7 Deadly Sins Of Project Portfolio Management
 
18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction
 
ADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesADF User Interface Design Best Pratices
ADF User Interface Design Best Pratices
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
 

Semelhante a Adf performance tuning tips slideshare

High performance coding practices code project
High performance coding practices code projectHigh performance coding practices code project
High performance coding practices code projectPruthvi B Patil
 
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
 
Designing well known websites with ADF Rich Faces
Designing well known websites with ADF Rich FacesDesigning well known websites with ADF Rich Faces
Designing well known websites with ADF Rich Facesmaikorocha
 
People code events 1
People code events 1People code events 1
People code events 1Samarth Arora
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperVinay Kumar
 
03 layouts & ui design - Android
03   layouts & ui design - Android03   layouts & ui design - Android
03 layouts & ui design - AndroidWingston
 
ATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,PricingATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,Pricingpraveen chinnam
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16Vivek chan
 
How to optimize asp dot-net application
How to optimize asp dot-net applicationHow to optimize asp dot-net application
How to optimize asp dot-net applicationsonia merchant
 
ASP.NET Best Practices - Useful Tips from the Trenches
ASP.NET Best Practices - Useful Tips from the TrenchesASP.NET Best Practices - Useful Tips from the Trenches
ASP.NET Best Practices - Useful Tips from the TrenchesHabeeb Rushdan
 
INTEGRATION (HTML/CSS) The technology behind AESTHETICS
INTEGRATION (HTML/CSS) The technology behind AESTHETICSINTEGRATION (HTML/CSS) The technology behind AESTHETICS
INTEGRATION (HTML/CSS) The technology behind AESTHETICSSiddharth Lale
 
Best Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue SolutionsBest Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue SolutionsRapidValue
 
Abap objects in action
Abap objects in actionAbap objects in action
Abap objects in actionFaina Fridman
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questionsAkhil Mittal
 
How to optimize asp dot net application ?
How to optimize asp dot net application ?How to optimize asp dot net application ?
How to optimize asp dot net application ?sonia merchant
 
How To Optimize Asp.Net Application ?
How To Optimize Asp.Net Application ?How To Optimize Asp.Net Application ?
How To Optimize Asp.Net Application ?Pooja Gaikwad
 
Backbone/Marionette introduction
Backbone/Marionette introductionBackbone/Marionette introduction
Backbone/Marionette introductionmatt-briggs
 

Semelhante a Adf performance tuning tips slideshare (20)

High performance coding practices code project
High performance coding practices code projectHigh performance coding practices code project
High performance coding practices code project
 
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
 
Hello Android
Hello AndroidHello Android
Hello Android
 
Designing well known websites with ADF Rich Faces
Designing well known websites with ADF Rich FacesDesigning well known websites with ADF Rich Faces
Designing well known websites with ADF Rich Faces
 
People code events 1
People code events 1People code events 1
People code events 1
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
 
Aem best practices
Aem best practicesAem best practices
Aem best practices
 
03 layouts & ui design - Android
03   layouts & ui design - Android03   layouts & ui design - Android
03 layouts & ui design - Android
 
ATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,PricingATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,Pricing
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16
 
How to optimize asp dot-net application
How to optimize asp dot-net applicationHow to optimize asp dot-net application
How to optimize asp dot-net application
 
ASP.NET Best Practices - Useful Tips from the Trenches
ASP.NET Best Practices - Useful Tips from the TrenchesASP.NET Best Practices - Useful Tips from the Trenches
ASP.NET Best Practices - Useful Tips from the Trenches
 
INTEGRATION (HTML/CSS) The technology behind AESTHETICS
INTEGRATION (HTML/CSS) The technology behind AESTHETICSINTEGRATION (HTML/CSS) The technology behind AESTHETICS
INTEGRATION (HTML/CSS) The technology behind AESTHETICS
 
Best Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue SolutionsBest Practices for Android UI by RapidValue Solutions
Best Practices for Android UI by RapidValue Solutions
 
Abap objects in action
Abap objects in actionAbap objects in action
Abap objects in action
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
 
How to optimize asp dot net application ?
How to optimize asp dot net application ?How to optimize asp dot net application ?
How to optimize asp dot net application ?
 
How To Optimize Asp.Net Application ?
How To Optimize Asp.Net Application ?How To Optimize Asp.Net Application ?
How To Optimize Asp.Net Application ?
 
CAF & Portlet Development Notes
CAF & Portlet Development NotesCAF & Portlet Development Notes
CAF & Portlet Development Notes
 
Backbone/Marionette introduction
Backbone/Marionette introductionBackbone/Marionette introduction
Backbone/Marionette introduction
 

Mais de Vinay Kumar

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Vinay Kumar
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Vinay Kumar
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Vinay Kumar
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18Vinay Kumar
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18Vinay Kumar
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Vinay Kumar
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- MadridVinay Kumar
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridVinay Kumar
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Vinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caVinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caVinay Kumar
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationVinay Kumar
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portalVinay Kumar
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionVinay Kumar
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobileVinay Kumar
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guideVinay Kumar
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - OverviewVinay Kumar
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depthVinay Kumar
 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion ArchitectureVinay Kumar
 
Incentive compensation in fusion CRM
Incentive compensation in fusion CRMIncentive compensation in fusion CRM
Incentive compensation in fusion CRMVinay Kumar
 

Mais de Vinay Kumar (20)

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extension
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion Architecture
 
Incentive compensation in fusion CRM
Incentive compensation in fusion CRMIncentive compensation in fusion CRM
Incentive compensation in fusion CRM
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Adf performance tuning tips slideshare

  • 1. ADF performance tuning tips Tune ADF Model Layer  Use Bind Variables instead of where clause in VO query.  Avoid writing more complex logic in backing beans, instead redirect/move business logic to associated AMImpl.  Use VO based on entity object , only when you are doing DML operations  This is only for Transient View objects - General -> Tuning -> Ensure to check ONLY 'No Rows' options rest all unchecked , also check ' Passivate State' option.  Close rowSetIterator in end.  Never ever use ApplicationModule Locator to get the instance of any application module anywhere in the project except in Web services project. Implement Nested application module technique if there is requirement to get instance of any application module.  Make sure to have unique/Primary key defined on every View Object.  Use Programmatic VO's ( Transient VO's) only if required.  If any ViewObject dragged onto page fragment as component, Make sure fetchSize should be #{bindings.MyView.rangeSize} - Good practice to keep fetchSize as low as possible.  Avoid storing data in Session Scope .  If there are any common LOV's being used in respective page fragments and as independent components, then define them in 'faces-config.xml' and use wherever needed instead of binding to each page fragment  Ensure not to have any member level variables at application module level. Split as much as possible to smaller application module based on functional area.  Never use getRowCount() unless it is really needed.  Use a read-only View Object if the View Object does not have to insert or update data.  Close unused rowsets.  If some data is static and used at multiple places then, cache data can be collected using a shared application module. Define in one application module and reuse using share application module.
  • 2. Tune ADF Faces UI Layer  While using tree or table, always consider set correct fetch size( fetch size - defines the number of rows to be sent to the client in one round-trip).  While using tree or table ,use appropriate content delivery mode Possible values for this attribute are:  immediate  lazy  whenAvailable  Avoid inline usage of JavaScript/Cascading Style Sheets (CSS) whenever possible.  While using tree or table, always consider set correct fetch size( fetch size - defines the number of rows to be sent to the client in one round-trip).  Avoid binding UI components in backing beans, if used make them as transient  Minimize the Number of Application Module Data Controls.  While using tree or table use column stretching, if really required.  Use "blocking=true" for and to avoid multiple clicks on submit buttons.  If you use, af:region and the jsff page fragment files have more than 1 root component, optimize it by arranging these components with a single root component. For example, if you want your region contents to stretch, you might have one visible content component and a series of popup components, put the visible content component inside of a “center” facet of an af:panelStretchLayout and put all of those popups in the “bottom” facet but also make sure to assign bottomHeight=”0px”. If you don’t want the contents to stretch, simply wrap these components with an af:panelGroupLayout layout=”vertical”.  Remove unused items from page bindings.  Minimize use of components that provide overflow popups, e.g. af:panelAccordion, af:panelTabbed, af:toolbar, af:breadCrumbs, af:menuBar. If
  • 3. you have to use these components, make sure that your target screen size can accommodate the content without having to invoke overflow.  Set Immediate Property to True when Appropriate.  Remove unused VOIterators on JSFF Page definitions.  Use AJAX (PPR) as much you can.  Never use normal html tag with ADF face component.  Minimize use of components that provide custom title text truncation, e.g. af:panelHeader and af:showDetailHeader. If you have to use these components, make sure that your target screen size can accommodate the title text without having to truncate.  Ensure none of Page definitions should have more than one data control if not needed. This may result in increasing number of database connections.  Avoid using a af:panelStretchLayout where topHeight, bottomHeight, startWidth, or endWidth is set to “auto”.  Don’t ignore the warnings that JDeveloper gives you.  Don’t use JSF/ADF Faces and JavaServer Pages Standard Tag Library (JSTL) tags together.  Use the "visible" and "rendered" attributes wisely.  The visible property specifies simply whether the component is to be displayed on the page, or is to be hidden.  The rendered property specifies whether the component shall exist in the client page at all.
  • 4. Tune ADF Controller Layer  Ensure to define same scope ( Pageflow,Backingbean) for a backing bean across all .jsff , task flows and adfc-config.cml.  Reuse task flow as much you can.  Best practice to define Navigational flows in the task flows instead of using NavigationalHandler in backing bean scope to define the Navigation.  Ensure each backing bean/Manage bean should implement java.io.Serializble interface.  Keep the managed beans in the lowest possible scope. General Tips -  Use oracle.adf.share.logging. ADFLogger to log all debugging messages which gives more control on the logging part.  Preferred changes in web.xml – org.apache.myfaces.trinidad.resource.DEBUG - False oracle.adf.view.rich.CHECK_FILE_MODIFICATION - False oracle.adf.view.rich.CLIENT_STATE_METHOD - token oracle.adf.view.rich.LOGGER_LEVEL - False or remove this entry oracle.adf.view.rich.ASSERT_ENABLED - False or remove this entry