Oracle Application Framework: Ramgopal
Oracle Application Framework: Ramgopal
Framework
What is Framework?
Software package, with specialized set of related classes designed to make application development easier.
Framework implements part of an application so developers don't have to write all of its code from scratch
Continued
Common Technology stack that can be centrally modified and extended - Common Framework Classes/technology Supports different browsers Provides standard flexible Apps components (Attachments, Flexfields, Menus, Security etc)
Oracle Frameworks
1. AK regions Framework 2. JTF/JTT Framework 3. Oracle Application Framework (OAF) 4. Application Development Framework (ADF)
Frameworks
Continued
Opens from web through Opens directly from the Java Applets Browser
Why OA Framework?
Light weight components Opens from the Browser Look and feel is good High performance Less coding effort Security features of Oracle
Architecture of OAF
M V C-Design Pattern Directs Application Flow based on User Actions Controller Encapsulating Data and its Business Logic Model
Basics Of Model
Entity Object
Replicate or Snapshot of a DB Object.
It is required for any DML operations. Entity Object can be created based on table, synonym, view .. As soon as an EO is created, the following files will be generated. 1) xxEO.xml 2) xxEOImpl.java
Entity object
Continued
xxEO.xml describes the data types, width of table columns, Null cols, table, constraints and properties. OAEntityImpl is parent to all xxEOimpl.java. It will generate the following methods.
1) getters and setters 2) public void create() 3) public void Remove() 4) protected void validateEntity()
View Object
3) xxVORowImpl.java
View object
Continued
View object
Continued
xxVORowImpl.java is of record Level It is used to select or modify a particular row or record of the output. public class xxVoRowImpl extends OAViewobjectImpl { }
Basics Of View
View
View
Request for OAF Page OA Framework
Continued
J D E V E L O P E R
Local Cache
OA Framework
MDS Repository
MDS Engine
.xml file
A P P S
S E R V E R
Output
View
Continued
MDS (Meta Data Services) Repository is nothing but collection of JDR tables 1) JDR_ATTRIBUTES 2) JDR_PATHS 3) JDR_COMPONENTS 4) JDR_ATTRIBUTES_TRANS To run page in server, that page definition should be available in MDS Repository, otherwise it will throw error The details of page definition are entered into these tables by using import utility/ import batch files
Basics Of Controller
Controller
A Java file by which we can capture the actions and directs the Application flow
public class sampleCO extends OAControllerImpl {
processRequest { } processformRequest { } }
Controller
Continued
- In Process Request all actions will be performed while page is loading, just like pre-form i.e., to change the item properties - In Process Form Request all actions will be performed when the page is loaded.
Controller
Continued
Controller has another method, which can not be displayed to Developer. ProcessFormData It will check all the connections, nulls.. It will connect both processRequest processFormRequest. It displays exception page.
and
Controller
Continued
OAPageContext - To get current values of items - To implement client side validations OAWebBean is an item which is displayed on the page. - To set the values and properties of an Item in the page
Jdev Home
-DBC files: To start any application, we have to keep dbc files in secure of dbc folder.
Continued
-Myprojects: This is home directory for all applications. All applications of any project are available in this folder. Here we have only java files and xml files.
-Myclasses: All class files will be generated here, when ever respective Java file is compiled which is in the form of Bytes. -My HTML: It has two folders OA media: We can see all images like company logos. OA HTML: (css style) To change item properties.
Continued
3) Create a shortcut for Jdevw.exe to desktop D:/Jdev9i/jdevbin/jdev/bin Jdevw.exe windows Jdev.exe-- Linux
Continued
3. Pages & Controller: <Third Party>.oracle.apps.Appl Short Name.componentName.webui Ex: xyz.oracle.apps.po.hello.webui 4. LOV VOS & LOV AMS: <Third Party>.oracle.apps.Appl Short Name.componentName.lov.server Ex: xyz.oracle.apps.po.hello.lov.server
Continued
5. LOV Regions: <Third Party>.oracle.apps.Appl Short Name.componentName.lov.webui Ex: xyz.oracle.apps.po.hello.lov.webui 6. Picklist (dropdown list )/ pop list: <Third Party>.oracle.apps.Appl Short Name.componentName.picklist.server Ex: xyz.oracle.apps.po.hello.picklist.server
Queries
Thank you