OAF Architecture -
Architecture of Oracle Application Frame Work is similar to the Struts Frame Work but some differences are there.
![]() |
Fig. OAF Work Architecture |
This Framework helps to create Self Service pages in Oracle EBS.
These pages are designed to be familiar to web-based users, and easy to deploy within a web browser (requiring no plugin or download, unlike Oracle Forms). As such, they are often expected to require no support or training for users, are more user friendly, and result in better performance over the internet and a faster transaction rate.
The OA Framework helps in building the presentation layer, adding the business logic and controlling the flow of the application.
Oracle Application Framework (OAF) is an architecture for creating web based front end pages and J2EE type of applications within the Oracle EBS ERP platform. In order to develop and maintain OAF functionality, Oracle's JDeveloper tool is used. OAF is based on J2EE technology called BC4J (Business Components for Java). As per the MVC architecture, in OAF, the XML Page forms the View, the JAVA based controller class forms the controller and the Application Module along with View Objects (VO) and Schema Objects (EO) forms the Model.
Every application has a package some location on the Application Server where all the code is held, there are basically three types of location within a given package path:
Model(BC4J)
These pages are designed to be familiar to web-based users, and easy to deploy within a web browser (requiring no plugin or download, unlike Oracle Forms). As such, they are often expected to require no support or training for users, are more user friendly, and result in better performance over the internet and a faster transaction rate.
The OA Framework helps in building the presentation layer, adding the business logic and controlling the flow of the application.
Oracle Application Framework (OAF) is an architecture for creating web based front end pages and J2EE type of applications within the Oracle EBS ERP platform. In order to develop and maintain OAF functionality, Oracle's JDeveloper tool is used. OAF is based on J2EE technology called BC4J (Business Components for Java). As per the MVC architecture, in OAF, the XML Page forms the View, the JAVA based controller class forms the controller and the Application Module along with View Objects (VO) and Schema Objects (EO) forms the Model.
Every application has a package some location on the Application Server where all the code is held, there are basically three types of location within a given package path:
- Server (The BC4J Components, R12 uses ADF)
- Webui (Web user interface components)
- Schema (Entity objects)
- Server files
Model(BC4J)
- EO (Entity Objects)
- VO (View Objects)
- AM (Application Module)
View (User Interface)
- Page Design (User interface XML- UIX)
Controller
- Java Code Classes(CO) - User Actions
1. VO (View Objects)
a. VO is used for displaying the records.
b. Two types of VO :
i. SQL based
ii. EO based
2. EO (Entity Objects)
a. EO is used while updating, inserting or deleting the records. (Depending on VO)
b. Contains database attributes nothing but the table columns
3. AM (Application Module)
a. AM will be track all the transactions between VO and pages(user activities).
b. Contains only VO, can not attach EO directly to AM.
c. Every page must have root AM.
4. CO (Controller)
a. Responds to user actions
b. Model objects like EO and VO can't be accessed directly from the Controller class, except AM.
c. Contains methods such as :
i. ProcessRequest : Executes when page load at first time(Initially).
ii. ProcessFormRequest : Executes when user doing action on page(Clicking on Button, changing LOV etc).
iii. ProcessFormData : Transfer information from page fields to the cache memory(Executes in backend - not used by developer).
5. Page and Region (PG and RN)
It represents the View layer of the MVC architecture, it is the creation of the page that is rendered on front end, every component on that page like input text box, Lov’s, submit buttons and all other components are part of a bean that is defined in the system, each of these page is stored in the file system tables in the database, whenever any page is called the components are called from the database and rendered.
Onion Architecture of OA Framework :
Onion Architecture of OA Framework :
OA Framework can be extracted into a series of concentric layers, like an onion.
Each layer communicates with it top and bottom layers.
Key Features of MVC Architecture :
5. Page and Region (PG and RN)
It represents the View layer of the MVC architecture, it is the creation of the page that is rendered on front end, every component on that page like input text box, Lov’s, submit buttons and all other components are part of a bean that is defined in the system, each of these page is stored in the file system tables in the database, whenever any page is called the components are called from the database and rendered.
Onion Architecture of OA Framework :
![]() |
Fig. Onion Architecture of OAF |
OA Framework can be extracted into a series of concentric layers, like an onion.
Each layer communicates with it top and bottom layers.
Key Features of MVC Architecture :
- Integrated development environment
- Durable personalization and extensions
- Consistent and compelling user interface
- User interface interactivity
- Object oriented reuse
- Oracle portal interoperability
- Built-in security
- Deployment environment
D2k | OAF | ADF |
Desk Top Application | It is Frame with MVC Architecture | It is a Frame work with MVC Architecture |
It is a Client and Server Architecture | It is a 3-Tier Architecture | It is a N-Tier Architecture |
From Builder used to develop the applications | JDeveloper is used to develop the applications | JDeveloper is used to develop the applications |
PL/SQL | JAVA | JAVA |
Drag and Drop features | No Drag and Drop features | Drag and Drop features |
Client and Server Application | Web Application | Enterprise Application |
Personalization :
There are certain changes, which are in fact small changes on a page that can be done without any code changes is a feature that oracle provides to its users, this is called personalization. Personalization can be done at user level, responsibility level, org level and site level.
To enable the personalization link on every page use the Profile option, "Personalize Self-Service Defn".
After setting this profile, on every page the Personalize link will appear. One can personalize certain attributes like rendering items, making fields read only creating items at required level (User/Responsibility/Site) etc.
After personalization the personalized page needs to be imported to the file system as mentioned earlier each of the pages resides in the file system and stored in tables within the database, for doing this there is a standard xml importer script.
Customization :
In case some new customized codes needs to be created and added to the custom level which will extend to existing codes.(We will discuss this later)
Debugging :
Debugging and code analysis is a very major aspect of tracking and finding the required changes in an OAF code. Set the profile “FND: Diagnostics” this will create a Diagnostics link on the top as well as a “About this page” link at every page bottom. These are very important utility for tracking the components on a page, like AM’s /VO’s and CO’s on a page and helps in finding the various view objects that are attached on a page and their respective queries. This is also helpful in tracking the components that needs to be modified or extended during development.