Professional Documents
Culture Documents
Application Framework
Vamshi krishna
Topics:
Introduction to OAF
Pre-requisites for learning OAF
OAF Architecture
JDeveloper tool & Versions
Steps to Develop/Customize of OAF pages
Registration OAF pages in Oracle Applications11i.
Introduction to OAF
Oracle Applications Framework is the Oracle
Applications development and deployment
platform for HTML-based business applications
OA Framework consists of a set of middle-tier
runtime services and a design-time extension to
Oracle9i JDeveloper called Oracle Applications
Extension (OA Extension).
Introduction to OAF..(Contd..)
Developer Productivity
Application Customizability
Open Standards
OAF Architecture
OAF Architecture(Contd)
OAF Architecture(Contd)
Overview of Model
The Model is where the application implements its business logic
The model component is implemented using the BC4J.BC4J Consists of
three components
Application Module.
Entity Object and Associations : Entity Objects represents a database row in
middle-tire. Database rows are represented as individual entities, in which
attributes typically corresponds to columns in the corresponding table to
automatically implement queries,inserts,updates and deletes.
Entity objects can also be based on views, synonyms or snapshots.
most entity objects that you create subclass that:
oracle.apps.fnd.framework.server.OAEntityImpl;
Associations are used to establish the relationship between the entity
objects.
When you create an entity object, framework will provide you a java class
with the setter and getter methods corresponding to each column of the
table to which you are entity object is based on.
OAF Architecture(Contd)
View Objects
view object accesses the result set of a sql statement. It can be
either based on the entity object or on plain sql query. All view objects
that you create subclass the
Oracle.apps.fnd.framework.server.OAViewObjectImpl.
Application Module
A logical container that manages and provides access to related BC4J
model objects. All application modules that you create subclass the
Oracle.apps.fnd.framework.server.OAApplicationModuleImpl
OAF Architecture(Contd)
The View :
The OA Framework View is implemented using UI XML (UIX). UIX
uses XML to describe the components and hierarchy that make
up an application page. UIX also provides runtime capabilities to
translate that metadata into HTML output so that it can be shown
on a Browser or a mobile device.
The metadata used to describe the UI is loaded into a database
repository, called Meta Data Services (MDS), at deployment time
and optionally at design time as well.
The Controller:
The Controller responds to user action and direct aplication flow. It
provides the writing between the UIX web bean and the middletier.All the controllers that we create subclass the
oracle.apps.fnd.framework.webui.OAControllerImpl.
The controller will request from HTTP Get and Http Post.
OAF Architecture(Contd)
Controller Methods
Process Request
Process Form Data
Process Form Request
Process Request:
This phase is invoked upon a browser Get or redirect/forward. This is where custom code
can call the application module to intialize and query the data. this phase may optionally
construct or modify the web beans to create or alter the page structure and web bean
properties.
Process Form Data:
This phase is invoked upon a browser post. During this phase the framework will
automatically applies form changes back to the underlying view objects. Rarely custom
code required in this phase. if exceptions are thrown during this phase, the process form
request phase is skipped and the page is redisplayed.
Process Form Request:
This phase is invoked upon a browser post , assuming no exceptions were thrown during
the process form data phase. This is were custom code can handle the submit events call
the application module to process the event.
OAF Architecture(Contd)
Framework passes two parameters OA PageContext and OAWebBean
Usage of OA PageContext:
Usage of OAWebBean:
OAF Architecture(Contd)
Onion Structure of OAF
XXAAM.oracle.apps.po.xxname.server
XXAAM.oracle.apps.po.xxname.schema.server
LOV ->BC4J
XXAAM.oracle.apps.po.xxname.LOV.server
Poplist ->BC4J
XXAAM.oracle.apps.po.xxname.poplist.server
Controller & Page
XXAAM.oracle.apps.po.xxname.webui
Prepare Statement.
Callable Statement.
Calling Oracle APIS.
THANK YOU