这里所说的Portal是指JCP-JSR168规范所描述的:Portal是一个基于Web的应用,通常它提供个性化、单点登录、内容集成和显示等功能。Portal技术包括三个方面:
1) Portal服务器(Portal Server);
2) Portlet容器;(Portlet Container)
3) Portlet。
1) Portal Server 的定义是
一个 Portal(门户网站)就是指一个 Web-based 的系统,通常都会提供个人化设置、单一登陆、以及由各种不同来源或不同网站取得各式各样的信息,并且将这些信息放在网页之中组合而成的呈现平台,门户网站会有精巧的个人化设置去提供定制的网页,当不同等级的使用者来浏览该页面将获得不同的信息内容。
负责接收HTTP请求,调用portlet,并将portlet产生的内容聚集到portal page返回给客户。
2) Portlet Container 的定义是
portlet container 是提供 portlets 执行的环境,包含了许多 portlets 并且管理他们的生命周期,他也会永远保存着 portlets 的喜好设置,一个 portlet container 接收到来自 portal 的请求后,接着将这个请求传递给存在 container 的 portlet 执行。portlet container 没有义务去组合 portlets 产生的信息內容,这个工作必须由 portal 来处理。portal 和 portlet container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。
负责提供portlet的运行时环境,管理portlet的生命周期,还负责提供portlet持久化能力。
3) Portlet 的定义是
一个 Portlet 是以 Java 技术为技术的 Web 组件,由 Portlet Container 所管理,专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件,提供呈现层成为一个信息系统。这些由 portlet 产生的内容也被称为片段 (fragment),而片段是具有一些规则的Markup( HTML、XHTML、WML ),而且可以和其他的片段组合而成一个复杂的文件。而 Portlet 中的内容正常来说是与其他 Portlet 的内容聚合而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。客户端和 portlets 的互动是由 portal 通过典型的 request/response 方式实现,正常来说,客户会和 portlets 所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果 portal 将会接收到 portlet 的动作,将这个处理状况转向到目标 portlet。这些 portlet 内容的产生可能会因为不同的使用者而有不同的变化,完全是根据客户对于这个 portlet 的设置。
Portal主要是解决企业信息和应用的前端集成问题,它负责连结企业后台EAI,集成企业的结构和非结构化信息,并提供统一的访问企业信息和应用的入口。
(摘自JSR168规范文档)
portlet 与 servlet 的关系
Portlet 和 Servlet 算是兄弟有那么一点点相似却又有那么一点点不同,因为 Servlet 和 Portlet 不尽然相同,所以研究小組決定将 portlets 定义成为一个新的组件,因此定义了 portlets 一个新的并且明确的界面与行为。为了尽可能与现有的 servlet 结合达到重复使用的目的,portlet 的规范利用了 servlet 的规范,许多观念都很相似的,结合 portlets、servlets 及 jsp 在同一个网站系统中,我们称为 portlet application 。在同一个 portlet application 中,他们将分享同一个 classloader,context 及 session。
1) Portlet 和 Servlet 的相似之处
@ portlets 也是 Java 技术的 web 组件
@ portlets 也是有特定的 container 在管理
@ portlets 可以动态产生各种内容
@ portlets 的生命周期由 container 所管理
@ portlets 和客户端的互动是通过 request/response 的机制
2) Portlet 和 Servlet 也有一些不同
@ portlets 只产生 markup 信息片段,不是完整的网页文件。而 Portal 会将所有的 Portlet markup 信息片 段放到一个完整的 Portal 网页。
@ portlets 不会和 URL 有直接的关系
@ 客户端必须通过 portal 系统才能和 portlets 互动
@ portlets 有一些定义好的 request 处理,action request 以及 render request。
@ portlets 默认定义 portlet modes 及窗口状态可以指出在网页中该 portlet 的哪个功能正在执行及现在的 状态。
@ portlets 可以在同一个 portal 网页之中存在多个。
3) Portlet 有一些附加的功能是 Servlet 所没有的
@ Portlets 能够存取及储存永久配置文件及定制资料。
@ portlets 可以存取使用者数据
@ portlets 具有 URL 的重写功能在文件中去动态建立连结,允许 portal server 不用去知道如何在网页的片 段之中建立连结及动作。
@ portlets 可以储存临时性的数据在 portlet session 之中,拥有两个不同的范围:
application-wide scope 及 portlet private scope 。
4) Portlet 不具有一些功能, 但是 Servlet 却有提供
@ servlet 具有设置輸出的文字编码( character set encoding)方式
@ servlet 可以设置 HTTP 输出的 header
@ servlet 才能夠接收客户对于 portal 发出的 URL 请求
基于Portal开发项目的优势
1、可以与以后新开发的或已集成到Portal中的企业应用实现无缝集成。
2、可以分享Portal服务器和Portlet容器提供的种种功能。这要视Portal服务器提供商而定。
3、由于Portlet已规范化(JSR168),所以应用中开发的Portlet可以部署在不同的Portal服务器上。
分享到:
相关推荐
JSR 168,全称为JavaTM Standardization Request for the Java Portlet规范,是Java Community Process(JCP)提出的一个标准,旨在统一和促进portlet之间的互操作性。该规范由IBM和Sun共同主导,并得到了众多业界...
JSR168和JSR268是两个与Java Portal技术相关的标准,它们主要涉及如何创建和管理可重用的、模块化的Web内容组件,这些组件可以在门户应用中集成和展示。 JSR168,全称为“portlet API 1.0”,于2003年发布,是...
总结来说,Apache Pluto Portal的学习需要掌握portlet的基本概念,理解portlet与servlet的差异,以及JSR168和JSR286带来的新特性。此外,深入了解portal、portlet和portlet容器的关系对于开发和部署portlet应用程序...
**Portlet 1.0 / JSR 168 历史回顾:** - **启动时间:**2002年1月29日。 - **发布日期:**2003年10月27日。 - **领导者:**由Sun和IBM共同主导。 - **参考实现:**Apache Pluto。 - **核心功能:**定义了一套API,...
JSR168是Java Community Process (JCP)发布的一项标准,全称为“portlet API specification”,它定义了如何在Web应用程序中创建可重用、可组合的portlet组件。PORLET是这一标准中的术语,指的是在门户服务器上运行...
- 标准Portlet API是由Java Community Process (JCP)制定的JSR 168和JSR 286标准的一部分,它提供了一组通用接口和类,用于开发和部署Portlet。 - IBM Portlet API则是IBM为了增强Websphere Portal的功能而提供的...
【标题】"liferay-portal文档集合"是一个关于Liferay Portal的综合资源包,其中包含了对JSR-168规范的深入解析、Liferay Portal数据库结构的详细说明以及权限管理的相关文档。这些资料对于理解并操作Liferay Portal...
- **JSR 168 规范**:[http://jcp.org/en/jsr/detail?id=168](http://jcp.org/en/jsr/detail?id=168) - **JSR 286 规范**:[http://jcp.org/en/jsr/detail?id=286](http://jcp.org/en/jsr/detail?id=286) ### 问题...
JSR 168 (Java Specification Request 168) 是一个由 JCP 组织发布的规范,用于定义 Portlet 和 Portal 之间的交互标准。该规范的主要目的是实现不同 Portal 和 Portlet 之间的互操作性,使得遵循该规范的 Portlet ...
JSR168由JCP维护,定义了Portlet的API,使得开发者可以创建能够在不同Portal服务器上运行的Portlet。2003年发布的1.0版本标志着这一规范的成熟。 5. WebSphere Portal WebSphere Portal是IBM提供的企业级Portal...
这个标准是portlet开发的重要里程碑,它扩展了JSR168(portlet 1.0)的特性,为构建企业级的Web门户提供了更强大的功能和更灵活的交互方式。 Portlet是一种可重用的Web组件,它能够嵌入到门户环境中,提供特定的...
其中,**Java Portlet Specification (JSR168)** 是重要的规范之一,由JCP组织维护。JSR168定义了Portlet的接口和生命周期,使得开发的Portlet可以在支持该规范的任何Portal服务器上运行。此外,还有**Web Services ...
为了实现不同Portal产品之间的兼容性,Java Community Process(JCP)发布了JSR168,即Portlet Specification V1.0。遵循这一规范的Portlet可以在任何兼容的Portal服务器上部署运行,促进了跨平台的Portlet开发。...
2. **Jetspeed Portal**: Jetspeed是基于Java的开源门户平台,它实现了JSR-168(Portlet API 1.0)和JSR-286(Portlet API 2.0)标准。Jetspeed提供了一套完整的框架,用于构建和管理复杂的Web门户应用,包括用户...
1. **Java Portlet Specification**:这是由Java Community Process (JCP)组织维护的标准,也被称为JSR 168。该规范规定了如何开发可移植的Portlet应用,并确保这些应用能够在支持该规范的不同Portal服务器上运行。...