Вы находитесь на странице: 1из 9

Oracle Application Framework Its Features & Applications

Author:

Abhishek Saha

Employee ID: 347110 Creation Date: Mar 09, 2012 Last Updated: Mar 09, 2012

Table of Contents What is OA Framework?...............................................................................................3 OAF Characteristics...3 Model View Controller..3 OAF and MVC..5 View in OAF.5 Model in OAF...6 Controller in OAF.6 Architecture Summary..7 Personalization and Extensions....7 Functional Administrator Responsibility..8 Extensibility..8 Conclusion9

TATA CONSULTANCY SERVICES

What is OA Framework?
To start with what is a framework? In object-oriented terms, it is a set built in classes, packages, functions, etc. which can be reused to build your own application. OA Framework is the framework provided by Oracle for development and deployment of HTMLbased applications. It is a 100% Java and XML based framework. Oracle JDeveloper For OA extension is the tool available for developing the OAF applications.

OAF Characteristics
1. Declarative application development It is declarative because you can build or customize the application without writing a single line of code. Some of the customization can be done using the build in features of Jdeveloper. 2. Rapid Development Environment The JDeveloper IDE has many built in features which help in rapid application development. Also, OAF provides a huge library of built in packages which could be used. 3. Consistent and Compelling UI Currently we have forms based and html based application like CRM and regular Applications forms. In OAF, UI will be same across all the applications. Oracle is planning to implement this across more than 60 modules. 4. Built-in durable personalization Personalizations are durable in the sense that they survive the upgrades and patches. OAF creates a separate layer of all the personalization above the original one. Upgrades and patches affect only the original ones. Also, the other advantage is that if you feel that you dont need particular personalization, you can just remove it from your application without touching the original one. 5. Extensible UI and business logic There is no meaning in having the application without this feature. Customizing the application according to the client requirement is the basic and most important feature of Oracle applications. 6. J2EE based, Java and XML OAF is 100% Java and XML based 7. MVC architecture OAF uses the good old, tried and tested MVC design pattern.

Model View Controller


MVC design pattern separates core business functionality from the presentation and control logic. To put in simple terms, MVC design pattern enforces separation between the input, processing and the output of an application. To achieve this, it is divided into three parts, Model-View-Controller.

Below picture depicts the MVC design pattern:

TATA CONSULTANCY SERVICES

Fig 1. MVC Design Pattern


The primary advantage of MVC design patter is that the model (business logic) can be used by multiple views (clients). Below pictures shows how different views can use the same model.

Fig 2. Advantage of MVC Design Pattern

TATA CONSULTANCY SERVICES

OAF and MVC


How does MVC fit into OAF?

BC4J - M UIX V OA Controller - C


MVC is implemented in OA Framework through the following three components: UIX In OAF Framework View is implemented using UI XML (UIX). OA Controller Controller is implemented as a pure java class. User driven interactions are handled by the OA Controller. BC4J Model is implemented using Oracle Business Components for Java (BC4J). BC4J is a J2EE platform which provides optimized, ready-to-use implementations and built in reusable code.

View in OA Framework
Once the application development is complete, the user interface related information needs to be loaded into the database repository called Meta Data Services (MDS). At runtime, the UIX picks up the information from the MDS (which is in XML format) and builds up the component and its hierarchy. It then converts it into JSP or html so that it could be displayed in browser or mobile device. As a developer we are only required to load the metadata into the MDS. Rest of the part is taken care of automatically by the OAF.
OA Framework Design time Page Hierarchy UIX Bean Hierarchy UIX Renderers JSP/HTML OA Framework Runtime

Cache

Metadata

.XML

Fig 4. View in OA Framework

TATA CONSULTANCY SERVICES

Model in OAF
BC4J (Business components for Java) objects act as model in OAF. Entity objects, view objects and application module together form the model. And the view interacts with the data through the application module. We will see these in detail when we go through the steps for creating an OAF page.

BC4J OBJECTS
Entity Objects (EO) View Objects (VO) Application Module (AM) DML Validations Defaulting Application Module (AM)

View Side

Be

Database Tables,Views PL/SQL

Fig 5. Model in OA Framework

Controller in OAF
Based on the user action, controller calls the model and view. It is implemented as a simple java class.

TATA CONSULTANCY SERVICES

User takes an action Browser sends request to Controller

Controller

Apply 1. Controller delegates data


processing to Model 2. Determines next page 3. Invokes View to present the next page to user

Metadata Workflow

Model View

Fig 6. Controller in OA Framework Architecture Summary


The development environment includes several components, such as JDeveloper, OA Extension, BC4J, and OA Framework Follows the Model-View-Controller design pattern Business logic/data handling (model) is done using BC4J The UI (view) is done using OA Extension and the Repository with UIX OA Framework (controller) wires the data handling to the UI

Personalization and Extension


There are two types of customizations possible with OAF. 1. Personalization a. Declaratively customize the look-and-feel, layout, etc. of the page b. Oracle provides a Personalization Framework which can be used. 2. Extension a. Extending the functionality of the application like adding new business logic, changing the existing logic, etc. b. Need to use the Oracle 12.1.3 JDeveloper

Personalization
Personalize by clicking a link on the runtime screen, no development tool is needed. When you set certain profile options, you will see a line Personalize Page on top of each page. Using this link you can personalize the page. Personalizations are overlaid on top of base page components. This keeps the base application clean and easy to maintain. So if you wish to remove the personalization you can do it easily. This also helps the personalization survive the upgrades and patches.

TATA CONSULTANCY SERVICES

Personalization Levels
Admin Level Personalization Site, Organization, Responsibility Single view at each level User Level Personalization User Views Several views per User Each level overlay the levels below it, and all overlay the base page's XML metadata in MDS.

Profile Options
There are few profile options which you need to set before performing any personalization. These profile options are also useful while debugging. 1. Personalize Self-Service Defn If set to Yes, you will see the link Personalize Page at the top of each page. This profile option can be set at responsibility and user level as well. So if it is set to Yes for a particular user, then only he would be able to use the personalization feature. 2. Disable Self-Service Personal If this is set to Yes, then all the personalizations made will not be applied (its like custom code off). All the pages will show the original definitions. This is useful when you are debugging the application. 3. FND: Personalization Region Link Enabled a. If set to Yes, it displays the Personalize Region link above each region on the page. b. If set to No, then no link is displayed and the global link needs to be used. c. If set to Minimal, it displays the link but minimizes the no. of links displayed based on some rule. 4. FND: Diagnostics a. This is one of the most important profile options in OA Framework from developers point of view. It is the first step towards resolving any errors. b. If set to Yes, displays a developer friendly error messages whenever there is an error. c. If set to No, then displays very generic error message like: Error occurred. Contact your system administrator.

Functional Administrator Responsibility


This is a very important responsibility. You can use this to manage the personalization, remove them completely, etc. This also provides the ability to import and export the personalization across the instances

Extensibility
This is the mechanism to extend the business rules, add new rules to suit the business needs. Extension is achieved by using BC4J components: Entity Object, View Object, Application Module

TATA CONSULTANCY SERVICES

OA Controllers Application Modules View Objects Entity Objects DB


Fig 7. Onion Ring
OAF Model structure can be compared to the onion ring structure. The inner most layer is the database layer, followed by the Entity Object (EO), View Object (VO), Application Module (AM) and Controller (CO). Each layer only knows about the layers below it. The encapsulation across various layers has to be maintained, i.e. the controller cant access the entity object or view object directly, it has to go through the application module. Also, only entity object can perform database operations like insert update delete. Similarly, one cannot access the application module or controller from EO. The advantage of having this kind of structure is that you can reuse the objects at any of the layer boundaries. Multiple AMs can use the same VOs, the business logic built in the entity object can be used by any View (and not just OA Framework user interface)

Conclusion
Oracle Application Framework (OA Framework) is the Oracle Applications development and deployment platform for HTML-based business applications. It is based on the industry-standard J2EE MVC design pattern. Oracle JDeveloper with OA Extension (OA Extension) is a world class J2EE-based integrated development environment which helps in rapid application development. It provides Durable Personalization and Extension capabilities and also the mechanism for code reusability

TATA CONSULTANCY SERVICES

Вам также может понравиться