一、
网上关于几个开源
portal
框架的一些评测
1
、评测的一些标准
每个开源框架都有其优点和缺点,如果没有一套全面的标准来评价,很难说清楚哪个框架更好。其实从做项目的观点出发,没有最好的技
术,只有最适合的技术。但我们一般都会在选择某项技术的时候,尽可能的追求功能完善,易于开发和扩展,文档全面等等。下面是一些相关的标准:
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)
规
范的支持。
2
、被评测的框架:
Sakai 1.5
(广泛的用于
Virtual Research
Environment(VRE)
领域)
uPortal
(广泛的用于
Academic Institutes
work
领域)
GridSphere
(第一个支持
JSR168
规
范的开源
portal
框架)
eXo
平台(当前非常流行)
Liferay
(当前非常流行,良好的用户界面以及丰富的内建
portlets
)
StringBeans
(非常易用)
下面将基于上面的评价标准,仔细的给每个开源
Portal
框架打分,
1~5
分,
其中
5
分是满分,最后统计总分,见表:
标准
|
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
|
二、
Pluto
,
Liferay
,
eXo,Jetspeed
四
种开源
Portal
的介绍和分析,有助于对具体项目选择合适的开发平台。
(
1
)
Pluto
2003
年
10
月
JSR168
规
范
1.0
正式公布后,
Jakarta Apache
就
开始实施
Pluto
计划(冥王星计划),最终开发出该规范的一个参考实现(
Reference
Implementation
),即
Pluto
。
Pluto
的
1.0.1
-rc2
版
与
2004
年
12
月发布。
Pluto
实现基于
JSR168
的一个
Portlet
Container
,相当于为开发者提供了一个运行
portlets
的
工作平台。
Pluto
本身也提供了一个简单的
Portal
模
块,该模块仅仅是为了满足
Portlet
容器和
JSR 168
的
需要而写的,因而显得非常简单,提供的实用的
Portlet
也非常少。从某种意义上说
Pluto
更
像是一个
Portlet Container
,作为一个实用的
Portal
开
发框架尚需要更强大的支持。但新版本的
Pluto
仍没有推出。对于
Pluto
的
应用开发,
Apache
更推荐使用
Jetspeed
项
目框架。
尽管
Pluto
作为一个完整的
Portal
应
用还非常欠缺。但不少有影响力的
Portal
项目使用
Pluto
作
为
Portlet Container
。这些项目包括:
Jetspeed
、
Cocoon
uPortal
、
Jahia
等。由此可见
Pluto
的
重要性。从开发者和学习者的角度看,
Pluto
的意义还在于为开发者和学习者提供了一个深入了解
Portlet
Container
的简洁的参考实例。
(
2
)
Liferay
Liferay
(支持
JSR168
)代表了完整的
J2EE
应
用
,最高版本是
2005
年
1
月
推出的
Professional 3.2.0
。它的主要优点有:
(
1
)使用第三放的开源项目,如
Hibernate
等。
特别是前台界面部分使用了
Struts
技术;
(
2
)支持包括中文在内的多种语言;
(
3
)支持较多的先进技术,如
Web
Services
、
EJB, JMS, SOAP, XML
等;
Liferay
的缺点是它缺乏一个简单清晰可拓展的架构设计,整个架构比较复杂且庞大;
Struts1.1
本
身并不支持
JSR168
,所以
Liferay
在
实现诸如上下文共享等问题上显得十分笨重且没有从根本上解决这些问题;
portlet
设计也显得比
较凌乱。此外,如果你的门户系统准备应用于商业用途,你需要购买
License
。基于它进行二次开
发比较困难。
(
3
)
eXo
eXo(
支持
JSR168)
基于
JSF
的
Portal
实
现。最新版本是
2004
年
10
月发布的
1.0RC1
版。
主要优点包括:
(
1
)
由
AOP
(
AspectJ
)
实现的内容管理系统,极大提高了内容管理性能;
(
2
)
基于
Pico
Container
的
Portlet Container
,
Pico
是
一个著名的
IoC3
轻量级容器。同时也实现了上下文共享,二次开发的流程比较清晰;
(
3
)
使用
Struts
框
架技术;
(
4
)
提供工作流技术服务(
Workflow
service
)。
(
5
)
提供了很多交流工具,通过
XML
可
以为结构化的信息轻易地创建视图;
由上可见
eXo
采用了诸多先进技术,但存在不少缺点。主要缺
点:由于
Portal Server
本身的数据是使用
xmldb
来
进行处理,保存到数据库的数据都是乱码而且它所有默认的平台字符集都是
ISO-8859_1
。缺乏
中文的充分支持,对于中文门户的开发并没有优势;由于
JSF
是重量级的表现层框架,使得
exo
的
二次开发工作量比较大;对于商业
Portal
应用开发需要购买
License
。
总体开发难度较大。
(4) Liferay
与
exo
比较:
liferay
的表现层是基于
Struts
,
而
exo
是基于
jsf
。
struts1.1
并
不能真正支持
jsr168
,虽然
liferay
对
此进行了一些改造,但是实际上并不能真正支持
jsr168
规范(如上下文的共享,在
liferay
里
的机制很复杂,而且也很牵强,并不能从根本上实现上下文共享和
wsrp
规范),而
jsf
本
是就是支持
jsr168
规范的框架,实现了应用之间的上下文共享,所以没有这方面的问题。此外
liferay
的
架构比较混乱,基于它进行二次开发很困难(我以前做过
liferay
的二次开发工作,对于在这方面
有问题的朋友可以和我聊聊)。
exo
由于采用了
picoContainer
,
也实现了上下文共享,所以二次开发的流程很清晰。不过由于
jsf
是重量级的表现层框架,使得
exo
的
二次开发工作量比较大。
exo
的中文问题没有解决,主要原因有两个:
Portal
Server
本身的数据是使用
xmldb
来进行处理,保存到数据库的
数据都是乱码;它所有默认的平台字符集都是
ISO-8859_1
。你可以把区域的选项设成是
sp
(西
班牙??)等区域,
cn
是不可用的,这样平台的字符集就是
utf-8
了。
exo
目标设计很大,其中使用
PicoContainer
管
理其
Service
,值得借鉴。使用
PicoContainer
的
一个麻烦处是系统启动时将配置文件的
service
都载入,
exo
采
取的是捆绑
JBoss
的
war
部署包,也就
是说,
war
包一旦在
JBoss
部署,将启
动
PicoCOntainer
的初始化配置,个人觉得这样兼容性不够。
(5) JetSpeed
JetSpeed
是
Apache
组织的开源
Portal
项
目。
Jetspeed
目前有两个版本可供选择
1.X
和
2.0
版
本。
Jetspeed1.X
出现得比较早,但第一个较为成熟的版本发布是
1.4
。
此后
1.X
不断推出新版本。但
Jetspeed1.X
都
不支持
JSR168
。当
JSR168
在
2003
年
发布后,
Apche
开始开发
Jetspeed2
,
提供对
JSR168
的全面支持。
下表是
Jetspeed
重要版本的发布日期:
Jetspeed
的重要版本
发
布日期
Jetspeed-1.4b2 2002
年
12
月
Jetspeed-1.5 2004
年
4
月
Jetspeed-2.0-M1 2004
年
12
月
Jetspeed-2.0-M2 2005
年
4
月
Jetspeed1.X
基于
Turbine
框架开发,它提供了丰富的
Portal
技
术功能。主要优点有:
XML
文件注册
Portlet
,
便于管理;图形化的部署和卸载;对中文的良好支持等。值得注意的是
IBM
早期的
WebSphere
Portal Server
就是在
JetSpeed1.X
上进行二次
开发的。
Jetspeed2.0
在
1.X
基
础上进行了较大的改动,功能更加丰富,完全遵循
JSR
标准。
配置方法,不同的版本的配置可能有变化,如不成功,可以自行察看文档。
Pulto
在
Tomcat
下的安装配置方法:
(
1
)
从
http://portals.apache.org/pluto/mirrors.cgi
下
载最新的二进制版本安装文件
(
2
)
执行
%pluto%/bin/install
,
将它安装到
Tomcat
目录下即可
(
3
)
在浏览器中输入:
http://localhost:8080/pluto/portal
,
运行
Pluto
Liferay Professional
在
Tomcat
下
的安装配置方法:
(
1
)
从
http://www.liferay.com/downloads/index.jsp
下
载
Liferay Professional
安装文件;
(
2
)
解压
ZIP
包
到某个目录下
(
3
)
若下载
Tomcat
版
本的
Liferay
安装文件,则不需再装
Tomcat
,
直接启动
bin
目录下的
startup.bat
文
件。
(
4
)
在浏览器中输入
http://localhost/
运
行
Liferay Professional
。
eXo Platform
在
Tomcat
下的安装配置方
法:
(
1
)
从
http://www.exoplatform.com/portal/faces/public/exo
下
载
eXo Platform
的安装包。
(
2
)
解压
ZIP
包
到某个目录下
(
3
)
若下载
Tomcat
版
本的
eXo
安装文件,则不需再装
Tomcat
,
直接启动
bin
目录下的
startup.bat
文
件。
(
4
)
在浏览器中输入
http://localhost/
运
行
eXo Platform.
Jetspeed2
在
Tomcat
下的安装配置方法:
(
1
)
从
http://www.apache.org/dist/portals/jetspeed-2/
下
载
Jetspeed2 M1
或
M2
版本安装
包。
(
2
)
若是安装包中已经捆绑
Tomcat
,
解压即可。若安装包不含
Tomcat
,先安装
Tomcat
,
然后将安装包解压到
Tomcat
目录,并覆盖相关文件即可。
(
3
)
安装要注意的问题有:
Jetspeed2M1
版
本由于
Bug
无法安装
Tomcat5.5
上
(此
BUG
见
http://issues.apache.org/jira/browse/JS2-187
);
Jetspeed2
必
须安装在
Tomcat5.0.28
以上版本上,否则低版本由于
JAAS
问
题无法登陆;
(
4
)
启动
jetspeed-database
目
录下的
start-database.bat
,启动数据库;
(
5
)
启动
Tomcat
;
(
6
)
在浏览器中输入
http://localhost:8080/jetspeed/portal
运
行
Jetspeed
;
分享到:
相关推荐
在开源Portal产品中,有几款产品在市场上表现突出: 1. **JBoss Portal**:作为JBoss JEMS的一部分,它完全支持JSR-168,并且提供内容管理功能,支持Java Server Faces (JSF)、MyFaces和Spring等开发技术。JBoss ...
在OpenWRT上实现Portal认证主要可以通过以下几种方案: 1. chillispot:这是一个比较早期的解决方案,但因为原维护作者停止更新,现在由***接管继续开发。它虽然功能基础,但曾经是OpenWRT上常见的Portal认证解决...
**Secure Portal 开源项目详解** Secure Portal 是一个开源项目,主要设计目的是为了帮助用户了解系统中的活动情况。这个工具特别适合那些关注系统安全、需要实时监控系统动态的人员。Sportal 通过提供一个直观的...
- **ArgoUML**:一种开源的UML建模工具。 #### 7. Java质量保证(Quality Assurance) 保证软件质量是开发过程中的重要一环。 - **P2:代码分析工具** - **PMD/CheckStyle**:用于代码静态分析,提高代码质量。...
作为开源软件,Cold Portal提供了以下几个主要优势: 1. **透明度与安全性**:源代码公开,意味着任何人都可以检查代码,找出潜在的安全漏洞,并提供补丁。 2. **成本效益**:开源软件通常是免费的,减少了企业...
根据给定文件的描述部分,我们可以了解到几种用于访问门户的主要技术: 1. **SOAP (Simple Object Access Protocol)**:一种轻量级协议,用于交换结构化的和固有的类型信息。它主要基于XML,被广泛应用于Web服务...
5. **MySQL**:这是一种流行的开源关系型数据库管理系统,用于存储和管理数据。 根据这些标签,我们可以推测"adminportal"项目是一个使用Spring Boot作为基础框架,Thymeleaf负责视图渲染,JPA处理数据库交互,运行...
《My PHP Portal:开源Web门户建设的利器》 在当今互联网世界中,开源软件已经成为推动技术发展的重要力量,尤其在Web开发领域,开源项目更是如雨后春笋般涌现。"My PHP Portal"就是这样一个开源的Web门户系统,它...
在使用ViperWeb Portal System时,用户需要注意以下几点: 1. 确保服务器环境满足PHP Nuke和ViperWeb Portal System的最低要求,包括PHP版本、MySQL数据库支持等。 2. 在安装前,备份任何重要数据,以防安装过程中...
为了更好地理解和评估市场上不同开源门户解决方案的特点与差异,本文将从多个维度对当前流行的几种门户产品进行综合比较分析。这对于那些正在撰写相关论文或进行产品选型的研究人员来说具有重要的参考价值。 #### ...
1. **ZK框架**:ZK是一个开源的Java Web UI框架,它提供了一种声明式的方式来构建富互联网应用程序(RIA)。ZK的主要特点是组件化和事件驱动,使得开发者可以像操作桌面应用一样处理Web应用,无需关注底层的Ajax技术...
Liferay Portal是一种开源的企业门户解决方案,支持使用Java语言构建企业内部网(intranets)和其他协作平台。根据提供的内容片段,我们可以了解到一些关于Liferay Portal书籍的具体信息,这本书是外国人编写的,受...
"CCCP Common Clan Portal"是一个开源项目,专为游戏氏族设计的网站应用程序。这个项目虽然现在已经不活跃,但它在过去的几年里为游戏社区提供了一套功能丰富的平台。它的核心特性包括一个强大的新闻管理系统,方便...
JBoss Portal是一款开源的企业级门户解决方案,它允许组织创建、管理和部署具有高度可定制和可扩展性的Web应用程序。 在JBoss Portal中,你可以发现以下几个核心知识点: 1. **门户架构**:JBoss Portal基于...
kapcha是一款专为IT运营管理设计的开源工具套件,它旨在帮助用户构建一个全面的管理门户,以便统一处理来自不同网络、系统管理工具以及多种数据源的管理信息。这款工具的核心价值在于其开放源代码的特性,使得用户...
"Defend the Portal" 是一款基于Java编程语言开发的开源游戏。开源软件意味着其源代码对公众开放,允许用户查看、使用、修改和分发,这通常鼓励社区参与和协作,促进软件的持续改进和创新。 在Java中开发游戏是一项...
而MySQL则是一种开源、免费的关系型数据库管理系统,对于处理大量数据和高并发访问具有良好的性能表现,这使得它成为PHP开发的理想搭档。 Wap Portal Server v1.21 的核心功能可能包括以下几点: 1. **用户管理**:...
【标题】"Gamer's PHP portal-开源"是一款专为游戏爱好者设计的PHP门户网站源代码。这个项目不仅提供了一个互动的平台,供玩家获取游戏资讯、分享心得,还集成了丰富的功能,使得开发者和普通用户都能从中受益。其...
【开源项目-Microsoft-ApplicationInsights-Go.zip】是一个包含微软公司开发的开源项目——Application Insights的Go语言版本SDK的压缩包。Application Insights是微软Azure提供的一个强大的应用程序性能管理(APM)...
开发STM32的开源环境主要由以下几个部分组成:Eclipse IDE for C/C++ Developers、GNU ARM Eclipse Plug-in、Sourcery G++ Lite Edition for ARM、OpenOCD以及JLink调试器。下面将逐一介绍这些工具的下载与安装过程...