Architecture

Extreme Reusability on Oracle Wiki

I’ve posted what is now very nearly an exact copy of my Extreme Reusability series (Part I, Part II) to the ADF Methodology section of the Oracle Wiki here. Why am I putting two separate copies up on the web?

Well, I’m going to use the copy on my blog as a version of Extreme Reusability that I have control over. I’m sure my understanding of the methodology will evolve over time, and I’ll continue to post updates as it does; I also hope that you all will continue to post comments on it here. The version on the Wiki, however, is, more or less, a donated snapshot to the community. All I particularly ask is that people maintain the links I’ve put in it to the two blog posts where I first laid the methodology out. Other than that, the content is fair game for anyone who has ideas, responses, etc.

I’m sick, so no actual substantive post this week–this’ll be it until next Monday.

Comments (0)

The Power of Properties II: The View Object

Hey, did you know that, even if you create a “Programmatic View Object” (rows populated programmatically, not based on a query), you can set “bind variables” for it? Neither did I until very recently. You can’t do it in the Create View Object wizard (because the Query page never appears), but once you’ve got that VO, you can indeed add bind variables in the editor.

“Why on earth would you want to do that?” you ask (or, at least, I imagine you asking). “Bind variables are meant to allow the application or user to specify bind parameters for a query, and a programmatic VO doesn’t have a query.” Indeed, that’s what bind variables are usually for, but here, I’m going to show you, at least in outline, how to use this feature to make the ultimate 100% declaratively customizable framework classes (one view object class, one view definition class) for view object definitions based on REF cursors (i.e., whose instances will call a package function to retrieve their row set, rather than execute a query).

Continue Reading »

Comments (1)

Extreme Reusability, Part II

Last week, I introduced the ADF development methodology I’m proposing, “Extreme Reusability,” articulated its goals, and discussed the techniques of “Generalize, Push up, and Customize” and “Think Globally, Deploy Locally” that are critical to the methodology. I didn’t, however, describe the actual…well, methodology, meaning the development cycle prescribed by Extreme Reusability.

Notice I didn’t say the application development lifecycle. That’s because developing under Extreme Reusability, like developing under SOA, isn’t primarily about the creation of standalone applications. You should think of the development cycle for extreme reusability as part of an enterprise-wide effort.

Development under Extreme Reusability involves developing along three separate but interacting (and communicating–communication is absolutely vital under this system) tracks: framework development, service development, and application development. These tracks are assigned to different individuals on the team, in (at a guess–remember this is a proposed methodology) somewhere around a 20-60-20 division for a typical organization’s needs.

Continue Reading »

Comments (3)

Extreme Reusability, Part I

As promised, I’m posting of the presentation I’d been hoping to give at the OOW Unconference Methodology Symposium last week, expanded slightly for the more forgiving medium of a blog. As it turns out, it’s expanded substantially more than I thought, so I’m going to divide it into two parts. This week, I’ll talk about the basics of the methodology, its goals, and the two techniques it relies heavily upon. Next week, I’ll talk about the actual development process it specifies.

“Extreme Reusability” (the name is not mine, but rather Chris Muir’s; however, I decided I like it) is an idea for an ADF development methodology for mid-sized teams (generally around 4-20 developers) that I’ve been recently expanding on. Continue Reading »

Comments (1)

Should’ve Used OpenOffice

We had some great discussions at the Oracle ADF Methodology Unconference yesterday. We talked about adoption decisions (particularly about the whole ADF vs. APEX thing), testing methodologies, integrating ADF applications with reporting tools, and coding standards (interesting tip from Oracle’s Duncan Mills and Lynn Munsinger about this one: don’t get over-exuberant with your package structuring up front. Apps did at one point, and while it worked fine on Linux, porting it over to Windows caused it to break: the names of some of the files (which include whole package trees in them) exceeded Windows’ acceptable length limit. I believe the upshots of all the discussions are in (or will soon be in) the process of wikification.

Continue Reading »

Comments (0)