Design Patterns and You: The Decorator

So, I’ve been doing some work on my Framework for Package API-Based ADF BC (locking doesn’t work as-is, and it turns out the framework needs some pretty significant re-architecture to get it to), and between that and my regular work, I’ve been a little ADF’ed out. So for a couple of weeks or so, I’m going to do something I haven’t done a lot of in this blog, and post a bit about pure Java. This will, hopefully, contain techniques of interest to ADF developers, and I’m probably going to use some ADF-based examples, but I’m mostly going to be talking about “Java techniques that they don’t teach you in a 5-day Java class.”

While working on the new version of the Framework, I’ve run into some significant annoyances, by which I mean the sort of coding work that a monkey–or better yet, a tool–could do but is long and fiddly to do by hand. This isn’t something that will primarily bug your average ADF developer, but it’s a sufficiently common Java technique that it would be a useful add-on for any Java IDE, JDeveloper included. It’d be a neat project for my Copious Free Time, but for now I’m just going to throw it out there in case anyone’s interested: The automatic generation of a decorator. Even if you’re not interested in that, you might want to read this article, just to get a feel for an important design pattern.

Continue reading Design Patterns and You: The Decorator

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

3000 Developers!: Kaleidoscope ’09 Report II

Last week, I talked a bit about the two talks I saw at ODTUG Kaleidoscope 2009 on Monday, Lucas Jellema‘s “That’s Rich! Putting a smile on ADF Faces,” and Duncan Mills‘ “Fusion Design Fundamentals.” My focus was the debate about whether and when to use custom Javascript and ADF Faces RC client-side objects. But both talks had a lot of interesting information outside the debate. In this post, I’m going to talk about Duncan’s account of the ADF methodology used by the team  at Oracle responsible for Oracle Fusion Applications–a massive rewrite of Oracle’s business applications based on ADF with the Fusion stack (that is, ADF all the way from bottom to top: business components, model, task flows, Faces RC). This team is is especially notable for its size–3000 developers–which makes a proper methodology even more critical than usual. Next week, I’m going to go into more specific detail about the client-side programming tips Lucas demonstrated.

Continue reading 3000 Developers!: Kaleidoscope ’09 Report II