0% found this document useful (0 votes)
274 views44 pages

Oracle Application Framework: Ramgopal

The document discusses Oracle Application Framework (OAF). It defines OAF as a software framework that makes application development easier by implementing common components so developers don't have to write all code from scratch. It describes key OAF components like entity objects, view objects, application modules, and controllers. It also outlines the architecture, typical application flow, and benefits of using OAF such as a common look and feel, reduced coding effort, and leveraging existing Oracle technology.

Uploaded by

Akib Jav
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
274 views44 pages

Oracle Application Framework: Ramgopal

The document discusses Oracle Application Framework (OAF). It defines OAF as a software framework that makes application development easier by implementing common components so developers don't have to write all code from scratch. It describes key OAF components like entity objects, view objects, application modules, and controllers. It also outlines the architecture, typical application flow, and benefits of using OAF such as a common look and feel, reduced coding effort, and leveraging existing Oracle technology.

Uploaded by

Akib Jav
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 44

OAF

Oracle Application Framework


Ramgopal

Sample OAF Page

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

Framework Goals and Benefits


Provide common Look and Feel - We have shareable components for designing UI Create a platform that facilitates RAD. - Components will get created with just few mouse clicks. Ensure high performance and scalability - Catching, Passivation, Resource pooling Leverages Existing Technology

Framework Goals and Benefits

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)

Framework vs Design Patterns


Design pattern is a general reusable solution to a commonly occurring problem in software design. This is not a code but just a guideline on how to solve a problem? Framework = Design patterns + their Implementation

Oracle Frameworks
1. AK regions Framework 2. JTF/JTT Framework 3. Oracle Application Framework (OAF) 4. Application Development Framework (ADF)

Frameworks

Continued

AK regions and JTF Frameworks are not


comfortable to Oracle Consultants as they are fully involved with Java code. OA Framework excels at creating 3-tier webbased applications that link to Oracle 11i with all the security features. ADF data source can be OAF data source is oracle anything, where as

Oracle Form Vs OAF Page


Oracle Form OAF Page

Opens from web through Opens directly from the Java Applets Browser

Why OA Framework?

Why we have to go for OAF

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

View Formats and presents Data from a Model to User

A Normal OAF Application Flow

Basics Of Model

Model Collection of BC4J Components


1) 2) 3) 4) 5) Entity Object View Object Application Module Associations View Links

Onion Structure Of Model


Each Layer only knows layers below it

This Encapsulation Promotes easier reuse of Components

Data Flow Up Stack () (PULL) Data Flow Down Stack () (PUSH)

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

VO represents select statement.


As soon as an VO is created, the following files will be generated. 1) xxVO.xml 2) xxVOImpl.java

3) xxVORowImpl.java

View object

Continued

xxVO.xml consists statement and other


attributes.

xxVOImpl.java is of Statement Level


public class xxVoImpl extends OAViewImpl { } Any modification to select statement can be made in this file: -Adding bind parameter -Adding where clause

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 { }

Application Module It is used to develop parameter page


It will generate the following files: - SampleAM.xml - SampleAMImpl.java public class SampleAMImpl extends OAApplcationModuleImpl { } Note: For each and every View object, It creates one method in AM after attaching VO to AM. We develop one AM and it will be used for all pages in project

Basics Of View

View

View formats and presents data as an output in the page.


- It is in .xml format. - We can run the page in two ways: 1) In Jdeveloper (for testing) 2) In Oracle Application (server)

View
Request for OAF Page OA Framework

Continued
J D E V E L O P E R

Local Cache

.xml file HTML Output

Request for OAF Page

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

Parameters in the Controller to achieve the Application Flow


1) OAPageContext 2) OAwebBean

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

Jdeveloper Structure and Set Ups

File Directory Structure


Jdev Home (Develop our projects) Jdev Doc (Help Document (Index.htm) Jdev Bin (executable and batch file Jdev and Jdevw are executable files)

Jdev Home
-DBC files: To start any application, we have to keep dbc files in secure of dbc folder.

File Directory Structure

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.

Set Ups Required for JDeveloper


1) Create an environmental variable like
Name: JDEV_USER_HOME Value: jdevhome\jdev 2) Get DBC file from DB server. DBC files are saved in secure folder of Jdevhome folder. -Get DBC file from Appl-top/fnd/11.5.0/ secure/vis/vis.dbc -Place DBC file to jdevhome/jdev/dbc-files/secure/ vis.dbc

Set Ups Required for Jdeveloper

Continued

3) Create a shortcut for Jdevw.exe to desktop D:/Jdev9i/jdevbin/jdev/bin Jdevw.exe windows Jdev.exe-- Linux

BC4J Components & Package Structure

BC4J Components Structure


To create BC4J components, Pages, Controller, LovVOs, AM, Regions, LOVs and picklist. we need to follow Standard BC4J package structure
OA Work Space (.JWS) OA Project1 (.JPR) BC4J Package EO1 EO2 BC4J Package (VO, EO, AM) OA Project2 (.JPR) OA Project3 (.JPR)

BC4J Package Structure


1.EO & Associations <Third Party>.oracle.apps.Appl Short Name.componentName.schema.server Ex: xyz.oracle.apps.po.hello.schema.server

2. VOS & AMS <Third Party>.oracle.apps.Appl Short Name.componentName.server Ex: xyz.oracle.apps.po.hello.server

BC4J Package Structure

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

BC4J Package Structure

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

You might also like