How to Use ADF Client-Side Components: Kaleidoscope ’09 Report III

Two weeks ago, I compared a pair of talks I saw at ODTUG Kaleidoscope 2009, “That’s Rich! Putting a smile on ADF Faces,” by Lucas Jellema, and “Fusion Design Fundamentals,” by Duncan Mills. In particular, I contrasted the two opinions given of ADF Faces RC client-side (that is, Javascript) programming, and came down on Lucas’ side: Adding Javascript to ADF Faces RC applications, though it shouldn’t be overdone, can be very useful, and the usual risks attendant on Javascript programming are significantly mitigated if you develop exclusively to the ADF Faces RC Client-Side API (rather than attempting direct access to/manipulation of the DOM) and understand what validation in Javascript can and can’t do (provide convenience for the user and protection against honest user error and provide real enforcement of data integrity, respectively).

What I didn’t get a chance to do in that post was talk about the actual tips for client-side component manipulation that Lucas provided. I’m going to do this over the next couple of weeks. This week, I’m going to talk about the essentials for doing any client-side component manipulation. Next week, I’ll talk about some specific component manipulation use cases that Lucas went over in his talk.

Continue reading How to Use ADF Client-Side Components: Kaleidoscope ’09 Report III

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

To Javascript or not to Javascript: Kaleidoscope ’09 Report I

This is an (obviously) late post in a series of posts about ODTUG Kaleidoscope 2009. Monday was the least busy day for me at Kaleidoscope–I only attended two presentations, “That’s Rich! Putting a smile on ADF Faces,” by Lucas Jellema, and “Fusion Design Fundamentals,” by Duncan Mills. But it was perhaps the most thought-provoking of my days there. In fact, I have a full three posts worth of stuff to say about just these two talks. Today, I’m going to talk about a dramatic contrast: the two talks, among other things, represented opposite ends of a debate I consider quite important: the advisability, or lack thereof, of using ADF Faces RC client-side components.

Continue reading To Javascript or not to Javascript: Kaleidoscope ’09 Report I

Vote for my Oracle OpenWorld Presentation on Oracle Mix

So, I submitted a presentation, “The Rich Get Richer: Ultimate RIA with Oracle ADF Faces RC Client-Side Objects” to Oracle OpenWorld 2009, in San Francisco this October. The presentation is about performing tasks that usually require a partial round-trip, such as cascading dropdowns, conditionally visible content, etc., with no server round-trip at all. I talk a bit about this, on a very theoretical level, here (in the section, “Consider a Javascript-Only Solution,”) but I plan to go into considerably more detail, giving practical examples and advice, in the presentation.

The presentation did not make the cut of abstracts selected by Oracle. But if you want to see it at OOW, there’s still a chance! Just vote for the presentation on Oracle Mix (you’ll need to create an Oracle Mix account if you don’t already have one, but it’s free and a good way to meet people in the ADF community).

See you at ODTUG and/or OOW!

ADF BC Tuning VI: View Links

Now that we’ve looked at tuning entity objects, associations, and, in three parts, view objects, lets look at tuning view links for best performance.

This is going to be a shortish post, because most aspects of tuning view links are similar to tuning associations. For example, in addition to affecting how new rows appear in view object instance result sets, view link consistency affects how new rows appear in view link accessor-returned rowsets, and you can use similar techniques to manipulate these accessors that I told you about for manipulating association accessors. And view links, like associations, can maintain accessor rowsets, with the same advantages and disadvantages of doing so.

But there’s one serious issue that comes up for view links that doesn’t come up for associations: Controlling view link query execution time. This can have such an amazing affect on dealing with bottlenecks in application performance that I’m surprised it isn’t discussed more frequently.

Continue reading ADF BC Tuning VI: View Links