liferay5架构及开发培训

上传人:j7****6 文档编号:61609364 上传时间:2018-12-06 格式:PPT 页数:49 大小:1.03MB
返回 下载 相关 举报
liferay5架构及开发培训_第1页
第1页 / 共49页
liferay5架构及开发培训_第2页
第2页 / 共49页
liferay5架构及开发培训_第3页
第3页 / 共49页
liferay5架构及开发培训_第4页
第4页 / 共49页
liferay5架构及开发培训_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《liferay5架构及开发培训》由会员分享,可在线阅读,更多相关《liferay5架构及开发培训(49页珍藏版)》请在金锄头文库上搜索。

1、Contents,Liferay介绍,返回上级目录,返回目录,Liferay概述及特点,Liferay 是专门为符合Portlet API(JSR268)的门户单元设计开发的。而且有许多不错的门户单元附加在Lliferay 中,包括邮件、文档库、日历、公告板等,它们也可以作为开发学习时的例子使用。 Liferay Portal代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。

2、 主要特点: 1、提供单一登陆接口,多认证模式(LDAP或SQL); 2、管理员能通过用户界面轻松管理用户,组,角色; 3、用户能可以根据需要定制个性化的portal layout; 4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS; 5、支持主流的数据库,如PostgreSQL,MySQL; 6、使用了第三放的开源项目,如Spring, Hibernate, Lucene, Struts; 7、支持包括中文在内的多种语言; 8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;,什么是Portal?,许斌,Portal 是基于W

3、eb 的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合信息系统。 完整的Portal 通常由Portal 服务器、Portlet 容器、Portlet 构成。,返回目录,Portlet vs Servlet 开发,开发一个Java Portlet 类似于开发一个基于web应用的Servlet开发 相似的地方: Portlet 也是 Java 技术的 web 组件 Portlet 也是有特定的 container 在管理 Portlet 可以动态产生各种内容 Portlet 的生命周期由 container 所管理 Portlet 和客户端的互动

4、是通过 request/response 的机制 主要的区别在于: Portlet只能生成标记段,不是整个文档, Portal将会连接一些portlets的标记段并且创建一个整个页面返回给用户. 接受请求的类必须继承javax.portlet.Portlet 而不是javax.servlet.http.HttpServlet. 一个portlet请求可能涉及两个状态进程: 1. 对于大多数的请求来说,一个portlet将会执行一个状态转换操作,这与action 状态有关系,并且通过一个方法processAction来实现.并不是需要每一个Action 状态.包含一个action 状态的请求被注

5、入到ActionURL,与此同时那些只含有render phase 的请求被注入到RenderURL. 2. 接下来所有与页面有关联的,将要被返回的其他的portlets的render状态可能会在任何将HTML标记段来描述他们自身的请求中来被调用.Portlet通过一个render方法实现这种功能.,返回目录,Portlet vs Servlet 开发,Portlet 有一些附加的功能是 Servlet 所没有的: Portlet 能够存取及储存永久配置文件及定制资料。 Portlet 可以存取使用者数据 Portlet 具有 URL 的重写功能在文件中去动态建立连结,允许 portal se

6、rver 不用去知道如何在网页的片 段之中建立连结及动作。 Portlet 可以储存临时性的数据在 Portlet session 之中,拥有两个不同的范围 :application-wide scope 及 Portlet private scope 。 Portlet 不具有一些功能, 但是 Servlet 却有提供: Servlet 具有设置输出的文字编码( character set encoding)方式 Servlet 可以设置 HTTP 输出的 header Servlet 才能够接收客户对于 portal 发出的 URL 请求,返回目录,Portlet 的生命周期,一个Port

7、let有着良好的生命周期管理,定义了怎样装载,实例化和初始化,怎样响应来自客户端的请求及怎样送出服务。这个Portlet生命周期由Portlet接口的init,processAction,render和destroy方法来表达。 载入和实例化:Portlet 容器负责载入和实例化Portlet。当Portlet 容器运行Portlet 应用或者延迟到Portlet 需要服务使用者的请求时,Portlet 就会被载入并实例化。载入Portlet 类后,Portlet 类随即被实例化。 初始化:Portlet 类实例化后,Portlet 容器还需要初始化Portlet。以调用Portlet 去响应

8、客户端的请求。Portlet 容器呼叫Portlet 接口中的init 方法初始化Portlet。扩展自PortletConfig的类可以取出定义在部署描述文件中的初始化参数,以及Resource Bundle。 初始化异常:在 Portlet 初始化期间,Portlet 可能会丟出 UnavailableException 或PortletException 异常。此时,Portlet 容器不能把 Portlet 置入已启动的服务,并且 Portlet容器必需释放这个 Portlet。 destory 方法不能被呼叫,因为初始化被认为执行失败。发生 失败后,Portlet 容器会尝试着重新实

9、例化及初始化 Portlet。这个异常处理的规则是:由一个UnavailableException 指定一个不能执行的最小时间,当此异常发生时,Portlet 容器必需等到指定时间过去后才产生并且初始化一个新的 Portlet。在初始化过程中所丟出的 Runtime Exception 异常,被当作 PortletException 来处理。,返回目录,Liferay Portal 工作原理(1),Company Logo,,Portal 系统根据需要由一个或者多个Portal 页面组成,每个Portal 页面包含零个或者多个的Portlet。每个Portlet 呈现自己的信息内容,以此实现内

10、容聚合。通过定义每个Portlet 的可用权限,实现个性化的桌面信息定制。,每个Portlet 对外表现为一个小窗口,有自己的默认样式和窗口状态。 JSR168 规范定义了三个Portlet 模式: 浏览、编辑和帮助。如右图,Portlet 有自己的标题,浏览状态下支持编辑、关闭、上移、下移、最大化、最小化功能,编辑状态下支持返回和关闭功能。从各种数据来源提取的信息以Portlet 内容的形式呈现在Portal 中。 同时Portal 是可以根据使用者的角色,来决定是要提供(显示)哪几个Portlet 模式给使用者操作。,返回目录,Liferay Portal 工作原理(2),Company

11、Logo,,Portal 页面创建过程如下: Portlet 在 Portlet 容器内执行Portlet容器将这些内容提交给 Portlet 服务器,Portlet 服务器依照这些内容建立Portal页面,然后将它传给客户端呈现。具体流程如右上图:,Portal 页面的请求过程如下: 使用者经由客户端设备(例如浏览器)存取 Portal,Portal 根据接收到的请求决定哪些 Portlet 需要被执行以满足需求。Portal 通过Portlet容器呼叫 Portlet,然后由Portlet产生的片段建立Portal页面,再传回客户端呈现给使用者。具体流程如右下图:,Portlet 开发完毕

12、后,部署到Portal 服务器,由Portal 服务器负责组织、权限控制现。,返回目录,Java Portlet 规范(JSR-268)和WSRP,JSR-268: 由于Liferay 支持Portlet 规范(JSR-268).任何基于此规范的Portlet均可正常运行. Java 平台提供了一种基于JSR-168的标准,标准化portlets如何与其他portlet 容器集成并在不同的portal 产品之间来保证兼容性. Liferay Portal 提供了一种100%便利的portlet 容器来保证任何基于标准规范的portlet将会在Liferay中运行 在JSR-268规范中,一个p

13、ortlet应用可以聚集其他的不同的portlets 并且打包成一个WAR文件,就像一个标准的Java web应用一样.在WAR文件中, 以portlet.xml 来定义portlets 的应用, portlet.xml 文件放在WAR 文件中的 WEB-INF目录中. Java Portlet 规范包括portlet 容器.,WSRP: WSRP 是OASIS Web Service for Remote Portlet 的缩写。WSRP 是Web Service 的一种新的商业应用,一种新的标准,主要用来简化Portal 对于各种资源或者程序整合的复杂度,可以避免编程带来的整合麻烦和问题。

14、而且Portal 管理员可以从海量的WSRP 服务中选择需要的功能用以整合到目前所用的Portal 中。它有三种角色: 生产者 提供Portlet 消费者 使用Portlet 终端用户 最终用户 它的特点在于生产者将消费者所需要的信息通过WSRP 返回给消费者,这些信息是相对标记片断,例如HTML、XHTML 等,可以直接嵌入用户的页面中,而不用像Web Service一样开发用户端接口。 实现这个规范,Portal 可以跟各式各样的数据源打交道,彻底终结信息孤岛的窘境。,返回目录,Liferay Portlet5.2.2开发推荐使用工具,JDK 1.5,或者 1.5 -java开发工具包 J

15、re1.5,或者1.6 -java程序运行环境 Jikes 1.22-Jikes是一个IBM创建的Java编译器,比Sun JDK的编译器要快. Ant 1.7-一个基于 Java 的生成工具。 Subversion -一个简单的版本控制工具,推荐你将所有的代码和配置文件放在一个版本控制工具中,Subversion是一个免费的开源的版本控制工具。 Eclipse3.3+MyEclipse6.0-一个支持J2EE,Java,Web,portlet等开发的IDE MySQL5.0-一个主流的开源数据库 Tomcat-5.5-Web服务器 具体环境变量里面需要的配置有: JAVA_HOME D:Pr

16、ogram FilesJavajdk1.5.0_16 CLASSPATH .; %JAVA_HOME% libdt.jar; %JAVA_HOME% libtools.jar; %JAVA_HOME% jrelib JIKES_HOME, ANT_HOME Path:% JAVA_HOME %bin; % JIKES_HOME %bin; %ANT _HOME%bin;,返回目录,Liferay Portlet5.2.2开发简单说明,无论是portal和ext工程,目录都很繁杂,其实我们只要关注3个目录就够了。这就是ext工程对应目录: ext-implsrc ext-servicesrc portal-web 而portal工程项目里面的3个目录:portal-implsrc和portal-servicesrc 是portal工程已经实现的所有portlet的java代码和部分资源文件;portal-w

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号