没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
liferay介绍:
Liferay 门户是市场上领先的开源门户
Liferay portal 是世界领先的开源企业门户解决方案,它使用最新的Java和web2.0技术。
可以运行在所有主流应用服务器和servlet容器,数据库和操作系统中,拥有超过700个部署组合。
符合JSR-286
预先绑定60多个porlets,即装即用。
内置内容管理系统(CMS)和协作套装。
为每个用户提供个性化的页面。
使用LogicLibrary的Logiscan套装成为最安全的门户平台的基准。
对于企业,Liferay门户提供一个虚拟平台,可以集中,共享和协作。
为终端用户考虑,Liferay 门户的一流用户界面简单到技术水平很低的用户都可以轻松掌握。
Liferay门户也是开发者社区力其中一个最受欢迎的门户技术,有很多持续增长的功能,帮助你
的开发团队用最短的时间和经历部署业务解决方案。
随着信息化建设的深入,Portal 门户已经成为新型办公环境的一个重要组成部分。
Portal所提供的单点登录、权限控制、个性化定制、内容集成、文件管理等独特的功能, 已
经大大占据公众的眼球,并在信息集成和消除信息孤岛方面发挥了重要的左右。
随着Portal技术的成熟,以MyNestcape、MyYahoo、MSN-Space等为代表大型网站也
较多的采用Portal架构来实现个性化的内容聚合和定制,以实现灵活的扩展的服务策略。
Liferay Portal作为一个开源的Portal项目,利用Hibernate、Struts、Spring等开源框架,
实现了JCP JSR168规范中提出的Portal功能,在开源Portal系统中有比较典型的代表性。
第一章 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容器。
第三节 什么是Portlet
Portlet是Portal中最重要的组件,负责在Portal中呈现信息内容,有相应的生命周
期。通过自定义Portlet,用户很容易定义个性化的Portal页面。Portlet由Portlet容器
负责管理、处理请求并返回动态页面,可以作为Portal的可即插即用的界面组件。
1.3.1 Portlet
一个Portlet是以Java技术为技术的Web组件,由Portlet容器所管理,专门处理客户的
信息请求以及产生各种动态的信息内容。Portlet 为可插式的客户界面组件,提供呈现层成
为一个信息系统。
这些由Portlet产生的内容也被称为片段,而片段是具有一些规则的标记( HTML、XHTML、
WML ),而且可以和其他的片段组合而成一个复杂的文件。一个或多个 Portlet 的内容聚合
而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet 容器所管理控制的。
客户端和Portlet的互动是由Portal通过典型的请求/响应方式实现,正常来说,客户会
和Portlet所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果
Portal将会接收到Portlet的动作,将这个处理状况转向到目标Portlet。这些Portlet 内容
的产生可能会因为不同的使用者而有不同的变化,完全是根据客户对于这个Portlet的设置。
1.3.2 Portlet 与 Servlet 的关系
Portlet被定义成为一个新的组件,具有新的明确的界面与行为。为了尽可能与现有的
Servlet 结合达到重复使用的目的,Portlet 的规范利用了 Servlet 的规范,许多观念都
很相似的,结合 Portlet、Servlet 及 Jsp 在同一个网站系统中,我们称为Portlet 应用 。
在同一个 Portlet 应用 中,他们将分享同一个类加载器(ClassLoader),上下文(Context)
及 Session。
①、Portlet 和 Servlet 的相似之处
@ Portlet 也是 Java 技术的 web 组件
@ Portlet 也是有特定的 container 在管理
@ Portlet 可以动态产生各种内容
@ Portlet 的生命周期由 container 所管理
@ Portlet 和客户端的互动是通过 request/response 的机制
②、Portlet 和 Servlet 也有一些不同
@ Portlet 只产生 markup 信息片段,不是完整的网页文件。而 Portal 会将所有的
Portlet markup 信息片段放到一个完整的 Portal 网页。
@ Portlet 不会和 URL 有直接的关系
@ 客户端必须通过 portal 系统才能和 Portlet 互动
@ Portlet 有一些定义好的 request 处理,action request 以及 render request。
@ Portlet 默认定义 Portlet modes 及窗口状态可以指出在网页中该 Portlet 的哪个功
能正在执行及现在的 状态。
@ Portlet 可以在同一个 portal 网页之中存在多个。
③、Portlet 有一些附加的功能是 Servlet 所没有的
@ Portlet 能够存取及储存永久配置文件及定制资料。
@ Portlet 可以存取使用者数据
@ Portlet 具有 URL 的重写功能在文件中去动态建立连结,允许 portal server 不用去
知道如何在网页的片 段之中建立连结及动作。
@ Portlet 可以储存临时性的数据在 Portlet session 之中,拥有两个不同的范围 :
application-wide scope 及 Portlet private scope 。
④、Portlet 不具有一些功能, 但是 Servlet 却有提供
@ Servlet 具有设置输出的文字编码( character set encoding)方式
@ Servlet 可以设置 HTTP 输出的 header
@ Servlet 才能够接收客户对于 portal 发出的 URL 请求
1.3.3 Portlet 的生命周期
一个Portlet有着良好的生命周期管理,定义了怎样装载,实例化和初始化,怎样响应来
自客户端的请求及怎样送出服务。这个Portlet生命周期由Portlet接口的init,processAction,
render和destroy方法来表达。
载入和实例化:Portlet容器负责载入和实例化Portlet。当Portlet容器运行Portlet应用或
者延迟到Portlet需要服务使用者的请求时,Portlet就会被载入并实例化。载入Portlet类后,
Portlet类随即被实例化。
初始化:Portlet类实例化后,Portlet容器还需要初始化Portlet。以调用Portlet去响应客
户端的请求。Portlet容器呼叫Portlet接口中的init方法初始化Portlet。扩展自PortletConfig
的类可以取出定义在部署描述文件中的初始化参数,以及Resource Bundle。
初始化异常:在 Portlet初始化期间,Portlet可能会丟出 UnavailableException 或
PortletException 异常。此时,Portlet容器不能把 Portlet置入已启动的服务,并且 Portlet
容器必需释放这个 Portlet。 destory方法不能被呼叫,因为初始化被认为执行失败。发生 失
败后,Portlet容器会尝试着重新实例化及初始化 Portlet。这个异常处理的规则是:由一个
UnavailableException 指定一个不能执行的最小时间,当此异常发生时,Portlet容器必需等
到指定时间过去后才产生并且初始化一个新的 Portlet。
在初始化过程中所丟出的 Runtime Exception异常,被当作 PortletException 来处理。
第四节 Liferay Portal工作原理
Portal系统根据需要由一个或者多个Portal页面组成,每个Portal页面包含零个或
者多个的Portlet。每个Portlet呈现自己的信息内容,以此实现内容聚合。通过定义每个
Portlet的可用权限,实现个性化的桌面信息定制。
剩余49页未读,继续阅读
资源评论
悠闲饭团
- 粉丝: 150
- 资源: 3301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功