Documente Academic
Documente Profesional
Documente Cultură
III.
2.
I.
V.
VI.
OAF Architecture MVC Implementation in OAF Implementations OAF Process Flow OAF Features OAF Development with JDev IDE
Model
View
The model encapsulates underlying data and business logic of the application
The view formats and presents data from a model to the user
What is OA Framework
Significance
Oracle APPs out-of-box I-Modules are Self Service Web Modules OA Framework facilitates
Customization and extension of these out-ofbox I-Modules Development of fresh new Self Service Web application module
OA Framework Architecture
Client
Browser
Application Server
Listener
Data Server
Servlet Engine
Metadata Repository
11i Data
Parts of OA Framework
UIX - Java components for representing UI BC4J - Java business components for representing business logic OA Extension Declarative data for UIX Extension to JDeveloper
Parts of OA Framework
AOL/J - Applications authentication, authorization and java services OA Framework - Programmatic glue which integrates these technologies
Core Layer represents the database Surface Layer represents the application pages Attribute validation is implemented at the Entity Object level Reusable components saved as shared regions in MDS repository and reused across several pages
Page Basics
At Browser level, an OA Framework page like any other web page rendered as standard HTML In the middle tier, page is actually implemented in memory as a hierarchy of Java Beans For a Page Request at Browser, OA Framework reads the pages declarative metadata definition to create the Web Bean hierarchy
Implementations
Model implemented using Oracle Business Components for Java (BC4J) View implemented using UIX XML (UIX) and uses Meta Data Services (MDS) as repository for loading UI Controller is a pure Java class implementation
Model
Application Module
A container that manages and provides access to related BC4J model objects BC4J Entity Objects encapsulate business rules (validations, actions etc.,) associated with a row in a database table BC4J View objects encapsulate a database query After a query is executed, a View Object provides iteration over and access to its result set Encapsulates JDBC Connection associated with the Application Module Used in performing actions like creating a Callable Statement, accessing session-level Application Context information, and to perform operations like converting server date/time into user date/time etc.,
Entity Objects
View Objects
OADBTransaction
View
It formats and presents the Model to the user Pages are comprised of regions and items Regions are container objects that can hold items and other regions Items are simple widgets like buttons, fields, images etc. Attribute Sets Data Source Binding
Controller
Responds to the user actions and directs application flow Request Handling Handling Get request
Web Bean instantiates its controller and calls processRequest() Web Bean instantiates its controller and calls processFormData() to write the Form data to the Model
Every OAF page should contain minimum one controller. Controller classes define how your Java Beans behave. You can override controller classes to:
Manipulate the UI at runtime Manually initialize data items Intercept and handle user events like button clicks
Each UI widget corresponds to one or more Java objects (beans) The Java objects are used to create HTML at runtime Customers and third parties use the Personalization Framework to modify pages to fit business needs and user preferences.
A region is a reusable container that holds items A region can contain items like
Regions can inherit properties from other regions Every region can have separate controller file
Controller
processFormRequest() calls SerachEmpDetails()
OAF Features
In-built integration mechanism with Oracle Apps. All the Features of Forms available
Framework facilitates most of the implementation code. Fast customization with less code.
Create a new environment variable in the system settings of your PC. Call it JDEV_USER_HOME Set it to <JDEVHOME>\jdev The jdev part is required. JDeveloper places its system subdirectory under jdev when you initially start up JDeveloper. Example: D:\jdev\jdevhome\jdev