Oracle Application Framework(OAF) Tutorial
Last updated on 29th Sep 2020, Blog, Tutorials
Oracle Application Framework (OA Framework or OAF) is a framework developed by Oracle Corporation for application development within the Oracle E-Business Suite (EBS)
Oracle Applications Framework is the Oracle Applications development and deployment platform for HTML-based business applicationsOA Framework consists of a set of middle-tier runtime services and a design-time extension to Oracle9i JDeveloper called Oracle Applications Extension (OA Extension).
Oracle Application Framework (OAF) provides visual and declarative approaches to Java EE development. The OA framework is also available to customers for personalization, customizations and custom-application development.
What is OAF?
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. Oracle Application Framework is the development and deployment platform developed by Oracle to develop the Oracle E-Business Suite “Self-Service” or HTML based Applications.
Oracle Application (OA) enables you to personalize the layout of the user interface and the content it displays to suit your business needs. Oracle’s JDeveloper tool with an Oracle Applications extension is used for development of the Oracle Applications Framework and uses Java & XML languages for the same.
Subscribe For Free Demo
Error: Contact form not found.
What is Activation and Passivation in OAF?
Passivation is the process of saving application state to a secondary medium (the database) at specific event points so it can be restored (activated) when needed. This restoration of data is called Activation. Passivation in OAF is done implicitly when the appropriate profile options are enabled.
Oracle Application Framework (OAF) provides visual and declarative approaches to Java EE development. The OA framework is also available to customers for personalization, customizations and custom-application development.
- The OA Framework helps to create self Service pages in Oracle EBS.
- The OA Framework helps in controlling the flow of the application.
- OA Framework works on the basic Java EE principles.
- To Learn OAF you must know the Basics of Java like Core Java.
- User Interface is Very Interactive in OAF
- OA Framework contains inbuilt security
- We can view OA Framework pages in mobile phones too which contains Internet browsing feature
- OA Framework is J2EE based but it also supports various standards like HTML, XML, SQL, JSP.
Oracle Application Framework Components
The MVC architecture is a component-based design pattern with clean interfaces between the Model, View, and Controller.
1.Model
The Model is where the application implements its business logic. All the BC4J components in OAF come under Models like AM (Application Module),VO (View Object), EO (Entity Object),VL (View Link) & AO (Association Object).
EO(Entity Objects)
Entity Object is based on a database table or other data source.Entity Object contains attributes which represent database columns.All insert/update/delete (DML Operations) transactions go through EO to database.
VO (View Objects)
View objects are based on EO or SQL Query which is again based on EO Objects Two types 1. SQL based 2. EO based Basically VO is synonymous to views used in PLSQL Programming they are used for joining tables, filtering based on conditions and sorting the data. Entity Objects can be based on any number of EO and provide access to EO.
Application Module
It’s a container for VO. Once you create an Application Module you need to associate the corresponding VO to the Application Module. Access to the VO is always provided through the Application Module. Every Page in the OAF Framework needs to be associated with an AM.
2.View
The View is where the application implements its user interface. View means the UI (User Interface) that is visible to the Users.
3.Controller
The Controller is where the application handles user interaction and directs business flow. Controller is a simple java class file that contains methods for initial page request and post back request.
When a user clicks a button, or performs a certain action, what responses should be triggered is coded in the Controller. All the responses to User actions, Application Flow is coded into the Controller. m Model objects like EO and VO can’t be accessed directly from the Controller Class, except AM.
Some common methods that the controller has 1. ProcessRequest: Fires when OAF page loads for the first time 2. ProcessFormRequest: Fires when user submits the page.
Installation Steps
1. Download JDeveloper 10.1.3.3.0. Available Oracle patch is p8431482_R12_GENERIC.zip
Unzip the patch p8431482_R12_GENERIC.zip i.e. in D:\
2. Specify the path of jdev in following location
My Computer>Properties>Advanced>Environment Variables as given below screenshot
3. Download dbc file of Oracle application instance from $FND_TOP/secure ( it is like a tnsnames.ora file having connection detail )
Place the file at location D:\p8431482_R12_GENERIC\jdevhome\jdev\dbc_files\secure
4. Open JDeveloper and set database connection goto Connection Navigator > Database and create a new connection
Note Give username and password do not give any role and do not check Deploy Password checkbox
Note: Give Host Name, JDBC port, and SID. Keep the driver as thin.
Now JDeveloper is ready to use
5. Create a sample workspace and project to know setting during creation of project
- Goto Application Navigator right click > New > General > Workspace Configured for Oracle Applications
- Give workspace name
- Give project name and Default package
Note Default package is
<3rd party identifier>.oracle.apps.<application_short_name>.<component>.
[<subcomponent>] Example: mycompany.oracle.apps.po.requisition.webui
- Give database connection detail
- Give your dbc file location, application username, application password, application short name, and responsibility key
i.e. Application short key and responsibility key is nothing but assigned responsibility detail to the application user for example if application user has System Administrator responsibility then Application short name will be “SYSADMIN” and responsibility key will be “SYSTEM_ADMINISTRATOR”. These values are required to compile and run the page because page required context during run time so it will login the application with given username and password and it will take context from assigned responsibility
- 6. Click Next. Creation of Workspace and project has finished
Oracle Application Framework Uses
The necessary to use OAF in Oracle applications is Integration, Security, and Customization.
- Integration: Registration of Forms is easy.
- Security: Flexibility reasons if we are using third parties we don’t know when it is going to fail.
- Customization: If we are integrating with third party customization is tough whereas using OAF customization is little bit easier when compared to Other Third party customization.
OAF Advantages & Disadvantages
The advantages of OAF are:
- End user Productivity
- Enterprise Grade Performance and Scalability
- Highly extensible Architecture
- Browser Look and Feel of all the pages in application.
- Open Standards such as XML, HTML, Java, JSP, SQL, and Web Services.
- Application Customizability.
- Developer Productivity.
The disadvantages of OAF are:
- Cannot see the layout at design time.
- OAF Pages are integrated / compatible only with the Oracle Apps.
- Drag and Drop options are not available.
- More R&D is required to design a form layout which is time consuming
Are you looking training with Right Jobs?
Contact Us- Oracle DBA Tutorial
- What Are The Steps To Become Oracle Database Certified?
- PL/SQL Tutorial
- PostgreSQL Tutorial
- Oracle OAF Interview Questions and Answers
Related Articles
Popular Courses
- Laravel Training
11025 Learners
- Angular Training
12022 Learners
- Python Django Training
11141 Learners
- What is Dimension Reduction? | Know the techniques
- Difference between Data Lake vs Data Warehouse: A Complete Guide For Beginners with Best Practices
- What is Dimension Reduction? | Know the techniques
- What does the Yield keyword do and How to use Yield in python ? [ OverView ]
- Agile Sprint Planning | Everything You Need to Know