Monday, February 27, 2012

ADF Architectural Pointers

No, I haven't got any ADF best practices, only pointers to some who may have. The fine thing with best practices, is that everyone thinks it's such a neat idea. That generally leads to a lot of best practices, so you can choose the one that suits you. Or adapt one. Or just invent a new..

A healthy approach to best practices is Caution and Skepticism, or better yet: down right Hostility. Oh, I am also not very fond of the term best practices. Best practices more than imply that if you do not do it "my way", you are most likely doing it wrong!

Maybe patterns would be a better term? But patterns, in my head, needs to be something both general and battle proven. Guidelines maybe?

A Big Topic
From grand architectural designs to parameter naming conventions. From application module tuning and pruning to functional UI patterns. I will concentrate on application architecture for now. This post is more about giving pointers than answers. I have done some research on the subject, and I will try to sum up some of my findings.

A Place To Start
Try an Oracle official page called Oracle Application Development Framework Best Practices. There is just one teeny weeny problem; following the links from that page will lead you to most of the text ever written (and all videos recorded) about ADF by Oracle. A positive take is that if you go through all that material, you probably will have earned an ADF black belt and be quite fluent ADF'ing. In my opinion, the most useful stuff is contained within the Oracle ADF Insider webcasts, even though this is more technical know-how than best practices.

Application Architecture
I think there is surprisingly little material on the matter, considering the big push from Oracle on ADF. This might have to do with the release of ADF 11g, that capsized most of what you knew of ADF 10g, but that is actually quite a few years ago now...

There are a few sources out there, Oracle with Steve Muench gave a rare insight into Fusion Applications Teams best practices at OOW 2009. Bear in mind that this is a very (actually it's a capital v and double r type of very) large project. For a more recent contribution you can have a look at Angels in the Architecure by Chris Muir, which gives great insight (the presentation with images available from the OOW2011 content catalog).

Again I would also recommend Sten Vesterli's book Oracle ADF Enterprise Application Development - Made Simple (especially end of chapter 3, and beginning of chapter 6). Always nice to see lessons from someone outside of Oracle on the subject.

If you want more on technical stuff like naming conventions, you can also take a sneak peek at Oracle JHeadstart 11g for ADF Developer's Guide (chapter 2 and 3).

Looking Elsewhere
ADF Enterprise Methodology Group (ADF EMG) is a natural place to raise any questions you have regarding application architecture. The group description is:
The ADF Enterprise Methodology Group is for discussing high level design issues for ADF projects, beyond how to get things to work via the OTN forums.
Although the forum is active, the best practices content is not exactly what I would call current.

The group was founded (and is administered) by people with an interest in more than just the technical wizardry. They are most likely people, who at some point, actually had a responsibility for architectural decisions. Ever been there before? ;)

Look, It's a Shed!
My first real ADF 11gR2 application is what Chris Muir would call a shed. It is a nice shed, but a shed nonetheless. By and large, it was for all the right reasons (ADF noob, small application with little or no dependencies). It serves the purpose.

I have this nagging feeling that things will grow, and that is where you definitely need some thoughts on how to deal with the larger picture. You know, like best practices or patterns or guidelines or some such...

To be continued...


  1. Ha, I'm not sure I called it a "nice shed" but rather a "dunny" ( in the Australian vernacular ;-) The joke being during the presentation, I think even if you don't have any manual labour skills you should be able to build one - a hole in the ground, 3 walls, a door and a roof.

    Couple of points for readers on returning the the topic of "ADF" (even though dunnys are so fascinating):

    1) the best value to be gained out of the ADF EMG is not just reading the old content, but participating in the new. As Havard correctly points out some of the information gets old fairly quickly, so the simple answer is to ask new questions on the EMG and gain from others' experiences.

    2) You'll be happy to know Oracle released further advanced ADF training for free in the last few days. You can access this course here:

    3) Oracle is currently working on an ADF architecture course. Though this is still some time away, a goal (no guarantees!) is to release the content in a similar fashion to #2.

    The Oracle PMs are also open to any discussions in the area of ADF architecture, and I highly recommend readers post these to the EMG so other ADF experts can chime in with their experiences too. As Havard points out, basing ADF architecture choices on Fusion Applications patterns wont always be suitable for small projects.

    Thanks for the post Havard, I look forward to reading your future blog entries :-)


    PS. One of the links under the "A place to start" heading is broken.

  2. @Chris

    1) From the link I gather a "dunny" roughly matches my definition of a shed, but including facilities! So, I didn't even make it to the lowest level of your architectural patterns then... ;) (Yes, yes, I know you do not like it when we see them as levels of achievement ;))

    2) I saw that, but have not tried it yet!

    3) Good! Looking forward to that indeed!


    PS: I have corrected the link, thank you :)

  3. Thanks for sharing these information. It’s a very nice topic. We are providing online training classes. oracleadfonlinetraining

  4. Thank you for the useful information.
    It is very useful to me and who are searching for Oracle 11g online training

  5. The following elaborated details are very useful to me. Thank you!!!
    IOS Training in Chennai