Oracle ADF Architecture

download Oracle ADF Architecture

of 10

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