OAF Basics: End User Productivity
OAF Basics: End User Productivity
OAF Basics: End User Productivity
1. Introduction to OAF
Oracle Application Framework (OA Framework) is the Oracle Applications
development and deployment platform for HTML-based business applications.
OA Framework consists of a set of middle-tier runtime services and a design-
time extension to Oracle JDeveloper called Oracle Applications Extension (OA
Extension). OA Frame work provides a JAVA framework to build an enterprise
application.OA Framework has emerged as an integrated platform for
developing and deploying Oracle E-Business Suite HTML-based applications,
leveraging technological advances without taking on associated complexity.
2. WHY OAF
1. End User Productivity :The shift from client-server to multi-tier
deployments comes with many cost savings, but not without compromise. HTML-
based applications started out very much like old mainframe terminals; actions on
the client side resulted in a round trip to the middle tier. Over time, user interface
interactivity improved. OA Framework has always kept user interface interactivity a
top priority with features such as partial page rendering (PPR), hot keys, smart
choice lists and auto-completion of fields with lists of values. In addition, Oracle
focuses a wealth of resources and expertise on user behavior and psychology, to
develop a set of user interface layout and interaction standards, commonly known
as the BLAF (Browser-Look-And-Feel) guidelines. BLAF is the default look and feel
that all OA Framework applications assume, but can be personalized in many ways
to meet customer branding and style requirements. OA Framework's
implementation of BLAF standards yields a consistent user experience and further
enhances user productivity.
3. OA FRAMEWORKARCHITECTURE
OA Framework is based on the industry-standard J2EE MVC design pattern.
The M(Model)V (View)C (Controller) architecture is a component-based design
pattern with clean interfaces between the Model, View, and Controller. The
Model is where the application implements its business logic. The View is
where the application implements its user interface and the Controller is
where the application handles user interaction and directs business flow.
Below figure describes the MVC architecture
OA Framework View is implemented using UI XML (UIX). UIX uses XML to describe
the components and hierarchy that make up an application page. UIX also provides
runtime capabilities to translate that metadata into HTML output so that it can be
shown on a Browser or a mobile device. The metadata ( Metadata describes
other data. It provides information about a certain item's content.
For example, an image may include metadata that describes how
large the picture is, the color depth, the image resolution, when the
image was created) used to describe the UI is loaded into a database
repository, called Meta Data Services (MDS), at deployment time and optionally at
design time as well.
The OA Controller, which is a pure Java class implementation, handles user and
application-driven interactions. Simple page flows (such as a 2-step transaction) are
implemented directly into the Controller object; others are implemented using
Oracle Workflow. In a future release, business flows will be implemented in a
declarative manner similar to that used to define model and view objects.
7. Built-in Security
8. Deployment Environment
Entity Objects:an entity object implements the business rules for a given table,
view, or snapshot. Entity objects are intended to be used in many clients
(not just an OA Framework UI), and as such, should consolidate all of the
relevant validation/behavior for the table. Each table should have at most
one entity object. Entity objects should include attributes for all columns in
its table.
Composition - A strong association where the source entity object owns the
destination entity object. In other words, the destination cannot exist independent
of its source. For example, a purchase order header is comprised of purchase order
lines, which have no meaning or life span outside the context of their header.
<YourName>VO.xml
<YourName>VOImpl.java (optional)
<YourName>ViewRowImpl.java (required)
Although view links can be very convenient, use them sparingly in the web
applications pages because they cache both the master and detail records as
the user navigates from one master row to the next -- and this can be
expensive. Use view links only in the following cases:
When you have updateable master/detail view objects (on the same or
different pages) whose underlying entity objects are related using
composition, you must define a view link between them (we discuss this
further in Chapter 5).
When you have a read-only master and detail view object on the same page,
and navigating to a master row should cause the children to query
automatically.
UI Root Application Module - Establishes the transaction context for one or several related
UI pages. Every page has a root application module which includes any view objects and
nested application modules used by the page.
UI Shared Region Application Module - Any UI region with created for use in
multiple pages should have its own containing application module. When this
region is used in a page, OA Framework automatically nests its application
module beneath the page's root application module
UI List of Values Application Module - This is a special case of the previous role.
When List of Values (LOV) view objects is created, these components can be
added to an application module dedicated to the job of aggregating LOVs for
a given package.
The View component in MVC architecture describes the User interface for
examples the page layout, regions etc. The view formats and presents model
data to the user. Pages comprises of regions and items. Items are simple
widgets like buttons, fields, images and so on which contain no children.
Regions are container objects that can hold items and other regions.
Examples of regions include headers, tables, and special layout components.
Each region and item that you define has a style property that tells the OA
Framework what web bean object to instantiate for it at runtime (and this in
turn dictates what HTML is generated for the bean). For example, if you
define a region whose style property is "table," the OA Framework will
instantiate an oracle.apps.fnd.framework.webui.beans.table.OATableBean.
All pages must have a single top-level region (often called the "root region")
whose style is pageLayout.This is instantiated as an
oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.
The sequence in which regions and items appear in JDeveloper page tree
(and the corresponding XMLfile) tells the Framework where to add these
objects to the runtime bean hierarchy.
3.1.3 CONTROLLER
The controller responds to user actions and directs application flow. Controllers can
be associated with the view at the region level (in more general terms, any OA
Framework web beans that implement the
oracle.apps.fnd.framework.webui.beans.OAWebBean Container interface can
have
associated controllers).The controller class is where you define how the web beans
Declaratively) and Intercept and handle user events like button presses. The
Controller has three methods
o ProcessRequest()
o ProcessForm Request()