:::: MENU ::::

Introduction to OAF

Oracle Application Framework (OA Framework) is the Oracle Applications development and deployment platform for HTML-based business applications. OA Framework consists of a set of middle-tier runtime services and a design-time extension to Oracle JDeveloper called Oracle Applications Extension (OA Extension).

During the first few years after the Internet evolution, the software industry witnessed an influx of rapidly changing technologies. These technologies matured, yet there are still a myriad of low-level and complex technologies that are hard to learn and implement. Under these circumstances, OA Framework has emerged as an integrated platform for developing and deploying Oracle E-Business Suite HTML-based applications, leveraging technological advances without taking on associated complexity. Since its inception, OA Framework embraces the following principles:

  • End User Productivity: The shift from client-server to multi-tier deployments comes with many cost savings, but not without compromise. HTML-based applications started out very much like old mainframe terminals; actions on the client side resulted in a round trip to the middle tier. Over time, user interface interactivity improved. OA Framework has always kept user interface interactivity a top priority with features such as partial page rendering (PPR), hot keys, smart choice lists and auto-completion of fields with lists of values.
  • Enterprise-Grade Performance and Scalability: OA Framework has aggressive performance and scalability targets. Most Oracle E-Business Suite application pages have sub-second response times to most user interactions. It takes a bit longer the first time a page is accessed within the same Java Virtual Machine, but thereafter, most of the commonly needed information (such as user information) is cached in the middle tier, allowing faster response. Resources are conserved through a number of resource pooling mechanisms and the swapping of idle resource data between memory and database.
  • Developer Productivity:  OA Framework is designed around the simple Model-View-Controller (MVC) architecture. To shield application developers from costs associated with the rapidly changing technological landscape, Oracle has adopted a declarative flavor of the MVC architecture. Key building blocks of an application are defined in a descriptive manner using a simple JDeveloper user interface and then saved in an
    industry standard XML format. With OA Framework Release 11.5.10, Oracle is extending access and benefits of the OA Framework development environment to all Oracle E-Business Suite customers and partners. Customers and partners can leverage the proven OA Framework technology to add extensions to their Oracle E-Business Suite applications.
  • Application Customizability: Oracle is able to exploit its twenty plus years of experience in building and deploying business applications, to architect OA Framework with durable and economical customizations. Oracle has kept that goal in focus and produced a very compelling solution with plenty of flexibility to tailor the
    user interface (look-and-feel) and business logic. Thanks to the declarative and object oriented nature
    of OA Framework, application personalization and extensibility is readily available at a fraction of the
    industry startup cost and at a very minimal maintenance cost, if any.
  • Open Standards: Oracle continues to be a champion of industry standards and an active participant in the development 16 of several emerging standards. OA Framework technologies has driven several industry standards and has adopted several others as they were published. Several Oracle technology architects are
    active members on a number of standards drafting committees. OA Framework is J2EE based and features several industry standards such as XML, HTML, Java, JSP, SQL and Web Services.


Oracle ADF Business Components

  1. Oracle ADF Business Components: declaratively-configured, reusable components for working with relational databases.
    • Five types of components:
      1. Entity Object – Java class that represents a DB Table.
      2. Entity Association – It represents a relation between DB tables. Normally there are one association for every foreign key relationship between tables in your DB.
      3. View Object – It represents the datasets you need for a specific purpose. You can think of it as a representation of a SQL Select statement you would write to get the data you need. Just like a SELECT statement can join data from multiple tables, a view object can join data from multiple entity objects. (It can be updatable). It can have View Criteria that represent various filters on the data in the VO (View Objects).
      4. View Link – It represents master-detail relationships between VO (View Objects). VL will typically be based on entity associations (again based on FK [foreign keys in the DB]), but you can create any view link  you like to link two VO. When VO are connected with a VL, the ADF will automatically handle the master-details coordination. When you change to another master record, the detail view object will automatically be refreshed with details for the new master.
      5. Application Module – It is a business service that coordinates a number of VO instances. It is exposed to the UI as a Data Control. The AM (application module) handles the DB transactions and offers methods to commit and rollback changes into the DB across VO.


Desperate ADF

Oracle ADF, the free version, called ADF Essentials, includes:

  1. Oracle ADF Faces: A set of more than 150 web user interface (UI) components based on JavaServer Faces (JSF).
  2. Oracle ADF Controller: An extension of the JSF controller layer that helps build reusable process flows, and includes capabilities to create dynamic regions with changing content in web pages.
  3. Oracle ADF Binding: An XML-based, meta-data abstraction layer for connecting UI components to business services.
  4. Oracle ADF Business Components: declaratively-configured, reusable components for working with relational databases.