预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共35页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

OracleEBSOAFramework (一)开发环境搭建 关键字:OracleEBSERPOAFrameworkOAF关键字:最近公司开始了一个OracleERP二次开发项目,使用的是EBSR12版本,这个版本由于比较新,从这个版本中可以看到OracleERP二次开发的主要技术有向Web方面发展的趋势,其中主要使用的就是OracleOAFramework应用框架. 网上这些资料不好找,我通过查看OAFrameworkGuide整理了一些文档,后面陆续会发布到blog中与大家共享. 内容基本上是按我的学习顺序组织的,学到哪里写到哪里,由于是初学OAFramework,而它又与我们通常接触的开源框架差异较大,因此理解上难免出现偏差,有不正确的地方请大家指正.由于系统的限制,不能发过多的插图,文章中的插图没有全部贴上来,这些插图都来自于OAFrameworkGuide. 环境塔建按以下几个步骤: 1.从MetaLink上下载p5856648_R12_GENERIC.zip 2.从你的EBS服务器上下载dbc文件,比如我的dbc位置/u02/prod/inst/apps/PROD_ebs/appl/fnd/12.0.0/secure/PROD.dbc 3.启动JDeveloper,从JDeveloper解压目录中找到ToolBox工程,初次打开时会提示代码更新. 4.在工程的属性中找到OracleApplications配置好DatabaseConnection. 5.在工程的属性中找到OracleApplications->RuntimeConnection页,将DBCFileName设置为从服务器上下载的dbc文件.UserName和Password为登录ebs环境时使用的用户名和密码.Responsibility中设置好开发所使用的应用简称和职责.这个职责只需要是UserName所具有的职责就可以了. Page基础 在浏览器看来,OAFramework页面与其它web页面一样,被渲染为HTML. 在中间层中,页面是由内存中层级分布的Javabeans组成——非常像传统的Java客户端UI.每个UI构件,比如按钮,表格,tab,商标图像等,被渲染为页面中对应的构件. 浏览器向一个页面发出请求时,Framework读取页面定义的元数据创建webbean结构.OA每个bean与一个UI控制器关联,Framework调用你编写的代码初始化页面.OA页面处理完成后,FrameworkOA将webbean结构交给UIX框架处理以生成发送给浏览器的HTML. 当浏览器发出一个表单提请求时,OAFramework重新创建bean及其层次结构(只在必要的时候才重新创建,通常这些bean是被缓存的,只在特定的情况下才重新创建),然后调用为pagebean编写的事件处理代码.当页面处理完成后,页面HTML重新生成并发送给浏览器. OAFrameworkMVC架构: 模型Model 模型包括下层的数据和应用业务逻辑.它也提花了现实世界对象和应用服务间的抽像层. 应用模块ApplicationModules BC4j应用模块本质上是一个容器,它管理和提供对"相关"BC4J模型对象的访问.这里的"相关"指的是同一个任务中的参与者.比如所有的BC4J对象在同一个任务中参与同一个事务——即使对应的用户界面需要用户访问多个页面.应用模块: 应用模块是oracle.apps.fnd.framework.server.OAApplicationModuleImpl类的子类. 每个OAFramework页都有一个根(root)应用模块,它与最顶层的页面区域(pageregion)关联.根应用模块提供事务环境和连接数据库. 如果多个页面参与同一个物理或虚拟事务,它们应该共享相同的根应用模块.如果一个页面功能不依赖于其它东西,它需要拥有自己的应用模块. 注意:注意:一个根应用模块可能包含一个或多个嵌套的应用模块,可以嵌套任意多的层次.这种情况下,根应用模块可以访问它包含的子对象的数据和对象,所有子对象共享根应用模块的事务.你可以在创建需要重用的与数据库操作相关的UI区域时使用这个功能. 实体对象(实体对象(EntityObjects)和关联对象(AssociationObjects))和关联对象() BC4J实体对象包含了业务规则(校验,动作等)与数据库表中的一行关联.注意: 注意:实体也可以基于视图,同义词,快照而定义.OAFramework支持Java和PL/ SQL实体. 实体对象: 多数实体是oracle.aps.fnd.framework.server.OAEntityImpl的子类(PL/SQL继承于特殊版本的OAEntityImpl). 表和