liferay笔记Word文档格式.docx

上传人:b****5 文档编号:18675885 上传时间:2022-12-31 格式:DOCX 页数:48 大小:3.13MB
下载 相关 举报
liferay笔记Word文档格式.docx_第1页
第1页 / 共48页
liferay笔记Word文档格式.docx_第2页
第2页 / 共48页
liferay笔记Word文档格式.docx_第3页
第3页 / 共48页
liferay笔记Word文档格式.docx_第4页
第4页 / 共48页
liferay笔记Word文档格式.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

liferay笔记Word文档格式.docx

《liferay笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《liferay笔记Word文档格式.docx(48页珍藏版)》请在冰豆网上搜索。

liferay笔记Word文档格式.docx

为此,JCP组织发布了JSR168(JavaSpecificationRequest),PortletSpecificationV1.0,

用来提供不同的Portal和Portlet之间的互通性。

只要开发的Portlet遵循JSR168,则就可以

在所有遵循JSR168的Portal上部署运行。

JSR168中定义了Portal的实现规范和接口,并对理想的Portlet进行了详细的规划和描

述。

1.1.2WSRP

WSRP是OASISWebServiceforRemotePortlet的缩写。

WSRP是WebService的一种新

的商业应用,一种新的标准,主要用来简化Portal对于各种资源或者程序整合的复杂度,可

以避免编程带来的整合麻烦和问题。

而且Portal管理员可以从海量的WSRP服务中选择需

要的功能用以整合到目前所用的Portal中。

它有三种角色:

①、生产者..提供Portlet

②、消费者..使用Portlet

③、终端用户..最终用户

它的特点在于生产者将消费者所需要的信息通过WSRP返回给消费者,这些信息是相对

标记片断,例如HTML、XHTML等,可以直接嵌入用户的页面中,而不用像WebService

一样开发用户端接口。

实现这个规范,Portal可以跟各式各样的数据源打交道,彻底终结信息孤岛的窘境。

第二节什么是Portal

Portal是基于Web的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登

录、内容聚合、个性化门户定制等功能的综合信息系统。

完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。

1.2.1Portal服务器

Portal服务器是容纳Portlet容器,支持Portlet呈现的普通或者特殊Web服务器。

Portal服务器通常会提供个性化设置、单点登录、内容聚合、信息发布、权限管理等功能,

支持各种信息数据来源,并将这些数据信息放在网页中组合而成,提供个性化的内容定制,

不同权限的浏览者能够浏览不同的信息内容。

通常,Portal提供以下功能:

单点登录:

Portal通常采用ACL、SSL、LDAP等业界标准的安全技术,提供对所有现有

应用系统的安全集成,只需在Portal的唯一入口上登录一次,就可以访问所有应用系统和

数据。

对于安全性要求较高的应用系统,如电子商务平台、交易系统等,通过扩展接口传递

用户身份信息,如数字证书信息、数字签名信息等,进行二次身份认证,保证单点登陆的安

全性。

权限控制:

系统采用LDAP对用户资源进行统一的管理,同时提供二次开发接口,可以

与其他应用系统的用户管理模块对接,并能随相关业务系统实时更新访问权限。

通过完善的

授权机制及存取控制,用户访问权限控制到字段级别,确保用户只能访问具有权限的应用系

统及相关信息。

内容管理:

实现应用系统之间实时交换信息。

采用多种缓存机制,保证内容交换的性能

和准确性。

采用基于XML的RichSiteSummary(RSS)标准,迅速在各应用系统之间传播最

新变化。

信息发布:

实现信息门户内容的动态维护。

动态网站系统可与OA协同办公系统、知识

管理系统等集成,网站信息须经OA系统的审批流程流转通过后或知识管理平台设置具有外

部共享权限后才可正式发布,真正实现内外信息发布的同步。

文件管理:

系统实现无缝集成多种数据源,包括:

数据库、文档(Office文档、PDF、

AutoCAD、甚至ZIP文档)、Web网页、FTP站点等,并对数据按业务要求和职务特点加以分

析整理,通过统一Web界面主动推送(Push)至用户的门户桌面,帮助用户做出及时、正确的

决策。

1.2.2Portlet容器

Portlet容器提供Portlet执行的环境,包含很多Portlet并管理它们的生命周期,保

存Portlet的定制信息。

一个Portal容器接收到来自Portal的请求后,接着将这个请求传递给存在Portal容

器的Portlet执行。

Portlet容器没有义务去组合Portlet产生的信息內容,这个工作必

须由Portal来处理。

Portal和Portal容器可以放在一起视为同一个系统的组件,或者分

开成为两个独立的组件。

Portlet容器是普通WebServlet容器的扩展,所以一个Portlet容器可以构建于一个

已经存在的Servlet容器或者可能实现全部WebServlet容器的全部功能。

无论Portlet

容器怎么实现,它的运行环境总是假定它支持Servlet2.3规范。

通常,Portlet容器扩展自普通的Servlet容器。

第三节什么是Portlet

Portlet是Portal中最重要的组件,负责在Portal中呈现信息内容,有相应的生命周

期。

通过自定义Portlet,用户很容易定义个性化的Portal页面。

Portlet由Portlet容器

负责管理、处理请求并返回动态页面,可以作为Portal的可即插即用的界面组件。

1.3.1Portlet

一个Portlet是以Java技术为技术的Web组件,由Portlet容器所管理,专门处理客户的

信息请求以及产生各种动态的信息内容。

Portlet为可插式的客户界面组件,提供呈现层成

为一个信息系统。

这些由Portlet产生的内容也被称为片段,而片段是具有一些规则的标记(HTML、XHTML、

WML),而且可以和其他的片段组合而成一个复杂的文件。

一个或多个Portlet的内容聚合

而成为一个Portal网页。

而Portlet的生命周期是被Portlet容器所管理控制的。

客户端和Portlet的互动是由Portal通过典型的请求/响应方式实现,正常来说,客户会

和Portlet所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果

Portal将会接收到Portlet的动作,将这个处理状况转向到目标Portlet。

这些Portlet内容

的产生可能会因为不同的使用者而有不同的变化,完全是根据客户对于这个Portlet的设置。

1.3.2Portlet与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会将所有的

Portletmarkup信息片段放到一个完整的Portal网页。

@Portlet不会和URL有直接的关系

@客户端必须通过portal系统才能和Portlet互动

@Portlet有一些定义好的request处理,actionrequest以及renderrequest。

@Portlet默认定义Portletmodes及窗口状态可以指出在网页中该Portlet的哪个功

能正在执行及现在的状态。

@Portlet可以在同一个portal网页之中存在多个。

③、Portlet有一些附加的功能是Servlet所没有的

@Portlet能够存取及储存永久配置文件及定制资料。

@Portlet可以存取使用者数据

@Portlet具有URL的重写功能在文件中去动态建立连结,允许portalserver不用去

知道如何在网页的片段之中建立连结及动作。

@Portlet可以储存临时性的数据在Portletsession之中,拥有两个不同的范围:

application-widescope及Portletprivatescope。

④、Portlet不具有一些功能,但是Servlet却有提供

@Servlet具有设置输出的文字编码(charactersetencoding)方式

@Servlet可以设置HTTP输出的header

@Servlet才能够接收客户对于portal发出的URL请求

1.3.3Portlet的生命周期

一个Portlet有着良好的生命周期管理,定义了怎样装载,实例化和初始化,怎样响应来

自客户端的请求及怎样送出服务。

这个Portlet生命周期由Portlet接口的init,processAction,

render和destroy方法来表达。

载入和实例化:

Portlet容器负责载入和实例化Portlet。

当Portlet容器运行Portlet应用或

者延迟到Portlet需要服务使用者的请求时,Portlet就会被载入并实例化。

载入Portlet类后,

Portlet类随即被实例化。

初始化:

Portlet类实例化后,Portlet容器还需要初始化Portlet。

以调用Portlet去响应客

户端的请求。

Portlet容器呼叫Portlet接口中的init方法初始化Portlet。

扩展自PortletConfig

的类可以取出定义在部署描述文件中的初始化参数,以及ResourceBundle。

初始化异常:

在Portlet初始化期间,Portlet可能会丟出UnavailableException或

PortletException异常。

此时,Portlet容器不能把Portlet置入已启动的服务,并且Portlet

容器必需释放这个Portlet。

destory方法不能被呼叫,因为初始化被认为执行失败。

发生失

败后,Portlet容器会尝试着重新实例化及初始化Portlet。

这个异常处理的规则是:

由一个

UnavailableException指定一个不能执行的最小时间,当此异常发生时,Portlet容器必需等

到指定时间过去后才产生并且初始化一个新的Portlet。

在初始化过程中所丟出的RuntimeException异常,被当作PortletException来处理。

第四节LiferayPortal工作原理

Portal系统根据需要由一个或者多个Portal页面组成,每个Portal页面包含零个或

者多个的Portlet。

每个Portlet呈现自己的信息内容,以此实现内容聚合。

通过定义每个

Portlet的可用权限,实现个性化的桌面信息定制。

1.4.1Portlet样式以及窗口状态

JCP组织提出的JSR168规范定义了Portlet的实现标准。

每个Portlet对外表现为一

个小窗口,有自己的默认样式和窗口状态。

如上图,Portlet有自己的标题,浏览状态下支

持编辑、关闭、上移、下移、最大化、最小化功能,编辑状态下支持返回和关闭功能。

从各

种数据来源提取的信息以Portlet内容的形式呈现在Portal中。

Portlet样式指出Portlet正处于什么模式,Portlet通常会根据所处的模式而执行不

同的工作并产生不同的内容。

Portlet模式让Portlet决定它该显示什么内容和执行什么动作。

调用一个Portlet

的时候,Portlet容器会提供一个Portlet模式给那个Portlet。

当在处理一个请求动作

时,Portlet的模式是可以用程序来改变的。

JSR168规范定义了三个Portlet模式:

浏览、编辑和帮助,LiferayPortal支持其中

的全部三个模式。

同时Portal是可以根据使用者的角色,来决定是要提供(显示)哪几个

Portlet模式给使用者操作。

例如,匿名使用者可以操作浏览和帮助等Portlet模式的内容,而只有授权过的使用

者可以操作编辑这个Portlet模式所提供的内容或动作。

在浏览这个Portlet模式里,所被期望要提供的功能是产生标记语言来表现此时Portlet

的状态。

举例来说,Portlet的浏览模式可以包含一个或多个画面让使用者可以浏览与互

动,或是一些不需要与使用者互动的静态内容。

在编辑这个Portlet模式里,Portlet需要提供内容和逻辑来让使用者定制Portlet

的行为。

典型的说,编辑模式的Portlet会设定或更新Portlet的参数设定值。

在帮助这个模式里,Portlet应该提供有关这个Portlet的帮助信息。

这个帮助信息可

以是有关这个Portlet的简单且条理清楚的视窗说明或是详细的说明整个来龙去脉。

所有

的Portlet并不需要都提供帮助这个模式。

一个Portlet可以根据窗口状态来决定在一个页面里该占多少空间。

当调用一个

Portlet时,Portlet容器需要告诉该Portlet目前的窗口状态。

此时Portlet可以根

据窗口状态来决定它该对多少信息作处理。

在处理请求的过程中,Portlet可以通过程序

的方式来改变窗口状态。

1.4.2Portal页面

al在启动之后根据Portlet配置文件等信息,给Portlet的标题等属性赋值,赋予

Portlet编辑、关闭等各种控制按钮,使Portlet成为一个标准的Portlet窗口。

Portlet

合并这些Portlet窗口,组成一个完整的文档,即Portal页面。

每个Portlet都处于相应

的布局当中,呈现事先定义的内容,表现Portal公共的品质。

而且Portlet可以在不同的

布局之间切换。

Portlet响应客户端的请求,并将请求提交到相应的URL进行逻辑处理。

Portlet开发完毕之后,部署到Portal服务器,由Portal服务器负责组织、权限控制

现。

Portal页面创建过程如下:

Portlet在Portlet容器内执行

let容器将这些内容提交给Portlet服务器,Portlet服务器依照这些内容建立Portal

页面,然后将它传给客户端呈现。

具体流程如下图:

Portal页面的请求过程如下:

使用者经由客户端设备(例如浏览器)存取Portal,Portal根据接收到的请求决定哪

些Portlet需要被执行以满足需求。

Portal通过Portlet容器呼叫Portlet,然后由

Portlet产生的片段建立Portal页面,再传回客户端呈现给使用者。

第二章LiferayPortal的使用

LiferayPortal分为Professional和Enterprise两个版本。

LiferayPortal支持多个应用服务器和Servlet容器。

LiferayPortalEnt版本需要一个健壮

的J2EE服务器,而Pro版本只要一个普通的Servlet服务器就可以运行。

如果需要运行EJB,

建议使用Pro版本。

两个版本的源码和应用接口都是一样的。

默认的,Pro版本分别集成Tomcat/Jetty/Resin作为Web服务器,采用Struts作为Web

框架,实现轻量级的系统架构。

Enterprise集成JBoss作为Web服务器,采用Spring作为

Web框架,兼顾EJB。

LiferayPortal默认集成HSQL数据库,来持久化保存用户自定义的数据。

通过修改集成

在LiferayPortal的Tomcat的部署描述文件,用户可以更改数据源。

LiferayPortal官方网站

提供了数据库表的生成脚本。

下面以Pro版本(Tomcat服务器)为例,讲述LiferayPortal的用户策略、内容布局、桌面

和品质。

第一节LiferayPortal安装

由于LiferayPortalPro版本集成了Tomcat服务器V5,所以只要把应用包下载解压就可

以直接运行。

1、从http:

//www.iferay.om/web/guest/downloads/portal_pro下载Pro版本zip包,解压到

目录{PORTAL_HOME},目录结构相对普通的Tomcat增加了Liferay文件夹。

Liferay是默认

的Web应用。

2、正确安装JDK1.6。

3、从命令行启动{PORTAL_HOME}/bin/startup.bat,启动LiferayPortal。

4、在浏览器地址栏输入http:

//localhost,访问Portal首页。

5、用Login为test@密码为test的用户登录Portal系统,得到的是一个Demo

的首页。

如果启动呈现异常,请查看Tomcat控制台查找原因。

LiferayPortal启动之后,HSQL数据库自动启动。

登录系统后,点击右上角“MyAccount”链接,在“Display”选项卡中将Language改

为“Chinese(China)”,以便中文化Portal界面。

第二部分Portlet开发环境部署

2.1部署环境

LiferayPortal通过定义严谨的用户策略、灵活的可个性化定制的内容和布局以及丰富可

定制的品质策略,实现灵活的可定制的产品理念。

LiferayPortal采用用户-用户组-角色-Portlet的关联方式来实现用户权限的管理。

用户录属于用户组(也可以单独存在),该用户组具有某种(多种)角色,角色分配给用户

组,也可以直接分配给用户。

而操作某个Portlet需要具有其指定的角色。

下面通过实例

操作,来了解和体验一下LiferayPortal的用户管理策略。

2.2门户架构

为了添加和维护各种门户资源而去专研用户接口前,最好浏览下Liferay用来组织门户的一些概念。

用户入口。

添加用户到用户组。

用户可以属于组织。

组织可以分层,例如家庭办公室→区域办公室→卫星办公室。

用户,用户组和组织可以属于有共同利益的社区。

考虑这面最简单的方式是你要有用户和用户分到一组的多种方式。

某些分组遵循一个有管理组织的层次,其他的分组可能由用户自己来完成(例如来自多个组织的不同用户创立对狗有共同利益的爱狗社区)。

并且其他分类可能是通过角色管理来完成的,而这种角色是为其他抄捷径到门户的门户设计而设计的(例如一个留言板管理员角色由来自多个社会和用户组织,允许这些用户中的任何门户网站管理留言板)。

这种组织门户的理念将以下面的方式来说明:

在下面的说明中,每个剪头可以用“可以是其中一员”来代替,这就意味着组织可以是社区的成员,社区可以是角色的成员,用户可以是任何的成员等等。

尽管这似乎非常复杂,但是它为门户管理员以协调和健壮的方式配置门户资源和安全提供了一个强大的机制。

重要的是

要注意,图中只显示用户和他们的集体化。

权限不能贯彻到所有的这些集成中,它只被分配到给角色。

2.2.1用户

可以通过多种途径收集用户。

他们可以是分层组织中的成员,例如Liferay包含→安全→因特网安全。

他们可以归属于专门的用户群,例如博客,这样用户可以在他们的私人空间创建博客载体。

他们也可以是有相同兴趣的社区当中的成员。

用户可以拥有自己的角色来描述他们系统中的功能,这些角色可以作用到门户,组织,或者社区。

2.2.2用户组

用户组是由管理员创建的简单独断的用户集合。

他们可以是社区或者角色中的成员。

权限不能分配给用户群。

尽管用户组像一些其他的用户集合(例如社区或者组织)没有页面。

它们没有可以用来定制用户私人页面集的页面模板。

这在后面会详尽的描述。

2.2.3角色

里面有三种角色:

∙门户角色

∙组织角色

∙社区角色

这些叫做角色域。

角色通过定义权限作用到它的范围:

贯彻到门户,组织或者社区。

例如,考虑一个角色被允许去创建一个信息公告栏。

一个门户角色是允许进入作用到门户,这里存在一个消

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1