Sunteți pe pagina 1din 10

Subject: Version Control

Oracle ADF architecture


Author Sanjay Priyadarshi Version 0.1

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.

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 Development
http://java.sun.com/developer/technicalArticles/J2EE/despat/index.htm

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

Business Services layer, Oracle ADF Business Components


The 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

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 contained The 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

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.

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 Entity object.

Other Entity objects can be used as reference.

5/10

An example of a Query

View Objects can be related to one another like Database table foreign key relations

6/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

Model layer, Oracle ADF Bindings


The 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

Controller layer, Oracle JSF


Java 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

View layer, Oracle JSF


The 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

S-ar putea să vă placă și