The ADF Architecture


The Oracle Application Development Framework (ADF) is an end-to-end application framework that builds on Java Platform, Enterprise Edition (Java EE) standards and open-source technologies. It abstracts Java EE complexity and provides developers a declarative and visual development.

The Oracle ADF implements the Model-View-Controller (MVC) design pattern and offers an integrated solution that covers all the layers of this architecture with solution to such areas as: Object/Relational mapping, data persistence, reusable controller layer, rich Web user interface framework, data binding to UI, security and customization. Extending beyond the core Web based MVC approach, ADF also integrates with the Oracle SOA and WebCenter Portal frameworks simplifying the creation of complete composite applications.

The Oracle ADF architecture is based on four layers:

The Business Services layer:

  • It simply provides the access to data from various sources and handles the core business logic.
  • ADF has its own technology for this layer and we call this part as ADFbc (ADF Business Components). ADFbc facilitates backend service for query, create, update, delete operations and provide lot of features to implement validations and business logic.
  • This layer also can be implemented by
    • Simple Java Classes
    • EJB
    • Web Services
    • BAM
    • BPEL
    • Portlets etc.

The Model layer:

  • This 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 services listed above.
  • It consists of two components, data controls and data bindings.
    • 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.

The Controller layer:

  • This layer provides a mechanism to control the flow of the Web application 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).
  • We have two controller options in JDeveloper.ADF Controller provides an enhanced navigation and state management model on top of JSF.
    • The standard JSF controller
    • The ADF Controller
  • JDeveloper allows you to declaratively create task flows where you can pass the application control between different types of activities, such as pages, methods on managed beans, case statements, or calls to other task flows.

 The View layer:

  • The view layer is the top most layer, that user sees and interacts with.
  • It contains the UI pages used to view or modify that data.
  • 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.
  • It also supports Apache myfaces Trinidad components, Java and ADF Swing components and also has ADF Mobile components that are specifically built for Mobile applications.


Advertisements

Install Oracle JDeveloper Studio 11.1.2.1.0 for ADF Development


Here are the steps to install the new Oracle JDeveloper Studio 11.1.2.1.0 version to design and develop ADF web application development.  I have put the installation steps only for Windows Os.

Recommended CPU, Memory, Display, and Hard Drive Requirements

  • Operating System: Windows 7, Windows XP – Service Pack 3
  • CPU Type and Speed: Pentium IV 2 GHz or faster
  • Memory: For 32-bit systems: 2 GB RAM, For 64-bit systems: 3 GB RAM
  • Hard Drive Space: 3GB

Steps:

1] Update your JDK

This version of JDeveloper requires JDK 6.0 or later. You can download and install it manually from the below link. However JDK 6 Update 24 is installed automatically when you use the platform-specific installer.

Java SE 6 Microsoft Windows Installation

2] Download the Windows Installer (jdevstudio11121install.exe)

You can download Oracle Installer from the Oracle Technology Network (OTN) web site

Oracle Installer can be used to install Oracle JDeveloper Studio 11.1.2.1.0, the ADF Runtime, and Oracle WebLogic Server 11g Release 1 (10.3.5) on your system.

3] Launch the Windows installer

To launch the Windows installer, double-click the jdevstudio11121install.exe file. Click Next to begin the installation process.

4] Choose Middleware Home Directory

You can create a new Middleware Home directory, or select one from a list of existing Middleware Home directories. If you choose a directory that already has Oracle JDeveloper and Oracle WebLogic Server components installed on it, you are taken directly to the Choose Products and Components screen to select additional components to install.

If you choose to create a new Middleware Home directory, the default provided is C:\Oracle\Middleware.

5] Choose Install Type

Select either Complete or Custom depending on the type of installation you want to perform. Selecting Complete will install Oracle JDeveloper Studio, Application Development Framework Runtime, and Oracle WebLogic Server on your system.

6] Confirm Product Installation Directories

View the directories that the components will be installed in. To make changes, click Back and navigate to the desired screen, or click Next to continue with the installation.

7] Choose Shortcut Location

Select the Start Menu folder where you want to place your shortcuts. You can select one of the following options:

  • “All Users” Start Menu folder-Select this option to provide all users registered on this machine with access to installed software. Only users with Administrator privileges can create shortcuts in the All Users folder.
  • Local user’s Start Menu folder-Select this option to ensure that other users registered on this machine will not have access to the Start menu entries for this installation.

8] Installation Summary

It displays the components that will be installed and total disk space that will be utilized.

9] Installation status

It displays the progress of the installation.

10] Installation Complete

Select Run Quickstart to open the Quickstart window once the installation process has ended. Click Done to end the installation process.

To start Oracle JDeveloper Studio on Windows, use any of the following methods:

  • From your Start Menu, select All Programs, then select Oracle Fusion Middleware 11.1.2.1.0, and then select JDeveloper Studio 11.1.2.1.0.
  • You can also start JDeveloper from the command line by running one of the following commands:
    • MW_HOME\jdeveloper\jdeveloper.exe
    • MW_HOME\jdeveloper\jdev\bin\jdevw.exe
    • MW_HOME\jdeveloper\jdev\bin\jdev.exe (to display a console window for internal diagnostic information)

 

For Detailed Information:

Refer : Installation Guide for Oracle Jdeveloper 11g Release 2 (11.1.2.1.0)

Have a great ADF Learning!

OAF vs ADF 10g


With the emergence of next generation Fusion technology middleware stack there is confusion between the technologies OA framework and ADF among Oracle developers especially for the people who are developing extensions for Oracle Applications 11i/R12. Both are Oracle technologies for developing web based User Interface with Jdeveloper. Here is a detailed overview of OA framework and ADF.

OA Framework:

OAF (Oracle Applications Framework) is used to create the web based Oracle Application extensions and it is the default web technology for 11i and R12 development. It is closely integrated with Oracle Apps hence it is meaningless outside apps context. OAF is a model-view-controller technology stack which comprised of OA framework View (regions and pages) and BC4j respectively as view and model layers.

OAF and Oracle Applications 11i/R12

  • OAF includes AOL which provides e-business functionality like functions, menus, responsibility, functional security, data security, messages, profiles, flexfields, and concurrent programs.
  • List of Values – validation, auto complete, auto clear is available in OAF.
  • Transactional Search – Query Bean is available in OAF.
  • Data export, Configurable pages and Rich text editor is available in OAF.
  • OAF supports translatable table (TL tables).
  • Who columns like created by, modified by, creation date, modified date are supported in OAF.
  • Since OAF is tightly integrated with E-Business session management is done automatically.
  • Menu that appears at the top of the page is integrated with AOL menus. Hence the menus can be configured dynamically by manipulating AOL menus and no coding is required.
  • Functional security is available in OAF which allows you to configure the responsibility dynamically for the user.
  • User authentication is done from SSO. So no need to configure or write any code.
  • Data security is available.
  • Secured against cross site scripting attack.
  • OAF page access can be tracked.
  • Standards and guidelines are available for developing extensions in OAF which is the most important thing.
  • Reusable regions are available in OAF.
  • UI cannot be migrated to ADF 11g (may be in the future Oracle will come up with migration utility for UI but even then only declarative pages would be migrated and the UI pages should have followed the coding standards strictly).
  • BC4J can be migrated with minimal code change.
  • Controller cannot be migrated hence you have to rewrite all the logics in the controller if you want to migrate it to ADF 11g.

ADF 10g

ADF 10g (Application Development Framework) is the core technology for Fusion Applications and uses lot of open standards and technologies. ADF can also be used for common J2EE applications because ADF technology stack allows you choose between various options. ADF is primarily comprised of ADF Faces, ADF model and ADFbc (which is previously known as bc4j in OAF)

ADF 10g and Oracle Applications 11i/R12

  • ADF 10g does not include any support for AOL
  • List of Values and its associated features like validation, auto complete and clear does not exists in ADF.
  • No Transactional search, Data Export, Configurable pages or Rich text editor.
  • No support of Translatable Table and who columns.
  • No support for E-business suite session management.
  • No support for integration with Oracle Workflow.
  • E-business security features are totally unavailable in ADF 10g. (security features include Data security, functionally security, SSO etc)
  • Page access cannot be tracked in ADF 10g.
  • No support of for menus in ADF.
  • Reusable regions cannot be created in ADF 10g.
  • ADF 10g can be easily migrated to ADF 11g.
  • And most of all you cannot extend or personalize the existing page with the help of ADF.

And the advantage of ADF 10g over OA framework is that your investments would be protected when you want to migrate to ADF 11g.

ADF has many advantages starting from the underlying architecture, the level of support for Web Services and SOA development and going all the way to the actual development experience of UIs using visual editor and drag and drop binding. 

Conclusion

Consider following points when choosing technology.

  • If you want to build few pages with close integration of e-business suite then opt for OA framework. Remember if you want to migrate your code to ADF 11g in the future, you have to follow the coding standards strictly and code all the business logic in bc4j rather than handling the logic in controller.
  • If you don’t want a close integration e-business suite or your building entirely new application then go for ADF 10g. 
Reference: prasanna-adf.blogspot.com