THE ORACLE ADF ARCHITECTURE
THE
ORACLE ADF ARCHITECTURE
Oracle ADF is based on the Model-View-Controller
(MVC) design pattern. An MVC application is separated into:
1) A model layer that handles interaction with
data-sources and runs the business logic,
2) A view layer that handles the application
user interface, and
3) A controller that manages the application
flow and acts as the interface between the Model and the View layers.
Separating applications into these three layers
simplifies maintenance and reuse of components across applications. The
independence of each layer from the others results in a loosely coupled,
Oracle ADF Architecture
Oracle
ADF Architecture
Service
Oriented Architecture (SOA).
Oracle ADF implements MVC and further separates
the model layer from the business services to enable service-oriented
development of applications.
The Oracle ADF architecture is based on four
layers:
• The
Business Services layer - provides access to data from various sources and
handles business logic. (EJB, Web Services, ADF BC, .xml Bean definition file)
• The
Model layer - provides an abstraction layer on top of the Business Services
layer, enabling the View and Controller layers to work with different
implementations of Business Services in a consistent way. (.cpx, .dcx, .xml)
• The
Controller layer - provides a mechanism to control the flow of the Web
application.
• The
View layer - provides the user interface of the application. (VO files (__vo.xml),
.java, .jsp, .jspx, .uix)
Oracle ADF lets developers choose the technology
they prefer to use when implementing each of the layers. The diagram above
shows the various options available for developers when building Oracle ADF
applications. The glue that integrates the various components of Java EE
applications and makes development so flexible is the Oracle ADF model layer.
EJB, Web Services, JavaBeans, JPA/EclipseLink/TopLink objects and many others
can all be used as Business Services for the Oracle ADF Model. View layers can
include Web based interfaces implemented with JSF, Desktop Swing applications
and MS Office front ends, as well as interfaces for mobile devices.
The
Business Services Layer
The Business Services layer manages interaction
with a data persistence layer. It provides such services as data persistence,
object/relational mapping, transaction management, and business logic
execution.
The Business Services layer in Oracle ADF can be
implemented in any of the following options: As simple Java classes, EJB, Web
services, JPA objects, and Oracle ADF Business Components (VO, EO & AM). In
addition, data can be consumed directly from files (XML or CSV) as well as
REST.
The
Controller Layer
The controller layer manages the applications
flow and handles user input. For example, when you click a Search button on a
page, the controller determines what action to perform (do a search) and where
to navigate to (the results page).
There are two controller options for web-based
applications in JDeveloper: the standard JSF controller or the ADF Controller
which extends the JSF controller functionality. Whichever controller you use,
you will typically design your application flow by laying out pages and navigation
rules on a diagram.
With the ADF
controller you can break your application's flow into smaller, reusable
task flows; include non-visual components such as method calls and decision
points in your flow; and create "page fragment" flows that run inside
a region of a single containing page. This approach encourages maximum
reusability for user interface fragments and simplified integration into
portals and smashup applications.
The
View Layer
The View layer represents the user interface of
the application.
Oracle ADF support multi-channel access to your
business services allowing you to reuse your business services and access them
from a Web client, a client-server swing desktop based application, Microsoft
Excel spreadsheets, or a mobile devices such as a smart-phone.
For Web based interface Oracle ADF offers a rich
set of over a 150 Ajax enabled JSF components that simplified the creation of
dynamic and appealing user interfaces.
The
Model Layer
The model layer connects the business services
to the objects that use them in the other layers. Oracle ADF provides a model
layer implementation that sits on top of business services, providing a single
interface that can be used to access any type of business service. The model
layer consists of two components, data
controls and data bindings,
which utilize metadata files to define the interface. Data controls abstract
the business service implementation details from clients. Data bindings expose
data control methods and attributes to UI components, providing a clean
separation of the view and model. Due to the metadata architecture of the model
layer, developers get the same development experience when binding any type of
Business Service layer implementation to the View and Controller layers.
The client binding description file (.cpx)
references the binding definitions in the client binding container definition
files (.xml). The .cpx file also contains a reference to the
data control description file (.dcx), which specifies the data control
factory to use for a specific business service.
Oracle ADF Request Life Cycle:
No comments:
Post a Comment