Professional Documents
Culture Documents
Differences Between OAF and ADF
Differences Between OAF and ADF
NOTE:
Page 2
INTRODUCTION
Customers, partners and system integrators often develop extensions to EBusiness Suite (EBS) applications. Such extensions have traditionally used the
same technology stack (Forms or OA Framework) that the original E-Business
Suite application was built with. This ensured that the extensions are fully
compatible with the rest of the installed E-Business Suite applications.
With the emergence of the next generation Fusion Middleware technology stack,
especially the Application Development Framework, a common question from
customers is whether to use OAF or ADF to develop their extensions.
This document helps customers and partners understand the similarities,
differences and overlaps between the OAF and ADF stacks so that they can take
an informed decision about the right technology stack for the extensions being
built.
Throughout this document, unless otherwise specified, OAF means OAF R12 (i.e.
the version of OAF packaged with E-Business Suite R12) and ADF means ADF
10g.
OAF is a model-view-controller technology stack that is fully oriented towards EBusiness Suite application development. The OAF stack is comprised of
underlying technologies like UIX and BC4J, that respectively form the core of the
view and model layers. It includes Application Object Library (AOL) that provides
common E-Business Suite artifacts such as menus, functions, messages, profiles,
flexfields and attachments, and common services like function and data security.
MDS is used for metadata management. And finally, the OAF design time is
integrated with Oracle JDeveloper 10g to provide a comprehensive integrated
development platform.
Page 3
OAF
OAF View
View
UIX
UIX
MDS
MDS
AOL
AOL and
and
SSO
SSO
Services
Services
Portlets
Portlets
View
WSRP,
WSRP, JSR-168
JSR-168
Controller
OAF
OAF Controller
Controller
OAF
OAF Model
Model
BC4J
BC4J
Web
Web
Services
Services
Model &
Business
Services
ADF
ADF Swing
Swing
JSP
JSP
JSF
JSF
ADF
ADF Faces
Faces
Struts
Struts
JSF
JSF
ADF
ADF Bindings
Bindings Mobile
Mobile Bindings
Bindings Portlet
Portlet Bindings
Bindings
View
Controller
Model
(JSR 227)
ADF
ADF Data
Data Control
Control
TopLink
TopLink Java
Java
EJB
EJB POJO Classes
POJO
Classes
ADF
ADF
Busine
Business
ss
Components
Components
Web
Web
Services
Services
Portlets
Portlets
JSR
JSR 168
168 --WSRP
WSRP
Business
Services
Page 4
Given the overlap of UIX and BC4J layers across the two stacks, OAF and ADF
are not really mutually exclusive. Thus, extensions built using OAF indirectly use
parts of ADF.
OAF R12
The OAF-based stack and the ADF 10gbased stack provide different features.
ADF 10g
MVC Stack
ADF Faces
ADFm + ADFbc
(BC4J)
Controller
OAF Controller
JSF Controller
MDS
JDeveloper
AOL
JOC
JSF
JSR-227
WSRP 1.0
JSR-168
Oracle Desktop /
Browser look and feel
(BLAF)
Auto-detection of partial
page refresh targets
Industry Standards
UI Features
Look and Feel
List of Values
validation, autocomplete, auto-clear
Page 5
OAF R12
ADF 10g
Transactional Search
Query Bean
Data Export
Configurable Pages
Exposing BC4J
components as web
services
PL/SQL DML
operation support
Visual Editor
Drag/Drop data
controls
Oracle Workflow
integration
BPEL integration
Authentication
OID
Authorization
Function Security
JAZN
Data Security
WTI implementation
MAC support
Business Layer
Session Management
E-Business Suite Session
management
Design Time
Workflow
Security
Page 6
OAF R12
ADF 10g
Multi-layered page
personalizations
BC4J Extensions
AOL Messages
Java Resource
Bundles
Profiles
Flexfields
Attachments
Possible for
declarative UI
Possible
Non-trivial
Possible
EBS-specific Artifacts
Translatable Strings
Ease of migration to
Fusion ADF (11g)
UI
Business Layer
Controller
Several of the features above not present in ADF 10g are expected to be in ADF
11g. ADF 11g is currently available in preview beta. It provides a AJAX-based, rich
client user interface and comes packaged with Oracle Jdeveloper 11g. When ADF
11g becomes production, we will publish a revised paper that compares OAF with
ADF 11g, and discuss development against E-Business Suite.
Oracle's general advice is to stick with the OAF technology stack so long as you
are working with E-Business Suite customizations, and opt for ADF if building
entirely new applications.
If you are embarking on small extensions to the E-Business Suite, a few pages here
and there that you want to integrate into the existing applications, it's always better
to use the existing tool for the product line. If you are building entirely new,
Page 7
If you want to integrate your extensions tightly with the E-Business Suite,
you should use the OAF Release 12 technology stack, which includes the
use of JDeveloper 10g and ADF BC (or use OAF Release 11i, which uses
JDeveloper 9i).
2.
If you are building a separate application that does not integrate tightly
with the E-Business Suite, but needs E-Business Suite-specific capabilities
like Flexfields and personalization, you should use the OAF Release 12
technology stack. If your application does not need to integrate with the
E-Business Suite, or doesn't require any of the E-Business Suite-specific
capabilities enumerated above, you should use ADF 10g with SOA based
integration with E-Business Suite.
3.
If you are building a separate application that does not need to integrate at
all with the E-Business Suite, and you need an AJAX-style rich client user
interface, you should use ADF 11g.
Page 8