`
hotboy10001000
  • 浏览: 21112 次
  • 性别: Icon_minigender_1
  • 来自: 中国
最近访客 更多访客>>
社区版块
存档分类
最新评论

几种开源Portal的简单介绍分析

阅读更多

(转)几种开源Portal的简单介绍分析

 

一、网上关于几个开源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;


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jljf_hh/archive/2008/05/23/2472483.aspx

分享到:
评论

相关推荐

    开放源码Portal产品介绍

    在开源Portal产品中,有几款产品在市场上表现突出: 1. **JBoss Portal**:作为JBoss JEMS的一部分,它完全支持JSR-168,并且提供内容管理功能,支持Java Server Faces (JSF)、MyFaces和Spring等开发技术。JBoss ...

    OpenWRT 下实现 Portal 认证(WEB 认证)

    在OpenWRT上实现Portal认证主要可以通过以下几种方案: 1. chillispot:这是一个比较早期的解决方案,但因为原维护作者停止更新,现在由***接管继续开发。它虽然功能基础,但曾经是OpenWRT上常见的Portal认证解决...

    liferay Portal 的学习书籍

    Liferay Portal是一种开源的企业门户解决方案,支持使用Java语言构建企业内部网(intranets)和其他协作平台。根据提供的内容片段,我们可以了解到一些关于Liferay Portal书籍的具体信息,这本书是外国人编写的,受...

    Secure Portal-开源

    **Secure Portal 开源项目详解** Secure Portal 是一个开源项目,主要设计目的是为了帮助用户了解系统中的活动情况。这个工具特别适合那些关注系统安全、需要实时监控系统动态的人员。Sportal 通过提供一个直观的...

    JAVA开源软件分类

    - **ArgoUML**:一种开源的UML建模工具。 #### 7. Java质量保证(Quality Assurance) 保证软件质量是开发过程中的重要一环。 - **P2:代码分析工具** - **PMD/CheckStyle**:用于代码静态分析,提高代码质量。...

    Cold Portal-开源

    作为开源软件,Cold Portal提供了以下几个主要优势: 1. **透明度与安全性**:源代码公开,意味着任何人都可以检查代码,找出潜在的安全漏洞,并提供补丁。 2. **成本效益**:开源软件通常是免费的,减少了企业...

    portal配置环境

    根据给定文件的描述部分,我们可以了解到几种用于访问门户的主要技术: 1. **SOAP (Simple Object Access Protocol)**:一种轻量级协议,用于交换结构化的和固有的类型信息。它主要基于XML,被广泛应用于Web服务...

    adminportal.rar

    5. **MySQL**:这是一种流行的开源关系型数据库管理系统,用于存储和管理数据。 根据这些标签,我们可以推测"adminportal"项目是一个使用Spring Boot作为基础框架,Thymeleaf负责视图渲染,JPA处理数据库交互,运行...

    My PHP Portal-开源

    《My PHP Portal:开源Web门户建设的利器》 在当今互联网世界中,开源软件已经成为推动技术发展的重要力量,尤其在Web开发领域,开源项目更是如雨后春笋般涌现。"My PHP Portal"就是这样一个开源的Web门户系统,它...

    ViperWeb Portal System-开源

    在使用ViperWeb Portal System时,用户需要注意以下几点: 1. 确保服务器环境满足PHP Nuke和ViperWeb Portal System的最低要求,包括PHP版本、MySQL数据库支持等。 2. 在安装前,备份任何重要数据,以防安装过程中...

    zktest_DEMO.rar_DEMO_ajax zk demo_portal_zk port_zk portal

    1. **ZK框架**:ZK是一个开源的Java Web UI框架,它提供了一种声明式的方式来构建富互联网应用程序(RIA)。ZK的主要特点是组件化和事件驱动,使得开发者可以像操作桌面应用一样处理Web应用,无需关注底层的Ajax技术...

    CCCP Common Clan Portal-开源

    "CCCP Common Clan Portal"是一个开源项目,专为游戏氏族设计的网站应用程序。这个项目虽然现在已经不活跃,但它在过去的几年里为游戏社区提供了一套功能丰富的平台。它的核心特性包括一个强大的新闻管理系统,方便...

    [整站程序]Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)_wap.rar

    而MySQL则是一种开源、免费的关系型数据库管理系统,对于处理大量数据和高并发访问具有良好的性能表现,这使得它成为PHP开发的理想搭档。 Wap Portal Server v1.21 的核心功能可能包括以下几点: 1. **用户管理**:...

    JBoss Portal Reference Manual

    JBoss Portal是一款开源的企业级门户解决方案,它允许组织创建、管理和部署具有高度可定制和可扩展性的Web应用程序。 在JBoss Portal中,你可以发现以下几个核心知识点: 1. **门户架构**:JBoss Portal基于...

    kapcha IT Operations Management Portal-开源

    kapcha是一款专为IT运营管理设计的开源工具套件,它旨在帮助用户构建一个全面的管理门户,以便统一处理来自不同网络、系统管理工具以及多种数据源的管理信息。这款工具的核心价值在于其开放源代码的特性,使得用户...

    Defend the Portal-开源

    "Defend the Portal" 是一款基于Java编程语言开发的开源游戏。开源软件意味着其源代码对公众开放,允许用户查看、使用、修改和分发,这通常鼓励社区参与和协作,促进软件的持续改进和创新。 在Java中开发游戏是一项...

    Gamer's PHP portal-开源

    【标题】"Gamer's PHP portal-开源"是一款专为游戏爱好者设计的PHP门户网站源代码。这个项目不仅提供了一个互动的平台,供玩家获取游戏资讯、分享心得,还集成了丰富的功能,使得开发者和普通用户都能从中受益。其...

    开源项目-Microsoft-ApplicationInsights-Go.zip

    【开源项目-Microsoft-ApplicationInsights-Go.zip】是一个包含微软公司开发的开源项目——Application Insights的Go语言版本SDK的压缩包。Application Insights是微软Azure提供的一个强大的应用程序性能管理(APM)...

    ( Eclipse_Sourcery_STM32开源开发环境搭建

    开发STM32的开源环境主要由以下几个部分组成:Eclipse IDE for C/C++ Developers、GNU ARM Eclipse Plug-in、Sourcery G++ Lite Edition for ARM、OpenOCD以及JLink调试器。下面将逐一介绍这些工具的下载与安装过程...

Global site tag (gtag.js) - Google Analytics