Just wanted to let everyone know that the Sundown Session with Oracle Ace Directors on Middleware and SOA at ODTUG Kaleidoscope is going to include many of the founding members of the ADF Enterprise Methodology Group (formerly known as the ADF Methodology Group), and that I believe one of the big planned topics of discussion is, in fact, ADF enterprise methodology. Methodology and design are obviously special interests of mine, but I think even if I were unbiased I would wholeheartedly recommend being a part of, or at least listening in on, this conversation.
In other news, next week won’t quite follow a standard schedule. Instead of a big post on Monday, I’ll be blogging about highlights from the conference most days of the week.
In other other news, ODTUG has finally convinced me to create a Twitter account! This is kind of experimental, so I’m not making promises for the long term. But for now (and at least through next week), you can see my most recent posts at the bottom of the sidebar, and you can follow me on Twitter. You can also listen in to any Twitter twitter related to my Extreme Reusability session (#odtug S95), my Package-Based ADF session (#odtug S96), and the Guide to Fusion Development session co-presented by Duncan Mills (#odtug S310), me (#odtug S632), and Peter Koletzke (#odtug S633).
Like the poltergeists, I’m baaack. I’m back to my usual health, and while I’m still pretty horribly snowed under, I think that enough of the worst of it is over that I can generally commit to my “Updates Mondays” schedule again. This has been a *long* hiatus (over 6 motnths), and I’m very glad to be back among the lang of the living. I’ve missed this blog and the ADF community generally.
Although I plan to get back to the ADF BC Tuning series soon, I want to use this post to announce two things: The first piece of software I’m releasing on this site and my public (that is, not just as an audience member) at ODTUG Kaleidoscope, which will be next week in Monterey, CA.
First, the software. This is actually related to one of the talks I’ll be giving at ODTUG, and tangentially related to another. But even if you aren’t going to the conference, I hope you’ll find it useful. It’s an extension of the ADF BC framework that allows you to create the following 100% declaratively:
- Entity object definitions (including support for optimistic or pessimistic locking and Refresh After… settings) that use Package APIs instead of DML
- View object definitions (whether entity-based or not, and including support for query parameters) that use Package APIs instead of SELECT statements
- Associations and view link definitions involving the above
You can get the framework here.
At ODTUG, I’ll be participating in the following:
- Tuesday, 10:30-12:00, in Regency Ballroom I: I’ll be delivering the paper, “Package-Based ADF.”
- Tuesday, 2:45-3:45, in Grove: I’ll be delivering the paper, “Extreme Reusability for Oracle JDeveloper and ADF.”
- Tuesday, 5:15-1:15, in Windjammer II, III & IV: I’ll be participating in the Sundown Session- Middleware and SOA.
- Wednesday, 1:30-5:15, in Cyprus III: I’ll be on a panel, “A Guide to Fusion Web Development with JDeveloper 11g,” with Peter Koletzke and Duncan Mills.
Hope to see you there!
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.
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 The Power of Properties II: The View Object
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 Extreme Reusability, Part II