2.1 OA Framework
MVC Architecture.
Partially build architecture.
2.2 Basics of any framework
2.2.1 Authentication System.
2.2.2 Security
2.2.3 Accessibility
2.2.4 User Personalization and extensibility layer.
2.3 Following tasks can be done.
2.3.1 Build new self service pages for EBS.
2.3.2 Personalize the self service page.
2.3.3 Extend the self service.
2.4 Parts of OAF
2.4.1 BC4J
BC4J --> Business Components for Java.
AM
VO
EO
AO
View Link and validation View Object
Validation AM
2.4.2 UIX
User Interface XML.
Java component for representing UI.
UIX represents OA page in OAF.
2.4.3 OA Extension
Declarative data for UIX extension.
Resides in MDS.
2.5 Encapsulation
Core layer --> Database.
Outer Most layer --> View layer --> OA Page
DB --> EO --> VO --> AM --> Page.
Each Layer knows about only the layer below it.
OA Controller delegates the operation to AM.
OA controller does not contain any business logic. In turn AM call a method in VO where data is queried form thr DB.
Operations --> Data Pull(Data Up Stack ) and Data Push(Data down stack).
Data Pull --> Calls a method in AM --> AM calls a method in VO and VO gets data from database.
DB --> EO --> VO --> AM --> OA Controller
MVC Architecture
Controller --> Responds to user actions and directs the application flow.
View --> View formats and displays data from the model to the user.
Model --> encapsulates underlying data and business logic to the application.
2.5.2 Model
Represent the BC4J component which consists of
1. AM
2. EO
3. VO
4. AO
5. View Link
2.5.2.1 AM --> Defiens the logical data and business methods. The AM handles transactions and interacts with client.
Serve as container of related BC4J objects.
responsible for establishing database connections and transaction context.
AMs --> can be nested to provide more complex AM.
Each OA Page should have at least one AM associated with it.
2.5.2.2 EO --> Entity Object encapsulates the business rules and logic. Entity object is used when there is a Insert/update/deletion of data. All data validations across the application are providede by EO. EO's can be linked with eacj other to create an AO.
2.5.2.3 VOs -> Encapsualtes the DB query. It iterates over the result set. VO may be based on a simple select query or based on single or multiple EOs. VO asts as a SOP for getting and setting entity object values. VO can be lonked to form View Links.
AlL VOs must be associated with an AM before usage.
2.5.2.4 AO --> two or more EOs together.
2.5.2.5 View Links
---
View link is an active link between view links. A view link can be created by providing the source and destination views and source and destination attributes.
2.6 View
----
View layer and View Object are different.
2.6.1 Types of regions in a Page
=====================================================================
2.6.2 Regions are containers for different items in a page. In a page there can be multiple regions inside a region and multiple items inside that region.
2.6.3 --> Every region is a java bean acting as a container for regions under it or items.
2.6.4 --> Region insude another region is called Child Region and is present in the same elvel as another region it is a sibling.
Common Region styles :->
1. pageLayout Region --> Top most region for every page. The java bean associated with the region is OAPageLayoutBean.
2. messageComponentLayout Region --> Contain all items starting with message.
This region can only have message style of items.
3. QueryBean :-> Used to perform any search.
Different Panels --> Simple Search penal , Advanced Search Penal and View panels.
4. hideShow Region --> top region style to hideShow.
5. Switcher Region --> used at runtime to decide which item need to be rendered.
6. defaultSingleColumn Region:
The defaultSingleColumn as the name suggest is used for holding the items in a
single column. This region is deprecated and you should not use it in your page.
Whenever there is need for showing a single column region, use the
messageComponentLayout region. Sometimes you may have to select this region to
use the Region using wizard functionality, but change the region style to
messageComponentLayout immediately after using the wizard. The java bean
associated with this region is OADefaultSingleColumnBean.
7. defaultDoubleColumn Region
The defaultSingleColumn as the name suggest is used for holding the items in
double column. This region is deprecated and you should not use it in your page.
Whenever there is need for showing a double column region, use the
messageComponentLayout region. Sometimes you may have to select this region to
use the Region using wizard functionality, but change the region style to
messageComponentLayout immediately after using the wizard.The java bean
associated with this region is OADefaultDoubleColumnBean.
8. pageButtonBar Region
When ever any item is to be created at a page layout level we use the pageButtonBar
region. It is the child of pageLayout level. The items create under this region will be
displayed at the bottom(below footer) and top of the page(below page title). The java
bean associated with this region is OAPageButtonBarBean.
9. tableLayout Region
The tableLayout region is a wrapper containing rowLayout and cellFormat regions.
This can be easily mapped to your HTML table. TableLayout is used when you need
more control on placing the items in a Page. The java bean associated with this
region is OATableLayoutBean.
10. rowLayout Region
The rowLayout region is used when you want to hold a cell format inside as a child
to it. It can be an independent region or a child or a tablelayout or advancedTable.
The java bean associated with this region is OARowLayoutBean.
11. cellFormat Region:
CellFormat region is a container of regions or items. The java bean associated with
this region is OACellFormatBean.
12. advancedTable Region
Advanced Table is used when there is a need to perform create, update and delete
functionality on the same page without navigating to another page. This will provide
a Oracle Forms like functionality to the OA Page. The java bean associated with this
region is OAAdvancedTableBean.
13. table Region
As the name suggest table is used for displaying data in a tabular format. It supports
single and multiple selection. The java bean associated with this region is OATableBean.
14. flowLayout Region.
When you want to display table actions for a table or advancedTable you can create a
flowLayout. Mainly it is for buttons we use this layout. The java bean associated
with this region is OAFlowLayoutBean.
15. hGrid Region:
When the data needs to be displayed in a hierarchial structure the hGrid region is
used. Detailed information for each row or node can also be given. The java bean
associated with this region is OAHGridBean.
16. train Region
When you have multiple pages then we use the train to show the progress. A
highlighted mark shows the current page which you are in. The java bean associated
with this region is OATrainBean.
Types of Items in a Page
===================================================================
1. messageStyledText
2. messageRadioGroup
3. messageCheckBox
4. messageTextInput
5. messageLovInput
6. messageChoice
7. messageDownload
8. messageFileUpload
9. button
10. submitButton
11. Link
12. formValue
13. spacer
14. seperator
15. Flex-
16. urlInclude
17. tip
========================================================================
Controller
========================================================================
Controller handles the user actions.
OAF has three methods.
1. processRequest --> fires when page is rendered. ==> when new form instance
write a set of code in the processRequest.
2. ProcessFormData --> Fires when page submit happens.
We don't write any code ini this method because it is used by framework to bind the data from the page to BC4J component (VO).
3. processFormRequest --> Fires when Fire Action/Fire Partial Action and Page submit happens. ==> when button pressed.
All the code for any form action is written in this method. e.g. after entering all the values and you want to submit htr data then the logic for submitting the data is written in the processFormRequst of the controller by capturing the form event or action.
Logic should be delegated to AM.
OAF Architecture
=======================================================================
Client Sends a request to an OAF page.
In case of oracle apps --> Browser.
Request is received by Listener.
Https listener forwards the request to servlet engine.
Servelet Engine request is received by controller which controls the complete flow.
The request is then received by OA.jsp in the controller which is the central controller.
OA.jsp --> identifies the page request and forwards it to database.
In DB --> MDS --> applcaitiondata is retrived to middle tier. --> UI definition --> Business logic.
Business logic needs to be applied on the data which is done by BC4J.
It is forwarded to the UIX. --> UIX renders ot converts page into XML. The XMLL is then sent to OA Ontroller and is convertedi n html and returned back to client.
No comments:
Post a Comment