All-New Framework for Database API-Based Business Components on SampleCode

It’s done! After much tinkering, I’ve completed my new Framework for Database API-Based Business Components. This is, in some loose sense, based on the Framework for Package API-based business components I published on this site previously, but it’s essentially a complete rewrite, from the ground up. It’s also massively improved, in several ways:

  • Locking (both pessimistic and optimistic) actually work.
  • With few exceptions, the new framework limits itself to writing JDBC calls and translating columns to attributes, meaning that it takes full advantage of standard ADF mechanisms for caching, tuning, etc. For example, the framework now respects view object tuning settings such as fetch size.
  • In part because of this, applications written using the new framework should perform considerably better than those using the old one.
  • The framework should be much easier to extend. For example, by providing an implementation of one interface and a concrete subclass of one abstract class, you should be able to extend the framework to support databases other than the Oracle DB, using procedural languages other than PL/SQL.
  • The framework is now part of a formal project, with bug/enhancement tracking and ways for the community to participate.

If you’re interested in using the framework, examining its source code, and/or contributing to its ongoing development, check it out at the project’s home page.

Edit: When I first posted this, I said the new framework didn’t have any documentation other than the Javadoc up. That’s no longer true–it has a user guide up now, too.

Oracle OpenWorld/Oracle Develop 2009: Day 1

Wow. I’ve had some interesting first days at conferences before, but this was exceptional.

My day started out with a meeting of the ADF Enterprise Methodology Group. This was a group discussion led by a panel, consisting of Chris Muir, Simon Haslam, Andrejus Baranovskis, Steve Muench, and myself. But the great thing about this was that it actually wasn’t mostly us talking–we had truly excellent participation from the audience! I’ve blogged about the ADF EMG before, but I want to reiterate here that it’s a great group. We have pretty much daily discussions about all aspects of ADF application design and planning. If you have any interest in ADF development (and if you don’t, I’m not quite sure why you’re here), you want to join. Seriously.

Continue reading Oracle OpenWorld/Oracle Develop 2009: Day 1

ADF BC Tuning IX: Application Modules, Part 3

This is the last in a series of posts about tuning business components. The complete list:

The last post was about understanding application module pooling, so I’m going to assume you understand it now. And if you understand application module pooling, you can understand the pain points from a performance perspective, and you can gain some idea of how to balance out differing concerns. Here are the pain points, in decreasing order of importance.

Continue reading ADF BC Tuning IX: Application Modules, Part 3

ADF BC Tuning VIII: Application Modules, Part 2

Last week, I talked about a couple of tuning opportunities for ADF application modules: Lazy loading and shared application module instances. This week and next, I’m going to talk about a way to tune your application modules that is, in my opinion, even more important: Knowing how and when to adjust your application module pool settings. This week, I’m going to write about what application module pooling is; it’s pretty vital that you understand it before you try to tune it. Next week, in the final post in the ADF BC Tuning series, I’ll provide the actual application module pool tuning tips.

Continue reading ADF BC Tuning VIII: Application Modules, Part 2

ADF BC Tuning VII: Application Modules, Part 1

It’s been a while since the last installment of ADF BC Tuning, but it’s time to start it up again. I’ve already posted tips for tuning entity objects, associations, view objects (in three parts), and view links, so now, let’s turn our attention to the last of the major business components: application modules.

Continue reading ADF BC Tuning VII: Application Modules, Part 1