Portal 的功能  

在JSR168规范中只定义了Portal所应具有的功能的一个最小集合。然而在现实场景中,不论是开源的portal框架实现,还是商业Portal产品都在标准的基础上作了扩展。总的说来,一般Portal可能会包含以下功能,见表3.1:

功能 描述
内容聚合 能够把各种不同应用的内容聚合到一个统一的页面呈现给用户。
基于角色的视图定制 能够基于组织机构中不同的用户的角色生成不同的视图内容。例如,人力资源总监和财务经理登录后所看到的页面也是不同的。
个性化 用户能够根据个人喜好定制符合自己风格的页面和内容。例如,小王喜欢淡蓝色的格调,并且投资股票,则他可以选择一个淡蓝色风格的主题,并且使用一个已经定制好的股票portlet,允许小王设定此portlet的自动刷新时间和自选股等。
单点登录 只需登录Portal服务器一次就可以访问所有其它的应用,这意味着你无需再分别登录每一个应用。
协作功能 一些Portal框架可能会提供复杂的portlets用于聊天,应用程序共享,白板,在线会议,论坛等。
国际化 根据locale的不同呈现不同国家的文字。
工作流 这里主要指支持跨越不同数据源和应用的工作流。
支持不同的客户端 包括主流web浏览器,PDA等。

 

部分开源Portal 框架的分析和比较  

开源框架中我实际接触到的两个开源框架就Liferay和JetSpeed,而且时间不长,以我的经验很难做出客观的评价。在网上查了一些资料,有一份比较权威的报告给出了一些评价标准和测试数据,应该能够比较客观的给出一些结论。

评价标准  

每 个开源框架都有其优点和缺点,如果没有一套全面的标准来评价,很难说清楚哪个框架更好。其实从做项目的观点出发,没有最好的技术,只有最适合的技术。但我 们一般都会在选择某项技术的时候,尽可能的追求功能完善,易于开发和扩展,文档全面等等。下面是这份权威资料给出的标准:

1) 遵循JSR168规范

这是这些标准中最重要的一个要求,对规范支持得好,意味着做到很好的重用和别的Portal产品的交互等。

2) 便于安装

包括数据库的配置以及在web应用服务器中的发布等。

3) 文档

是否有详细的安装文档,开发文档和用户手册等。

4) 在线支持

包括开发社区,Wiki,邮件列表等,当使用Portal产品遇到问题时是否能快捷的寻找到解决问题的方法。

5) Potal 管理

包括管理节目是否友好,方便,易于添加用户管理,角色管理,分类管理,布局,皮肤管理,增加和删除portlets等等。

6) portlet 资源库

一般portal框架都能附带的发布一些可被重用的portlets。例如邮件portlet,日程表portlet,搜索portlet等等。这里我们主要的评价标准是这些portlets是否能被很好的复用。

7) 性能

包括portal框架的启动时间,portlet的装载时间,数据库的访问时间等等。

8) 安全

很多portal框架都有默认的安全机制,但默认的认证和授权机制远远不能满足某些大项目的要求。在这里,主要考虑portal框架是否能够很好的和JAAS,SSO,SSL等安全技术整合以及整合的难易程度等。

9) 技术

不同的portal框架基于不同的技术开发,同时可能要求portlet开发人员也使用同样的技术,例如Struts,JSF,Spring,Hibernate,Tiles,EJB以及Web services等技术。

10) Portal 特性

通常情况下Portal框架除了作为一个portal/portlet容器外,还附带一些很有用的特性,例如内容管理系统(CMS),工作流(Workflow),管理工具,监控工具等。

11) 服务器兼容性

此标准主要检验portal框架是否能够很好的运行在大部分的服务器中,包括Tomcat,JBoss,Weblogic,Websphere等主力的服务器。

12) 对The Web Services for Remote Portlets(WSRP)规范的支持。 选中的开源系统框架   在这份标准中,被选中来作评价和测试的框架一般都是在某个行业使用比较广泛或当前比较流行的开源框架,但可能也有漏掉一些相当不错的开源框架,例如Aapche JetSpeed。下面列出被选中的框架及其被选中的简短理由: l         Sakai 1.5(广泛的用于Virtual Research Environment(VRE)领域) l         uPortal(广泛的用于Academic Institutes work领域) l         GridSphere(第一个支持JSR168规范的开源portal框架) l         eXo平台(当前非常流行) l         Liferay(当前非常流行,良好的用户界面以及丰富的内建portlets) l         StringBeans(非常易用) 对于每个portal框架,我将不再做详细介绍,有兴趣的可以去它们的网站或google一下。 下面将基于4.1给出的评价标准,仔细的给每个开源Portal框架打分,1~5分,其中5分是满分,最后统计总分,就是我们评价的最优开源Portal框架,见表4.3.1:

标准 Portal框架
  Sakai 1.5 uPortal GridSphere eXo平台 Liferay StringBeans
遵循JSR168规范 0 5 5 5 5 5
便于安装 3 5 5 5 5 5
文档 2 2 4 3 3 5
在线支持 3 3 4 4 3 5
Potal管理 3 5 4 5 4 5
自定义 4 3 4 3 5 4
portlet资源库 4 3 4 3 5 3
性能 2 4 3 4 3 3
安全 3 4 3 4 4 4
技术 3 3 4 5 4 3
Portal特性 2 2 3 5 4 2
服务器兼容性 3 3 3 4 5 3
WSRP标准 0 3 0 3 3 0
合计 35 49 51 57 58 51

基于上表的评分,每个项目可以基于自己的特性和对各个Portal框架的了解程度,酌情的调整打分,以选择最适合自己项目的Portal框架。