You are on page 1of 9

E-Business Suite Application

Development using Oracle


Application Framework (OAF)
and Application Development
Framework (ADF)
An Oracle White Paper
February 2008

NOTE:

The following is intended to outline our general product direction. It is intended


for information purposes only, and may not be incorporated into any contract. It is
not a commitment to deliver any material, code, or functionality, and should not
be relied upon in making purchasing decisions. The development, release, and
timing of any features or functionality described for Oracles products remains at
the sole discretion of Oracle.

E-Business Suite Application Development using OAF and ADF

Page 2

E-Business Suite Application Development using


Oracle Application Framework (OAF) and Application
Development Framework (ADF)

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.

UNDERSTAND THE TECHNOLOGY STACKS

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 R12 builds on top of ADF 10g. So, OAF


and ADF are not mutually exclusive
technology stacks.

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.

E-Business Suite Application Development using OAF and ADF

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

OAF Technology Stack for E-Business Suite R12

Its important to understand the technology


stack you want to use. Different
combinations of the same components
create different technology stacks.

ADF is a comprehensive, model-view-controller technology stack that is oriented


towards general-purpose application development. The ADF stack allows users to
select among several choices of UI and business services technologies. The ADF
stack is primarily comprised of ADF Faces (which is based on industry standard
JSF technology), ADFm (m for model - the data control layer that implements
JSR-227) and ADFbc (bc for business components formerly BC4J). Early
releases of ADF contained UIX. Oracle then developed the ADF Faces set of
components, based on UIX functionality, but conforming to the JSF standard. The
ADF Faces components now replace UIX as the preferred view technology for
ADF applications. ADF design time is also integrated with JDeveloper 10g.

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

ADF 10g Technology Stack

E-Business Suite Application Development using OAF and ADF

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 AND ADF A DETAILED COMPARISON

The following table provides a comparison of the two technology stacks.

OAF R12
The OAF-based stack and the ADF 10gbased stack provide different features.

ADF 10g

MVC Stack

The presence of individual features in the


stack may make your decision clear.

View UIX + EBS-specific


extensions

ADF Faces

Model BC4J + EBS-specific


extensions

ADFm + ADFbc
(BC4J)

Controller

OAF Controller

JSF Controller

MDS

JDeveloper

AOL

JOC

JSF

JSR-227

WSRP 1.0

JSR-168

Swan look and feel

Oracle Desktop /
Browser look and feel
(BLAF)

Rich Client Interface

Auto-detection of partial
page refresh targets

Choice of alternate view


or model
Technology Layers

Industry Standards

UI Features
Look and Feel

List of Values
validation, autocomplete, auto-clear

E-Business Suite Application Development using OAF and ADF

Page 5

OAF R12

ADF 10g

Transactional Search
Query Bean

Data Export

Configurable Pages

Rich Text Editor

Exposing BC4J
components as web
services

PL/SQL DML
operation support

Support for translatable


entities (TL tables)

WHO column support

Visual Editor

Drag/Drop data
controls

Oracle Workflow
integration

BPEL integration

Authentication

OID and SSO

OID

Authorization

Function Security

JAZN

Data Security

WTI implementation

MAC support

Securing against crosssite scripting attacks

Business Layer

Session Management
E-Business Suite Session
management
Design Time

Workflow

Security

Audit and Compliance

E-Business Suite Application Development using OAF and ADF

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

Easy migration for


BC4J components

Easy migration for


BC4J components

Non-trivial

Possible

Page Access Tracking


Personalization and
Extensions

EBS-specific Artifacts
Translatable Strings

Ease of migration to
Fusion ADF (11g)
UI
Business Layer
Controller

A NOTE ON FUSION MIDDLEWARE ADF 11G

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.

CONCLUSIONS AND RECOMMENDATIONS

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,

E-Business Suite Application Development using OAF and ADF

Page 7

independent applications, where seamless integration with the current application


pages isn't important, you should use ADF 10g (with ADF BC and ADF Faces).
Then you may have less effort required to convert your custom applications from
ADF 10g to ADF 11g when you move to the Fusion Applications later.
If you intend to build a completely standalone application that uses E-Business
Suite tables, you can certainly use ADF 10g without OAF. In that case you would
use the look-and-feel of the core products, and for things like security, you would
code to the standard security APIs of the application server instead of to OAF
security. A second option would be to go in for SOA and use web services from
E-Business Suite to build ADF applications. If you go this route, you would not be
able to use any OAF-specific things like flexfields and personalization. Please refer
to http://www.oracle.com/applications/evolutionary-path-to-fusion.pdf to know
more about the evolutionary path to Fusion based on ADF and SOA.
In conclusion, there are three main situations and corresponding recommendations
for building your custom extensions to the E-Business Suite:
1.

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.

E-Business Suite Application Development using OAF and ADF

Page 8

OA Framework and ADF


February 2008
Author: Sara Woodhull
Contributing Authors: Padmaprabodh Ambale
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Copyright 2008, Oracle. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

You might also like