Winner of the competition : Win A free copy of the ‘Oracle ADF 11gR2 Development Beginner’s Guide’, just by commenting!


Hello Everyone

The competition is over for
https://vtkrishn.com/2013/05/23/win-a-free-copy-of-the-oracle-adf-11gr2-development-beginners-guide-just-by-commenting/

I would like to thank you all for your excellent and inspiring comments!

As per the competition, only three winners will be able to get a free copy of the book.

The choice was difficult and all comments clearly indicated the success of this book!

Without any further delay, here are the names of the winners:

  • David Martin
  • Alejandro Meza
  • Rajdeep

Congratulations guys! you will soon receive a free copy of  Oracle ADF 11gR2 Development Beginner’s Guide book!

Hope to see your valuable comments and reviews here

Thanks,

Vinod

Win A free copy of the ‘Oracle ADF 11gR2 Development Beginner’s Guide’, just by commenting!


Hi All,

Packt Publishing have asked me to conduct a give away contest for the book that I have written.
Its a great pleasure to conduct the contest.

For the contest Packt Publishing will sponsor  for three e-book copies of Oracle ADF 11gR2 Development Beginner’s Guide that will be given away for the lucky winners.

Competition Closed

Winners are here

https://vtkrishn.com/2013/06/12/winner-of-the-competition-win-a-free-copy-of-the-oracle-adf-11gr2-development-beginners-guide-just-by-commenting/

Oracle ADF is an end-to-end framework which makes application development simple by providing infrastructure services as well as visual and declarative development right away.

“Oracle ADF 11gR2 Development Beginner’s Guide” guides any user with programming skills to be able to quickly learn the options and ways to develop rich Internet applications using ADF 11gR2. Containing all the skills that a new user has to use to build an application in ADF 11gR2, this book is designed in such a way so that it enhances the practical feel of developing applications in ADF 11gR2.

Starting with the installation and configuration of Oracle ADF 11g RD we will then work through topics such as working with the Model Layer and Model Data followed by displaying and binding the data. Later we will look at Navigations and Flows within applications as well as their layout, look, and feel. “Oracle ADF 11g R2 Development Beginner’s Guide” will conclude with us looking at the security and deployment of the applications which have been created.

Happy commenting,

Thanks,
Vinod

Review for my book


I am thankful to Alexander Hansel for his review in Amazon for my book

http://www.amazon.com/Oracle-11gR2-Development-Beginners-Guide/product-reviews/1849689008/ref=cm_cr_dp_see_all_btm?ie=UTF8&showViewpoints=1&sortBy=bySubmissionDateDescending

Oracle ADF 11gR2 Development Beginner’s Guide – Published!!


Book Details

Language : English
Paperback : 330 pages [ 235mm x 191mm ]
Release Date : April 2013
ISBN : 1849689008
ISBN 13 : 9781849689007

Reviewed by : Frank Nimphius, Sten E. Vesterli
Author(s) : Vinod Krishnan

Topics and Technologies : All Books, Oracle Applications, Beginner’s Guides, Enterprise, Oracle

This book is intended for beginners who know a little about Java programming and would like to learn how to develop rich web applications using the Oracle Application Development Framework.

http://www.packtpub.com/oracle-adf-11gr2-development-beginners-guide/book

Chapter 1, Installing and Configuring Jdeveloper IDE – This is the first time you are working with Jdeveloper, Where do you start?  – In this chapter you will learn how to install and configure Jdeveloper IDE, how to work with the IDE.

Chapter 2, Getting Started with ADF – you don’t know what is ADF? You would love to see a running example – You will learn the basics of Model-View-Controller Architecture, How ADF fits into the MVC patter, learn the components of ADF, building a simple ADF application.

Chapter 3, Understanding the Model Layer– Do you know how Business components work, can we explore? – You will learn about ADF Business components and how it works, familiarize with the components..

Chapter 4, Validating and Using the Model data– How will you do validation for your model? Learn how to write business logic declaratively, learn the groovy expressions, and manage transactions and exposing the data.

Chapter 5, Binding the Data– Do you know how to expose the model data to the UI layer? This chapter teaches how to use the data control and bind the data for the user interface.

Chapter 6, Displaying the Data– Do you want to design your page? You will learn how to display the data in the UI using layers and components.

Chapter 7, Working with Navigation Flows–  You would love to pass information from one page to another, but how? – Learn how to use the page flows and activities pass parameters and about ADF lifecycle.

Chapter 8, Layout with Look & Feel – Do you see your page good for the user? You will learn how to style the page and make it presentable.

Chapter 9, Implementing Security – You would love to secure your page, don’t you? This chapter will help in securing the page that you have created, Allow and restrict access for different roles and groups.

Chapter 10, Deploying the ADF Application – How do you make your application available to your friend? This chapter will help you deploy the application to the server.

Chapter 11, Advanced Features of ADF – Now you know the basics, what’s next? – Advanced features of the ADF11gR2 framework is explained in this chapter.

ADF Mobile Development


I have written a page on ADF mobile here

https://blogs.oracle.com/vtkrishn/entry/adf_mobile_development_introduction

Android Development Tutorial


Nice tutorial on Android development is here

http://www.vogella.com/articles/Android/article.html

Pre order your copy today – Oracle ADF 11gR2 Development Beginner’s Guide


Book Details

Language : English
Paperback : 328 pages [ 235mm x 191mm ]
Release Date : June 2013
ISBN : 1849689008
ISBN 13 : 9781849689007
Author(s) : Vinod Krishnan
Topics and Technologies : All Books, Oracle Applications, Beginner’s Guides, Enterprise, Oracle

This book is intended for beginners who know a little about Java programming and would like to learn how to develop rich web applications using the Oracle Application Development Framework.

http://www.packtpub.com/oracle-adf-11gr2-development-beginners-guide/book

Tuning for ADF


MaxFetchSize

MaxFetchSize is the maximum number of rows fetched from the database for the current view object. Setting -1 will retrieve unlimited number of rows or the entire rows returned from a query. Setting 0 will cause no query execution and no rows will be returned. Check in the VO for this property.

1

FetchSize

This is the number of rows that is returned on a single database round trip. This setting will determine how many rows will be returned for a particular view object at run-time on a single query. Set the size In batches of n+1. check in VO, AM instance, table component for this property.

2

FetchMode

This is the mode that controls how the rows are retrieved in a JDBC resultset. Some of the modes allowed for the FETCH_ALL, FETCH_AS_NEEDED. Number of rows retrieved is based on the RangeSize of the VO.

FETCH_ALL – will fetch all the rows at a time. This causes all rows to be retrieved from a JDBC result set immediately, and then closes the result set.

3

FETCH_AS_NEEDED – will fetch number of rows defined by the RangeSize first and is again fetched upon request. A fetch mode that causes rows to be retrieved from a JDBC result set as the user navigates through the row set. The result set is closed when the user reaches the end of the row. The executeQuery() will fetch this much only.

4

RangeSize

Number or rows to be displayed in the Iterator collection. Table rows maps to this. By default is 25. Maps from View Object to the UI Collection. Check in VO, Page definition file for this property.

5

ListRangeSize

ListRangeSize is the setting for the List of values that is added to the attribute in the View object which will be set to less value to reduce large number of rows getting returned unnecessarily. Setting -1 will retrieve all the rows. Check in the VO for this property.

6RowCountThreshold

Specify a value to determine if a result set returns the number of rows you specify as a value. If you set RowCountThreshold to 0, the Iterator returns the estimated row count in the result set by executing the count query. If you set RowCountThreshold to less than 0, the Iterator does not execute the count query. If RowCountThreshold is set to -1 then it will load the table faster and will not execute the SELECT COUNT query for the number of data retrieved. Check in page definition file.

7

AccessMode

This defines how the row is accessed in a view object. The modes are

SCROLLABLE – Rows are cached in a collection. This is the most flexible mode for accessing rows and working with a RowSet. Ideal for less number of rows. For large numbers use RANGE_PAGING or RANGE_PAGING_INCREMENTAL.

FORWARD_ONLY– Sequential Access to rows in a collection. The Iterator on this RowSet will not allow scrolling back

8

RANGE_PAGING – The paging is done based on the RangeSize defined. If the rows which are requested are not in the range then the rows are fetched from the database using the ROWNUM query. it only keeps the current range (or “page”) of rows in memory in the view row cache at a time

RANGE_PAGING_AUTO_POST – The rowset will post any changes in the transaction for rows out of the current range.

9

RANGE_PAGING_INCR – the UI incrementally displays the result set from the memory cache and thus supports scrolling within a single database query. the UI incrementally displays the result set from the memory cache and thus supports scrolling within a single database query. The number of rows that the end user can scroll though in a single query is determined by the range size and a range paging cache factor that you set. For example, suppose that you set the range size to 4 and the cache factor to 5. Then, the maximum number of rows to cache in memory will be 4*5 = 20

10

Query Optimizer

These are hints added to the query to help retrieve the record efficiently. This will influence the execution plan of the query.  Check in the VO.

ALL_ROWS – Fetch all the rows as soon as possible.

FIRST_ROWS – fetch the first rows as quickly as possible

Row Limit

This is updated in the adf-config.xml file. The value of -1 will fetch all the rows for the VO in the application. You can limit the row limit fetched by the VO in an application using this option.

11

AutoHeightRows

The number of rows used to size the component height. The default value is -1 (no auto-sizing for any number of rows). The height of the component can grow to a maximum of autoHeightRows after which a scrollbar is displayed. A value of 0 can be used to default the autoHeightRows to the current fetchSize. autoHeightRows value cannot be larger than fetchSize attribute. Check in the table component.

12

Configurations in the web.xml file to maximize ADF Application Performance


Disable Automation

<context-param>
<param-name>oracle.adf.view.rich.automation.ENABLED</param-name>
<param-value>false</param-value>
</context-param>

Disable Assertion

<context-param>
<param-name>oracle.adf.view.rich.ASSERT_ENABLED</param-name>
<param-value>false</param-value>
</context-param>

Disable Javascript Profiler

<context-param>
<param-name>oracle.adf.view.rich.profiler.ENABLED</param-name>
<param-value>false</param-value>
</context-param>

Disable Debug Mode

<context-param>
<param-name>org.apache.myfaces.trinidad.resource.DEBUG</param-name>
<param-value>false</param-value>
</context-param>

Disable Javascript Debugging

<context-param>
<param-name>org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT</param-name>
 <param-value>false</param-value>
</context-param>

Disable File Modification

<context-param>
<param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
<param-value>false</param-value>
</context-param>

Enable partitioning

<context-param>
<param-name>oracle.adf.view.rich.libraryPartitioning.DISABLED</param-name>
<param-value>false</param-value>
</context-param>

Enable compression

<context-param>
 <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
 <param-value>false</param-value>
</context-param>

All are explained in the documentation.
http://docs.oracle.com/cd/E17904_01/core.1111/e10108/adf.htm#BDCBIJAB
Only web.xml related parameters are added here

How to in Jdeveloper ADF – increase the inputcomboboxlistofvalues dialog width


Problem:

To increase the width of the af:inputcomboboxlistofvalues dialog box.

Solution:

Recently I have been challenged to increase the width of the af:inputcomboboxlistofvalues dialog box. using contentStyle or inlinestyle will increase the width of the component and the dialog box will remain the same. So i thought of playing with the CSS file and could possibly achieve the width with the following hack.


<af:resource type=”css”>
.adf_dialog_main{
   min-width: 500px;
}
</af:resource>