Liferay(二)结构介绍和使用
1、portal结构
完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。
Portal服务器
Portal服务器是容纳Portlet容器,支持Portlet呈现的普通或者特殊Web服务器。通常包含以下内容:
单点登录:Portal通常采用ACL、SSL、LDAP等业界标准的安全技术,提供对所有现有应用系统的安全集成,只需在Portal的唯一入口上登录一次,就可以访问所有应用系统和数据。对于安全性要求较高的应用系统,如电子商务平台、交易系统等,通过扩展接口传递用户身份信息,如数字证书信息、数字签名信息等,进行二次身份认证,保证单点登陆的安全性。
权限控制:系统采用LDAP对用户资源进行统一的管理,同时提供二次开发接口,可以与其他应用系统的用户管理模块对接,并能随相关业务系统实时更新访问权限。通过完善的授权机制及存取控制,用户访问权限控制到字段级别,确保用户只能访问具有权限的应用系统及相关信息。
内容管理: 实现应用系统之间实时交换信息。采用多种缓存机制,保证内容交换的性能和准确性。采用基于XML的Rich Site Summary (RSS)标准,迅速在各应用系统之间传播最新变化。
信息发布: 实现信息门户内容的动态维护。动态网站系统可与OA协同办公系统、知识管理系统等集成,网站信息须经OA系统的审批流程流转通过后或知识管理平台设置具有外部共享权限后才可正式发布,真正实现内外信息发布的同步。
文件管理: 系统实现无缝集成多种数据源,包括:数据库、文档(Office文档、PDF、AutoCAD、甚至ZIP文档)、Web网页、FTP站点等,并对数据按业务要求和职务特点加以分析整理,通过统一Web界面主动推送(Push)至用户的门户桌面,帮助用户做出及时、正确的决策。
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的可即插即用的界面组件
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 来处理
2、使用liferay登陆
在WINDOWS上用mysql客户端连接上了liferay的数据库
执行SQL:SELECT * FROM Address A;
报错如下:
The memory load of the system is extremly high.
In order to keep the system responsive record set retrieval has been
stopped.
服务器mysql日志地址:/var/log/mysql.log 。日志显示没有问题。
晕,检查后,发现,原来是我自己的机器,内存用到1.98G了,离我的上限2G已经不远了。。。。用命令行在服务器端执行就可以
liferay系统和邮件系统还有点问题,所以新注册的用户邮件发送不出去
默认的用户有一个登录名test@liferay.com 密码test可以登陆
用户可以在SELECT * FROM User_ U;表中查询
等录后,在右上角的的菜单中点击“Add application(添加应用)”
打开了application的选择窗口,打开
tools---->language 工具---》语言
Admin---->Enterprise Admin admin---》企业admin
感觉liferay的国际化虽然技术上做的不错,但是实在是翻译得,不敢恭维啊。
1、portal结构
完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。
Portal服务器
Portal服务器是容纳Portlet容器,支持Portlet呈现的普通或者特殊Web服务器。通常包含以下内容:
单点登录:Portal通常采用ACL、SSL、LDAP等业界标准的安全技术,提供对所有现有应用系统的安全集成,只需在Portal的唯一入口上登录一次,就可以访问所有应用系统和数据。对于安全性要求较高的应用系统,如电子商务平台、交易系统等,通过扩展接口传递用户身份信息,如数字证书信息、数字签名信息等,进行二次身份认证,保证单点登陆的安全性。
权限控制:系统采用LDAP对用户资源进行统一的管理,同时提供二次开发接口,可以与其他应用系统的用户管理模块对接,并能随相关业务系统实时更新访问权限。通过完善的授权机制及存取控制,用户访问权限控制到字段级别,确保用户只能访问具有权限的应用系统及相关信息。
内容管理: 实现应用系统之间实时交换信息。采用多种缓存机制,保证内容交换的性能和准确性。采用基于XML的Rich Site Summary (RSS)标准,迅速在各应用系统之间传播最新变化。
信息发布: 实现信息门户内容的动态维护。动态网站系统可与OA协同办公系统、知识管理系统等集成,网站信息须经OA系统的审批流程流转通过后或知识管理平台设置具有外部共享权限后才可正式发布,真正实现内外信息发布的同步。
文件管理: 系统实现无缝集成多种数据源,包括:数据库、文档(Office文档、PDF、AutoCAD、甚至ZIP文档)、Web网页、FTP站点等,并对数据按业务要求和职务特点加以分析整理,通过统一Web界面主动推送(Push)至用户的门户桌面,帮助用户做出及时、正确的决策。
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的可即插即用的界面组件
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 来处理
2、使用liferay登陆
在WINDOWS上用mysql客户端连接上了liferay的数据库
执行SQL:SELECT * FROM Address A;
报错如下:
The memory load of the system is extremly high.
In order to keep the system responsive record set retrieval has been
stopped.
服务器mysql日志地址:/var/log/mysql.log 。日志显示没有问题。
晕,检查后,发现,原来是我自己的机器,内存用到1.98G了,离我的上限2G已经不远了。。。。用命令行在服务器端执行就可以
liferay系统和邮件系统还有点问题,所以新注册的用户邮件发送不出去
默认的用户有一个登录名test@liferay.com 密码test可以登陆
用户可以在SELECT * FROM User_ U;表中查询
等录后,在右上角的的菜单中点击“Add application(添加应用)”
打开了application的选择窗口,打开
tools---->language 工具---》语言
Admin---->Enterprise Admin admin---》企业admin
感觉liferay的国际化虽然技术上做的不错,但是实在是翻译得,不敢恭维啊。