无论是商业化的还是开源的Portal产品,符合国际标准规范是必不可少的要求。有的Portal可能不支持WSRP(Web Services for Remote Portlets),但必须符合JSR-168标准。比较突出的开源Portal主要有JBoss Portal、Apache Jetspeet-2,Liferay Portal,还有两个属于欧洲的非美产品eXo Platform和GridSphere也有好的评价。 作为JBoss JEMS(JBoss Enterprise Middleware System)应用开发架构中的一员,JBoss Portal完全支持JSR-168,它还包含了内容管理功能,并支持JavaServer Faces, MyFaces和Spring等Java开发技术。 开源组织Apache早在JSR-168 标准之前就有一个Jetspeed-1 Portal软件,当JSR-168出来之后,又推出符合该标准的Pluto容器,并以此建立了Jetspeed-2 Portal服务软件。 以Struts架构技术开发的Liferay Portal完全支持JSR-168和WSRP两个规范。Liferay Portal能够在多种应用服务器上运行,支持多种数据库系统,还提供基于CAS的单点登录(SSO)功能。 eXo platform建立在JSF架构下,提供了符合JSR-168和WSRP规范的Portlet容器,具有连接池和缓冲功能。eXo 提供的技术文档不够齐全,开发应用有一定难度。 GridSphere把网格计算技术应用到Portal产品中,以添加模块的方式建立了Portal架构。GridSphere 100%兼容JSR-168标准,内置了基于角色的访问控制(RBAC)功能,采用Hibernate技术连接任何数据库,支持包括中文在内的多种外国语。 (一)JBoss Portal产品网址:http://www./products/platforms/portals http://labs./jbossportal 技术资料:http://labs./jbossportal/docs/index.html JBoss Portal是著名的红帽子(Redhat)公司所支助的JBoss开源产品系列中的一员。JBoss Portal支持多实例和群集功能,动态部署是其一大特性。但JBoss Portal提供的组件比较少,功能不够强,需要自己开发来扩展功能,其最大的局限是只能在JBoss应用服务器下使用。 1 技术架构 l JEMS:适应JBoss企业中间件服务功能(JBoss Application Server, JBoss Cache, JGroups, and Hibernate)。 l DB无关性:适用于所有Hibernate支持的关系数据库。 l SSO/LDAP:适应Tomcat和JBoss 单点登录(SSO)方案。身份认证架构适应于企业级LDAP。 l JAAS认证:通过JAAS模块来配置认证。 l 缓冲技术:利用渲染显示缓冲技术改善性能。 l 群集能力:支持群集功能。 l 热部署:适应JBoss自动动态部署特性。 l SAR安装器:浏览器方式的安装器提供快速安装和初始配置。 2 支持的标准 l Portlet技术规范和API 1.0 (JSR-168) l Java内容存储API(JSR-170) l Java Server Faces(JSF)1.2(JSR-252) l Java Management Extension(JMX) 1.2 l 远程Portlet的Web服务(WSRP) 1.0 3 Portal和Portal容器 l 能够在一个Portal容器上同时运行多个Portal实例。 l Portlet内部通信接口能够使Portlet连接到其它对象如页面,Portal或窗口。 l 管理员和用户能够在运行时建立和撤销对象如Portlet,页面,主题和外观等。 l 每个Portlet可以使用国际化资源文件。 l 由Servlet容器和JAAS执行的身份认证能够切换认证方式。 l 允许Portlet分组按类展现在Portal页面上。 l Portlet支持Struts, Spring MVC, Sun JSF-RI, AJAX和MyFace架构。 4 主题和外观 l 易于切换的主题和外观:包含图片的新主题和外观可以WAR包形式部署。 l 灵活的开发接口:主题和外观接口API能够把业务层和展示层分离。 l 按页面定义外观:不同的页面可以使用不同的外观样式。 5 用户和群组功能 l 用户注册和验证:可配置的注册参数允许使用电子邮件地址验证用户。 l 用户登录:可以使用Servlet容器进行身份认证。 l 建立和编辑用户样式:管理员能够建立和编辑用户的样式。 l 建立和编辑角色:管理员能够建立和编辑角色。 l 角色分配:管理员能够给用户分配角色。 6 权限管理 l 可扩展的访问许可接口:允许根据角色定义配置Portlet的访问许可。 l 管理接口:允许在任何时候把部署的Portlet、Portal页面或Portal实例的访问许可分配给角色。 7 内容管理 l 兼容JCR规范:使用Apache Jackrabbit内容管理器。 l 支持数据库或文件系统存储能力:可配置使用文件系统或关系数据库来存储Portal内容。 l 支持外部搏客功能:External Blob Support: 可以配置使用文件系统存储大量搏客内容,而搏客节点、引用和属性则保存在关系数据库中。 8 最小系统要求 l JDK 1.4以上 l 内存512 MB l 硬盘100 MB空间 l CPU 400 MHz主频
9支持的操作系统 JBoss Portal支持所有能够使用Java虚拟机(JVM)的操作系统,包括Linux, Windows, UNIX, MacOS X。 10支持的Java应用服务器 JBoss Portal目前只支持JBoss应用服务器JBoss AS 4.0.5.GA和JBoss AS 4.2.0.GA。 11支持的数据库系统 JBoss Portal通过Hibernate来连接关系数据库,因此Hibernete所支持的数据它都能使用: l MySQL 4.x.x (使用Java连接器3.0.16) l MySQL 5 l PostgreSQL 8.x l HypersonicSQL l Derby l ORACLE 9 和10g l Microsoft SQL Server l MaxDB (二)Apache Jetspeed-2产品网址:http://portals./jetspeed-2/ 技术资料:http://portals./jetspeed-2/guides/index.html Jetspeed-2是著名的Apache开源项目的一个企业级Portal产品,它建立在一系列Jetspeed版本的基础之上,完全符合JSR-168规范,安全性采取了基于JAAS标准的J2EE安全架构,支持分布群集功能。Jetspeed-2使用Apache Pluto作为Portlet容器,但摒弃了Jetspeed-1的Apache Turbine基础架构,采用了全新的Spring框架技术建立可伸缩的Portal系统。Jetspeed-2提供了比较完整的开发和使用文档,适用这可以借助常用的开发工具如Eclipse来开发可建立自己的Portal。遗憾的是Jetspeed-2 没有内置常用的Portlet组件,其次Portal页面定制功能不够强,没有“所见及所得”功能。因此,Jetspeed-2比较适合于有较强开发能力者进行二次开发来扩展应用。 l 完全符合Java Portlet API Standard 1.0 (JSR 168) l 通过了JSR-168 TCK 兼容测试 l 建立在JAAS标准之上的J2EE安全特性支持LDAP验证用户身份。 l 服务器端支持并行的JSR-168标准Portlet渲染 l Jetspeed桌面支持Web 2.0客户端的JSR-168标准Portlet渲染 l 完全支持JSR-168标准Portlet缓冲和对每个Portlet缓冲的配置 l Portlet定时追踪功能限制渲染时间 l Portlet服务管理器能够自动移除慢速的Portlet或僵死Portlet l 可定制Portal页面 l 可定制Portal桌面 l 可定制循环片段 l 拖拉式移动Portlet l 可设定Portlet窗口大小 l 按类选择Portlet,可全文检索Portlet l 可定制主题(外观) l 建立在安全一致性或安全许可上的Portlet级安全性检查 l 声明式安全一致性和JAAS数据库安全策略 l 支持完全可切换式安全一致性或安全许可 l Jetspeed的单点登录(SSO) l 安全代理功能 l Portal分布式部署在多个应用服务器平台上 l Portal部件的分布式缓冲 l Portlet缓冲的分布式失效 l 建立在Spring上的部件和可扩展架构 l 可配置的管道请求处理器 l Portlet应用自动部署 l Jetspeed部件提供Java API接口 l 提供AJAX的XML API接口 l 扩展的Portlet现场标记语言(PSML) l 支持数据库持久化 l 内容管理功能 l 安全一致性 l 完全支持LDAP的安全验证 l 提供运行时Portlet接口标准基于角色的安全特性 l Portal内容管理和导航支持页面、菜单、目录和连接 l 提供基于规则的页面和资源定位配置 l 基于角色的可视页面聚合功能 l 支持大多数流行数据库系统如Derby, MySQL, MS SQL, Postgres, ORACLE, DB2 l Portal资源提供12种本地化语言 l 具有统计功能的日志机制 l 使用Lucene实现Portlet资源的全文检索 l 用户注册管理和密码找回功能 l 丰富的登录和密码配置管理 l 可定制的Portlet模式和窗口状态,支持Portlet打印模式和窗口的solo状态 l Portal场景管理器 l 远程Portal应用部署器(RPAD)可以热部署远程web上的Portlet应用 l JSR-168外观和用户属性编辑器 l 单点登录管理器 l 权限许可管理(JAAS安全性) l 安全一致性管理 l Portlet应用和生命周期管理 l 用户配置文件管理 l 统计报告 l 支持Web架构JSF,Struts,PHP,Perl和Velocity l 提供样板Portlet:RSS,IFrame,Calendar XSLT,Struts Petstore,Bookmark,Database Browser l 集成了显示标记和Spring MVC架构 l 提供转换所有Jetspeed数据库数据的XML导入/导出工具 l Portal的全部初始数据是XML格式 l 提供全部XML内容的XML样板文件 l 使用CSS部件部署Jetspeed的Portlet和页面样式 l 可配置的CSS页面外观 l 样式和外观部件定义使用Velocity宏语言 l 使用自动化的Maven-1和Maven-2软件来建立 l 提供客户开发Jetspeed-2的Maven插件 l 自动部署Portlet应用和Portal资源 12 部署工具 l 插件集成了自动部署功能 l 提供PSML、jetspeed-Portlet.xml和Jetspeed XML的模板 13 支持的数据库系统 缺省配置使用Derby数据库,支持任何符合JDBC2.0驱动器规范的数据库: l Derby l HSQLDB - Hypersonic SQL l MySQL l ORACLE l POstgres l DB2 l Sybase l SQL Server 要求Servlet 2.4版本以上的应用服务器: l Tomcat 5.5.x l Jetty l Websphere 6.0 l Geronimo l JBoss l Weblogic 使用者需要熟悉Apache Maven项目管理工具和Apache Ant脚本工具。要求使用以下软件: l Ant 1.5以上版本 l Java 1.4.2_02以上版本 l Servlet 2.4版本以上的应用服务器 (三)Liferay Portal 4.3产品网站:http://www./ 技术资料:http://wiki./ Liferay Portal自称是全球领先的开源企业级门户软件,应用了最新的Java、J2EE和Web 2.0等技术,其前台界面部分利用Struts 框架技术,基于XML的Portlet配置文件可以自由地动态扩展功能,使用Web服务支持远程信息的获取,利用Apahce Lucene实现全文检索功能。 Liferay Portal安装简单,技术文档相对齐全。对于简单的应用通过使用系统内置的工具进行配置和管理,就可以直接投入实际使用而无需编码。Liferay Portal的未来发展把ESB和SOA集成进来,因此更适合于企业级使用。
Liferay Portal的主要特性: l 运行在大多数主流应用服务器和Servlet容器,数据库和操作系统之上 l 符合JSR-168标准 l 内置60多个适用的Portlet l 内置了内容管理器(CMS) l 带有协同套件 l 为所有用户提供个性化页面 l 提供单一登录接口,多认证模式(LDAP或SQL) l 管理员能通过用户界面轻松管理用户,组,角色 l 支持包括中文在内的多种语言 l 经过严格的安全测试
(1)应用服务器: l Apache Geronimo 1.1 l Sun GlassFish 2.0 l JBoss 4.x l ORACLEAS 10.1.3 l SUN JSAS 8.01 l WebLogic 8.1 SP4, 9.2 l WebSphere 5.1, 6.0.x
(2)Servlet容器: l Tomcat 5.0.x/5.5.x l Resin 3.0.14 l Jetty 5.1.4
(3)数据库: l IBM DB2 l Informix l InterBase l MySQL l ORACLE l SAP l SQL Server l Sybase
(4)操作系统: l AIX l LINUX l SOLARIS l WINDOWS l MAC OS (5)支持的语言: l 22种主要语言包括简体中文和繁体中文
2、技术架构 (1)用到的技术: l Apache ServiceMix l ehcache l Hibernate l ICEfaces l Java J2EE/JEE l jBPM l JGroups l jQuery JavaScript Framework l Lucene l MuleSource ESB l PHP l Ruby l Seam l Spring & AOP l Struts & Tiles l Tapestry l Velocity
(2)支持的标准: l AJAX l iCalendar & Microformat l JSR-168 l JSR-127 l JSR-170 l OpenSearch l JSON l Hessian l Burlap l REST l RMI l WSRP l WebDAV
3、体系架构
4、应用架构 l 面向服务(SOA)—— Liferay应用了SOA 设计理念为企业应用提供了扩展SOA的工具和框架。 l 提供可插入ServiceMix ESB,也支持Mule ESB。 l 支持Web服务,简化不同应用之间的通信联系。 l 支持AJAX技术 l 安全性——Liferay使用了工业标准的政府级加密技术如DES、MD5和RSA。 l 单点登录(SSO)——支持使用耶鲁大学的CAS、SUN的JAAS、LDAP、Netegrity、微软Exchange进行用户验证。缺省集成了CAS。 l 支持群集和高可靠性应用。
5、内置Portlets l Admin Portlet :显示Liferay Portal版本、企业信息(组织机构名称、地址等)、有效的Portlets、当前活动Session、认证属性、LDAP配置、新用户属性等。 l Enterprise Admin Portlet :允许授权用户管理用户、组织机构、场所、群组、角色、权限等。 l Page Settings : 管理页面、修改页面外观、设置用户URL等。 l Alfresco Content :集成了Alfresco 内容管理器,内置对HTML内容的浏览和发布、在线编辑内容、管理图像和内容、预览未发布内容等。 l Document Library :提供了符合JSR-170标准的Jackrabit Java内容存储管理器管理文档资料。 l Journal :Liferay集成Web发布系统的主接口,允许用户建立、编辑和发布文章。 l Journal Articles :显示社区所有动态文章列表。 l Journal Content :在页面上发布任何CMS中的文章。 l Journal Content Search :检索CMS中的内容。 l Recent Documents :显示最新文档库中的文章。 l Breadcrumb :显示当前页面的父页面,作导航用途。 l Navigation :提供门户页面结构的连接目录。 l Site Map :显示门户所有页面的结构目录。 l Blogs :提供博客服务,具有分类和所见即所得编辑功能。 l Calendar :显示日历信息,用户可以建立、管理和检索事件。 l Enterprise Instant Messaging :提供用户即时通信(聊天)的客户端。 l Mail :Web电邮客户端,适用于任何电邮服务器。 l Message Boards :提供论坛功能。 l Wiki : 提供威客功能。 l Announcements :提供公告功能。 l Bookmarks :提供收藏夹功能。 l Communities :用来建立和管理新的门户社区和社区的用户群。 l Directory :所有注册用户信息列表。 l Polls :提供投票功能。 l Financial Tools :金融财务计算器。 l Google Portlets :提供Google检索功能。 l News and RSS :动态获取互联网新闻。 l Weather :通过互联网获取并显示城市的天气情况。 l Other Tools :包括模拟钟表、美国区号查询、词典、语言选择、密码生成器、信息检索、单位换算等。 l Prototype Portlets :提供了几个样板Portlet 实例,包括Flash、JSP、Struts等。 l WSRP :提供访问其他门户的Portlet。 l Workflow :用于管理工作流。
6、许可协议 Liferay采用的是麻省理工学院的软件许可协议。 |
|