Oracle ADF Architecture
Oracle ADF Architecture
Oracle ADF Architecture
Date:
Change Initial document
Sept 15,2011
Date
Sept 5th,2011
Content
Introduction................................................................................................................................................................ 1 What is Oracle ADF...................................................................................................................................................2 Business Services layer, Oracle ADF Business Components.................................................................................3 The Database.....................................................................................................................................................3 Oracle 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.
View layer handles the application user interface Controller Layer handles the application flow, acts as the interfaces between the Model and the View Layers Model layer handles 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 Web Development View Layer JSF Controller Layer JSF Model Layer ADF Bindings Business Services ADF Business Components 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 fast creation 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
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
Relations to other Application Modules An Application Module can be included by other Application Module, reusing the functionality contained.
4/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 masterdetail relationships.
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 Entity object.
5/10
An example of a Query
View Objects can be related to one another like Database table foreign key relations
6/10
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
8/10
9/10
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