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基本知识点(概念)的更多相关文章

  1. OpenCascade Application Framework Introduction

    OpenCascade Application Framework Introduction eryar@163.com 本教程介绍了Open CASCADE程序框架(Application Fram ...

  2. 每天翻译一点点: WPF Application Framework (WAF)

    ps:http://waf.codeplex.com/wikipage?title=Model-View-ViewModel%20Pattern&referringTitle=Document ...

  3. OpenCASCADE Application Framework Data Framework Services

    OpenCASCADE Application Framework Data Framework Services eryar@163.com 一.概述Overview OpenCASCADE的数据框 ...

  4. 侯老师的话(Application Framework)

    摘自http://blog.csdn.net/zlc19876/article/details/5355022 本篇文章主要介绍了"侯老师的话(Application Framework)& ...

  5. 添加一个Application Framework Service

    如何添加一个Application Framework Service(without native code)? 1.本文参照AlarmManagerService实现一个简单的Applicatio ...

  6. C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍

    C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 在现今软件系统纷纷"云化"的浪潮下,各种支持" ...

  7. shiny: Web Application Framework for R

    shiny: Web Application Framework for R 基于R语言的一个web框架,适用于数据分析与图表绘画展示类型的网站.

  8. 【笔记】《深入浅出MFC》第5章 总观Application Framework

    凝聚性强.组织化强的类库就是Application Framework.一组合作无间的对象,彼此藉消息的流动而沟通,并且互相调用对方的函数以求完成任务,这就是Application Framework ...

  9. Android Framework中的Application Framework层介绍

    Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层.我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得. Fr ...

随机推荐

  1. go语言基础之copy的使用

    1.copy的使用 示例: package main //必须有个main包 import "fmt" func main() { srcSlice := []int{1, 2} ...

  2. SQL查询今天、昨天、7天内、30天【转】

    SQL查询今天.昨天.7天内.30天 今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0 昨天的所有数据:sele ...

  3. [模仿微软Live.cn]JavaScript输入邮箱自动提示

    原理是:在一个输入框 中,当我输入任何字的时候 自动下拉相应的邮箱提示,在输入框输入123的时候 下拉框有所有123的邮箱 输入其他的时候 有其他文案对应的邮箱. 同理 此插件不需要任何html标签, ...

  4. android 上传图片

    public static String uploadPicture(String url, String uploadFile) {     String resultcode = "1& ...

  5. Web前端开发资源集锦

    前端开发已经成为当前炙手可热的技术之一.本周我们除了给大家带技术相关资讯,还有一些技术人员常用的网站.希望大家不要错过我们本周的内容.原文来自:极客标签 为神马说写程序是很艰难的 程序员 做一名优秀程 ...

  6. @QueryParam和@PathParam使用方法比较

    1 先来看@queryparam Path("/users") public class UserService { @GET @Path("/query") ...

  7. jQuery Mobile的学习时间bottonbutton的事件学习

    程序猿都非常懒.你懂的! 生命的绝唱来机仅仅争朝夕,如诗的年华更需惜时如金. 不要让今天的懈怠成为一生的痛. 每天都在进步. 近期在学习jquery mobile开发.使用的button,绑定事件,和 ...

  8. The Web Sessions List

    The Web Sessions list contains the list of HTTP Requests that are sent by your computer. You can res ...

  9. mac系统下ionic环境配置

    本人是在mac环境下进行配置的: 下载nodejs:https://nodejs.org/download/ 并双击安装 Cordova and Ionic command-line tools 安装 ...

  10. JVM中类的卸载机制

    类的生命周期 当Sample类被载入.连接和初始化后,它的生命周期就開始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期.Sample类在方法区内的数 ...