j2ee绿洲

找到属于自己的一片天空
数据加载中……
Portlet规范介绍
Portlet 是基于 java 的 web 组件,由 portlet 容器管理,并由容器处理请求,生产动态内容。 Portals 使用 portlets 作为可插拔用户接口组件,提供信息系统的表示层。作为利用 servlets 进行 web 应用编程的下一步, portlets 实现了 web 应用的模块化和用户中心化。 portlet 规范,即 jsr ( java specification request ) 168 ,是为了实现 portal 和 portlet 的互操作。它定义了 portlet 和 portlet 容器之间的和约,让 portlet 实现个性化、表示和安全的 api 集。规范还定义了怎样在 portlets 应用中打包 portlets 。本系列的
第一部分描述了 portlet 规范,并解释了其中的根本概念。第二部分中,笔者解释了规范的参考实现和一些 portlet 实例。
随着企业级 portal 的大量涌现,不同提供商创建了不同的 portal 组件 api ,即 portlet 。不同的不兼容给应用服务商, portal 用户和 portal server 提供商都造成了问题。为了消除这些问题, jsr168 ,即 portlet 规范提出,从而提供 portlet 和 portal 间的互操作性。 jsr168 定义, portlet 是基于 java 的 web 组件, portlet 容器处理 request 并生成动态内容,管理 portlet 。 portal 使用 portletportlet 作为可插入用户接口组件,提供信息系统的表示曾。
jsr168 的目标是:
定义 portlet 的运行时环境,即 portlet 容器
定义 portlet 和 portlet 容器之间的 api 集
提供 portlet 存储易失数据和持久数据的机制
提供 portlet 包含 servlet 和 jsp 的机制
定义方便部署的 portlet 打包方法
提供 jsr168 规范下的 portal 的二进制 portlet 便携性
通过 WSRP ( web service for remote portlet )协议运行符合 jsr168 规范的远程 portlet
IT 界已经广泛的接受了 jsr168 规范。所有的 portal 领域主要公司都是 jsr168 专家组的成员: Apache,AGT,BEA,Boeing,Borland,Broadvision,Citrix,EDS, Fujitsu, Hitachi, IBM, Novell, Oracle, SAP, SAS Institute, Sun Microsystems, Sybase, TIBCO, and Vignette 。官方支持列表甚至更长。
当前, jsr168 正在进行公众审视,最终版本将在 2003 年九月发布。
本文中,首先定义了 portal 和 portlet ,然后解释了 jsr168 的概念,包括 api 的基本对象。接下来,深入到 jsr 的高级功能,比如用户信息,本地化和缓存。然后讲到了扩展,从而使 portal 提供者扩展当前 portlet 规范的函数功能。本文包含了 portlet 应用的打包和部署。

基本定义

这部分中,讲讲述 portlet 规范中的基础定义,包括 portal 基本构架, portlet 容器和 portal 页面。
portal
portal 是一个基于 web 的应用,它能提供个性化,单点登陆,不同源的内容聚合,和信息系统的表示曾集中。聚合是整合不同 web 页面源数据的过程。为了提供用户定制的内容, portal 可能包含复杂的个性化特征。为不同用户创建内容的 portal 页,可能包含不同的 portlet 集。
图 1 表示了 portal 的基本架构。 portal web 应用处理客户请求,找回用户当前页中的 portlet ,然后调用 portlet 容器,从新获取各个 portlet 的内容。 portlet 容器提供 portlet 的运行时环境,并通过 portlet api 调用 portlet 。 portal 通过 portlet invoker api 调用 portlet 容器。 portlet 容器通过 portlet provider spi ( service provide interface )获取 portal 信息。
图 2 表示了基本的 portal 页面组件。 portal 页面本身代表一个完整的标记文档,并且聚集了一些 portlet 窗口。除 portlet 外,页面可能还包含导航区合标志区( navigation area and banners )。一个 portlet 窗口包含一个标题栏,装饰,和 portlet 产生的内容。装饰可以包括改变 portlet 窗口状态和模式的按钮(后文将解释这些概念)。
portlet
正如上文所说, portlet 是基于 java 的 web 组件,处理 request 并产生动态内容。 portlet 产生的内容称为片段,即一段遵守中心规则的标记(比如 html, xhtml,wml( 无线标记语言 ) )。如图三所示,多个片段可以聚合成一个完整的文档。多个 portlet 聚合在以期,组成 portal 页。 portlet 容器控制 portlet 的生命周期。
web 客户通过 portal 实现的 request/response 范例与 portlet 交互。通常, portlet 中的动作会被 portal 接受,从而用户与 portlet 中的内容交互(比如点击 portlet 中的链接,提交 form ),提交到 portlet 的目标。
对不同的用户,根据其配置,同一个 portlet 会产生不同的内容。
portlet 容器
portlet 容器提供它们需求的运行时环境并运行 portlet 。它包含 portles 并控制它们的生命周期。容器提供 portlet 参数的持久存储机制,它接受来之 portal 的 request ,并在其持有的 portlet 上执行 request 。容器不负责 portlet 产生内容的聚合, portal 自己处理内容聚合。
portal 和 portlet 容器可以作为应用套件构建在一起,也可以做为组件各自单独发布。

posted on 2007-11-13 08:48 心情经纬 阅读(779) 评论(0)  编辑  收藏 所属分类: Portlet


只有注册用户登录后才能发表评论。


网站导航: