0% found this document useful (0 votes)
169 views7 pages

OAFvsADF WhitePaper

OAF and ADF are both frameworks for developing web-based user interfaces with JDeveloper. OAF is tailored specifically for developing and customizing Oracle applications, while ADF is a more general J2EE framework. Both follow the MVC pattern, with similarities in their model layers using BC4J components, and similarities in controller layers using backing beans/controller classes. However, their view layers differ, with OAF using UIX and ADF using JSF. OAF is the only option for developing Oracle applications in 11i and R12, while ADF may be suitable for standalone applications accessing Oracle data but not integrated with 11i/R12.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
169 views7 pages

OAFvsADF WhitePaper

OAF and ADF are both frameworks for developing web-based user interfaces with JDeveloper. OAF is tailored specifically for developing and customizing Oracle applications, while ADF is a more general J2EE framework. Both follow the MVC pattern, with similarities in their model layers using BC4J components, and similarities in controller layers using backing beans/controller classes. However, their view layers differ, with OAF using UIX and ADF using JSF. OAF is the only option for developing Oracle applications in 11i and R12, while ADF may be suitable for standalone applications accessing Oracle data but not integrated with 11i/R12.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

White Paper

OAF vs ADF

Dec 2014

IGATE Sensitive
White Paper Competition, Q4 2014

Table of Contents
Abstract ..................................................................................................................................................................... 1
1.What is OAF ? : .................................................................................................................................................... 1
2.What is ADF ? : ...................................................................................................................................................... 2
3.Similarities between OAF and ADF ? : ................................................................................................................ 3
4.OAF vs ADF : ......................................................................................................................................................... 4
5.Summary : .............................................................................................................................................................. 5
6.References ............................................................................................................................................................. 5
7.About the Authors ................................................................................................................................................. 5

iGate Sensitive
White Paper Competition, Q4 2014

Abstract
With the emergence of next generation Fusion technology middleware stack there is confusion
between the technologies OA framework and ADF among Oracle developers especially for the
people who are developing extensions for Oracle Applications 11i/R12. Both are Oracle technologies
for developing web based User Interface with Jdeveloper.Always there has been confusion for the
developers about the capabilities of both the frameworks. The main questions has been “Why ADF
?” or “Why OAF ?” . So in this white paper I will try to put forth some of the similarities along with
diffrences between OAF and ADF .
Oracle Applications Framework (OAF) and Application Development Framework (ADF) will be
discussed in detail and more importantly and how these development standards and tools should
be used within your Oracle Applications, Fusion Applications, and co-exist environments to best
protect your investments and lower your cost of ownership. In the following explanations the
developers will have a clear understanding of which one among the above two to be used to meet
the business requirement.

1. What is OAF ? :
OAF stands for Oracle Applications Framework and is a MVC architecture based J2EE framework
customized for use in Oracle Applications development. It is tailor made for use in the
development, customization of Oracle Apps pages and any custom application development to be
hosted, integrated in Oracle Apps. It has the inbuilt support for features like session management,
AOL/J security, connection pooling etc. OAF provides classes for all the standard web widgets seen
on the Self Service pages like Text field, List of Values, Table, HGrid, Buttons etc. Apps server is the
application server used to deploy the user interfaces developed in OAF which is readily available in
Oracle E- Bisuness suite . I won't go deep into OAF architecture, you can get that detail in the OAF
Dev guide.
Only choice of tool to work with OAF is Jdeveloper with OA Extension. There is no OA extension
/plugin available for any other IDE. This is another factor where people keep getting confused.
Jdeveloper is a generic Java IDE but the one without the OA extension can't be used for OAF
development. OA extension is what provides the required OA libraries and enables OA based
Workspace, Project creation.OAF is the only option for any Oracle Apps related development [Here
I am not considering PUI Forms interface for the simple reason that Oracle has stopped any new
PUI based development a couple of years ago and is trying to convert them to OA pages]. Release
11i and recently launched Release 12 version of Oracle Apps is based on OAF. For look & feel and
business logic changes to Oracle provided seeded Self Service pages, one can make use of
Extension and Personalization features of OAF. Modifications done following the Extension and

IGATE Confidential 1
White Paper Competition, Q4 2014

Personalization guidelines are upgrade and patch safe. Any direct modification made to seeded
code will be overwritten during the patching.Below are some bullet points of OAF technology
specifications.

 Oracle application Frame Work


 OAF uses UIX
 No UI page Editor
 Complex Java coding
 Support MVC Architecture
 Deployed in Oracle Application Server
 Development is more complex

2. What is ADF ? :
ADF stands for Application Development Framework. Unlike OAF, it is not a vendor or technology
specific framework. In fact it supports a number of technologies for each of its Model, View and
Controller components and hence has received a good appreciation from the developer, architect
community. It has gained popularity as the choice of framework for generic J2EE based applications
development.ADF is going to be used for Fusion release of Oracle Applications.Though you can still
create custom applications in ADF and host on a 10gAS server. ADF still doesn't have the native
support for integration with release 11i or R12 based system other than just rendering an ADF page
in OAF page content and I don't see it coming as ADF is more of meant for fusion product which is
still underway.
Only scenario where I see ADF fit into current Apps related development is the kind of project
where you have to develop a completely standalone application which just uses the Oracle Apps
data but is not required to integrate with the Oracle Apps. For all Oracle Applications related
development and customizations, stick to OA Framework.Below are some bullet points of ADF
technology specifications.

 J2EE enabled Frame work


 ADF Uses JSF and ADF Faces
 Design time page Editor
 Minimal Java Coding
 Declarative controller
 Rapid Development
 Support MVC Architecture
 Deployed in Web logic server
 ADF is open source
 Support web service and SOA Service

IGATE Confidential 2
White Paper Competition, Q4 2014

3. Similarities between OAF and ADF ? :


Both OAF and ADF follow industry best practices i.e. MVC standard(Model-View-Controller),
for people who still don't have a fundamental understanding of MVC, i would suggest reading:
Article On Web-Tier Application Framework Design
Here are MVC layers of both:
 OAF
Model : All BC4J Component classes like AM,EO,VO,VL etc.
View : UIX
Controller : CO classes.
 ADF
Model : All BC4J Component classes like AM,EO,VO,VL etc.
View : JSF JSPs, in simple terms file with extension .jspx and .jsf
Controller : Backing bean classes.
As we see above Model layer is same for both i.e. BC4J, hence OAF developers, have a added
advantage since, working with OAF, they already have sound knowledge of this. Next comes the
view layer thats changed from UIX to JSF.One major problem with UIX in OAF is that UI is not
very extensive, in the sense that there are many limitations on UI front , while if you take JSF, its
a Sun's standard j2ee technology where you can have all web features integrated and is also
flexible enough to integrate UIs from other technologies.... like industry popular Flex, flash
etc.Jsf is capable enough to deliver most complex and extensive UIs.

Now, as in OAF,most of the UI development is done through drag and drop and wizards in
Jdeveloper(Or even if the page is dynamic you would write java code for adding various UIX
beans to pagelayout region), hence, even if you don't have any knowledge/limited knowledge of
xml and UIX, then also you can work with ease,because Jdeveloper generates the xml for
you.The same is in the case of ADF,most(not all) UI development is done through wizards and
drag-drop functionality in Jdeveloper.You only need to have bean level knowledge, similar to
OAF.
The last layer, i.e. the controller layer is quite similar to what we code in CO classes in OAF,
typically every page where you need to put event logic, you would need to attach a controller
class to that page.But for ADF we have to attach managed bean or backing bean class. This can be
automatically done through wizard in Jdeveloper.The backing bean class typically contain
getter/setter methods of all beans in the page, so you can add your custom event methods to this
class which will be attached to UI through EL.
I think by now you would have developed some comfort level with ADF! One stunning feature
of ADF are the flow diagrams, like in OAF to redirect to diffent page you use vaious page
forward apis' in pageContext class.In ADF, you can design the whole flow in flow-diagram,
which is a completely drag and drop feature of Jdeveloper ad then attach it with action of any bean
say a "command button", on whose submission you want to redirect the flow.

IGATE Confidential 3
White Paper Competition, Q4 2014

4. OAF vs ADF :

OAF and Oracle Applications 11i/R12 ADF 10g and Oracle Applications 11i/R12
 OAF includes AOL which provides e-business functionality  ADF 10g does not include any support for AOL
like functions, menus, responsibility, functional security,  List of Values and its associated features like validation, auto
data security, messages, profiles, flexfields, and complete and clear does not exists in ADF.
concurrent programs.  No Transactional search, Data Export, Configurable pages or Rich
 List of Values – validation, auto complete, auto clear is text editor.
available in OAF.  No support of Translatable Table and who columns.
 Data export, Configurable pages and Rich text editor is  No support for E-business suite session management.
available in OAF.  No support for integration with Oracle Workflow.
 OAF supports translatable table (TL tables).  E-business security features are totally unavailable in ADF 10g.
 Who columns like created by, modified by, creation date, (security features include Data security, functionally security, SSO
modified date are supported in OAF. etc)
 Since OAF is tightly integrated with E-Business session  Page access cannot be tracked in ADF 10g.
management is done automatically.  No support of for menus in ADF.
 Menu that appears at the top of the page is integrated  Reusable regions cannot be created in ADF 10g.
with AOL menus. Hence the menus can be configured  ADF 10g can be easily migrated to ADF 11g.
dynamically by manipulating AOL menus and no coding is  And most of all you cannot extend or personalize the existing
required. page with the help of ADF.
 Functional security is available in OAF which allows you
to configure the responsibility dynamically for the user. ADF has many advantages starting from the underlying
 User authentication is done from SSO. So no need to architecture, the level of support for Web Services and SOA
configure or write any code. development and going all the way to the actual development
 Data security is available. experience of UIs using visual editor and drag and drop
 Secured against cross site scripting attack. binding. ADF is a framework for developing custom
 OAF page access can be tracked. applications .If you want to build a new system that has some
 Standards and guidelines are available for developing level of integration with Oracle EBS you can do it with ADF and
extensions in OAF which is the most important thing. use SOA to talk to the back-end EBS system. Oracle ADF is at
 Reusable regions are available in OAF. the heart of the Fusion technology stack. ADF techstack is
 UI cannot be migrated to ADF 11g (may be in the future intended to utilize the benefits of Service Oriented
Oracle will come up with migration utility for UI but even Architecture (SOA) while building the Applications.ADF does
then only declarative pages would be migrated and the not support oracle apps. It is used SOA related application. In
UI pages should have followed the coding standards ADF 11g apps will also be supported. ADF is based on JSR-227,
strictly). which is supposed to be turned into a J2EE standard. we can
 BC4J can be migrated with minimal code change. say ADF as a next version of OAF with JSF – Java Server Faces,
 Controller cannot be migrated hence you have to rewrite
more J2EE architecture,more dynamic page refreshing and
all the logics in the controller if you want to migrate it to
handling etc.
ADF 11g.

IGATE Confidential 4
White Paper Competition, Q4 2014

Above are the features which are available in OAF not in ADF . Though ADF has a lot many
extensive functionalities , I have included the features which are in OAF and not there in ADF
along with some of ADF features.

5. Summary :
Consider following points when choosing technology.

 If you want to build few pages with close integration of e-business suite then opt for OA
framework. Remember if you want to migrate your code to ADF 11g in the future, you have to
follow the coding standards strictly and code all the business logic in bc4j rather than handling
the logic in controller.
 If you don’t want a close integration e-business suite or your building entirely new application
then go for ADF .

How will your use case bring value to IGATE business/vertical:


By going through this material employees of iGate will have a clear understanding of both the
frameworks OAF and ADF.

6. References
Below are some useful links to get the in depth knowledge of OAF and ADF.

i. Oracle Application Framework Documentaion


https://blogs.oracle.com/prajkumar/entry/oaf_developer_guide
http://oracle.anilpassi.com/oa-framework-tutorials-training.html

ii. Application Development Framework Documentation


https://docs.oracle.com/cd/E18941_01/tutorials/toc.htm
http://www.oracle.com/technetwork/topics/adfinsider-093342.html

7. About the Authors


Jyoti Ranjan Mohanty, Senior Software Engineer, IGATE
I have total of 3 years of IT experience in which 1.5 years I have worked in OAF and 1.5 years I have
worked in ADF. So from my experience I tried creating this document which will give a basic
understanding of OAF and ADF and their differencesas well as features.

IGATE Confidential 5

You might also like