Professional Documents
Culture Documents
This document is for informational purposes only and is intended solely to assist
you in planning for the implementation and upgrade of the product features
described. It is not a commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing decisions. The
development, release, and timing of any features or functionality described in
this document remains at the sole discretion of Oracle.
Due to the nature of the product architecture, it may not be possible to safely
include all features described in this document without risking significant
destabilization of the code.
<Insert Picture Here>
Anatomy of a Framework
Page
What is a Framework Page?
Framework Page Breakdown
Page
–Root Region
•Items
–Buttons
–Fields
–Images
»Sub-regions
–Region
–Region
Terminology
Read XML
Client
Http Request Read Class Files
Session
Session
Web Bean
Hierarchy
Web Server
<Insert Picture Here>
Design Methodology
Model – View - Controller
Admin
Server
Controller
JAVA & XML
Oa.jsp
Oa.jsp
db
AM
AM
Model View
BC4J UIX
Model (cont)
VL (View Link)
•Links VOs
Model
EO (Entity Expert) VVO (Validation View Object)
•Encapsulates Data •Stores Composite Relationships
•Represents One Row •Used for validation
•Setters and Getters
•Data Integrity/Validation/Locking, Posting EE (Entity Expert Class)
•Created on Parent EO of composite relationship
VO (View Object) •References relationships for validation
•Represents Query & Data (all returned rows) •Cached in memory
•Builds (Instantiates) EO
•Contains pointers to EO Rows PVO (Property View Object)
•Tracks state of rendered property
AM (Application Module) •Used with Partial Page Rendering
•Container for VO’s •Contains a single row
•Controls DB Transaction (OADBTransaction)
Controller
AO (Association Object) CO
•Holds code for regions
AM •ProcessRequest – Get Action
•Links EO’s (master/detail)
•Setters and Getters VL
VO •ProcessFormData – Post Action
AO
PVO •ProcessFormRequest – Post Action
VO EO
EO
DB
VVO
View
VAM
•User Interface (UIX/OA Extensions)
•Instantiates files
•Reads Java & XML à HTML
Controller Actions
GET (ProcessRequest Method)
Validate à Fetch à AM à Instantiate à
User on App MDS Access to BC4J objects BC4J (some) & UIX
(XML & Java BC4J ) Transaction Context Build WebBean Hierarchy
Establishes DB Connect
Render Page
Read JAVA & XML
Build HTML
Populate Page
STATE
MANAGEMENT COMPONENTS
• Root Application Module <Insert Picture Here>
OAPageContext
Application State
References
Caches Contains
Request
Application State <RootAppModule>AMImpl
<Insert Picture Here>
Page A Page B
Request
Servlet
Session Navigates
Response
Uses Uses
Uses
Multiple Pages, Related Tasks, Single Retain - for Multiple Pages. Page
Transaction with Page Branch to Branch will have it’s own AM. Use
Perform Discrete Task OAPageContext.releaseRootApplic
ationModule method to release AM
in the branch page
<Insert Picture Here>
begin1 AM -Instance 2
User B
Passivate
Reinstate
end1
<Insert Picture Here>
WebAppsContext
Session
Session Cookie
Servlet
Page Context
Page Context - Simple Page Processing
Servlet Session
Page Page A
Http Page A
Context
Request
Http A
Response (Display Page)
Request/Page Boundary
Page Page B
Http Page B
Context
Request
Page Context - Complex Page Processing
Servlet Session
Page Page A
Http Page A
Context
Request
JSP Forward
Page Boundary
Page B
Request Boundary
<Insert Picture Here>
Request
HTTP Request – Page Context
Servlet Session
Http Page A Request Page
Context
• URL Parameters
• Form Field Data Values ( on POST)
•Web Bean/Event Name related for user selection (on
POST)
•Hidden Fields
•JSP Page Forwards
•Access Via:
•OAPageContext.getParameter*( ) Methods
•OAPageContext.putParameter Method
•OAPageContext.setForward*( ) Methods
<Insert Picture Here>
Profile Options
Profile Options - ICX
http:// www.oracle.com/technology/products/jdev/viewlets/viewlet.html
http://www.oracle.com/technology/index.html
References
Oracle Corporation. Oracle Applications Framework Technical Reference Release
11.5.10.2 “OA Framework State Management” , 2000 - 2005
Reilly, David. “State and session tracking with Java servlets, Part 1:
Using cookies”. <http://www.developer.com/tech/article.php/616801>
Reilly, David. “State and session tracking with Java servlets, Part 2:
Securing data”. <http://www.developer.com/tech/article.php/616831>