OA
Framework Introduction
OA
Framework is based on the industry-standard J2EE MVC design pattern.
The MVC
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.
----------------------------------------------------------------
| HTML Page |
----------------------------------------------------------------
| |
| |
HTML request HTML request
| |
View <----Controlled by ---------Controller
| |
| |
------------------------------------------------------------------------
| Model |
------------------------------------------------------------------------
OA
Extension offers the following design time tools:
UML tools to model and generate business
logic.
Guided user interface (and visual editors in
a future release) to lay out client user interfaces.
Code generation for Controller classes.
The OA
Framework Model is implemented using Oracle Business Components for Java
(BC4J). BC4J
provides
optimized, ready-to-use implementations of the J2EE design patterns that
developers otherwise
would have
to code, debug, and test by hand. By leveraging BC4J's combination of tested
code and
productivity
tools inside the Oracle JDeveloper IDE, development teams can focus immediately
and only, on
writing
business logic and user interfaces instead of on designing, coding, and
debugging handcrafted
application
"plumbing" code.
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
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
18
in a
declarative manner similar to that used to define model and view objects.
Key
Features
This
section the following key features of OA Framework:
Integrated development
environment
Durable personalizations
and extensions
Consistent and compelling
user interface
User interface
interactivity
Object oriented reuse
Oracle portal
interoperability
Built-in security
Deployment environment
Integrated
Development Environment
Oracle
JDeveloper with OA Extension (OA Extension) is a world-class J2EE-based
integrated development
environment.
OA
Extension provides features such as easy-to-use wizards, a hierarchy navigator,
and a
property
sheet. These features enable developers to populate the metadata for
declarative application
business
logic and user interfaces
Durable
Personalizations and Extensions
Personalization is about declaratively
tailoring the UI look-and-feel, layout or visibility of page content to suit a
business need or a user preference. Examples
of personalization include:
Tailoring the color scheme of the UI.
Tailoring the order in which table columns
are displayed.
Tailoring a query result
Extensibility is about extending the
functionality of an application beyond what can be done through
personalization. Examples of extensibility
include:
Adding new functional flows.
Extending or overriding existing functional
flows.
Extending or overriding existing business
logic.
User Interface
Interactivity
OA Framework is always
exploring the technology frontiers to enrich the interactivity of HTML-based
user
interfaces. Along those
lines, OA Framework provides several features:
Partial Page Rendering (PPR)
PPR is a means by which designated parts of a
page, rather than the whole page, is refreshed when the user
performs certain actions. OA Framework
supports PPR on actions such as: table record-set navigation, table
sorting, table column totaling, adding a row
to a table, row-level and cell-level detail disclosure, toggling the
visibility of a Hide/Show component,
populating a LOV, subtab navigation, Gantt chart refreshing and
descriptive Flexfields context switching.
Moreover, developers can declaratively enable PPR events on several
components. For example, a developer can:
Configure the selection of a poplist to cause
related fields to render, be updatable, be required or be
disabled based on the selected value.
Configure the value change of a text field to
set related field values (for example, if you set a Supplier
value and tab to the next field, the
dependent Supplier Site defaults automatically).
Configure the selection of a master table's
record to automatically query and display related rows in a
detail table.
Accelerator (Hot) Keys
OA Framework supports mnemonic accelerator
keys for selected buttons and enables developers to assign
numeric access keys to product specific user
actions.
Enhanced Save Model
OA Framework provides a default
implementation to warn users when they are about to lose changes such as
when they click on a link that takes them
outside the context of the current transaction. Developers can
override the default behavior on a
component-by-component basis.
Smart Poplist
OA Framework supports a personalizable hybrid
between a static poplist and a searchable list of values. The
poplist includes the most popular values a
user uses to populate a particular attribute. The user can
personalize the values that show up in the
poplist by picking new values from a list of values. Moreover, the
user can personalize the order in which values
are listed in the poplist as well as remove less popular values.
This feature is also referred to as a LOV
Choicelist.
LOV Auto Completion
Lists of values (LOVs) are used when the list
of possible values is long and the user may want to conduct a
search before picking a value. In some
business scenarios, especially with clerical jobs, the user uses a small
set of values or may find it faster to type a
partial value. If the user enters a partial value in a field that is
associated with an LOV, OA Framework conducts
a search before bringing up the LOV window. If the search
leads to a unique record, OA Framework
completes the rest of value for the unique record and saves the user
from having to use the LOV window.
Object Oriented Reuse
OA Framework applications
can be abstracted into a series of concentric layers, like an onion. The core
layer
20
represents the database and
the surface layer represents the application pages. In between is a number of
business logic and user
interface layers. This layering allows for generic code and components to be
implemented at the inner
layers to maximize their reuse across the outer layers. For example, attribute
validation is implemented
at the Entity Object (a BC4J object-oriented representation of a database table
in the
middle tier) level. All
application pages that provide the user with the ability to populate or update
the value of
the subject attribute would
receive attribute validation for free through the underlying entity object. On
the userinterface
side, reusable components
can be saved as shared regions in the metadata services (MDS)
repository and reused
across several pages. An administrator can choose to personalize the shared
region
such that the
personalization impacts all instances of the same region across pages or
personalize the shared
region only in the context
of the current page.
OA Controller
Application Module
View Object
Entity Object
DB
----Data flow down stack (push)--->
<---Data Flow up stack(pull)---------
Summary
---------------------
OA Controller
Application Module
View Object
Entity Object
DB
----Data flow down stack (push)--->
<---Data Flow up stack(pull)---------
Oracle Portal
Interoperability
OA Framework offers developers
a simple approach to publishing OA Framework components (commonly
known as regions) as Oracle
Portal-compatible portlets. Oracle Portal provides you with a common,
integrated
starting point for
accessing all your data. Since Oracle Portal lets you personalize the content
and look of your
page, you can also
personalize the application region that is displayed as a portlet. Any
personalizations you
make to that portlet region
appear only when you display that region from the same portlet. Built-in Security
HTML-based applications offer great user and administrator convenience, but special care must be taken to
ensure that these applications are secure. Developing HTML applications that are truly unbreakable is very
difficult, historically requiring application developers to also be security experts. In fact, most application
developers are not security experts, and they should not need to be. It is the responsibility of the application
framework to ensure that HTML transactions are authorized, private, and free from tampering. OA Framework
provides built in protection against known HTML hacking strategies, leaving the application developer free to
concentrate on application functionality. Also, since UI components are defined in metadata rather than in
code, the security protection offered by OA Framework can be advanced to keep up with the state of the art,
without requiring applications to be rewritten.
Deployment Environment
OA Framework applications
are deployed using standard Oracle 10g AS / Apache and Oracle10g Database
servers. Application pages
can be rendered on Internet Explorer 5.0 or above, Netscape 4.73 or above and
Mozilla 1.5 or above. The
data and middle tiers can be deployed on several platforms including Linux,
UNIX
and Windows.
Summary
---------------------
Based on the Model-View-Controller (MVC)
architecture, OA Framework lets application developers focus on
the business requirements rather than on the
underlying technologies. By using declarative and guided-coding
(and soon visual) techniques, OA Framework
allows application developers who are not necessarily J2EE
experts to quickly become productive. OA
Framework-based applications offer a highly consistent user
experience with the highest levels of user
interactivity without a client footprint. Applications are optimized for
sub-second response to most user interactions
and competitive scalability trends. OA Framework exploits its
declarative and object-oriented architecture
to offer the most durable personalization and extensibility
capabilities on the market, at a fraction of
the cost. OA Framework features translate to lower costs of
ownership, better user experience and
competitive deployments.
No comments:
Post a Comment