Oracle Applications Framework

OAF

Agenda
Understanding MVC Design Patterns Understanding OA Framework and it's Architecture Understanding the Basics of the Model Understanding the Basics of the View Understanding the Basics of the Controller Demo
Setting Up Your Development Environment Implementing First Page Implementing a Search

Other Concepts

OAF

Prerequisites
OOPS ± Must Java ± Must JSP ± Good To Have Knowledge of frameworks based on MVC (Eg: Sturts) ± Cake walk

OAF

Web Programming Overview

OAF

Web Programming with Java Overview
HTTP (Hyper Text Transfer Protocol) HTML Request/Response Element Form GET/POST Cookie Session Servlet JSP

OAF

Browser ± Server Communication OAF .

Standard Request OAF .

JSP SendRedirect OAF .

JSP ± Forward OAF .

JSP ± Forward OAF .

MVC Architecture Overview OAF .

MVC Design Pattern MVC stands for Model-View-Controller The Model is the actual internal representation The View is a way of looking at or displaying the model The Controller provides for user input and modification OAF .

MVC Design Pattern View Model Controller OAF .

robustness OAF .Model The Model is the part that does the work The Model should be independent of the GUI Independence gives flexibility.

View View components present information to the user Different views present the same model information in different ways OAF .

Events are translated into requests for the model or the associated view Controllers should never include any kind of business logic OAF .Controller Controller accepts user inputs as events.

MVC with JSP: MVC1 OAF .

MVC with JSP: MVC2 OAF .

OA Framework OAF .

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

OA Framework Philosophy End User Productivity Enterprise-grade Performance and Scalability Developer Productivity Application Customizability Open Standards OAF .

2.0.OA Framework Architecture 3-Tier Architecture Applications Products OA Framework UIX/BC4J IAS 1.2 Apache/JServ Browser Application Server Database OAF .

OA Framework Architecture ± MVC Pattern OAF .

Components of MVC Architecture Model: Implemented using Oracle Business Components for Java (BC4J). View: Implemented using UI XML (UIX). Controller: pure Java class OAF .

Model Consist of BC4J Components Entity Objects (EO) ( and Association Objects) View Objects (VOs) (and View Links) Application Module (AM) OADBTransaction OAF .The Model The model encapsulates the underlying data and business logic of the application.

fnd.Entity Objects (EO) BC4J Entity Objects are defined on table or views or synonyms or snapshots There is a one-to-one mapping between a table and an Entity Object.server.apps.OAEntityImpl PL/SQL EOs are used to call database procedures Association Objects Enables to create relation ships between Eos Two types of Associations Composition Reference OAF .framework.The Model . Entity objects should include all columns in their associated tables. Entity objects encapsulate the business rules associated with a row in a database table. Entity Objects are subclasses of oracle.

Demo OAF .EO Creation .

The Model .framework.fnd.apps.View Objects (VO) BC4J view object encapsulates a database query View Object can be defined Simple SQL statement Map to Entity Object Map to Entity Objects and SQL VO Uses Present data that is optimized for a particular user interface ± Use EO Create simple queries for pop lists.OAViewObjectImpl View Links OAF .server. View Objects are subclasses of oracle. lists of values and other supporting UI components ± Use simple SQL Query Create efficient "validation queries" that can be used in your business logic ± Use simple SQL Query VO should be based on EO when there is insert/update to DB.

VO Creation .Demo OAF .

The application module is an appropriate place Provides access to any associated BC4J objects Performs multiple server-side actions Returns server side values to the client Calls PL/SQL routines.framework. it should have its own application module. AMs are subclasses of oracle.OAApplicationModuleImpl OAF . If a page functions independently of any other.server. they should share the same root application module. Each OA Framework page has a "root" application module which is associated with the top-level page region. If multiple pages participate in the transaction.The Model ± Application Module A BC4J application module is a container that manages and provides access to BC4J objects.fnd.apps. The root application module provides transaction context and establishes a database connection.

Demo OAF .AM Creation .

Owns any entity objects OADBTransaction is used in code for Creating a callable statement for executing PL/SQL functions and procedures Accessing session-level Applications context information like the user's name. id. current responsibility OAF .The Model ± OADBTransaction OADBTransaction encapsulates the JDBC connection/database session associated with a root application module.

The Model OAF .

The View .UIX UIX ± User Interface XML Creates UI Components hierarchy on the page Coordinates browser and middle-tier Uses BC4J to fetch and update data Imported into MDS Enables User Personalization & Extensions View is implemented as Regions and Items OAF .

UIX OAF .The View .

Demo OAF .Page Creation .

OAControllerImpl Request Handling Check Out or Create AM Validate Session HTTP GET Creates web bean hierarchy Calls processRequest() HTTP POST Checks if web bean hierarchy exists in memory.webui.apps.The Controller The controller responds to user actions and directs application flow Controller is Coded to Manipulate/initialize the UI at runtime Intercept and handle user events like button presses Controllers should never include any kind of business logic Controller is a Subclass of oracle.framework. if not creates the same Calls processFormRequest() OAF .fnd.

Controller Creation .Demo OAF .

OA Framework ± MVC OAF .

MVC Interaction OAF .

Development Environment System Requirements Operating Systems: Windows 2000 or Windows XP. set to at least 1024 X 768 resolution Disk Space: 570 MB Patch 4045639 (download from metalink) OAF . Preferred Web Browser: Internet Explorer 5.0 or later CPU Type and Speed: Pentium IV 1 GHz or greater Memory: 512 MB RAM Display: 65536 colors.

Setting Up Development Environment .Demo OAF .

Implementing Your First Page (Helloworld) Demo OAF .

Implementing a Search .Demo OAF .

Demo OAF .OA Personalization & Extension .

\webui -jdk13 mmddir "<JDEV Installation Directory>\jdevhome\jdev\myhtml\OA_HTML\jrad" username apps -password apps -rootdir D:\D\JDEV\p4045639\jdevhome\jdev\myprojects\ -validate -dbconnection "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = appsnet.Deployment ftp Files $OA_JAVA Import pages into MDS <JDEV Installation Directory>\jdevbin\jdev\bin\import <JDEV Installation Directory>\jdevhome\jdev\myprojects\<client>\oracle\apps\..com)(PORT = 1523))) (CONNECT_DATA = (SID = VIS)))" Import substitutions (if any) into MDS <JDEV Installation Directory>\jdevbin\jdev\bin\jpximport <JDEV Installation Directory>\jdevhome\jdev\myprojects\<jpxfilename>..jpx -username apps password apps -dbconnection "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = appsnet.wipro.wipro.com)(PORT = 1523))) (CONNECT_DATA = (SID = VIS)))" Bounce Apache OAF ..

jsp?page=/<client>/oracle/apps/<module>/«.Deployment Create AOL Function Type: SSWA jsp function HTML Call: OA./webui/<PageName>PG Attach to Menu Personalize (If any) OAF .

Q&A OAF .

What Next? OAF .

Thank You OAF .

Sign up to vote on this title
UsefulNot useful