关于Portal

来源:互联网 发布:动易cms安装教程 编辑:程序博客网 时间:2024/04/30 00:31
关于Portal

什么是Portal?Portal就是门户。

Portal包括:
(1) Portal Server。『Portal Server是基于WEB的应用程序, 它将不同资源进行整合并展现给用户。有些文章直接把Portal Server叫做Portal,请注意。』
(2) Portlet Container。『Portlet Container用来管理Portlet的生命周期并且提供其运行所需要的必要环境. 并且为Portlet Preferences提供持久性(Persistent)存取服务.但是其不支持内容的Aggregation. Aggregation由Portal组件提供.』
(3) Portlet。『Portlet 是以 Java 技术为技术的 web 组件,可以被容器管理,可以产生动态内容。处理请求并动态返回页面, 可以做为Portal 的可拔插的用户界面组件.』

我们需要Portal的目的就是要做到系统功能与模块的可配置。同时要开源并符合标准。能与其他的系统进行结合比如Struts。

基于这个目标,我们来寻找可用的Portal。

说Portal,就不能不提JSR#168 Portlet。

JSR 是由 JCP ( www.jcp.org ) 这个 Java 组织所定义出来的规范。JSR#168规范就是一个关于Portlet的规范 ——Portlet Spec 1.0 。这个规范推出于去年的10月底。既然有了规范,理所当然的之后的产品就应该按照这个规范来制作。

目前比较主流的Portal产品:
Apache Jetspeed(http://jakarta.apache.org/jetspeed/)
Liferay(http://www.liferay.com)
EXOportal(http://cvs.sf.net/viewcvs.py/exo/ExoPortal/)
Pluto(http://jakarta.apache.org/pluto)
BEA WebLogic Portal (http://edocs.bea.com/wlp/docs81/javadoc/com/bea/portal/model/Portlet.html )
IBM Websphere Portal (http://www.software.ibm.com/wsdd/zones/portal/ )
Oracle Portal Developer Kit (http://portalstudio.oracle.com/)
jfoxportal(http://www.huihoo.org/jfox/jfoxportal/index.html 刚提出草案,不过是国内的。)

Jetspeed是Apache的一个开源项目,现在的最高版本是1.4。WebSphere的Portal就是基于这个系统开发的,但显然二次修改的力度很大。也是应用相对比较多的系统。
但问题是,Jetspeed1.x开发时,标准并没有出台,于是Jetspeed里有很多自己定义的规范,而这些规范显然是应该被废除的。于是这个项目在1.4之后就停止了开发,转而开发支持JSR#168标准的2.0版本。但这个版本的出台目前还遥遥无期。

Apache在JSR#168推出以后,又有了一个新的Portal项目,便是Pluto。Pluto 一个Open Source项目, 是基于Portlet Specs的一个 Portlet Container 的实现. 它也提供了Sample Portal实现.但是功能相对简单。目前开发中。据说从CVS树上下载的版本已经有了安装程序,运行还算正常。但从官方网站来看,还没有推出Alpha版的征兆。倒是Eclipse好像有了Pluto的插件。有文章专门强调:“请记住Pluto只是一个Portlet Container的实现, 不是一个Portal的实现. 如果你需要功能更为强大的Portal,可以使用JetSpeed , 它同样也是Apache的一个Open Source Project. ”有人预言Jetspeed2.0就会基于Pluto来研发。

Liferay 代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。 但Liferay的缺点是它缺乏一个简单清晰可拓展的架构设计,portlet设计显得比较凌乱,进行二次开发有一定的难度。这一点我觉得是个比较致命的弱点,但是有多严重?没有开发,没有发言权。而且这个Based on Jboss。

EXOportal同样Based on Jboss。