Portal技术介绍

Portal是web应用发展的一个重要趋势,目前几乎所有大的软件厂商都有自己的Portal产品。并且Portal技术已经形成规范。本文对Portal技术和产品进行了分析,目的是为公司产品的规划提供参考。
1 Portal的概念
根据(JSR (Java Specification Request) 168)的定义,Portal是基于web的应用,它主要作为信息系统的展现层,提供个性化、统一登录和内容整合的功能。整合就是将不同来源的信息集中展现在一张网页上。一个Portal可以具有很多个性化参数,用来调整为用户定制的内容。对于不同用户,一个Portal网页可能由多组不同的页面构件-portlet组成,portlet为不同用户生成不同的定制内容。Portal网页的内容如图1所示。Portal网页中的Portlet窗口一般有常规、最大化和最小化三种状态,窗口的状态可以由用户调整。
从上面的定义可以看出,Portal的核心思想是网页个性化,它有两个含义,一是为不同的网页访问者匹配不同的内容,二是为不同的网页访问者提供不同的portlet应用服务,并在所能提供服务的基础上根据访问者的不同相应改变处理流程。
1.1Portal的分类
最初的Portal指的是像YahooLycos这样的Internet门户网站。这些门户网站为用户提供了检索、分类和类似"My Yahoo!"的个性化定制服务,目的是帮助用户更快地找到自己所需要的信息。这样的Portal被称为Public Portal即面向公众的信息门户。
随着web应用的发展,又出现了Vertical Portal和Enterprise Information Portal。Vertical Portal即行业门户,目的是帮助某一行业的商业人员和技术人员找到自已需要的特定行业的商业信息和技术信息。Enterprise Information Portal(EIP)即企业信息门户。目的是帮助企业用户及员工通过统一入口找到分布于企业的各种信息。与Public Portal相似,Vertical Portal和EIP也同样提供了检索、分类和个性化定制服务。
1.2 Portal的价值
从不同的角度出发,对不同的应用来说,Portal所体现的价值是不同的。
首先作为一个网络用户,基于Portal的网站能够为我们更有效的提供信息和服务。虽然目前的Internet为我们提供了大量的信息,但这些信息非常分散并且重复很多。因此有必要建立以行业或专业领域为中心的网站,集中提供某个行业或领域的信息和服务。
对于企业内网系统来说,如果通过Portal与外网集成,将减少网络系统开发和维护的成本。通过企业内部文档和资料的内容管理,可以加强知识的积累和共享。通过建立公告信息,记事本、聊天室等协同工作的工具,可以帮助员工提高工作效率。通过EIP与企业旧有信息系统(如ERP、SCM、POS)的运作结合,可以强化企业的运作效率。
2 Portal厂商及Portlet规范 2.1国外厂商
在EIP发展的后面阶段,随着EIP与应用集成的发展,WEB应用服务器和数据库服务器的提供者、CRM 和ERP的提供者、EAI厂商也加入到EIP厂商的行列。服务器厂商包括IBM,Oracle,BEA,Sybase 以及微软。CRM 和ERP厂商包括BroadVision,Vignette,SAP和PeopleSoft等。EAI厂商象Tibco和WebMethods等。
随着数据仓库工具的普及,商业智能供应商,例如Connos,Business Objects以及Brio等也加入到Portal厂商的行列。它们都提供了集成分析报表与Portal的工具。
2.2 开放源代码项目
除了上面提到的国内外厂商外,一些开放源代码组织也提供了基于JAVA平台的Portal解决方案,这些开源产品有JetSpeed、Jboss nukes、Liferay等。
JetSpeed是Apache组织的一个Portal开源项目, IBM早期的WebSphere Portal Server就是基于JetSpeed进行二次开发的。jcorporate的Expresso(一个基于开放标准的J2EE体系框架)也采用了JetSpeed。
Jboss nukes是基于postnuke、phpnuke等内容管理系统开发的java平台的内容管理系统。由于使用了java,其在响应速度和系统集成能力等方面都要比用和php开发的postnuke、phpnuke等系统出色。
Liferay的portlet配置文件可以自由地动态扩展,并使用Apahce Lucene实现全文检索功能。
3 Portal技术分析 3.1 Portlet
JSR-168 Portlet Specifications对Portlet的定义如下:
portlet是基于web的Java组件。它由portlet容器管理,能够处理请求,产生动态内容。portlet被Portal用作为可插拔的用户接口组件,为信息系统提供展现。
由portlet动态产生的内容也被叫做fragment。fragment是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个portlet产生的内容和其他的portlet产生的内容聚集在一起形成Portal网页。
3.2 Portlet 容器
portlet在portlet容器中运行,portlet容器为portlet提供必需的运行环境。portlet容器包含portlet(组件)并且管理它们的生命周期,它也为portlet的参数设置提供持久化的存储。
portlet 容器不是一个类似于 servlet 容器的独立容器。它是在 servlet 容器上通过扩展方式实现的,并重用 servlet 容器提供的功能。
3.3 工作原理
在图8中,portlet的生命周期由portlet容器管理。web端通过由Portal执行的请求/应答机制与portlet进行交互。通常,用户与由portlet产生的内容进行交互,比如通过单击按钮或链接,Portal接收到portlet窗口的动作,随后将portlet产生的内容送至用户操作的portlet窗口。 对不同的用户,一个portlet产生的内容可能会大不一样,这与用户对portlet的设置有关。
portlet容器接收来自Portal的请求并运行它管理的portlet执行请求。portlet容器并不负责聚集portlet产生的内容,处理内容聚集是Portal的职责。Portal和Portlet容器能够被作为单一的应用组件组合在一起,也可以作为一个Portal应用的2个分离的组件。
图8 Portal原理
下面是一个典型的事件序列
一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求,Portal接收到请求。
Portal判断请求是否包含与组成门户网站网页的portlet有关的动作。
如果存在与某个portlet相关的动作,Portal请求portlet容器调用portlet处理动作。
Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段。
Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。
Portal技术介绍的更多相关文章
- Portal技术综述
从上世纪八十年代起,随着个人计算机(PC)的发展,企事业单位逐步建立起计算机应用系统来处理传统事务.从简单的单机应用逐步发展到局域网系统,进而建立跨地区垮国家的广域网系统.从单纯的以科学计算和数据管理 ...
- .Net环境下的缓存技术介绍 (转)
.Net环境下的缓存技术介绍 (转) 摘要:介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 ...
- RAID技术介绍
RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAI ...
- .Net环境下的缓存技术介绍
.Net环境下的缓存技术介绍 摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 1.1 ...
- 网络存储技术介绍(1) ( based on zt)
最近由于某同学微信发了一些网络存储的文章,开始感兴趣,稍微收集了一些 一. 网络存储技术 http://ask.zol.com.cn/q/187044.html (yxr:很老的技术介绍吧) 网络 ...
- (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍
首页 视界智尚 算法技术 每日技术 来打我呀 注册 SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...
- VPS技术介绍以及分析
VPS的全称为Virtual Private Server,叫做虚拟专用服务器(Godaddy称之为Virtual Dedicated Server,VDS).就是利用各种虚拟化手段把单台物理服务器虚 ...
- 转:Android 2.3 代码混淆proguard技术介绍
ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...
- WPF开发技术介绍
本月做了一个小讲座,主要是WPF的开发技术介绍,由于是上班时间,去听的人不多,但对于自己来说至少是又巩固了Winform的知识,抽时间写一篇文章,在此分享给大家,有什么宝贵建议大家也可以提给我,谢谢. ...
随机推荐
- 警惕P2B模式
大家都知道P2P是什么,估计也有很多人了解P2B的意思,这里也不多做解释,但是为什么要警惕P2B,这里我要做详细说明,希望能给大家一个参考. 首先我们要把P2B分成两种,一种是针对大型企业, ...
- HDOJ 1163 Eddy's digital Roots(九余数定理的应用)
Problem Description The digital root of a positive integer is found by summing the digits of the int ...
- 谈B2B电商平台与大数据
数据为王,服务为本——谈B2B电商平台与大数据 2013-06-27 11:10:41 作者:B2B行业资讯 标签: 大数据 ...
- vs2010 sp1 创建silverlight 时,提示我 “在创建silverlight项目之前,您需要安装最新的silverlight Developer运行时
---恢复内容开始--- Silverlight 5 Developer Rumtime (32bit): http://go.microsoft.com/fwlink/?LinkId=229323 ...
- 红领:挺进高端 青岛财经日报-htmlmainVerName
红领:挺进高端 青岛财经日报-htmlmainVerName 红领:挺进高端
- Windows下oracle打补丁步骤
1.Oracle官网下载对应的补丁文件(需要oracle支持账号才能下载) 2.设置ORACLE_HOME set oracle_home=F:\oracle\product\11.2.0\dbhom ...
- JAXB--学习2
一.Jaxb处理java对象和xml之间转换常用的annotation有: @XmlType @XmlElement @XmlRootElement @XmlAttribute @XmlAccesso ...
- mac下Apache添加限速模块mod_bw
官方文档: Apache2 - Mod_bw v0.7 Author : Ivan Barrera A. (Bruce) HomePage : Http://Ivn.cl/apache & h ...
- JS~模拟表单在新窗口打开,避免广告拦截
说起广告拦截,这应该是浏览器的一个特性,它会将window.open产生的窗口默认为一个广告,将它进行拦截,但有时,这不是我们所希望的,有时,我们就是需要它在客户端的浏览器上弹出一个新窗口,以展示数据 ...
- 单源最短路径(dijkstra算法)php实现
做一个医学项目,当中在病例评分时会用到单源最短路径的算法.单源最短路径的dijkstra算法的思路例如以下: 如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点.那么( ...