Pages

OracleEBSpro is purely for knowledge sharing and learning purpose, with the main focus on Oracle E-Business Suite Product and other related Oracle Technologies.

I'm NOT responsible for any damages in whatever form caused by the usage of the content of this blog.

I share my Oracle knowledge through this blog. All my posts in this blog are based on my experience, reading oracle websites, books, forums and other blogs. I invite people to read and suggest ways to improve this blog.


Friday, May 29, 2015

OAF Basic Part 1

Index
What is OA Framework
Why OA Framework
OAF Vs FORMS
OA Framework Architecture
MVC Architecture and its Components
Profile Options
JDeveloper Structure
Naming Standards
What is OA Framework?
Oracle Application Framework(OA Framework) is a proprietary framework developed by Oracle Corporation for application development within the Oracle E-Business Suite.

Available to customers for personalization, customizations and custom-application development.

The OA Framework is a Model-view-controller (MVC) framework built using J2EE (Java 2 Platform, Enterprise Edition)technologies.
Why OA Framework?

Advantages :
Enterprise-Grade Performance and Scalability
Improved End User Productivity
Highly extensible architecture
Browser Look and Feel (BLAF terminology) for all applications
Open industry Standards such as XML, HTML, Java, JSP,
SQL and Web Services.
 Using Oracle Forms OA Framework 
With Oracle Forms I can create custom Apps modules and modify seeded Apps Forms. JDeveloper is the development tool for creating custom Apps web pages and modifying seeded Apps web pages.
I use SQL and PL/SQL in Oracle Forms We will still use SQL statements, specifically in View Objects.  We can execute PL/SQL, but within Java code.  If your Java skills are nil or weak, now might be a good time to plan a training program.  See What To Do Next for more information.
An Oracle Forms file (.fmb) contains screen design and custom procedures and functions. Reusable code, that is the mantra for JDeveloper and OA Framework.  In Oracle Forms a data block references a table or view, and that definition is contained within the .fmb.  With JDeveloper, we create view objects or entity objects that can be reused by other web pages.
In Forms, I can reuse forms, libraries, and menus by referencing. OA Framework is an assembly of reusable objects.
I use TEMPLATE.fmb as the starting point for any custom Apps forms.  TEMPLATE.fmb contains references to libraries, property settings, and menus that will help make custom forms look-and-feel like Oracle-provided forms. OA Framework is a development and deployment platform presented through JDeveloper.  The seeded objects and settings give custom web pages the same look-and-feel as Oracle-provided web pages
In Forms I create and use canvases:
Forms requires a root canvas
I use stacked canvases for controlling access to groups of items
Fields and buttons appear on a canvas
Properties control the appearance of canvases and items
In OA Framework we use the concept of a region:
*A web page requires a root region
*Regions can be nested
*Widgets (fields, buttons, images, etc) appear in a region
* Properties control the appearance of widgets
Components of MVC Architecture
Interaction between model, view and controller
Entity Object (EO)
Entity Object is based on 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.
View Object (VO)
Two types
     1. SQL based
     2. EO based
Represents a query result.
Is used for joining, filtering, projecting, and sorting your business
     data.
Can be based on any number of entity objects (EOs) and provides
     access to EOs.
Application Module (AM)
Every page must have a root application module.

Handles transactions.

Application Modules serve as containers for related BC4J Objects.

The objects are related by participating in the same task (for example, a multi-page UI for creating purchase orders)

Application Modules provide transaction context

Application Modules establish database connections

Application Modules may be nested to provide more complex application modules
Controller (CO) in MVC Architecture
Responds to user actions and directs application flow.
Model objects like EO and VO can't be accessed directly from the Controller Class, except AM.
Contains methods such as
           1. ProcessRequest: Fires when OAF page loads for the first time.
           2. ProcessFormRequest: Fires when user submits the page.
                                           (Ex: clicking GO button)
MVC Architecture
Model-View-Controller (MVC) Design Pattern
Profile Options
To Enable the “about this page” link on the page set the below profile option as “yes”
FND: Diagnostics : Yes
To Enable the “personalize page” link on the page set the below profile options as “yes”
Personalize Self-Service Defn : Yes
FND: Personalization Region Link Enabled : Yes
Jdeveloper Structure
Naming Standards
Page Name Ends with PG/PAGE
Region name ends with RN
Entity Object Name ends with EO
View Object ends with VO
Application Module Name Ends with AM
Controller Name ends with CO
References:
http://oafadfmahi.com/oaf/oafbasic1.html