30
Personalization and Extension for E-Business Suite using OA Framework March 23, 2007 Vishnu Vadla Practice Manager – EAS US

37727897 Oaf Basics

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Personalization and Extension for E-Business Suite using OA Framework

March 23, 2007Vishnu Vadla

Practice Manager – EAS US

Page 2: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Topics

• OA Framework Overview• MVC Architecture• Personalization and Extension• Development Tips• Case Study of Logitech Inc., • Q & A

Page 3: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OA Framework - Overview

• Oracle Applications Framework (OAF) is the Oracle Applications development and deployment platform for HTML-based business applications – UIs/Forms for iProcurement, iSupplier, iExpense etc

• 100% Java & XML based– OA Framework is J2EE based and features several

industry standards such as XML, HTML, Java, JSP, SQL and Web Services

• Oracle 9i JDeveloper For OA extension– Design-time extension to Oracle9i JDeveloper is called

Oracle Applications Extension (OA Extension)

Page 4: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OA Framework - Overview ..contd

• Advantages– Scalable – Personalizable– Extensible

• Versions– First released in 11.5.7– Became extensible with 11.5.10,

or patched 11.5.9

Page 5: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OA Framework Characteristics

• Declarative and Rapid application development • Consistent and Compelling UI • Built-in durable Personalization • Extensible UI and business logic • J2EE based, Java and XML • Based on MVC architecture

Page 6: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OA Framework Architecture

Application Server Data Server

Browser

11i Data

Client

UIX

Serv

letE

ngin

e

OA Controller

BC4J

OA Extension (MDS)

MetadataRepository

Listener

Page 7: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Model View Controller • Model

– Data

• View– User Interface

• Controller– Code

• MVC architecture is a component-based design pattern with interfaces between the Model, View, and Controller.

• Separates core business model functionality from the presentation and control logic that uses this functionality

• Allows multiple views to share the same enterprise data model

ControllerController

ModelModel ViewView

Page 8: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OAF and MVC

• View – Common UIX-based HTML components used throughout Applications

• Controller – OA Controller responds to user actions, directs application flow

• Model – Business logic encapsulated in Business Components for Java (BC4J) view objects and entity objects

UIX

OA Controller

BC4J

View

Contro

ller

Model

Page 9: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

View in OAF

Page HierarchyPage Hierarchy

MetadataMetadata

OA Framework RuntimeOA Framework RuntimeOA Framework Design timeOA Framework Design time

UIX UIX Bean HierarchyBean Hierarchy

UIXUIXRenderersRenderers

JSP/HTMLJSP/HTML

BrowserBrowser

.XML.XML

Cache Cache

Page 10: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Model in OAF

DatabaseDatabaseTables,ViewsTables,Views

PL/SQLPL/SQL

Entity Objects (EO)Entity Objects (EO)

View Objects (VO)View Objects (VO)

Application ModuleApplication Module(AM)(AM)

Application ModuleApplication Module(AM)(AM)

DMLDMLValidationsValidationsDefaultingDefaulting

UIX UIX Bean HierarchyBean Hierarchy

View SideView SideBC4J OBJECTSBC4J OBJECTS

.XML

Page 11: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Controller in OAF

ApplyApply

User takes an actionUser takes an action BrowserBrowsersendssendsrequest torequest toControllerController

MetadataWorkflow

ModelModel

ControllerController

ViewView

1. Controller delegates data 1. Controller delegates data processing to Modelprocessing to Model

2. Determines next page2. Determines next page3. Invokes View to present the 3. Invokes View to present the

next page to usernext page to user

Page 12: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OAF Page

Page 13: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Personalization & Extension

• Personalization– Declaratively tailoring UI look-and-feel, layout or visibility of built-in

content to suit a business need or a user preference• Change the prompt for a field and other text on a page• Set whether a field or region is visible• Reorder the fields or components on a page• Restrict the data that a user can access etc.

– Use the Personalization Framework

• Extension– Extending the functionality of an application:

• Adding new content or business logic

• Extending/overriding existing business logic

– Use Oracle9i JDeveloper

Page 14: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

• No development tool needed• Personalizations are overlaid on top of

base product metadata at runtime• Durable – Survive upgrades and patches• Admin personalizations available on any

component• User personalizations on tables/inquiries• Can implement personalizations on test

system • Personalization feedback is immediate• Administrator can easily enable/disable

personalizations

Base ProductPage Definition

PersonalizationDefinitionPersonalization

DefinitionPersonalizationDefinition

Personalization

Page 15: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Personalization Levels

• Admin Level Personalization– Site, Organization, Responsibility

• Single view at each level• User Level Personalization

– User Views• Several views per User

• Each level overlays the levels below it, and all overlay the base page's XML metadata in MDS.

MDSMDS

PersonalizationDefinitionPersonalization

DefinitionPersonalizationDefinition

Base ProductPage Definition

Page 16: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Personalization Profile Options

• Personalize Self-Service Defn • Disable Self-Service Personal • FND: Personalization Region Link Enabled • FND: Diagnostics

• Refer to Metalink Note:275876.1 for exhaustive list of OAF Profile options

Page 17: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

OAF – New Responsibility

• Functional Administrator– Sysadmin of Personalization– Deploying Personalizations– Import and Export Personalizations– A Real Life saver when dealing with Personalizations

Page 18: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Extensibility

• Extending & Creating Business Objects– New Page– New Attribute– Extend/Override defaults and validations– New business logic

• Extension is achieved using the BC4J components: – Entity Objects (EO)– View Objects (VO)– Application Modules (AM)

Page 19: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Onion Ring

Entity Objects

DB

ViewObjects

ApplicationModules

OAControllers

dataflow up stack (pull)

dataflow down stack (push)

• OA Framework applications can be abstracted into a series of concentric layers, like an onion.

OA Framework applications layers

• Each layer only “knows”about the layers below it.

• This encapsulation allows reuse at any of the layer boundaries.

Page 20: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Entity Object (EO)

• Data interface, not Application interface• Encapsulates business rules• Each table can have at most one entity object• EO instance is associated with a row from the

database table• Handles transactional details• Automatically implements DML operations• Resides in

– <company>.oracle.apps.<cust_top>.xxx.schema.server pacakge

Page 21: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

View Object (VO)

• Application interface, not data interface• Encapsulates database queries• Provides access to EO’s• Two types

– SQL based– EO based

• Resides in – <company>.oracle.apps.<cust_top>.xxx.server pacakge

Page 22: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Application Module (AM)

• Application Module is container for VOs• Establishes the transaction context for the related UI

pages• Every page must have a root application module

– Oracle.apps.fnd.framework.server.OAApplicationModule

• Resides in – <company>.oracle.apps.<cust_top>.xxx.server pacakge

Page 23: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Case Study of Logitech Inc.,

• Development Tool used – Oracle 9i JDeveloper Version 9.0.3.5

• Customizations– iSupplier Customization

• PO Acknowledgement and Notification• ASN Update to PO

– Special Pricing Approval and Processes • New OAF Pages in association with Workflow Developed

Page 24: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Supplier View of the Purchase Order

Supplier Acknowledgment

of PO

iSupplier Customization - iSupplier PO Acknowledgement Lo

gite

ch -

Cas

e St

udy

Page 25: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

iSupplier Customization - iSupplier ASN Update to PO

• ASNs are created through iSupplier – Automatically update the PO Shipment DFF for Shipment

Date and Status– Automatically Re-Calculate Promised Date, based on

Actual Ship Date.– Automatically reset the Promised Date to the previous

value in the event of ASN Cancellation– PO Shipment DFF updates should not cause a PO Revision.– PO Shipment DFF updates should not require re-approval.– PO Shipment DFF updates will be visible in iSupplier

Logi

tech

-C

ase

Stud

y

Page 26: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Special Pricing

• Business requirement– Create special prices for selected customers and groups of

customers.– Flexibility to set promotional limits.– Facility to choose Items for which the Special pricing is

applied.– Define the Date ranges for the Special Pricing.

Logi

tech

Inc

-C

ase

Stud

y

Page 27: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Special Pricing

the Promo request will go through the approval Process. After approval process this will be applied as requested

Logi

tech

-C

ase

Stud

y

Page 28: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Lessons Learned and Development Tips• Customization/Development Estimates• FND: Diagonstics• Functional Administrator• Defects in Standard packages (raise tar)• Concurrent program for bouncing the apache server• Use JDeveloper BC4J wizards to extend and create new Business Objects• Always extend the object, never start with a copy of an object .• Use the substitution mechanism to let OA Framework start using the

extended version of the object• Use “About this Page” link to get all the information related to the page

– Get page name and location– Version numbers– BC4J object names, etc.

• Please refer to chapter 8 of OAF Developer guide for Coding Standards

Page 29: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Q & A

Page 30: 37727897 Oaf Basics

© Zensar Technologies 2007 Southern California Regional OAUG

Thank You

Vishnu Vadla Practice Manager - Oracle

[email protected]