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, 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.
Please provide your comments below the blog.
No comments:
Post a Comment