Showing posts with label OAF. Show all posts
Showing posts with label OAF. Show all posts

Sunday, December 29, 2013

OAF OVERVIEW

Introduction to OAF
  • Pre-requisites for learning OAF
  • OAF Architecture
  • JDeveloper tool & Versions
  • Steps to Develop/Customize of OAF pages
Registration OAF pages in Oracle  Applications11i

  • Oracle Applications 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 Oracle9i JDeveloper called Oracle Applications Extension (OA Extension).
  • End User Productivity
  • Enterprise-Grade Performance and Scalability
  • Developer Productivity
  • Application Customizability
  • Open Standards
Pre-requisites for learning OAF

  • You need to have an Oracle Apps 11i or higher environment to play around with.
  • Basic knowledge of java is needed. Rather I would say basic knowledge of OOP [Object Oriented Programming] is needed. I mean just the concepts.
  • Understand MVC concept.

Tuesday, July 24, 2012

OAF OVERVIEW

Introduction to OAF
  • Pre-requisites for learning OAF
  • OAF Architecture
  • JDeveloper tool & Versions
  • Steps to Develop/Customize of OAF pages
Registration OAF pages in Oracle  Applications11i

  • Oracle Applications 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 Oracle9i JDeveloper called Oracle Applications Extension (OA Extension).
  • End User Productivity
  • Enterprise-Grade Performance and Scalability
  • Developer Productivity
  • Application Customizability
  • Open Standards
Pre-requisites for learning OAF

  • You need to have an Oracle Apps 11i or higher environment to play around with.
  • Basic knowledge of java is needed. Rather I would say basic knowledge of OOP [Object Oriented Programming] is needed. I mean just the concepts.
  • Understand MVC concept.
OAF Architecture

  • Model View Controller ( MVC), its over view
  • Overview of Model
  • The Model is where the application implements its business logic
  • The model component is implemented using the BC4J.BC4J Consists of three components
  •          Entity Object and Associations.
  •          View Object and View Link objects.
  •          Application Module.
  • Entity Object and Associations : Entity Objects represents a database row in middle-tire. Database rows are represented as individual entities, in which attributes typically corresponds to columns in the corresponding table to automatically implement queries,inserts,updates and deletes.
  •      Entity objects can also be based on views, synonyms or snapshots.
  •     most  entity objects that you create subclass that:
  •     oracle.apps.fnd.framework.server.OAEntityImpl;
  •    Associations are used to establish the relationship between the entity objects.
  •    When you create an entity object, framework will provide you a java class with the setter and getter methods corresponding to each column of the table to which you are entity object is based on.
View Objects

  •          view object access the result set of a sql statement. It can be either based on the entity object or on plain sql query. All view objects that you create subclass the
  •           Oracle.apps.fnd.framework.server.OAViewObjectImpl.
Application Module

  •     A logical container that manages and provides access to related BC4J model objects. All application modules that you create subclass the       Oracle.apps.fnd.framework.server.OAApplicationModuleImpl
  • The View :
  •     The OA Framework View is implemented using UI XML (UIX). UIX uses XML to describe the components and hierarchy that make up an application page. UIX also provides runtime capabilities to translate that metadata into HTML output so that it can be shown on a Browser or a mobile device.
  •    The metadata used to describe the UI is loaded into a database repository, called Meta Data Services (MDS), at deployment time and optionally at design time as well.
  • The Controller:
  •   The Controller responds to user action and direct aplication flow. It provides the writing between the UIX web bean and the middle-tier.All the controllers that we create subclass the oracle.apps.fnd.framework.webui.OAControllerImpl.
  •     The controller will request from HTTP Get and Http Post.
  • Controller Methods  
  •      Process Request
  •      Process Form Data
  •      Process Form Request
  • Process Request:
  •     This phase is invoked upon a browser ‘Get’ or redirect/forward. This is where custom code can call the application module to intialize and query the data. this phase may optionally construct or modify the web beans to create or alter the page structure and web bean properties.
  • Process Form Data:
  •     This phase is invoked upon a browser ‘post’. During this phase the framework will automatically applies form changes back to the underlying view objects. Rarely custom code required in this phase. if exceptions are thrown during  this phase, the process form request phase is skipped and the page is redisplayed.
  • Process Form Request:
  •      This phase is invoked upon a browser ‘post ‘, assuming no exceptions were thrown during the process form data phase. This is were custom code can handle the submit events call the application module to process the event.
Framework passes two parameters OA PageContext and OAWebBean
Usage of OA PageContext:

  • To get and set values of the fields, using oapagecontext.getparameter and oapagecontext.putparameter.
  • For redirecting to the current page or anotherpage, for example to redirecting to current page itself use oapagecontext.forwardimmediatelyToCurrentpage. Or you may use oapagecontext.sendRedirect.
Usage of OAWebBean:
    Remember that webbean represents the hierarchy/structure of components in the page.Hence using this parameter object, you can get a handle to any bean/component in that page hierarchy.once you have a handle to that bean(say field bean or button bean), you can then invoke methods like set Rendered etc to change the behaviour of page at runtime.some examples are
       1. OA WebBean  LastName=oawebbean.findindexedChildRecursive(“personlastname”);
      2. OAStackLayoutBean oastack=oawebbean.findindexedChildRecursive(“stackRegionName”);




Onion Structure of OAF


BC4J File Structures:

  • AM AND VO -> BC4J
XXAAM.oracle.apps.po.xxname.server

  • Entity Object(EO) -> BC4J
XXAAM.oracle.apps.po.xxname.schema.server

  • LOV ->BC4J
XXAAM.oracle.apps.po.xxname.LOV.server

  • Poplist ->BC4J
XXAAM.oracle.apps.po.xxname.poplist.server

  • Controller & Page
XXAAM.oracle.apps.po.xxname.webui
JDeveloper tool & Versions:

  • Jdeveloper9i is tool to develop OAF pages as well as customizations.
  • p4045639_11i_GENERIC – download this patch from oracle metalink.
  • We have three folders jdevbin,jdevdoc,jdevhome in that patch.
  • Setting up jdeveloper into your workstation.
Development of OAF Pages.
    • Creating Simple Page.
    • Creating Hellow World Page.
    • Some sample example Pages.
    • Search Page     
    • Automatic Search.
    • Manual Search.
    • Creating LOV.
    • Creating Dropdown list.
Create Page

  • How to Use java Based EO.
  • How to Use PL/SQL Based EO.
  • Update Page
  • How to use SPEL.
  • Delete Page
  • How to create Dialog box in OAF.
  • How to call oracle Sql and PL/SQL in OAF
  • Prepare Statement.
  • Callable Statement.
  • Calling Oracle APIS.
Deploying OAF Pages into Application

  • Transferring the related source code/files to the Oracle APPS environment.
  • Importing the new directory structure/path of the page/form in the MDS repository.
  • Registration of the page in the Oracle Apps environment


Wednesday, May 30, 2012

Difference bwtween OAF page generated in local Jdev and OAF page generated in oracle apps server :

Difference between OAF page generated in local Jdev and OAF page generated in oracle apps server :
 When you run OF page in Jdev UIX will generate web.xml.this web.xml will convert into HTML format of OF page When you deploy OF page in server all the page definitions, regions,items will store into MDS tables ,where MDs tables are meta data services 1)JDR_Path 2)JDR_Attributes 3)JDR_transactions

Tuesday, May 29, 2012

Roles and Responsibilities in OAF

\Roles and Responsibilities in OAF:
1) Development of new pages from scrath- Custom page.
2) Customization of existing pages –custom page
.3)Personalization of OAF page- Seeded pages (GUI changes)
4)Extension of OAF pages –Seeded pages
 5) Migration of OAF pages ( Seeded & custom)

. *Custom pages path starts with XXSvt/Oracle & seeded page starts with Oracle/*

Disadvantages of OAF :

Disadvantages of OAF :
 1)drag and drop of items is not there
.2)can be used only in oracle apps
3) cant view the page while design time.

Prerequisites for learning OAF:

Prerequisites for learning OAF:
1) oracle apps 11i installed
2) Oops concept is needed
 3) understanding of MVC Archi

Difference between OAF/ADF

Difference between OAF/ADF:
1) OAF follows MVC architecture & ADF follows MVC & MVC1
 2)OF pages can integrate only with oracle apps where as ADF can integrate with any other ERP’s
 3) takes time to develop pages where as ADF is much faster .
 4)In OF no drag and drop of items but in ADF we can use drag and drop which makes job faster.

Difference between OAF/Oracle Forms.

Difference between OAF/Oracle Forms. :
1) OF follows MVC & client/server architecture where as forms only follows Client /server Architecture
 2) OF pages are light weight components where as forms are not.
3)OF pages followed in I modules and forms are used in normal modules
4) OF pages start with region and items & forms has Block-canvas-window-items
5)OF pages look and feel is good where as forms is not .

Advantages of OAF

Advantages of OAF.
1) OF follows MVC & client/server architecture
2) OF pages are light weight components-so fast loading
3)OF pages has only Region and items , so we can develop pages faster when compared to forms .4)look and feel is good.