OA Framework or ADF?

[Editor Update 4/22/2008:  A new whitepaper from the Oracle Appliations Technology Group comparing OAF and ADF is now available.  See this article for more details.]

[July 9, 2007 - see "One more thing to consider", below - Sara]

A question I've been getting recently is "Should I use OA Framework (OAF) or the Oracle Application Development Framework (ADF) to develop extensions to E-Business Suite (EBS) products?  I know we are moving away from Oracle Forms, and I want to 'future-proof' my extensions as much as possible."

With all the buzz about Fusion (both the coming Fusion Applications and the current Fusion Middleware technology stack) and JDeveloper with ADF, it's hard not to get excited about using all the features of the latest versions of Fusion Middleware.  So would we recommend using OAF or ADF?

My general advice is to stick with OAF so long as you are working with the E-Business Suite, and wait until you move to the Fusion Applications before moving to ADF.  OAF is the development platform for the HTML EBS applications, so it makes sense to use the same development platform for custom extensions to the EBS applications.  OAF provides you with automatic, seamless integration with the EBS applications in terms of EBS menus, security, look and feel, flexfields, personalization, attachments, and so on.  These integrated EBS features aren't part of ADF.

Another part of the integrated OAF/EBS technology stack is Oracle Application Object Library (AOL), which provides many services to OAF, including security, messages, flexfields, and so on.  Developers using OAF also use the OA Extension, which is a JDeveloper add-in bundled with JDeveloper in specific EBS development environment patches.  OA Extension is an extension to JDeveloper 9.0.3 for EBS 11i, and to JDeveloper 10g (10.1.3) for EBS 12.  AOL and OA Extension are not parts of the ADF technology stack for the Fusion Applications.

A terminology note: "ADF UIX" is the same UIX that is used by OAF as the HTML UI display component.  Developers using OAF use ADF UIX indirectly by using OAF components.  ADF UIX is not part of the "ADF" Fusion Applications technology stack that I am discussing here. "ADF Faces" is the UI component of the ADF technology stack. 

Going It Alone

If you intend to build a completely standalone application that just happens to use the EBS tables, you can certainly use ADF, but you'd need to deal with things like security, look and feel, and so on yourself.  You also wouldn't have the personalization, flexfields, attachments, or other infrastructure that OAF provides.

Using ADF to build integrated extensions to the E-Biz Suite is an untested combination, so you won't find much experienced help available if you take that path.  Also, ADF isn't certified for use with E-Business Suite (EBS), and there are no plans for this certification.  ADF is a standalone development tool and is expected to be a key part of the Fusion Applications platform.  It's a very different technology stack from OAF, other than the business components.  Business Components for Java (BC4J) becomes ADF Business Components (ADF BC). 

Your Business Logic Moves Forward

Business logic that you create now with BC4J with the OAF technology stack will be transferable to the Fusion Applications technology stack later (possibly with minor changes).  If you follow our OAF coding standards, build your pages declaratively as much as possible, and avoid putting much code into controllers if you can, you'll have a much easier time moving to Fusion later.  All your business logic, validation, and so on should be in your BC4J objects.

Technology Directions

One further note: it's part of the general EBS Applications Technology and OAF direction (as part of Applications Unlimited), that we want to bring as much "Fusion technology" into the EBS applications as possible in our ongoing releases.  So over time, the technology stack gap will likely get smaller, and customers will get to use some of the newer technology within the E-Biz Suite until they are ready to move to the Fusion Applications. 

One example of this direction is that we now use JDeveloper 10g (10.1.3) for Release 12, instead of JDeveloper 9.0.3, which is used with Release 11.5.10.  So customers can now take advantage of new JDeveloper 10g features such as a much better Java coding/editing environment.  JDeveloper 10.1.3 can also dynamically recognize which files are in your path for a project.  One of my correspondents thinks that feature alone is a good reason to use 10.1.3!

Happy extending!

[July 9, 2007 - One more thing to consider: how big is the project?  If you are embarking on small extensions, a few pages here and there that you want to integrate into the existing applications, it's better to use the existing tool for that product line (EBS, Peoplesoft, etc.).  If you are building entirely new, monolithic applications (large applications with many pages),  where seamless integration with the current application pages isn't so important, you may want to use ADF (with ADF BC and ADF Faces).  Then you won't need to convert your custom applications when you move to the Fusion Applications later.]



Why not considering APEX?

Posted by thierry on June 28, 2007 at 06:35 PM PDT #

Nice article, Sara. Adding another dimension to the original problem of "OAF vs ADF", considering that now we have Peoplesoft under Oracle umbrella, what should be the choice of development (ADF vs Peopletool) ? I'm familiar with ADF and its native integration with SOA suite, but where does Peoplesoft tool stands in this race as far as SOA suite features are concerned? It would be nice to have some commnets on this aspect or if you can point me to the relevent information.

Posted by Shiv on June 29, 2007 at 08:29 AM PDT #

I just attended a week of ADF training and can say that my knowledge of OAF and BC4J was extremely useful and seems to transfer nicely over to ADF. I agree with Sara that understanding OAF today, specifically BC4J, will put customers in a good position for to move to ADF.

Posted by Anthony Go on June 30, 2007 at 05:28 AM PDT #

One more implicit conclusion from this article.
Oracle really moving away from Oracle Forms.

Posted by Pavel Luzanov on June 30, 2007 at 09:56 PM PDT #

Why not considering APEX?
thierry 窶? 6/29/07; 1:35:26 AM #

From the APEX web page at http://www.oracle.com/technology/products/database/application_express/index.html: "Oracle Application Express (Oracle APEX), formerly called HTML DB, is a rapid web application development tool for the Oracle database. Using only a web browser and limited programming experience, you can develop and deploy professional applications that are both fast and secure."

This would have all the same integration issues I mentioned for ADF: no flexfields, no personalization, profiles, and so on. If you are building a completely separate app that happens to use EBS tables, you could use APEX, but you'd have to handle a lot of stuff that OAF does for you.

BTW, keep in mind that most of the EBS apps handle validation in the UI layer (for Forms) or BC4J, or PL/SQL. You'd need to be sure you handle validation as well so you don't fill your tables with bad data.

Posted by Sara Woodhull on July 02, 2007 at 08:29 AM PDT #

Shiv asks: "...considering that now we have Peoplesoft under Oracle umbrella, what should be the choice of development (ADF vs Peopletool) ?"

I know very little about any of the PeopleSoft products. Official info about PeopleTools can be found at http://www.oracle.com/technology/products/applications/peoplesoft_ent/index.html

My gut reaction, though, would be to stay with the PeopleTools so long as you are working on PeopleSoft applications. Same reasoning: seamless and automatic integration.

Posted by Sara Woodhull on July 02, 2007 at 08:39 AM PDT #

Do you a link to a tech stack comparison document between OAF and ADF? Or individual links to each of them?

Posted by Andy on July 03, 2007 at 01:14 AM PDT #

This is more of a question than a comment. I am developing an application using JDeveloper Can I use the Oracle Applications application server to run this application as a stand alone?

Posted by Srinu on July 19, 2007 at 05:31 AM PDT #

Srinu,The E-Business Suite uses Oracle9i Application Server as its application tier server.  You cannot use this to run externally-developed applications.  I would recommend running your custom application on an external Oracle Application Server 10g instance.Regards,Steven

Posted by Steven Chan on July 19, 2007 at 07:00 AM PDT #

could u tell how can i add javascript funcation in adf:commandButton

Posted by bharathi on March 27, 2008 at 10:49 PM PDT #

As time has advanced I think the question should be addressed again.

ADF11g has such rich components that are very impressive.
On the other hand with the tech stack of R12 is it possible at all to use the ADF rich faces and data visualization components?


Posted by Adnras Gabor on July 19, 2009 at 07:03 PM PDT #

Hello, Andras,

I've passed your comment on to our Applications Technology Group. I'll post an update if they revisit their position on ADF for E-Business Suite.

Did you get a chance to read the whitepaper referenced in this latest article?



Posted by Steven Chan on July 20, 2009 at 03:09 AM PDT #


I have same question , Can we call an ADF page from R12.One of my customer want to do that , and I have no idea how we can do this.


Posted by Shriram on August 04, 2009 at 05:57 PM PDT #

Hello, Shriram,

I believe that the whitepaper that I've referenced above is still the latest documentation that we've published about ADF. I'll pass on your question to our Applications Technology Group, and will post any updates (if there are any) on the ADF integration topic as a main blog article in the future.


Posted by Steven Chan on August 06, 2009 at 04:04 AM PDT #


We have used Logical Apps to do many customizations on the forms in 11i.
Now that we are upgrading to R12 and the forms have been moved as pages, how do you suggest we move forward with implementing our changes.
Please note that changes include hiding a field, tab, field instance, defaulting values, addition of LOV, firing SQL queries when the form opens.


Posted by guest on September 10, 2012 at 12:09 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed


« July 2016