Oracle adf performance tips

100 %
0 %
Information about Oracle adf performance tips
Technology

Published on March 14, 2014

Author: VinayKumar92

Source: slideshare.net

Description

This paper provides various performance optimization tips in Oracle ADF applications

ORACLE ADF PERFORMANCE TIPS An Oracle white paper Vinay Kumar Abstract This paper provides various performance optimization tips in Oracle ADF applications

Table of Contents Tune ADF Model Layer.................................................................................................................................2 Tune ADF Faces UI Layer ..............................................................................................................................4 Tune ADF Controller layer............................................................................................................................7 General Tips –...............................................................................................................................................8 About the Author......................................................................................................................................8

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.  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. o The visible property specifies simply whether the component is to be displayed on the page, or is to be hidden. o 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 About the Author Vinay Kumar is a Senior Consultant and certified Oracle ADF/WebCenter Portal implementation specialist with Silbury IT Solutions gmbH. An Oracle Fusion Middleware evangelist. Vinay has seven years of experience consulting in Oracle ADF, Oracle WebCenter Portal/Content.

Add a comment

Comments

nba cheap jerseys | 29/01/15
Excellent way of explaining, and pleasant paragraph to obtain facts about my presentation subject, which i am going to present in school. nba cheap jerseys http://2010.flatcoat.us/images/picarchive/index.asp

Related presentations

Related pages

Oracle ADF - Tips and Techniques: ADF UI - Performance Tip ...

Before discussing the performance improvement by implementing lazy loading for the task flows, let us go through the task flow basics. How task flows are ...
Read more

Oracle ADF - Tips and Techniques

Oracle ADF - Tips and ... here we'll see how to form a query criteria that uses 'in' clause and also meets the performance ... struts and Oracle ADF.
Read more

Oracle Forms Performance Tuning (Grant Ronald's Blog)

Oracle Blog Grant Ronald's Blog Tips, Tricks, Events and Information around Oracle JDeveloper, ADF, and Oracle Forms «
Read more

Oracle ADF Performance Tips - Techartifact

ORACLE ADF PERFORMANCE TIPS An Oracle white paper Vinay Kumar Abstract This paper provides various performance optimization tips in Oracle ADF applications.
Read more

Configuration Tips for better Performance with ADF Mobile ...

Configuration Tips for better Performance with ADF Mobile Apps By SRINI INDLA-Oracle on Dec 12, 2012
Read more

JDeveloper Tips and Tricks - Oracle

Tips and Tricks for Oracle JDeveloper . Oracle. Country; ... BC4J/JClient Performance Study 20-Jan-2004: Using JDBC Data Sources with ADF Business ...
Read more

ADF Performance Monitor - AMIS

ADF Performance Monitor. When having trouble detecting performance issues in your Oracle ADF applications, the AMIS Oracle ADF Performance Monitor comes to ...
Read more

Oracle Application Development Framework Performance Tuning

7.1 About Oracle ADF. Oracle Application Development Framework (Oracle ADF) is an end-to-end application framework that builds on Java Platform ...
Read more