OA Framework Basics

3rd April, 2009 Parag Narkhede, Blink Consulting Pvt Ltd
India OAUG Webinar Series

Blink Consulting Private Limited
Blink Consulting is a dynamic and fast growing software consultancy providing Business Information Systems solutions, Business Intelligence Solutions and Application Maintenance Outsourcing to Customers in diverse industries Our Core Services consist of Strategy, Business Architecture, Solution Delivery, Operate and Oracle eBusiness Consulting Contact Information
INDIA – PUNE Blink Consulting India Pvt. Ltd., S. Number 131, Mumbai – Pune Highway Pune, Maharashtra, INDIA +91 20 30637200 USA – BOSTON Blink Consulting Inc. 945 Concord Street Framingham, MA 01701 USA +1-917-873-9763 USA – DALLAS Blink Consulting Inc. 1400 Preston Rd, Suite # 400 Plano, TX 75093 USA +1-972-665-9943

What is OA Framework? Why OA Framework? OA Framework Architecture MVC Architecture and its components Profile Options Which version of JDeveloper? JDeveloper Structure Development of Search page Summary Q&A

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.


OA Framework Architecture
OA Framework architecture is based on Model-View-Controller (MVC) design pattern.


Components of MVC Architecture
Model: Data Implemented using Oracle Business Components for Java (BC4J). 1. EO (Entity Object) 2. VO (View Object) 3. AM (Application Module) View: User Interface. Implemented using an Oracle technology called UIX. (UIX = User Interface XML). Controller: Code User actions are handled by the OA Controller. (Ex: Clicking SUBMIT button)

Interaction between model, view and controller
HTML Page HTTP Response Controller Class View

HTTP Request Controller

AM Model VO EO
*AM-Application Module *VO-View Object *EO-Entity Object

Data base


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)
Container for VOs. Every page must have a root application module. Handles transactions.


View in MVC Architecture


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 SUBMIT button)


Controller Class (CO) (Cont.)


MVC Architecture


Onion Architecture of OA Framework
OA Framework can be extracted into a series of concentric layers, like an onion. Each layer only “knows” about the layers below it.


Profile Options
FND: Personalization Region Link Enabled Enables the "Personalize Region" links on a page if the Personalize Self-Service Definition. FND: Diagnostics Renders the "About this page" link at the bottom of every OA Framework page. Refer to Metalink document id 275876.1 for more profile options.


Which version of JDeveloper?
Developer, must use the specific build of JDeveloper that corresponds to their runtime environment. Following table illustrates which JDeveloper ARU corresponds to the runtime patch set installed in your 11.5.10 environment:
11.5.10 Runtime Patch Level ARU ATG.PF.H (3438354) ATG CU1 (4017300) ATG.CU2 (4125550) 11i.ATG_PF.H RUP3 (patch 4334965) 11i.ATG_PF.H RUP4 (patch 4676589) 11i.ATG_PF.H RUP5 (patch 5473858) 11i.ATG_PF.H.RUP6 (patch 5903765) Corresponding JDeveloper 4045639 4141787 4573517 4725670 5455514 6012619 6739235

Refer to Metalink document id 275846.1 for more details.

JDeveloper Structure
Level :1 OAWorkspace.jws OAProject1.jpr OAProject2.jpr . . <CUSTOM_TOP>.oracle.apps.<APPL_TOP_NAME>.schema.server EO1 EO2 <CUSTOM_TOP>.oracle.apps.< APPL_TOP_NAME >.server VO AM <CUSTOM_TOP>.oracle.apps.< APPL_TOP_NAME >.webui PG

Level: 2

Level: 3

JDeveloper Structure (Cont.)


Development of sample search page


What is OA Framework and Why OA Framework? MVC Architecture and its Components (Model-ViewController). Model Consists of AM,VO,EO. View is user interface which renders as HTML page. Controller is Java class implementation which handles user actions and responds to them. 3-Tier and Onion architecture of OA Framework. Profile options. JDeveloper version and its structure. Development of search page.



Thank You
E-mail: pnarkhede@blinkconsulting.com


Sign up to vote on this title
UsefulNot useful