Oracle Application Framework

来源:互联网 发布:淘宝买东西流程图 编辑:程序博客网 时间:2024/06/04 17:56

OAF笔记

有幸参见了Oracle OPN 举办的Oracle Application Framework 的培训,现将笔记分享一下:
<仅供初学者参考,有些地方未必是正确的,如您发现,敬请指正>

名词解释:

  • OAF(Oracle Application Framework) : 是针对EBS12的新的框架,UI比其他版本(form)要好,功能也有所增强, 12里不少新的功能都是基于OAF开发的
  • BC4j(Business Component for java) : 业务组件,和“业务”相关的一些java 对象(entity object)
  • DBC file (Database connection file): 数据库链接文件, 里面会存储一些权限的信息
  • UIX (Oracle XML user interface framework) :  解析和处理XML文件的framework (Oracle XML user interface framework leveraged by the OA Framework for rendering and interacting with HTML web beans)
  • LOV (list of values) : A user interface control that lets users choose a value from a predefined list of values for the purpose of populating one or more fields on a page.
    • 一种就是下拉框 (需要获得一个field)
    • 另一种就是根据某一个值搜索记录,然后选中记录而得到一系列的值 (见下面的例子)
      <一个普通的search页面> 点击那个搜索(象放大镜的图片),会弹出下面的LOV的页面>
      OAF LOV 图例

      <LOV> 页面,根据一些key,搜索记录,然后选择记录,可以将值传回上一个search页面
      OAF LOV 图例

    • 另外一个图例解释什么是LOV
      OAF LOV 图例

零星记录:

  • OAF 是MVC结构  (BC4J – Module) EO (entity object对应DB 表的object)  VO (view object , 可以认为是反映业务级别的object,VO可以包括几个EO)
    OAF MVC 图例
  • [经验] Control 的class 一定不要读取数据库,可能会出现性能的问题,在OAF的架构里,使用Module 来处理和DB相关的东西的,control直接调用相应module的方法来实现
  • 设置“授权的”时候,(允许使用一定的用户链接EBS 的instance)一定要给相应的用户分配responsibility,否则会链接不上
    • 如果使用oracle EBS 内置的用户,这种用户默认已经设置了权限,所以可以正常链接
    • 但如果建立一个新的用户,就必须要设置权限,才保证能够连接上 (或者新建立的新的instance,都需要配置相应的权限)
  • EBS 服务有两个组成
    • 一个是application 安装EBS整个系统
    • 另一个是数据库的,可以用不同的服务器
  • OAF的开发需要使用特定的Jdeveloper (需要在metalink上下载),这个版本才是支持EBS的,并且一定要对应正确的EBS版本号(包括小版本) (根据一个DOC ID来对应)
  • 客户端调试的时候,需要使用DBC 文件(需要从服务器端获得),这个文件里包含用户信息和一些认证信息 (XXX.dbc)
  • 一个页面只能使用一个application module
  • OAF 主要的参考文档(可以看到详细的说明,javadoc和例子)支持EBS 的JDeveloper 安装之后,可以看到jdevdoc ,下面就有相关的详细文档:
  • R12 已经很好地支持了Flexfield (弹性域)可以查看JDeveloper下面的文档(search即可)
    OAF Doc 图例
  • OAF是新的技术,拥有很漂亮的界面,但是UI上有很多的局限性,虽然支持一些自定义,但有些看似简单的UI,实现起来很麻烦,或者根本无法实现,所以答应客户更改UI的时候一定要谨慎,不能仅凭自己的直觉来决定,需要和技术顾问探讨,并且了解支持的一些UI布局等
  • OAF 有page flow 的概念 (和form的tab 页面可以随意切换是类似的), Step By Step 注册那种,相应的Page 之间可以设置依赖关系
    • Page flow 解释一下: 比如需要创建一个含有20个field的数据记录,如果放置在一个页面会使页面很大,所以会将这些字段分类放置到不同的页面,会出现几个页面(页面直接是有一定的联系,比如,必须创建了第一个页面,才能创建第二个页面)
    • 对于页面删除-》 确认删除-》最终删除 ,也属于类似的
  • OAF 和 Form的差别
    • 3GL是第三代编程语言的意思(3   Generation   Language),他包括C,PASCAL等
    • 4GL是第四代编程语言的意思(4   Generation   Language),他包括JAVA,VB,C++等   (有些分的不是很清楚)
OAFFormJava SQLPL SQLOAF 页面修改比较麻烦

新建一个页面还可以

 新的页面,用户比较喜欢 对于没有form经验的人,上手更容易一些 R12 使用的新的框架,刚刚发展,不是很成熟已经发展几年了,技术比较成熟,目前的技术人员比较喜欢,这个比较灵活可以在本机调试Form 无法再本机直接调试非所见即所得(4GL)所见即所得(3GL)
  • MDS 目录仅仅放置了page相关的UI页面,(PAGE / Region)
  • IMPORT 一个新的OAF 页面 ,重新deploy可以生效 ,建议还是重启服务器
  • 但是更改class(CO / EO/VO ) 等,必须要 Adoacall 重启这个命令, 最保险的方式重启所有的服务
  • [经验]建议;oaf , 分开开发和测试环境分开,因为开发可能频繁地重启server
    • OAF 可以在本机调试
    • 避免影响“功能顾问”进行测试
    • 页面更改,可以不重启服务器,但必须import (上传到server不行)
    • My classes 文件更改,一般需要重启服务器 (除非可以清空java class的cache)
  • XMLImporter 命令,引入一些文件
    • 引入到MDS respotiry (数据库)  (注意这个机制,页面相关的那些XML文件,实际都是存储到sever端的数据库里的,仅仅数据库里的值被更改,才可能生效的)
    • 上传到服务器(作为备份,不能更改,更改不起作用)
  • Deploy Step
    • Copy myclasses into JAVA_TOP
    • Import page (进入到数据库或者文件)
    • Restart middleware
原创粉丝点击