OAF_Oracle Application Framework基本知识点(概念)
2014-02-06 Created By BaoXinjian
1. MVC的理解
MVC是Java应用中最常见的模式,即Model-View-Controller(模式-视图-控制)
在OAF中
Model对应了Application Model(AM)
View对应了View Object(VO)
Controller对应了Controller Object(CO)
2. 开发一个简单查询OAF步骤
创建一个查询页面, 可以使用标准控件如simple/advanced search panel
关联此查询页面的AM
新增CO,获取查询时的参数,并将参数传输给AM中
在AM中调用VO中的查询方法,并将CO中转入的参数付VO
在VO中设定具体的SQL条件语句并执行查询
注: 在查询中EO并不是必须的,因为VO可以建立在对应的客制化SQL上
3. 在控制器CO中的两个方法processRequest(), processFormRequest()
processRequest
- 一般都是在进入该页面时进行执行,将一些需要出示化的内容写在这个方法中
- 例如: 初始化某个栏位的值
- 例如: 在打开一个页面时自动进行查询,将结果显示在页面中
processFormRequest
- 在触发某些事件,执行特定的事件,比如查询保存删除等
4. OAF中常用的较复杂的业务逻辑(主要是通过plsql处理的,调用procedure)写在哪个层次
Oracle建议定义在AM层,通过AM中直接调用procedure或者VO的方法,但是,可以写在CO层,具体问题具体分析,但是不推荐
理论上需将调用具体的Procedure或package都写在AM层,提高执行效率
5. OAF如何进行发布
发布时有两块内容
- 1. 无需编译的内容,如class包, AM/VO/EO对应的XML文件: 只需注意文件存放的目录保持本地和服务器的一致性
- 2. 需要编译的页面文件,如page lov对应的xml文件: 需要通过import.bat文件进行编译至服务器中
编译有两种方式
- 1. 直接在本地编译,则每个页面xml文件都需要手工编译
- 2. 在服务器中编译XMLImport,则只需运行一次命令即可
编译后需要通过语句或者查表,确认编译是否成功
6. OAF如何进行发布
本地编译工具
- export.bat: 反编译工具
- import.bat: 编译工具
- jpximport.bat: 项目编译工具
- xliffimport.bat: 多语言编译工具
存放的表和视图
- jdr_attributes
- jdr_attributes_trans
- jdr_components
- jdr_paths
相关的package包
- jdr_mds_internal
- jdr_utils
- jdr_custom_internal
- jdr_docbuilder
7. OAF开发常用文件路径
OAF常用文件路径
1. Oracle.apps.<application short name>.<component name>.webui
- Ex: oracle.apps.ap.invoices.webui
- Used for : Page and Controller
2. Oracle.apps.<application short name>.<component name>.server
- Ex: oracle.apps.ap.invoices.server
- Used for : AM and VO and VL
3. Oracle.apps.<application short name>.<component name>.schema.server
- Ex: oracle.apps.ap.invoices.schema.server
- Used for : EO and AO
4. Oracle.apps.<application short name>.lov.server
- Ex: oracle.apps.ap.invoices.lov.server
- Used for : AM and VO for LOV
5. Oracle.apps.<application short name>.lov.webui
- Ex: oracle.apps.ap.invoices.lov.webui
- Used for : Page and Controller for LOV
6. Oracle.apps.<application short name>.poplist.server
- Ex: oracle.apps.ap.invoices.poplist.server
- Used for : AM and VO for POPLIST
7. OAF如何进行发布
OAF中Item的数据类型
Thanks and Regards
OAF_Oracle Application Framework基本知识点(概念)的更多相关文章
- OpenCascade Application Framework Introduction
OpenCascade Application Framework Introduction eryar@163.com 本教程介绍了Open CASCADE程序框架(Application Fram ...
- 每天翻译一点点: WPF Application Framework (WAF)
ps:http://waf.codeplex.com/wikipage?title=Model-View-ViewModel%20Pattern&referringTitle=Document ...
- OpenCASCADE Application Framework Data Framework Services
OpenCASCADE Application Framework Data Framework Services eryar@163.com 一.概述Overview OpenCASCADE的数据框 ...
- 侯老师的话(Application Framework)
摘自http://blog.csdn.net/zlc19876/article/details/5355022 本篇文章主要介绍了"侯老师的话(Application Framework)& ...
- 添加一个Application Framework Service
如何添加一个Application Framework Service(without native code)? 1.本文参照AlarmManagerService实现一个简单的Applicatio ...
- C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍
C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 在现今软件系统纷纷"云化"的浪潮下,各种支持" ...
- shiny: Web Application Framework for R
shiny: Web Application Framework for R 基于R语言的一个web框架,适用于数据分析与图表绘画展示类型的网站.
- 【笔记】《深入浅出MFC》第5章 总观Application Framework
凝聚性强.组织化强的类库就是Application Framework.一组合作无间的对象,彼此藉消息的流动而沟通,并且互相调用对方的函数以求完成任务,这就是Application Framework ...
- Android Framework中的Application Framework层介绍
Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层.我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得. Fr ...
随机推荐
- [leetcode]Flatten Binary Tree to Linked List @ Python
原题地址:http://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/ 题意: Given a binary tree, fl ...
- Iterable转List
Iterable转List Iterable<Entity> geted = entityDao.findAll(); List<Entity> list = Lists.ne ...
- 【leetcode 桶排序】Maximum Gap
1.题目 Given an unsorted array, find the maximum difference between the successive elements in its sor ...
- 开源 免费 java CMS - FreeCMS1.9 会员权限管理
项目地址:http://www.freeteam.cn/ 会员权限管理 管理会员可使用的权限.会员在使用某一特定功能时,如投稿.可依据此会员所在会员组是否有投稿权限来决定会员能否够使用投稿功能. 1. ...
- VMware12 中安装MS-DOS 7.10
按一下步骤进行安装: 选择虚拟机,然后如下图选择“ 编辑虚拟机设置 ”. 弹出的编辑框中,选择“CD/DVD”中的“使用ISO镜像文件”,然后选择“浏览”,打开MS-DOS7.10.iso的ISO镜像 ...
- Subversion快速入门教程
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配 ...
- 触发器五(建立INSTEAD OF触发器)(学习笔记)
INSTEAD OF触发器 对于简单视图,可以直接执行INSERT,UPDATE和DELETE操作但是对于复杂视图,不允许直接执行INSERT,UPDATE和DELETE操作.为了在具有以上情况的复杂 ...
- 转:Tkinter教程之Text(2)篇
'''Tkinter教程之Text(2)篇''''''6.使用tag来指定文本的属性'''#创建一个指定背景颜色的TAG# -*- coding: cp936 -*-from Tkinter impo ...
- 【转】Html.RenderPartial与 Html.RenderAction的区别
Html.RenderPartial与Html.RenderAction 这个两个方法都是用于把MVC用户控件嵌入到View中. Html.RenderPartial是直接将MVC用户控件嵌入到界面上 ...
- document.ready、window.onload、body.onload的区别
document的ready事件通常会比window的onload事件先发生,为什么呢? 因为document的ready是在浏览器加载解析并构建完doc文档模型时发生的,而window的onload ...