OA Framework 教程
J2EE Web 技术简
什么是J2EE (1)
Java Web编程技术的发展历史 (2)
OA Framework基础
OAF简介 (2)
开发流程: (3)
OA Framework Page的基本元素: (4)
实现视图 (5)
财务报表培训
系统请求报表 (12)
什么是J2EE
J2EE,Java 2 Platform Enterpri Edition,是Sun公司为企业计算推出的企业级Java平台。J2EE定义了一个适用于企业级计算的Java平台,支持多层、分布式应用。J2EE定义的标准架构包括了一个J2EE平台规范,其中定义了用于支持J2EE应用必须具备的特定的Java功能(API),如JSP(Java ServerPage)、EJB(Enterpri JavaBean)等。
J2EE平台已经成为使用最广泛的Web程序设计技术,该技术主要支持两类软件的开发和应用:一类是做高级信息系统框架的Web应用服务器(Web application rver),另一类是在Web应用服务器上运行的Web应用程序(Webapplication)。
J2EE所包含的以下API:
●Servlets
●JavaServer Pages
●Enterpri JavaBeans
●JDBC
●Java Message Service
●Java Transaction API
●JavaMail
●Java Activation Framework
●Java API for XML Processing
●Java Connector Architecture
●Java Authentication and Authorization Service
Java Web编程技术的发展历史
随着Web的发展和兴起,Web技术也发生了翻天覆地的变化。从应用开发角度来看,Java Web 编程技术主要经历了以下的发展过程(从JSP应用开始):
1、单纯的JSP,Java代码(业务逻辑和显示控制)嵌入在HTML中
最早的Java Web编程技术只是单纯的将Java代码嵌入在HTML中,混合而成。一个JSP文件中包含了所有的程序逻辑(业务逻辑、显示控制等)。在这种情况下,任何一部分的代码都不能直接的实现共享和重用。
2、JSP与Java类混合(模型一)
将业务逻辑封装到JavaBean(Java类或EJB)中,实现了业务逻辑与html代码的分离。但是HTML 中仍然包含许多与显示相关的逻辑及一些控制逻辑。
虽然这在很大程度上实现了代码的共享和重用,但是这种模型下,还有存在一些缺点:
⏹Java 程序员除了开发服务,还要处理HTML。HTML 和Java 强耦合
在一起。
⏹更改页面布局时需要更改JSP代码。
⏹内嵌的流程逻辑
安徽旅游必去十大景点
⏹调试困难(混合了HTML、Javascript、Java)
3、MVC模式的应用(模型二)
将业务逻辑、流程控制、视图显示彻底分离。模型实现了应用核心的业务逻辑(EJB及其它业务对象);控制器实现应用的流程控制,它将来自页面的请求转化为对模型的操作,再将处理后的数据返回给视图显示(Servlet);视图提供了模型的表示(JSP)。
Oracle 的OAF框架也是一个基于MVC的J2EE应用框架。
OA Framework 基础
OAF简介
Oracle Application Framework (OA Framework)是Oracle基于HTML的一套商业应用程序开发框架,其具备以下特性:
◆良好的用户体验
例如页面局部刷新、翻页、LOV(值列表)选择、统一的CSS风格
◆企业级可靠性
老年人抽筋
给多数用户提供次秒级响应时间,页面第一次载入的时间比较长,之后一些
公共信息(例如用户信息)会被中间层缓存,从而实现快速响应
◆提高开发者效率
OAF基于Model-View-Controller (MVC) 的架构设计,使用OAF设计的用户界面以符合业界标准的XML格式存在,借助OAF开发人员可以方便扩展 Oracle E-Business Suite
◆开放标准
OAF基于J2EE,很多特征都符合业界标准(例如:XML, HTML, Java, JSP, SQL 、Web Services )
开发流程:
创建OA Workspace
创建OA Project
创建Package
创建EO
创建VO
创建AM
创建PAGE
创建CO
OA Framework Page的基本元素:
●Page基础
●模型
●视图
●控制器
●Web Bean结构
Page基础:
在浏览器层次上,一个OA Framework Page和任何一个Web页面一样,都是由HTML 来显示的。在中间层,页面在内存中实际上被一系列层次结构的Java Beans(非常类似于经典的Java 客户端界面)执行。每一个UI部件(按钮、表格、页标签等等)实际上正对应了层次中的一个或多个Web Beans。当浏览器请求一个新的页面时,OA Framework读取页面的声明性元数据定义来创建Web Beans层次结构。每个bean都关联着一个控制器,OA Framework调用你写的代码来初始化页面。当页面处理完成,OA Framework使用UIX框架来处理web bean层次结构,来生成并传递HTML给客户端。inspire什么意思
Application Module(应用程序模块)
英语初级听力BC4J的应用程序模块本质上是一个管理和提供访问相关的BC4J模型对象的容器。
应用程序模块类是oracle.apps.fnd.framework.rver.OAApplicationModuleImpl的子类。
每一个OA Framework页面都有一个根应用程序模块和顶层的页面区域(pageLayout区域)。根应用程序模块提供事务上下文和创建数据库连接。
●如果多个页面共同参与相同的物理或虚拟事务,它们应该共享相同的根应用程序模
块。
●如果一个页面独立于任何一个页面执行职责,那么它应该拥有自己的应用程序模
块。
根应用程序模块可以包含一个或多个嵌套的应用程序模块,此时根应用程序模块可以访问所有的子应用程序模块的数据和对象,子应用程序模块分享根应用程序模块创建的事务。当你创建一个可重用的和数据库相交互的UI区域时,将会使用这个功能。
Entity Objects and Association Objects(实体对象和关联)
Entity Objects
BC4J实体对象封装了与数据库表中行相关联业务规则(验证,行为等)。实体对象也可以基于视图,同义词或快照。
实体对象类是oracle.apps.fnd.framework.rver.OAEntityImpl的子类。
实体对象在它们的属性和底层数据表列之间使用声明性的映射,来自动实现查询、插入、更新和删除。在许多案例中,你需要增加验证规则逻辑。
View Objects and View Links(视图对象和视图链接)
View Object
在最简单的情况下,视图对象封装了一个数据库查询,视图对象提供了遍历结果集的功能。结果集包含了view row,每个row有对应于查询的字段的属性组成。
视图对象类都是oracle.apps.fnd.framework.rver.OAViewObjectImpl类的子类。
可以使用以下之一的策略配置视图对象:
●视图对象的属性映射到一个简单查询语句的列(通常用于小型的,只读的视图对象)
●视图对象的属性映射到实体对象的属性(通常用于插入、更新、删除实体对象)
●一些属性映射到实体属性,而另一些直接映射到SQL查询的列(使用临时列,如一
个计算的列)
在OA Framework应用程序,在以下的场景中使用视图对象:
●以最优化的方式在特定的用户界面中展现数据。如果用户界面提供插入、更
新和删除实体对象,你将通过视图对象来执行这样的功能
●以简单的查询创建下拉列表、LOV及其它UI控件
●创建供业务逻辑使用的有效的验证查询。比如在采购订单头实体对象中,必
须使用一个验证的查询来获得当前最大的采购订单行号来增加一个新的行。实现视图
页面
创建页面的基本步骤是创建pages,region,items。
Page LayoutRegion的关键属性
创建一个pageLayout区域时,应该特别注意下面的属性:
1.AutoFooter将这个设置为true以保证在页面上有应用的保密和版权说明链接。
2. Help Target如果你需要为当前页显示帮助按钮,必须在这里指定帮助文件
(通常是文件名)。
安神补心丸说明书3. AM Definition用于设置页面的根应用模块。必须使用类的全名,比如大芋头
oracle.apps.lbox.tutorial.rver.SearchAM
4. Function Name总是设置页面的保密函数
5. Window Title浏览器窗口标题
6. Title显示在page header中的文本。
7. Form在pageLayout中设置为true,这通常是默认设置,不要在其子对象中
添加亲折form。OA Framework在同一个页面中只支持一个form。
Item 的关键属性
1. Extends说明新的item继承于一个已存在的item。
2. Attribute Set命名了的item的属性集合。
3. Destination URI对于支持页面导航的对象,这个是导航的目标,比如:
OA.jsp?page=/oracle/apps/fnd/framework/toolbox/tutorial/webui/PoDetails PG。
stocked4. (Client Action)Action Type标明item是否可以提交表单,或者产生局部页面
新生儿体重标准渲染事件(partialpage rendering (PPR))。
5. CSS Class指定item使用的样式表。(多数item,UIX将把这个值按BLAF UI
指导方案中的值设置)。
6. Rendered指明相应的对象是否包含了webbean层级结构,需要UIX将HTML
发送给浏览器渲染。对于多数item来说,这用于指定一个item是否显示,但有些item是不会实际显示出来的(比如隐藏域),实际上是指定对象是否存在于页面上。
7. View Instance让item绑定到下层的视图对象上以便读写数据,这里标明将
item绑定到哪个视图对象实例(包含在一个应用模块中的)。
8. View Attribute将视图对象实例的属性与item绑定。
9. Admin Personalization决定是否允许系统管理员进行个性化定制。