Best practice - Implementation of OA Framework Technology

articles: 

This post is to discuss about the Best Practices that was followed in implementing a new Self Service Applications using OA Framework.

A College needed a web based enrollment system for its students to enroll online without needing to fill up a paper. This was designed for a new i-module for Student Enrolment was developed in OA Framework, using jDeveloper,Rapid Application Development Environment. The benefits of the RAD environment and OA Framework Technology was well utilized to meet the deadlines.

The main challenges faced by the project were , I identification of a roadmap to transform existing system and there was no proper oracle documentation on how to develop a transaction page in OA Framework.

Model View Controller Architecture - The model-view-controller is an Architectural pattern, which decouples the data access and business logic from data presentation and user interaction, by introducing an intermediate component the controller. This architecture is used in complex applications which presents lots of data to user. OA Framework is an integrated platform for developing and deploying Oracle E-Business Suite HTML-based applications. OA Framework is based on the industry-standard J2EE MVC design pattern.

JDeveloper with OA Extension is a world class J2EE-based integrated development environment. Personalization and Extensibility are availed through OA Extension.

Compatibility Check:-
Before starting an OA Framework Development in JDeveloper find out the framework version of the Oracle Application installation. The Jdeveloper version and the OA framework version must be compatible with each other.

OA Framework version Jdeveloper version
11.5.10 CU1 JDeveloper from Patch 4141787
11.5.10 CU2 JDeveloper from Patch 4573517
11.5.10 ATG RUP 3 JDeveloper from Patch 4725670
11.5.10 ATG RUP 4 JDeveloper from Patch 5455514

The current version of OA Framework installation can be found at http://host:port/OA_HTML/OAInfo.jsp

Advantage of OAF over other standalone technology.
•Maintenance is easy as the OA Framework components
•Minimizes the coding effort.
•Oracle’s security would manage authentication, authorization, and encryption policies

Steps before Starting development:-
•Get the dbc file from the environment you are going to start the development, For ex:- $FND_TOP/secure directory.
•Make sure that “Diagnostics” are set to No and “FND:Debug Log Enabled” profile
•Help about developing a OA Framework application can be found at JdeveloperInstallation\jdevdoc\index.htm.

Advantage of OAF over other standalone technology:-
•Maintenance is easy as the OA Framework components are industry standard and are well documented.
•Minimizes the coding effort.
•Oracle’s security would manage authentication,authorization and encryption policies.

Developing a query only page:-
1.Create new project.
2.Create Business component packages, one for schema where the Entity object View objects and the Application modules are created, the other for webui where the Framework page is created (the VIEW part of MVC architecture), the Page controllers(the CONTROLLER part of MVC architecture) are also created in the webui package.
3.Create the Entity object if the query page is based on one oracle entity. Or create the View object if the query page is based on multiple oracle entity.
4.Create the View object implementation and write the business logic for the query with the intended parameters. For example for a person detail page, write a implementation which has a method which expects the person id and will query the person details for that person id.
5.Create an Application module and assign the created View/Entity object to it. Each framework module must have an Application Module and each page of the framework may have its own Application Module. Write the business logic so that the Controller can invoke the methods of the Application module. For example in a simple query page, the Application module just encapsulates the call to the View object implementation method.
6.Create the Framework page. The “Message Component Layout” cannot be created directly so create a region through the wizard. Create a defaultSingleColumn region and change its Region Style property to messageComponentLayout
7.Assign the above created Application Module for the Page. Provide a window title for the page layout region.
8.Create/assign the new Controller class/Existing controller class. For a newly created controller class call the method available in the application module to query the data from the view object.

Developing a Transaction page:-
1.While the project and Business Component Packages remaining the same.
2.Create the Entity object if the transaction page is based on one oracle entity. Or create the View object if the transaction page is based on multiple oracle entity.
3.Create the View object Row implementation and write the business logic for the updates with the intended parameters. For example for a person detail page, write a row implementation which has a method which expects the person id, new address, new contact information and will update the new person details for that person id.
4.Create an Application module and assign the created View/Entity object to it. Each framework module must have an Application Module and each page of the framework may have its own Application Module. Write the business logic so that the Controller can invoke the methods of the Application module. For example in a simple transaction page, the Application module just encapsulates the call to the View object row implementation method.
5.Create the Framework page. The “Message Component Layout” cannot be created directly so create a region through the wizard. Create a defaultSingleColumn region and change its Region Style property to messageComponentLayout
6.Assign the above created Application Module for the Page. Provide a window title for the page layout region.
7.Create/assign the new Controller class/Existing controller class. For a newly created controller class call the method available in the application module to perform a transaction on the data from the view object.

Key points to be noted:-
1.During development any change to .class file when uploaded to the Oracle Applications installation just needs the Web Servers to be stopped and started to get reflected.
2.During development any change to .xml file when uploaded to the Oracle Applications installations MDS needs a full Apache bounce to get reflected.
3.In order for a user to perform personalization the profile “Personalize Self-Service Defn” has to be set to yes.
4.Any OA Framework page reveals the following details when the “About this Page” link available in the bottom left hand corner is clicked,Page information, Personalizations applied, the Page Context, the Technology Components used in the page.
5.The pages can be integrated by using Oracle Application’s Menu.

By properly organizing the pages with the correct menu types the pages can be made to appear as any of the below
1.Tab Bar Only
2.Tab Bar and Horizontal Navigation
3.Side Navigation Only
4.Tab Bar and Side Navigation
5.Tab Bar, Horizontal and Side Navigation

Comments

Hi - thanks for the outline of how to use OA Framework.
But for the example you used, in EBS12.1 learners can already enrol in classes through Learner Self-Service. Is that functionality not available in the old 11.5.10?