Saturday, 20 April 2013

1. Oracle ADF (Application Development Framework)

Oracle ADF is a framework Oracle has developed for the ease of use for java developers with focus on providing declarative approach while building JEE applications. ADF is also used at oracle for building fusion applications (CRM, HCM etc). Nice thing about Oracle ADF is that, not only people from Oracle but anyone can use it for their own application development.

Goal of Oracle ADF is to provide a framework with various user interfaces accessing various sources of data and business services in any organization.

Oracle Fusion Architecture

Firstly, on top of a database, various business services are built. Business services then interact with database for managing the flow of information. These business services then can be used by multiple user interfaces. Again, the good thing here is that we are building business services once and using those for multiple UIs using data binding.
Also various SOA services (such as BAM, workflow services) can be accessed by UIs developed using Oracle ADF.

Oracle ADF is based on MVC architecture which allows better reusability and flexibility.

  • In view part, we can use ADF swing for desktop applications. For browser based applications, we can use JSF or ADF faces or even simple JSP as well.
  • For web based application, we need a controller. So we can use structs for jsp and we can use JSF controller or extension to that called ADF controller.
  • As business service, we can use simple java classes, EJB, web services, ADFbc as sources of information for our application. Then there is a unified binding layer (model) that allow each one of those services to be exposed to the UIs in consistent manner.

We will be using below things while developing ADF application:

ADF faces - there are over 150 components which are ajax enabled, having pluggable look and feel drag and drop functionality.

ADF BC - It is a framework developed for developers who are more familiar with declarative tools and from SQL and relational DB sides.

ADF binding or model layer - It connect business services and User Interfaces. It is based on JSR227 and abstracts the implementation of business services for UI developers. So, whatever be the service, UI developer will be able to see all in same way and can simply drag and drop when building UI for application.

ADF controller - This allows better separation between model and view and extends JSF implementation of controller layer. JSF controller allows us to navigate between pages, ADF controller allows to navigate between pages and functions as well. Even we can create reusable flows so that they can be used in other pages as well.


  1. Thanks for this valuble information and itis useful for us .Biginfosys also provides the best Oracle ADF online training classes in India.