Liferay开发模式

Liferay开发模式:

 

Portlet:简单说就是提供一个独立的war包放到应用服务器里面,每一个portlet都是一个独立的,直接部署到webapp下面。涉及的几个配置文件:

portlet.xml:存储portlet基本信息,包括名称,portlet的实现类,初始化参数等。

liferay-portlet.xmlliferayportlet定义描述文件,是liferayportlet.xml的扩展描述,允许我们对portlet的呈现、功能和行为进行更深入的定制。它与com.liferay.portal.model.Portlet类对应,包括对应的jscss,友好url等。

liferay-display.xmlportlet发布的位置等信息

Ext模式,它提供了Liferay的扩展,使用LiferayAPI或者重写Liferay核心库,同时也是一个缺点,不易于维护。

Hook:是Liferay 5.1后提出的,Hook提供基本的liferay核心库功能的重写,它也是支持热部署。主要场景:portal的启动或者用户登录,重写或者扩展portal jsps,修改portal properties,或者使用自己的实现替换portal service

Layout: portlet在页面的布局,它由一些简单的表格或者css容器,然后portlet可以放入其中

两种模式比较

插件模式优点

插件模式开的是独立的web工程,优点非常明显,只要遵循JSR,就可以任何Web方式开发,对liferay基本上没有依赖,耦合很低,可以非常方便部署、开发、迁移。便于应对以后的Liferay版本升级,基本上不存在啥成本,copy相应的war包过去即可。 

插件模式缺点 

在优点明显的同时,缺点也很明显。每个都是独立的war包,代码之间的共享访问很难,同时不能调用LiferayAPI 

扩展模式优缺点

扩展模式和插件模式刚好相反,扩展模式的优点就是插件模式的缺点;扩展模式的缺点就是插件模式的优点。
posted @ 2012-04-08 10:36  wasp  阅读(598)  评论(0编辑  收藏  举报