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. iOS开发-NSPredicate

    Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredica ...

  2. Data Binding MVVM 数据绑定 总结

    示例代码:https://github.com/baiqiantao/DataBindingTest 参考:精通Android Data Binding    Android Data Binding ...

  3. Java中浮点类型的精度问题 double float

    要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法与浮点数的结构组成.因为机器只认识01,你想表示小数,你要机器认识小数点这个东西,必须采用某种方法.比如,简单点的,float四个字 ...

  4. 基于Java spring框架的微信企业号开发中关于js-sdk的配置

    在调用js-sdk的第一步,我们需要引入js-sdk的js链接,然后执行wx.config,官方示例如下所示: wx.config({ debug: true, // 开启调试模式,调用的所有api的 ...

  5. XML基础以及用DOM4j读取数据

    都知道,HTML被设计用来显示数据,XML被设计用来保存.数据传输.而我们平时经经常使用的无非是保存数据.读取数据.所以这里主要介绍XML相关基础内容.以及用DOM4j来存取XML的数据. 以下简单介 ...

  6. 将Tp-link无线路由器桥接到Dlink无线路由器上

    笔者家中原有两台笔记本和两台IPad,通过一台Dlink无线路由器(型号DIR-612,以下简称Dlink)上网,Dlink以PPPOE方式连到小区宽带.一直还可以. 后来为了练习Linux,启用了一 ...

  7. hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载

    本文档主要内容有: 1.hadoop 2.2.0 集群安装与部署 2.HBase 0.96 集群安装与部署 3.Zookeeper 3.4.5集群安装部署 备注:安装文档可能有所遗漏,后续将持续更新. ...

  8. linux 硬连接与软连接

    1.linux中文件占用一个inode,inode指向文件内容.2.文件名可以认为是一个指针,指向inode.硬连接相当于指针的整体拷贝,并不是对文件内容的拷贝.两个文件名(两个指针)都能修改文件,删 ...

  9. hdu4848 求到达每一个点总时间最短(sum[d[i]])。

    開始的时候是暴力dfs+剪枝.怎么也不行.后来參考他人思想: 先求出每一个点之间的最短路(这样预处理之后的搜索就能够判重返回了).截肢还是关键:1最优性剪枝(尽量最优:眼下的状态+估计还有的最小时间& ...

  10. C#.NET常见问题(FAQ)-如何给Listbox添加右键菜单

    1 拖一个ContextMenuStrip控件,然后可以直接在界面上编辑,也可以在FormLoad的时候动态添加   2 把这两个控件关联起来就可以实现listBox1的右键菜单跟ContextMen ...