December (Non-)Schedule

The end of the year is a hectic time for most people, and I’m no exception. I’m not going to be able to get a post up this coming Monday, and I’ve realized that I’d only be kidding myself if I believed it wouldn’t happen again between now and the new year.

So I’ve taken down the “Updates Mondays” promise, effective through the end of December. It’s not that the blog is going on hiatus for that time; I’ll still try to get something up whenever I can. It’s just that until the new year, “Updates Mondays” is changing to “Updates When I Get the Chance.” I’ll be back on the regular, almost-every-week schedule after that.

Announcements

Comments (0)

ADF BC Tuning IV: View Objects, Part 2

Continuing on from the last post, we’re looking at ways to tune ADF view objects for optimal performance and resource management.

Forward-Only Mode

In most applications, the user needs to be able to scroll through data both forwards and backwards–to return to a previous row in addition to simply being able to scroll forward, or to find rows an earlier view row after finding a later one. Because of this, by default, once rows from a view object’s query result are read into the view cache, they stay there. If your JDBC fetch size is 18, then initially, only 18 rows will be in the view cache, but when request rows outside the first 18, that number goes up to 36, then 54, then 72, and so on.

Continue Reading »

ADF Business Components
New in 11g
Performance

Comments (0)

ADF BC Tuning III: View Objects, Part 1

Now that we’ve looked at tuning entity objects and associations, we’ll turn to talking about tuning your ADF view objects for good performance and memory management. There’s a lot to say about tuning view objects (more than for any other business component, in my opinion), so I’m going to break this topic up over two posts. This week, we’ll discover the reasons for and against basing read-only view objects on entity objects, learn how to control how much data is fetched into the middle tier at one time (and how to optimize this for your particular case), and talk about what passivation of view objects is and how to control whether and how much of it happens. Next week, we’ll talk about query-level range paging, forward-only mode, and the spill-to-disk feature for handling very large caches.

Continue Reading »

ADF Business Components
New in 11g
Performance

Comments (1)

ADF BC Tuning II: Associations

Last week, I talked about tuning your ADF entity objects for maximum performance. This week, I’m going to talk about ADF associations.

Custom Association Views

One of the concepts I covered last week was an entity object’s default query, the all-columns query that would be created in a default view object for that entity object. I also talked about one place where the default query is used, even if you don’t create a default view object: entity object fault-in.

But there’s another place that this possibly inefficient query gets used, at least by default: Whenever your business logic traverses an association accessor.

Continue Reading »

ADF Business Components
New in 11g
Performance

Comments (0)

ADF BC Tuning I: Entity Objects

This week’s post will be the first of a five-week series about an important but little-discussed topic: Tuning your business components for maximum performance. A lot of projects put very little effort towards business components tuning (usually nothing more than improving the SQL of expert-mode VOs), and because of this, a lot of developers new to the framework come away with the (false) impression that business components perform poorly. Business components actually perform quite well, so long as they’re properly tuned.

This week, I’m going to talk about tuning entity objects. Over the next weeks, I’ll cover associations, view objects, view links, and application modules.

Continue Reading »

ADF Business Components
Performance

Comments (1)