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 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 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.

OAF R12 builds on top of ADF 10g. So, OAF and ADF are not mutually exclusive technology stacks.

E-Business Suite Application Development using OAF and ADF

Page 3

MDS MDS

OAF View OAF View UIX UIX

WSRP, JSR-168 WSRP, JSR-168

Portlets Portlets

View

AOL and AOL and SSO SSO Services Services

OAF Controller OAF Controller

Controller Model & Business Services

OAF Model OAF Model BC4J BC4J

Web Web Services Services

OAF Technology Stack for E-Business Suite R12

It’s 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 Swing ADF Swing

JSP JSP

JSF JSF Struts Struts

ADF Faces ADF Faces JSF JSF

View

Controller

ADF Bindings Mobile Bindings Portlet Bindings ADF Bindings Mobile Bindings Portlet Bindings ADF Data Control ADF Data Control TopLink Java EJB TopLink Java EJB POJO Classes POJO Classes ADF ADF Web Web Portlets Portlets

Model (JSR 227)

Busine ss Busine ss Components Components

Services Services

JSR 168 --WSRP JSR 168 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. The presence of individual features in the stack may make your decision clear.

ADF 10g ADF Faces ADFm + ADFbc (BC4J) JSF Controller √

MVC Stack View UIX + EBS-specific extensions Model BC4J + EBS-specific extensions Controller Choice of alternate view or model Technology Layers MDS JDeveloper AOL JOC Industry Standards JSF JSR-227 WSRP 1.0 JSR-168 UI Features Look and Feel Swan look and feel Oracle Desktop / Browser look and feel (BLAF) X X X X X √ √ √ √ √ √ √ √ √ √ √ √ X X OAF Controller X

Rich Client Interface Auto-detection of partial page refresh targets List of Values – validation, autocomplete, auto-clear

X √ √

E-Business Suite Application Development using OAF and ADF

Page 5

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

ADF 10g X X X X √

X

√ √

X X X

√ √

X √ OID JAZN X X X X

E-Business Suite Application Development using OAF and ADF

Page 6

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

ADF 10g X

X √ Java Resource Bundles X X X

Possible Easy migration for BC4J components 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). 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. 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.

2.

3.

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.

Sign up to vote on this title
UsefulNot useful