Sunteți pe pagina 1din 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 Oracle’s 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 E-
Business 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 is a model-view-controller technology stack that is fully oriented towards E-
Business Suite application development. The OAF stack is comprised of
OAF R12 builds on top of ADF 10g. So, OAF underlying technologies like UIX and BC4J, that respectively form the core of the
and ADF are not mutually exclusive view and model layers. It includes Application Object Library (AOL) that provides
technology stacks. 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 Portlets
Portlets View
MDS
MDS UIX
UIX WSRP,
WSRP, JSR-168
JSR-168

OAF
OAF Controller
Controller Controller
AOL
AOL and
and
SSO
SSO
Services
Services Model &
OAF
OAF Model
Model Web
Web Business
BC4J
BC4J Services
Services Services

OAF Technology Stack for E-Business Suite R12

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
It’s important to understand the technology
stack you want to use. Different
components, based on UIX functionality, but conforming to the JSF standard. The
combinations of the same components ADF Faces components now replace UIX as the preferred view technology for
create different technology stacks. ADF applications. ADF design time is also integrated with JDeveloper 10g.

ADF
ADF Swing
Swing JSP
JSP JSF
JSF ADF
ADF Faces
Faces View

Struts
Struts JSF
JSF Controller

ADF Model
ADF Bindings
Bindings Mobile
Mobile Bindings
Bindings Portlet
Portlet Bindings
Bindings
(JSR 227)
ADF
ADF Data
Data Control
Control

TopLink
TopLink Java
Java ADF
ADF Web
Web Portlets Business
EJB
EJB POJO Classes Portlets
POJO Classes
Busine
Business
ss
Services
Services JSR
JSR 168
168 --WSRP
WSRP Services
Components
Components

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 ADF 10g


The OAF-based stack and the ADF 10g- MVC Stack
based stack provide different features.
The presence of individual features in the View UIX + EBS-specific ADF Faces
stack may make your decision clear. extensions
Model BC4J + EBS-specific ADFm + ADFbc
extensions (BC4J)
Controller OAF Controller JSF Controller
Choice of alternate view X √
or model
Technology Layers
MDS √ √
JDeveloper √ √
AOL √ X
JOC √ X
Industry Standards
JSF X √
JSR-227 X √
WSRP 1.0 √ √
JSR-168 √ √
UI Features
Look and Feel Swan look and feel Oracle Desktop /
Browser look and feel
(BLAF)
Rich Client Interface X X
Auto-detection of partial
page refresh targets √ X
List of Values –
validation, auto- √ X
complete, auto-clear

E-Business Suite Application Development using OAF and ADF Page 5


OAF R12 ADF 10g
Transactional Search – √ X
Query Bean
Data Export √ X
Configurable Pages √ X
Rich Text Editor √ X
Business Layer
Exposing BC4J √ √
components as web
services
PL/SQL DML √ X
operation support
Support for translatable
entities (TL tables) √ X
WHO column support √ X
Session Management
E-Business Suite Session √ X
management
Design Time
Visual Editor X √
Drag/Drop data X √
controls
Workflow
Oracle Workflow √ X
integration
BPEL integration X √
Security
Authentication OID and SSO OID
Authorization Function Security JAZN
Data Security √ X
WTI implementation √ X
MAC support √ X
Securing against cross- √ X
site scripting attacks
Audit and Compliance

E-Business Suite Application Development using OAF and ADF Page 6


OAF R12 ADF 10g
Page Access Tracking √ X
Personalization and
Extensions
Multi-layered page √ X
personalizations
BC4J Extensions √ √
EBS-specific Artifacts
Translatable Strings AOL Messages Java Resource
Bundles
Profiles √ X
Flexfields √ X
Attachments √ X
Ease of migration to
Fusion ADF (11g)
UI Possible for Possible
declarative UI
Business Layer Easy migration for Easy migration for
BC4J components BC4J components
Controller Non-trivial Possible

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.

S-ar putea să vă placă și