OracleOAF开发指南第二章翻译(中文)

上传人:hs****ma 文档编号:508027228 上传时间:2023-05-14 格式:DOC 页数:7 大小:336KB
返回 下载 相关 举报
OracleOAF开发指南第二章翻译(中文)_第1页
第1页 / 共7页
OracleOAF开发指南第二章翻译(中文)_第2页
第2页 / 共7页
OracleOAF开发指南第二章翻译(中文)_第3页
第3页 / 共7页
OracleOAF开发指南第二章翻译(中文)_第4页
第4页 / 共7页
OracleOAF开发指南第二章翻译(中文)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《OracleOAF开发指南第二章翻译(中文)》由会员分享,可在线阅读,更多相关《OracleOAF开发指南第二章翻译(中文)(7页珍藏版)》请在金锄头文库上搜索。

1、OracleOAF开发指南第二章翻译(中文)-(1)作者: atomic79 | 来源: ERP100门户OAF开发课程第二章-OA Framework Essential1、JSP Application Prime如果你没有web application的开发经验,下面将讲解一些基础的知识。比如一个JSP 应用是如何构建的,在运行时发生了什么。并说明OAF开发教程中的一些重要的关键概念。1.1.1. Key JSP Application Components一个典型的JSP应用要包括以下的组件:用来进行客户端访问的浏览器、存放企业数据的数据库和一个web应用服务器(中间件)。浏览器通过H

2、TTP(超文本传输协议)协议与应用服务器进行通信。该通信过程中包括从客户端通过浏览器发送一个request信息到应用服务器,然后应用服务器响应请求,返回一个response信息到浏览器。JSP是内部有HTML和Java代码的从头到尾顺序执行的文件。在运行时,它会被编译成为一个Servlet class。Servlet是实现了标准API的基于Java的web应用服务器扩展程序。JavaBean(简称bean)是很容易进行重用的组件。它根据一定的设计模式的思想来进行构建,便于开发人员使用开发工具易于挖掘对象的属性和行为。应用服务器上的任何对象均是通过JDBC驱动与数据库进行通信。模型图如下所示:1

3、.1.2. What Happens at Runtime?Step 1当用户点击一个超连接、按钮或者热点图像时,浏览器发送一个HTTP请求到web应用服务器进行处理。HTTP请求主要有POST和GET两种。HTTP GET不论用户点击一个超链接或者热点图像时,浏览器发送的请求均为GET类型的。你可以把GET请求假想成一张明信片:请求的任何信息都写在明信卡上。这就意味着所有的通信信息均可以看到,数据均是通过地址栏参数进行传输。HTTP POST当用户点击按钮、热点图像或超链接都能触发一个FORM提交时,浏览器发送一个POST请求到服务器。你可以把POST请求假想为寄信:地址写在外边,但是内容封

4、装在信封内,此种请求下对存储在信封中的内容的数量没有限制。但是被提交的数据在地址栏上是不可见的。Whats Form?“Form”允许你将数据输入由Form提供的“Form. fields”中,并将数据发送到服务器进行处理。“Form”是一个HTML组件容器,可容纳显示控件和隐藏控件。在其上可放置各类带有动作控制的网页控件(如提交按钮)。当用户点击一个提交按钮时,浏览器就会发送一个PSOT类型的请求,将Form数据发送到服务器。Step 2Web应用服务器提供HTTP监听,接收传入的请求被转交到相应的JSP。开发出来的代码并不在乎浏览器发送的是POST还是GET类的请求,仅仅是获取请求的值,然

5、后依据获取值决定下面来做哪些处理。比如说,某个请求的值可能“通知”JSP,“Go”按钮已经被点击,这就意味着要必须执行一次查询。Step 3JSP调用一个或多个JavaBean来实现某些交互行为,比如与数据库的交互。一旦指定的工作被完成,JSP页面将把适当的HTML内容通过response返回到发该请求的浏览器。Step 4浏览器显示接受到的response中的HTML代码。1.1.3. Event Handling: Web UI vs. Classic Client UI在传统的C/S结构的应用程序中,事件处理的粒度可以从最低级的鼠标移动动作到控件级、区域级直到窗口级。并且,在客户端与服务

6、器进行交互时,可以很容易就单个值来进行服务端验证。由于用户界面可以随意修改,这也意味着与用户的充分交互很容易做到。在Web应用中,通常只能处理页面级别的事件,除非使用Javascript来进行页面事件控制。但在OAF开发中,基于OAF的代码规范和BLAF(Oracle Browser Look and Feel)的要求,我们在这里不做考虑。在这种情况下,用户从一个元件域导航到另一个元件域输入数据,是没有事件可供开发人员使用的。注:OAF提供了局部页面刷新(PPR)的功能,用来支持上面说到的情况。这将在OAF开发课程第四章详细讲述。如上面所说的,当浏览器最终发送了一个请求时,所有的页面数据,包括

7、用户输入的值以及用户向要执行的动作,都在该此交互中被传送到服务器。开发人员读取请求的值来确定客户端什么事件被用户触发,然后根据要求来执行被选定的动作,最后生成HTML页面,并传输回浏览器。1.1.4. Page NavigationStandard RequestJSP ForwardClient Redirect1.1.5. What is a Cookie?为了理解OAF框架中是如何在用户登录后保持上下文信息,我们在这里要讲一下“cookie”。Cookie是为了解决HTML中无法保持请求状态的弊病而发展出来的技术。Cookie中保存有web应用服务端发送到浏览器端的响应每一次请求的信息。

8、它以文件的形式存放在客户端,以便于服务器进行识别。服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。而基于会话的cookie保持在浏览器的内存中,当浏览器关闭的时候,该cookie将被销毁。1.1.6. More About

9、Servlet Sessions如上图所示,鉴于服务器端的资源有限,对web服务的每次连接均应通过AOL/J池中的JDBC连接。Servlet引擎池按照请求来启动处理线程。它会给每一个接收到的请求分配一个处理线程。处理完成后,Servlet引擎池将会收回处理线程。1.2. 剖析OAF页面1.2.1. Page BasicsOAF中的Page,与其他浏览器级的web页面一样,都将内容展现为标准的HTML。在应用服务器中,页面通过编译成为JavaBean来展现非常类似经典的Java客户端的UI界面。每个UI组件,比如按钮,表格,标签页,商标图片等等,都在页面中按照一定的层级关系做为Web bean

10、来展现出来。当浏览器发出一个对新页面的请求时,OA Framework读取页面中的描述性的元数据定义来生成页面的层次bean。每个关联有UI Controller的bean,开发者可以在这些Controller中编写初始化页面的代码以供OA Framework在初始化页面时进行调用。当完成了页面的处理,OA Framework将把web bean的层次提交给UIX框架,由其来生成HTML代码,并发送给浏览器进行展现。当浏览器发送了一个表单的提交的请求时,比如点击了“Go”按钮,OA Framework会在必要的情况下重新生成页面的Web bean层次,然后执行为页面bean中的事件处理代码。当

11、页面处理完成时,页面被重新生成,然后发送到浏览器。下面部分将介绍在实现页面时涉及到MVC模式以及model、view和controller。如下图所示:1.2.2. The ModelModel(模型),封装了应用程序的数据和业务逻辑,是对现实世界对象和所提供的应用服务的抽象。OAF开发课程第三中将会详细讲述Model的实现细节。Application ModulesBC4J的application module做为一个管理容器,为与相关的BC4J模型对象进行交互而提供访问途径。在这种情况下,对象都作用一个任务的相关部分而发生关系。比如,所有的BC4J对象均包含简单的事务处理,并按照相关关联包含在一个任务中。即使此时要求用户对多个页面进行访问。AM的关系图如下:所有的AM类都是从oracle.apps.fnd.framework.server.OAApplicationModuleImpl继承的子类。每个OAF的页面均有一个root AM,与页面的顶级region(style为pageLayout)进行关联。页面的root AM提供事务处理上下文并且负责建立数据库连接。在一个实际或虚拟的事务处理中,如果由多个页面参与进来,他们可以共享同一个root AM。而如果页面功能相对独立,则它必须由自己的AM。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号