Portal介绍

来源:互联网 发布:手机触摸屏编程软件 编辑:程序博客网 时间:2024/05/29 16:29
什么是Portal?
Portal是一个基于web的应用程序,它主要提供个性化、单点登录、不同来源的内容整合以及存放信息系统的表示层。

Portal 的组成:
(1) Portal Server 
(2) Portlet Container 
(3) Portlet

Portal Server的定义
建立在HTTP Server上。负责接收HTTP请求,调用Portlet,并将Portlet产生的内容聚集到Portal页面返回给用户。(Portal Server有时简称Portal)

Portlet Container 的定义
Portal Container:管理Portlet的生命周期并且提供其运行所需要的必要环境。同时也提供Portlet相关信息的存储。一个Portlet container 接收到来自Portal 的请求后,接着将这个请求传递给存在Container 的Portlet 执行。Portlet Container 没有义务去组合Portlets 产生的信息內容,这个工作必须由Portal (即Portal Server)来处理。Portal 和Portlet Container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。

Portlet的定义
一个 Portlet 是以 Java 技术为技术的 Web 组件,由 Portlet Container 所管理,专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件,提供呈现层成为一个信息系统。

Portlets与Servlet的异同?
相同点
基于web应用的java技术
由特定的容器管理
动态生成内容
生命周期由容器进行管理
通过request/reponse进行交互

不同点
portlet只生成片段
portlet并不直接绑定到某一个URL上
portlet通过portal进行交互
portlet可以多次在同一个portal页面上同时出现

portlet优点
能访问到用户配置信息
能在不同的域中存储会话:应用程序级到私有级。

portlet与servlet的关系
前者能调用后者,并且能共享信息,包括:Attributes
portlet容器是servlet容器的扩展

portlet无法做到的事情
设置response的字符集编码
设置http header
获取客户端的request

一个Portal处理流程
1.  一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求;
2.  Portal(或称为Portal Server)接收到请求;
3.  Portal判断请求是否包含与组成门户网站网页的portlet有关的动作;
4.  如果存在与某个portlet相关的动作,Portal请求portlet容器调用portlet处理动作;
5.  Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段;
6.  Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。