© 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
© 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
© 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)
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© Zensar Technologies 2007 Southern California Regional OAUG
OAF Page
© 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
© 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
© 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
© 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
© 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
© 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)
© 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.
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© Zensar Technologies 2007 Southern California Regional OAUG
Q & A
© Zensar Technologies 2007 Southern California Regional OAUG
Thank You
Vishnu Vadla Practice Manager - Oracle