Portal技术标准简介

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Portal技术标准简介

关键字: portal

JEE作为建立在Java平台上的企业级应用解决方案,经过这些年不断发展,已经成为企业级开发的工业标准和首选平台。众多厂商如IBM,BEA和Oracle等都围绕该规范推出了相应的,功能强大的产品。JEE规范组中最受业界认同和取得最大成功的就是JEE Web层面规范,发展到今天,已经步入门户(Portal)的时代。

门户,简言之就是提供包括内容聚合、单点登陆、个性化定制和安全管理等服务的基础Web 平台。在Java EE里,Portal有两种标准:JSR 168和JSR 286。同时OASIS组织还为Portal的远程调用定义了相关WebServicds标准WSRP。

名词解释

名词解释

Portal 门户,提供包括内容聚合、单点登陆、个性化定制和安全管理等服务的基础Web平台。

Portlet Portlet 是基于web 的Java 组件。它由Portlet 容器管理,能够处理请求,产生动态内容。Portlet 被Portal 用作为可插拔的用户接口组件,为信息系统提供展现。由Portlet动态产生的内容也被叫做fragment 。fragment 是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个Portlet 产生的内容和其他的Portlet产生的内容聚集在一起形成Portal 网页。

Portlet Container Portlet 在Portlet 容器中运行,Portlet 容器为Portlet 提供必需的运行环境。Portlet 容器包含Portlet (组件)并且管理它们的生命周期,它也为Portlet 的参数设置提供持久化的存储。Portlet 容器不是一个类似于servlet 容器的独立容器。它是在servlet 容器上通过扩展方式实现的,并重用servlet 容器提供的功能。从Portal 的角度来看,Portlet Container 是Portal 平台所提供的众多服务之一。

JSR168,JSR286 由于越来越多的公司开发了各自的Portal 组件和基于其的Portal 产品(如Bea, IBM, Oracle, Sun, Sybase, Novell, SAP, Jetspeed, Vignette 等.这种互不兼容的接口实现不断带给程序提供商各种问题和麻烦, 为了解决这种问题, JCP 发布了

JSR168 (Java Specification Request), Portlet Specification, 用以提供不同Portal 和Portlets 之间的互用性。JSR 286 是168 规范的延伸,是目前最新标准规范。

SSO Single Sign-On 即单点登陆。当一个大系统中存在多个子系统时,用户只需要正确登陆其中任何一个子系统,就可以在各个子系统中来回自由切换和使用授予该用户权限的各种资源。一般可以分为两种类型:Web应用之间的单点登陆和门户Web 应用和它所连接的后台系统之间的单点登陆。SSO是任何一个门户产品必须解决的问题,必须提供的服务。

WSRP WSRP 是OASIS 组织的一个规范,它定义了远程门户网站的Web 服务。通过Web Service 将远程内容抓取到本地,最后通过本地内容聚合引擎展示出来。

JSR 168和JSR 286

Portlet 是部署在容器内用来生成动态内容的Web 组件,与servlet 类似,portlet 的整个生命周期从init 到destroy 的过程都在portlet 容器中进行。Java Portlet Specification 对portlet API、标准化用户数据、参数设置、portlet 请求以及响应、部署、打包以及安全等方面都做了详细的规定,以此来实现portlet 之间以及portlet 与portlet 容器之间的交互和协作。Java Portlet Specification 1.0, 即Java Specification Request(JSR)168 发布于2003 年10 月。

JSR 168 目前在业界受到广泛支持,而且它由开放源码支持。标准和产品的第一个版本存在一定的缺陷,仅支持最基本的用例,在功能上有一些限制。而且Java Portlet Specification V1.0 也存在这种情况,因此,经过三年之后,大多数支持Java Portlet Specification V1.0 的门户产品都提供一些附加扩展,以支持更高级的用例,这些附加的扩展造成了各个门户产品的标准不统一,彼此间的交互协作成了不可避免的问题。为了更好地规范portlet 开发,以适应业界发展,并提供适应于最高级别用例的标准解决方案,从而为这些高级功能提供互操作性,在2005 年11 月开始了Java Portlet Specification V2.0(称为JSR 286)的开发,Java Portlet Specification V2.0 已在2008年2月25日正式定稿,并于2008年6月12日正式发布。

Portal 标准概念

一个Portal 由多个Portal Page 组成。每个Portal Page 都包含了多个Portlet 。一个Portal Page 的结构如下图:

每个Portlet Page由一个或多个Portlet Window 组成,每个Portlet Window 又分为两部分:一个是Decorations and controls ,它决定了portlet窗口的标题条、控制和边界的样式;另一个是Portlet Fragment,它由Portlet Context 填充。

Portlet vs Servlet

* Portlet 在以下方面与Servlet 相似:

1. Portlet 由特定的容器管理。

2. Portlet 生成动态内容。

3. Portlet 的生命周期由容器管理。

4. Portlet 通过请求/响应模式与web客户端交互。

* Portlet 在以下方面与Servlet 相异:

1. Portlet 只能生成标记段,而不是整个文档。

2. Portlet 没有可供直接访问的URL地址。不过你还是能够让别人通过URL访问到Portlet,你可以把包含该Portlet 的页面的URL发给他。

3. Portlet 不能随意地生成内容,这是因为Portlet 生成的内容最终要成为Portal 页面的一部分。如果Portal 服务器要求的是html/text类型,那么所有的Portlet 都应生成html/text类型的内容。再比方说,如果Portal 服务器要求的是WML类型,那么所有的Portlet 都应生成WML类型的内容。

* Portlet 还提供了一些附加的功能:

1. 设置参数的持久化存储:Portlet 提供了一个PortletPreferences? 对象用来保存用户的设置参数。这些参数被存入一个持久化数据库,这样服务器重启后数据依然有效。开发者不必关心这些数据存储的具体实现机制。

2. 请求处理:Portlet 提供了更为细粒度的请求处理。对于用户在Portlet 上动作时向该Portlet 发出的请求(一种称为活跃期的状态),或者因用户在其它Portlet 上动作而引发的刷新页面请求,Portal服务器提供了两种不同的回调方法来处理。

3. Portlet 模式:Portlet 用模式的概念来表示用户在做什么。Portlet标准定义了三种模式:VIEW、EDIT、HELP。在使用mail应用的时候,你可能会用它来读信、写信或检查信件――这些都是mail 应用的预定功能,Portlets 通常以VIEW模式提供这些功能。但还有一些活动,像指定刷新时间或(重新)设置用户名和密码,这些活动允许用户定制应用的行为,因此它们用的是EDIT 模式。Mail应用的帮助功能用的是HELP模式。

4. 窗口状态:窗口状态决定了Portal 页面上留给Portlet 生成内容的空间。如果点击最大化按钮,Portlet 将占据整个屏幕,成为用户唯一可用的Portlet ;而在最小化状态,Portlet 只显示为标题条。作为开发者应当根据可用空间的大小来定做内容。

5. 用户信息:通常Portlet 向发出请求的用户提供个性化的内容,为了能更加行之有效,Portlet 需要访问用户的属性信息,如姓名、email、电话等。Portlet

相关文档
最新文档