More Related Content
Similar to 37727897 Oaf Basics (20)
More from Hossam El-Faxe (12)
37727897 Oaf Basics
- 1. Personalization and Extension for
E-Business Suite using OA Framework
March 23, 2007
Vishnu Vadla
Practice Manager – EAS US
© Zensar Technologies 2007 Southern California Regional OAUG
- 2. 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
- 3. 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
- 4. 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
- 5. 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
- 6. OA Framework Architecture
Client Application Server Data Server
Browser Servlet Engine Listener
BC4J
Metadata
UIX Repository
OA Extension (MDS)
OA Controller 11i Data
© Zensar Technologies 2007 Southern California Regional OAUG
- 7. Model View Controller
• Model
– Data Controller
• View
– User Interface
• Controller
Model View
– 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
© Zensar Technologies 2007 Southern California Regional OAUG
- 8. OAF and MVC
• View – Common UIX-based HTML
components used throughout
ew
UIX
Vi
Applications
• Controller – OA Controller responds to
r
lle
tro
user actions, directs application flow
n
OA Controller
Co
• Model – Business logic encapsulated in
el
od
BC4J Business Components for Java (BC4J)
M
view objects and entity objects
© Zensar Technologies 2007 Southern California Regional OAUG
- 9. View in OAF
OA Framework Design time OA Framework Runtime
Page Hierarchy
UIX UIX
Bean Hierarchy Renderers
JSP/HTML
Browser
Cache
Metadata .XML
© Zensar Technologies 2007 Southern California Regional OAUG
- 10. Model in OAF
BC4J OBJECTS
e
Si d
Entity Objects (EO) V ie w
View Objects (VO) UIX
Bean Hierarchy
Application Module
(AM)
DML
Validations
.XML Application Module
Defaulting
(AM)
Database
Tables,Views
PL/SQL
© Zensar Technologies 2007 Southern California Regional OAUG
- 11. Controller in OAF
User takes an action Browser
sends
request to Controller
Controller
Metadata
Workflow
Apply Model
1. Controller delegates data
processing to Model
2. Determines next page View
3. Invokes View to present the
next page to user
© Zensar Technologies 2007 Southern California Regional OAUG
- 13. 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
- 14. Personalization
• 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 Personalization
component Personalization
Definition
Personalization
Definition
• User personalizations on tables/inquiries
Definition
• Can implement personalizations on test
system Base Product
Page Definition
• Personalization feedback is immediate
• Administrator can easily enable/disable
personalizations
© Zensar Technologies 2007 Southern California Regional OAUG
- 15. Personalization Levels
• Admin Level Personalization
– Site, Organization, Responsibility
• Single view at each level
• User Level Personalization
– User Views
• Several views per User Personalization
• Each level overlays the levels Personalization
Definition
Personalization
Definition
below it, and all overlay the Definition
base page's XML metadata in
MDS.
Base Product
Page Definition
MDS
© Zensar Technologies 2007 Southern California Regional OAUG
- 16. 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
- 17. 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
- 18. 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
- 19. Onion Ring
OA Framework applications layers
• OA Framework applications can be abstracted into
a series of concentric layers, like an onion.
• Each layer only “knows”
about the layers below it.
• This encapsulation allows
OA
Controllers
reuse at any of the layer Application
Modules
boundaries. View
Objects
Entity
dataflow up stack (pull) Objects
dataflow down stack (push) DB
© Zensar Technologies 2007 Southern California Regional OAUG
- 20. 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
- 21. 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
- 22. 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
- 23. 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
- 24. iSupplier Customization - iSupplier PO Acknowledgement
Supplier
Acknowledgment
Logitech - Case Study
of PO
Supplier View of the
Purchase Order
© Zensar Technologies 2007 Southern California Regional OAUG
- 25. 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
Logitech - Case Study
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
© Zensar Technologies 2007 Southern California Regional OAUG
- 26. Special Pricing
• Business requirement
– Create special prices for selected customers and groups of
customers.
Logitech Inc - Case Study
– Flexibility to set promotional limits.
– Facility to choose Items for which the Special pricing is
applied.
– Define the Date ranges for the Special Pricing.
© Zensar Technologies 2007 Southern California Regional OAUG
- 27. Special Pricing
the Promo request will go through the approval Process.
After approval process this will be applied as requested
Logitech - Case Study
© Zensar Technologies 2007 Southern California Regional OAUG
- 28. 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
- 30. Thank You
Vishnu Vadla
Practice Manager - Oracle
vishnu@usa.zensar.com
© Zensar Technologies 2007 Southern California Regional OAUG