X

Innovative ideas for every utility

Oracle Utilities Application Framework Caching Overview

Anthony Shorten
Senior Principal Product Manager

One of the features of all the versions of the Oracle Utilities Application Framework is its implementation of caching to improve performance.

The idea is simple enough, load data or function into a faster media (e.g. memory) to minimize calls for the data or function on slower media.

Caches are typically in a number of places in an architecture and this is the case for the Oracle Utilities Application Framework based products.

Here is a summary of the various caches and their typical usage in the Oracle Utilities Application Framework:

  • Database Level "Most Used Data" Cache - When data is loaded or maniplated by SQL it is loaded into a memory cache from the database data files. It will remain in this cache until the cache needs to make room or after a certain amount of time (to prevent the data becoming "stale"). This cache is automatic and maintained by the Database Management System. There are commands to check the cache contents and even manage the cache manually. Check with the database documentation for details.
  • Database level table cache - it is possible to load common "static" data into memory at database startup. Effectively this makes the data memory resident and can be used for high traffic static tables if required. Some DBA's call this "pinning" tables into memory. The database management system manages this information for you but you still have to tell it which data to cache (you usually cache static reference data not transaction data). Check with your database documentation to understand details of commands.
  • SQL Cache - When SQL is executed, the SQL statement is cached for the database management system to reuse the statement for future executions. It may be removed from cache on a least reused basis when necessary. In the case of the Framework, we also have a cache of SQL statements within the framework (controlled by spl.runtime.cobol.sql.cache.maxTotalEntries in spl.properties).
  • Data Cache on Web Application Server - Common static data, such as metadata, is cached on the Web Application Server. This saves calls to the Business Objects and Database for common reference data. The contents of the cache are controlled via metadata. The cache itself can be controlled using the flush jsp's or JMX client (in OUAF 4). This is controlled using the fieldValuesAge parameter in the web.xml for the Web Application Server.
  • Browser Cache - As part of the HTTP 1.1 protocol, an expiry date is placed on all objects that are sent to the browser from the Web Application Server. This is commonly used for HTML and graphics files to keep thm on local cache on the client. New versions of screens and graphics are only transmitted when they expire. This is controlled using the maxAge (text) and maxAageI (images) parameters in the web.xml for the Web Application Server.



Caching is quite important and most of the caches listed here are on by default in the default installation for the product. In development environments, some developers choose to turn off caching to see the extent of changes instantly but most sites tend to limit the number of development setups so the majority of environments are utilizing caching of data.

While you can tweak the cache settings, most sites use the ones provided as default with the installation of the product with no issue.

Join the discussion

Comments ( 8 )
  • Żaluzje Friday, November 5, 2010
    It's quite hard to find a good post. And It seems like I am have best of luck to came here.
  • Fantastic007 Sunday, December 26, 2010
    Hey Every one how are you doing. hope you are haveing a wonderful day
  • backpacks for laptops Thursday, December 30, 2010
    Took me moment toward explore every single one of the commentary, except I in reality loved the commentary. It proved being really cooperative to me plus I am optimistic to every one of the commenters here! It’s in general kind whenever you can not just be informed, but in adding entertained! I am constructive you had pleasant writing this write-up.
  • generic pills online Tuesday, January 25, 2011
    I added your blog to bookmarks. And i’ll read your articles more often! Before this, it would be possible for the government to arrest you just based on whatever you were saying, if they didn't like it.
  • Alison Ruffin Wednesday, February 2, 2011
    I've got a little blog and I was wondering if I can I use some of the information from this post if I provide a link back to your site? If you would rather not, that's okay, but this was a good post.
  • Hans Corp Thursday, February 3, 2011
    Cant get enough of this blog. Your opinion and facts truly let people know what its all about.
  • April Landers Sunday, March 13, 2011
    When I stumble upon a great blog post I do one of three thing:1.Share it with the close friends.2.save it in all my popular social sharing sites.3.Be sure to come back to the website where I read the article.After reading this article I’m really concidering doing all of them.
  • Wilson Reid Sunday, March 13, 2011
    Unfortunately,I couldn't see the image for this post. It seemed like the HTML code was mistyped.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.