第一部分 Liferay Portal 架构解析
本部分主要内容
Portal 服务器 Portal 容器 Portlet
作为一个开源Portal产品,Liferay Portal提供对多个独立系统的内容集成,帮助多个组织实现更有效的合作。与其他商业的Portal产品相比,Liferay Portal有着一系列的优良特性,而且不需要付费。
第一节 Portal规范
随着Portal的兴起,越来越多的公司开始涉足Portal产品开发,并组建各自的Portal组件和基于其的产品,比如IBM、BEA、MicroSoft、SAP、Apache等。各个厂商的接口互不兼容,给软件开发商以及开发人员带来诸多不便。
1.1.1 JSR168
为此,JCP组织发布了JSR168(Java Specification Request),Portlet Specification V1.0,用来提供不同的Portal和Portlet之间的互通性。只要开发的Portlet遵循JSR168,则就可以在所有遵循JSR168的Portal上部署运行。
JSR168中定义了Portal的实现规范和接口,并对理想的Portlet进行了详细的规划和描述。
1.1.2 WSRP
WSRP是OASIS Web Service for Remote Portlet的缩写。WSRP是Web Service的一种新的商业应用,一种新的标准,主要用来简化Portal对于各种资源或者程序整合的复杂度,可以避免编程带来的整合麻烦和问题。而且Portal管理员可以从海量的WSRP服务中选择需要的功能用以整合到目前所用的Portal中。它有三种角色:
①、生产者 à 提供Portlet
②、消费者 à 使用Portlet
③、终端用户 à 最终用户
它的特点在于生产者将消费者所需要的信息通过WSRP返回给消费者,这些信息是相对标记片断,例如HTML、XHTML等,可以直接嵌入用户的页面中,而不用像Web Service一样开发用户端接口。
实现这个规范,Portal可以跟各式各样的数据源打交道,彻底终结信息孤岛的窘境。
第二节 什么是Portal
Portal是基于Web的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合信息系统。
完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。
1.2.1 Portal 服务器
Portal服务器是容纳Portlet容器,支持Portlet呈现的普通或者特殊Web服务器。Portal服务器通常会提供个性化设置、单点登录、内容聚合、信息发布、权限管理等功能,支持各种信息数据来源,并将这些数据信息放在网页中组合而成,提供个性化的内容定制,不同权限的浏览者能够浏览不同的信息内容。通常,Portal提供以下功能:
单点登录:Portal通常采用ACL、SSL、LDAP等业界标准的安全技术,提供对所有现有应用系统的安全集成,只需在Portal的唯一入口上登录一次,就可以访问所有应用系统和数据。对于安全性要求较高的应用系统,如电子商务平台、交易系统等,通过扩展接口传递用户身份信息,如数字证书信息、数字签名信息等,进行二次身份认证,保证单点登陆的安全性。
权限控制:系统采用LDAP对用户资源进行统一的管理,同时提供二次开发接口,可以与其他应用系统的用户管理模块对接,并能随相关业务系统实时更新访问权限。通过完善的授权机制及存取控制,用户访问权限控制到字段级别,确保用户只能访问具有权限的应用系统及相关信息。
内容管理: 实现应用系统之间实时交换信息。采用多种缓存机制,保证内容交换的性能和准确性。采用基于XML的Rich Site Summary (RSS)标准,迅速在各应用系统之间传播最新变化。
信息发布: 实现信息门户内容的动态维护。动态网站系统可与OA协同办公系统、知识管理系统等集成,网站信息须经OA系统的审批流程流转通过后或知识管理平台设置具有外部共享权限后才可正式发布,真正实现内外信息发布的同步。
文件管理: 系统实现无缝集成多种数据源,包括:数据库、文档(Office文档、PDF、AutoCAD、甚至ZIP文档)、Web网页、FTP站点等,并对数据按业务要求和职务特点加以分析整理,通过统一Web界面主动推送(Push)至用户的门户桌面,帮助用户做出及时、正确的决策。
1.2.2 Portlet容器
Portlet容器提供Portlet执行的环境,包含很多Portlet并管理它们的生命周期,保存Portlet的定制信息。
一个Portal容器接收到来自Portal的请求后,接着将这个请求传递给存在Portal容器的Portlet 执行。Portlet容器没有义务去组合Portlet 产生的信息內容,这个工作必须由Portal来处理。Portal和 Portal容器可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。
Portlet容器是普通Web Servlet容器的扩展,所以一个Portlet容器可以构建于一个已经存在的Servlet容器或者可能实现全部Web Servlet容器的全部功能。无论Portlet容器怎么实现,它的运行环境总是假定它支持Servlet2.3规范。
通常,Portlet容器扩展自普通的Servlet容器。
posted on 2005-10-20 14:42
eamoi 阅读(8995)
评论(5) 编辑 收藏 所属分类:
Java