Friday, November 19, 2010

Introduction on OAF

General Concept on the OA Framework

Oracle Applications Framework (OA Framework) is the Oracle Applications development and deployment platform for HTML-based business applications.

OA Framework is based on the industry-standard J2EE MVC design pattern.

MVC Stands for Model View Controller






Model: - The Model is where the application implements its business logic. All the BC4J components  
                 in OAF comes under Model like AM (Application Module), VO (View Object), EO (Entity
                 Object), VL (View Link) & AO (Association Object).

View: - The View is where the application implements its user interface, View means the UI (user
              Interface) that is visible to users

Controller: -The controller is where the application handles user interaction and direct business flow
                       Controller is a simple java class file that contain method for initial page
                       Request and post back request


 
Onion Architecture :--



Interaction between MODEL ,VIEW and Controller

 




BC4J : Business Components for JavaBC4J is a set of java libraries that consists SQL database concepts like views, tables and transactions into the Java  via View Objects (VOs), Entity Objects (EOs), and Application Modules (AMs).

All BC4J components are found under $JAVA_TOP example

Application Module, View Object, and View Link, PVO found under:-
$JAVA_TOP/oracle/apps/pa/project/server

Controller found under:- $JAVA_TOP/oracle/apps/pa/project/webui

Entity Object, Validation View Object, Validation Application Module found under:-
$JAVA_TOP/oracle/apps/pa/project/scheme/server

Entity Objects (EO):- An Entity Object is a java representation of a table; each column of the table is
                                      mapped to an "Entity Attribute".
                                        When we handle data through a page - INSERT / UPDATE / DELETE - we do this  
                                      by using an Entity Object.
                                        EO- oracle.apps.<appShortName>.<yourname>.schema.server
                                     oracle.apps.ak.amit.schema.server         
                                     Naming Convention: Should be ended with EO
View Objects (VO):-   In a simple term, a BC4J objects encapsulate a database query and provide access
                                      to view rows in its result set
        VO-- oracle.apps.<appShortName>.<yourname>.<ModuleName>.server
         Naming Convention: Should be ended with VO
Application Module (AM):- A application module is a container for related BC4J components. AM is
                                              connected to Database and is responsible for commit and Rollback
                                              Transactions
                                      AM:-  oracle.apps.<appShortName>.<yourname>.<ModuleName>.server
         Naming Convention: Should be ended with AM
Association Object - BC4J association objects implement the relationships between entity objects. For
      Example, a purchase order header can reference a supplier, or it can own its order    
      Lines. AO-  oracle.apps.<appShortName>.<yourname>.schema.server
                     Naming Convention: Should be ended with AO
Controller (CO):-    The controller is the java code in charge of loading a page when we call it. It is also in
                                 charge of handling an event on a page, like a click on a button, or the call of a List Of  
                                 Values. It has three Methods
1.     ProcessRequest
2.     ProcessFormData
3.     ProcessFormRequest
                                  CO oracle.apps.<appShortName>.<yourname>.<ModuleName>.webui                         
                                  Naming Convention: Should be ended with CO
Validation View Object(VVO) - A view object created exclusively for the purpose of performing light-
weight SQL validation on behalf of entity objects or their experts.
          
Naming Convention: Should be ended with VVO
Validation Application Module(VAM) - An application module created exclusively for the purpose of
                                                                     grouping and providing transaction context to related validation
                                                                     view objects. Typically, a standalone entity object or the top-
                                                                     level entity object in a composition would have an associated
             validation application module.
                       
Naming Convention: Should be ended with VAM

Property View Object(PVO):To Enable PPR (Partial Page Rendering in your application, you should
                                                  include PVO including transient attribute for tracking the state of the
      Property.This View Objects ultimately include only a single row which you            
      Will  initialize and update as user interact with the page
       IMP:Should be create in the same package as your page’s AM.you
       should have only one PVO per application but it can include multiple
       attributes
Root Application Module (RM)- Each pageLayout region in an OA Framework application is associated
                                                        with a "root" application module which groups related services and
                                                        establishes the transaction context.

This transaction context can be shared by multiple pages if they all reference the same root application module, and instruct the framework to retain this application module (not return it to the pool) when navigating from page to page within the transaction task.
View Link(VL)
- Establishes a master/detail relationship between two view objectsEntity Expert (EE)- A special singleton class registered with an entity object (EO) that performs
                                   operations on behalf of the EO.Attribute Set - Bundles of region or item properties that can be reused either as is or with modifications. For example, all buttons sharing the same attribute set would have the same label and Alt text

MDS - The declarative metadata repository used with 11.5.10+ OA Framework applications. This replaced
            the older AK Repository.Page- The first component is the page; a page is a set of regions (header, footer, table…), and each region
           contain items (field, button, checkbox...), or other regions.Pages are XML files found under
           $APPL_TOP/MDS folder example:-$appl_top/pa/11.5.0/mds/project/webui/MyProjectsPG.xml
            Naming Convention: Should be ended with PG


Important Profiles in OAF

FND_Diagnostics:  Setting   this Profile option to Yes will enable the Diagnostics global button to be
                                rendered on the screen.Pressing this button will enable the user for the logged message

Personalization Level:-  Personalization can be enabled at site ,function, responsibility and user
             level(Top).Personalization at lower level override at personalization at higher
              level


1) FND: Personalization Region Link Enabled :
 Valid values:  Yes - renders the "Personalize  Region" links above each  region in a page. Each link  takes you first to           
the Choose Personalization Context page, then to the Page Hierarchy Personalization page with focus on the region  
node from which  you selected the "Personalize  Region" link.
2)
Personalize Self-Service DefnSet this profile to Yes to allow personalizations.


3)Disable Self-Service Personalization - Yes will disable all personalizations at any level.


4)FND: Personalization Document Root Path (new in 11.5.10) - Set this profile option to a tmp directory
with open (777)  permissions for migrating personalization’s between instances

No comments:

Post a Comment