Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture
Transcript of Oracle ADF Architecture
-
7/28/2019 Oracle ADF Architecture
1/10
Subject: Oracle ADF architecture Date: Sept 15,2011
Version Control
8Date Author Version Change
Sept 5th,2011 Sanjay Priyadarshi 0.1 Initial document
Content
Introduction................................................................................................................................................................1
What is Oracle ADF...................................................................................................................................................2
Business Services layer, Oracle ADF Business Components.................................................................................3
The Database.....................................................................................................................................................3Oracle Application Development Framework (ADF)........................................................................................4
Oracle ADF Application Modules.....................................................................................................................4
Oracle ADF View Objects.................................................................................................................................5
Oracle ADF Entity Objects................................................................................................................................7
Model layer, Oracle ADF Bindings.......................................................................................................................8
Controller layer, Oracle JSF...................................................................................................................................9
View layer, Oracle JSF........................................................................................................................................10
Introduction
This document describes the architecture of the Oracle Application Development Framework (ADF).
Oracle Application Development Framework (ADF) is used for creating GUI based applications, and is the
basis for Oracle Fusion Applications.
Oracle ADF is very much declarative based. However when extra functionality is needed, just apart from
the declarative based functionality, detailed insight of the framework is needed.
-
7/28/2019 Oracle ADF Architecture
2/10
What is Oracle ADF
Oracle Application Development Framework (ADF) is used for creating GUI based applications, and is the
basis for Oracle Fusion Applications.
ADF is based upon the Model View Controller (MVC) Pattern, which is a Framework commonly used for
Web Developmenthttp://java.sun.com/developer/technicalArticles/J2EE/despat/index.htm
View layerhandles the application user interface
Controller Layerhandles the application flow, acts as the interfaces between the Model and the View
Layers
Model layerhandles interaction with data sources and runs the business logic
The development is based upon a declarative way of working
Less coding for standard work
Standard way of working throughout the project
High productivity
Each layer can be filled in by a set of technologies
Preferred set for
WebDevelopment
View Layer JSF
Controller LayerJSF
Model LayerADF
Bindings
Business Services
ADF BusinessComponents
Source
http://www.oracle.com/technology/products/jdev/collateral/papers/1013/adf_10.1.3_overview.pdf
http://www.oracle.com/technology/products/adf/index.htm
Oracle ADF is completely based upon J2EE and open standards. The Development Environment is all done
in one Integrated Development Environment (IDE) JDeveloper, and is declarative based, a simple
application can be created without coding. As shown above the framework is set up in layers. Each layer
can be set up the way you want it. There is, however, an Oracle preferred set up, based upon JSF and ADF
Business Components. Oracle (Consulting) has created a Model Driven Development Tool on top of
ADF (JHeadstart,http://www.oracle.com/technology/products/jheadstart/index.html), which enables fastcreation of application pages based upon a model set up in ADF Business Components.
ADF simplifies J2EE development, but still it is J2EE development. In order to keep the Developers on the
leash (Java developers tend to like wandering around.), strict rules on how to use ADF need to (and can
be) set up.
2/10
http://java.sun.com/developer/technicalArticles/J2EE/despat/index.htmhttp://www.oracle.com/technology/products/jdev/collateral/papers/1013/adf_10.1.3_overview.pdfhttp://www.oracle.com/technology/products/adf/index.htmhttp://www.oracle.com/technology/products/jheadstart/index.htmlhttp://www.oracle.com/technology/products/jheadstart/index.htmlhttp://java.sun.com/developer/technicalArticles/J2EE/despat/index.htmhttp://www.oracle.com/technology/products/jdev/collateral/papers/1013/adf_10.1.3_overview.pdfhttp://www.oracle.com/technology/products/adf/index.htmhttp://www.oracle.com/technology/products/jheadstart/index.html -
7/28/2019 Oracle ADF Architecture
3/10
Business Services layer, Oracle ADF Business ComponentsThe basis for an Oracle ADF application is the Business Services part. When this part is done, the rest of
the development of the layers above will follow from it.
Preferred implementation of this layer is ADF Business Components (ADF BC).
ADF BC is based upon a multi layered Services Architecture. Later well show how we can map the ADF
BC layers three of our layers (Integration, Business Logic and Data)
First we start we start with a short description of all the components:
The Database
In the database we define the data model in which we store the data. A lot of data object types can be used
nowadays, but the most common are Tables and Views. Tables can be related to one another,
,
For instance a Department has Employees.
Functionality can be related to a table via a Trigger. .
A trigger can initiate functionality after an event, like the creation of a record, has happened.
3/10
-
7/28/2019 Oracle ADF Architecture
4/10
Oracle Application Development Framework (ADF)
The ADF Architecture is based upon the following three layers
Oracle ADF Application Modules
Functionality
Oracle ADF application modules are business components that represent particular application tasks. The
application module provides a data model for the task by aggregating the view object and view link
instances required for the task. On the technical level it takes care of transaction management and
connection pooling.
Level of data handling and type of Business Functionality containedThe level of data handling is based upon a group of Collection (multiple View Objects).
The type of Business functionality exposed is transaction based complex functionality based upon multiple
Database entities.
Based upon
View Objects
Relations to other Application Modules
An Application Module can be included by other Application Module, reusing the functionality contained.
4/10
-
7/28/2019 Oracle ADF Architecture
5/10
Example
Here an example which shows the
Data Model contained by the
Application Module.
A hierarchic structure can be seen,
which shows multi level master-
detail relationships.
Oracle ADF View Objects
Functionality
Oracle ADF View are business components that collect data from the datasource, shape that data for use by
clients, and allow clients to change that data in the Oracle ADF Business Components cache
Level of data handling and type of Business Functionality contained
The level of data handling is based upon Collection level (query result)
The type of Business functionality exposed is query based functionality
Based upon
Entities Objects.
Entity Objects can be reused by other View Objects.
Relations to other View Objects
View Objects can be related to one another like Database table foreign key relations
Example
Here a View
based upon two
Entity Objects.
There is always
one main Entityobject.
Other Entity
objects can be
used as reference.
5/10
-
7/28/2019 Oracle ADF Architecture
6/10
An example of a
Query
View Objects can
be related to one
another like
Database table
foreign key
relations
6/10
-
7/28/2019 Oracle ADF Architecture
7/10
Oracle ADF Entity Objects
Functionality
Oracle ADF Entity Objects are business components that encapsulate the business model, including data,
rules, and persistence behavior, for items that are used in your application.
Level of data handling and type of Business Functionality contained
The level of data handling is based upon Record level of a Table or a View.
The type of Business functionality exposed is transaction based functionality based upon one Entity Object,
and in more detail, on one record.
Relations to other Entity Objects
Entity Objects can be related to one another like Database table foreign key relations
Example
Entity Objects
can be related to
one another like
Database table
foreign key
relations
7/10
-
7/28/2019 Oracle ADF Architecture
8/10
Model layer, Oracle ADF BindingsThe Oracle Application Development Framework (Oracle ADF) enables data binding through the objects
of the Oracle ADF model layer. This layer only contains a set of XML descriptors, called the Data Control.
Every ADF BC Application Module is
exposed as a Data Control. This Data
Control is visible in the View layer in
the Data Control palette.
Here the contents of Application
Module
AppModuleRaadplegenDataControl is
shown.
8/10
-
7/28/2019 Oracle ADF Architecture
9/10
Controller layer, Oracle JSFJava Server Faces (JSF) is a Java framework for building Web applications, and is based upon a
specification by Sun. It is a drag-and-drop technology which simplifies development of pages and page
flow.
For more information see
http://java.sun.com/javaee/javaserverfaces/
http://www.oracle.com/technology/tech/java/newsletter/articles/introjsf/index.html
The preferred implementation of the Oracle ADF Controller layer is JSF.
In a visual editor you can Design the page flow.
9/10
http://java.sun.com/javaee/javaserverfaces/http://www.oracle.com/technology/tech/java/newsletter/articles/introjsf/index.htmlhttp://java.sun.com/javaee/javaserverfaces/http://www.oracle.com/technology/tech/java/newsletter/articles/introjsf/index.html -
7/28/2019 Oracle ADF Architecture
10/10
View layer, Oracle JSFThe preferred implementation of the Oracle ADF View layer is also JSF.
With Drag-and-Drop you can create a page.
With the creation of a JSF page, at the same time a page definition XML file is created, in this file is
defined where all the data comes from, this is done via a reference to the Data Control, and what action
take place on the page.
For more information see http://www.oracle.com/technology/products/jheadstart/index.html
10/10
http://www.oracle.com/technology/products/jheadstart/index.htmlhttp://www.oracle.com/technology/products/jheadstart/index.html