毕业设计基于PORTAL技术的个性化门户网站论文.doc

上传人:laozhun 文档编号:2399983 上传时间:2023-02-17 格式:DOC 页数:38 大小:560KB
返回 下载 相关 举报
毕业设计基于PORTAL技术的个性化门户网站论文.doc_第1页
第1页 / 共38页
毕业设计基于PORTAL技术的个性化门户网站论文.doc_第2页
第2页 / 共38页
毕业设计基于PORTAL技术的个性化门户网站论文.doc_第3页
第3页 / 共38页
毕业设计基于PORTAL技术的个性化门户网站论文.doc_第4页
第4页 / 共38页
毕业设计基于PORTAL技术的个性化门户网站论文.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计基于PORTAL技术的个性化门户网站论文.doc》由会员分享,可在线阅读,更多相关《毕业设计基于PORTAL技术的个性化门户网站论文.doc(38页珍藏版)》请在三一办公上搜索。

1、基于portal技术的个性化门户网站目 录中文摘要3英文摘要4第一章 引言51.1 选题意义51.2 论文研究内容61.3 主要解决的技术问题71.4 论文的内容安排7第二章 国内外研究现状及相关技术82.1 Portal 技术的提出及其发展历程82.2 Portal 技术原理92.3 研究现状及发展趋势112.4 相关技术142.4.1 J2EE平台142.4.2 Liferay Portal工作原理172.4.3 MVC 模式介绍20第三章 基于PORTAL企业门户系统实现233.1 总体设计233.2 数据库设计233.2.1 数据库的需求分析233.2.2 数据库表的具体设计24第四章

2、 系统实现264.1 Liferay Portal配置264.2 权限管理的设计294.3 编码实现37第五章 系统运行情况测试405.1 测试的定义及目的405.2 测试的原则405.3 测试的方法405.3.1 界面测试415.3.2 功能测试415.3.3 需求测试425.3.4 性能测试425.4 测试中其他要注意的地方425.5 企业门户的测试43第六章 结论44参考文献45致 谢46中文摘要Portal是近年IT领域的一项重要新技术,是企业信息化的重要发展方向。当今,人们对于信息的获取、集成要求越来越高。如何更好地解决信息获取的难题,使得适当的人在适当的时间获取适当的信息。Port

3、al就是在这样的背景下应运而生的,它帮助人们在获取特定的数据时不用再进入众多的应用系统,而是由门户就可以方便快捷的获取信息,人们能够快速地调用各种不同的后台应用,并完成对后台应用的各种操作。Portal本身已经由静态网页、内容集成、企业运营平台、应用集成发展到今天完善的Portal。把Portal作为企业信息集成平台,实现企业信息应用的整合、集成、增值,已经成为重要的企业信息应用集成基础框架。英文摘要Portal was a recent years IT domain important new technology, was the enterprise informationizatio

4、n important development direction.Now, the people regarding the information gain, the integrated request more and more are high.How solves the information acquisition difficult problem well, causes the suitable person in the suitable time gain suitable information.Portal is arises at the historic mo

5、ment under such background, it helps the people when the gain specific data does not need to enter the multitudinous application system again, but is may facilitate the quick gain information by the gateway, the people can fast transfer each kind of different backstage application, and completes to

6、backstage application each kind of operation.Portal itself already by the static homepage, the content integration, the enterprise operation platform, developed Portal using the integration which today consummates.Integrates the platform Portal as the enterprise information, the realization enterpri

7、se information application conformity, the integration, the increment, already became the important enterprise information application integration foundation frame.第一章 引言1.1 选题意义经济全球化和信息网络化已成为当今世界发展的趋势。因特网的广泛应用与日益普及,使得知识的产生、更新、传播、利用等环节大大加速;技术创新、技术扩散的速度明显加快,用户需求瞬息万变,市场产品日新月异,竞争异常激烈。企业求生存、图发展,必须有很强的应变

8、能力和快速的反映能力。目前的企业采用了各种应用系统,数据正以几何级数增长,这些存储在企业数据库、主机、文件服务器上的海量信息是企业最为头疼的问题,企业迫切需要一种提供组织、搜索和获取真正有价值的信息的解决方案。企业信息门户超出了传统的管理信息系统概念,也超越了普通意义上的门户网站,它也不仅是企业管理信息系统与电子商务应用的简单结合,他的核心是提供一个集成企业内部和外部信息的基础设施,整合企业的知识管理系统、财务系统、ERP系统、流程管理等应用系统,扩展企业资源管理的范围,从而更有效地利用企业的数据资源和信息资产。企业信息门户通过这些数据与应用的集成和个性化的控制,为管理者、雇员、供应商、用户、

9、分销商等提供一个唯一的接入点,而且保证企业内部和外部的每个合法用户都能访问到这些信息,充分满足企业对信息交流实时互动的要求。同时企业信息门户为各种类型的用户提供个性化的信息搜索、访问和分析功能,帮助他们通过有效利用企业的信息资产做出最佳的业务分析和决策。在我国,随着信息化带动工业化战略的不断发展和深入,企业为了解决各个部门的信息孤岛,提高获得有效信息的速度,减少成本,也将目光转向企业信息门户系统。尤其是一些企业,企业信息化建设起步比较早,经过近十年的努力,建立了硬件设备先进、安全基础扎实,应用软件系统门类齐全、信息量大的管理信息系统。目前在线运行的大小应用系统有几十项,这些系统是企业信息化建设

10、快速发展的必然结果和真实写照,为企业的生产经营管理发挥了日益重要的作用。但是由于应用系统是在不同时期、根据不同的需求、由不同厂商来开发实施的,应用系统的用户界面不友好,也没有形成统一规范,所以企业的员工无法完全了解每一个应用系统的具体功能,更难熟记所有应用的口令以及操作方式,大大影响和制约了各项应用的实际效果;而且不同的应用系统都有自身的应用数据库,各个数据库也是独立运行的,这样使得各应用数据库之间没有统一的数据标准、编码标准,数据的统一性、共享性、唯一性、稳定性没有保证,信息孤岛现象严重,这为所有系统的整合和集成造成了障碍;对企业基础数据进行纵向比较和深层次挖掘以及业务流程的整合集成带来了困

11、难。随着企业信息化浪潮的高速发展,企业信息门户已经成为未来企业信息化与电子商务发展的主要方向。电力企业作为我国的龙头企业也迫切需要建设自己的门户网站来适应信息化发展的需要。1.2 论文研究内容论文研究了基于portal技术的个性化门户系统的信息化发展现状,分析了J2EE 开发平台和现有Portal方案的主要技术,设计了基于liferay 框架下的企业门户网站的基本架构。本文的主要工作如下:(1) 分析了J2EE 开发平台的框架及主要技术,讨论了J2EE框架下的三层体系结构的特点,对Web Service 的体系结构,相关标准与技术进行了研究,指出了基于J2EE平台下构建企业门户网站的优势所在。

12、(2) 设计了系统企业门户网站的体系结构,采用基于J2EE平台的MVC 设计模式。按照三层模式将Web 结构划分为表示层(Web)、业务层(Biz)和数据层(DAO)。表示层由Web 窗体组成,实现View 和Controller 的功能;业务层包括业务实体组件和业务逻辑组件;数据层包括数据对象、数据访问组件等,由业务层和数据层共同实现Model 的功能。(3) 在此系统中提出了一套基于用户、用户组、业务和角色相结合的身份控制方案,实现了灵活多变的权限控制组合。(4) 设计出一个比较清晰的页面框架展现机制,把View 层布局框架分为三层:页面(Page)、面板(Pane)、内容(Content

13、)。既能够满足用户灵活多变的需求又易于实现。1.3 主要解决的技术问题在门户网站的建设过程中,以下几个问题解决起来是比较复杂和困难的:(1) 权限管理及单点登录问题。(2) 个性化页面的展现机制。(3) 为生成动态信息内容各Web 组件间的通讯问题。在对现有的门户技术进行了研究分析后发现虽然对上面的问题已经有了比较成熟的解决方案,但是实现起来比较复杂,对开发人员的要求较高,运行起来对系统资源的消耗也比较大。所以在本文中力求研究出比较简单容易实现的解决方案。1.4 论文的内容安排第二章 国内外研究现状及相关技术2.1 Portal 技术的提出及其发展历程Portal 一词是“门户、入口”的意思,

14、基于Portal 技术的门户网站的概念起源于Internet 的门户网站,如美国的yahoo,国内的sohu 和网易等。1998 年11 月,美国美林公司发表了一份关于企业信息门户(Enterprise Information Portal,简称EIP)的报告,这份报告成为引导电子商务想象空间的问路石,在美国企业界引起了巨大反响。据报告估计,1998 年全球EIP 市场已达44 亿美元,2002 年将达148 亿美元。又据GartnerGroup 市场研究调查中心预测,2003 年,60%的财富500家大公司会导入企业信息门户。自2003 年以来,IBM,BEA,Sybase 等一些重要的企业

15、级软件厂商已经开始正式进入这一市场,伴随着众多小规模的独立软件厂商的加入,这一市场迅速拥挤起来。企业门户与Yahoo、新浪等Public Portal 网站是不同的。无论其面对的使用者还是要解决的实际问题以及安全模式、与业务系统的集成等方面都有较大的不同。但是,从企业门户的发展历程来看,这两者之间又存在着联系,企业门户是在Public Portal 的基础上逐步发展起来的。从功能扩展的角度,企业门户的发展分为五个阶段:在企业信息门户发展的最初阶段,Portal 实际上就是一些静态网页,用户通过这些网页可以获得企业提供的信息及服务。在EIP(Enterprise Information Port

16、al)发展的第二个阶段,随着信息量的增加,EIP 将企业中可以为大家共享的文档集成起来,并增加了搜索功能和内容发布功能,从而在一定程度上实现了内容管理(Content Management)。在EIP 发展的第三个阶段,为了更好的支持企业的业务运营,EIP 增加了工作流、渠道(包括电子邮件等)的功能。使得EIP 逐渐发展成为企业运营的平台。这时的EIP 已经具备了初步的集成过程和交互能力。在EIP 发展的第四个阶段,集成了更多的应用,如ERP、CRM、SCM 等。同时,增加了web service 引擎,EIP 集成业务的能力进一步增强,逐渐成为与这些业务系统进行交互的平台, 这时EIP 的理

17、念与EAI ( Enterprise ApplicationIntegration)已经有些类似。在EIP 发展的第五个阶段,EIP 软件进一步与应用服务器相结合,加强了高级的个性化功能,发展成为应用服务器之上的管理客户、员工和合作伙伴应用的一个框架。以上阶段的划分主要基于EIP 功能扩展的考虑。EIP 演化的时间并不完全符合这种阶段划分方式。一些机构也研究了EIP 的发展过程。2.2 Portal 技术原理JSR168将Portal 的组成分为三部份 (1) Portal Server (2) Portlet Container (3) Portlet。 1、Portal Server的定义

18、建立在HTTP Server上。负责接收HTTP请求,调用Portlet,并将Portlet产生的内容聚集到Portal页面返回给用户。(Portal Server有时简称Portal)2、Portlet Container 的定义Portal Container:管理Portlet的生命周期并且提供其运行所需要的必要环境。同时也提供Portlet相关信息的存储。一个Portlet container 接收到来自Portal 的请求后,接着将这个请求传递给存在Container 的Portlet 执行。Portlet Container 没有义务去组合Portlets 产生的信息內容,这个工作

19、必须由Portal (即Portal Server)来处理。Portal 和Portlet Container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。3、Portlet的定义一个 Portlet 是以 Java 技术为技术的 Web 组件,由 Portlet Container 所管理,专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件,提供呈现层成为一个信息系统。这些由 portlet 产生的内容也被称为片段 (fragment),而片段是具有一些规则的Markup( HTML、XHTML

20、、WML ),而且可以和其他的片段组合而成一个复杂的文件。而 Portlet 中的内容正常来说是与其他 Portlet 的内容聚合而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。客户端和 portlets 的互动是由 portal 通过典型的 request/response 方式实现,正常来说,客户会和 portlets 所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果 portal 将会接收到 portlet 的动作,将这个处理状况转向到目标 portlet。这些 portlet 内容的产生可能会因

21、为不同的使用者而有不同的变化,完全是根据客户对于这个 portlet 的设置。Portlet生命周期Portlet接口的四个方法构成一个完整的生命周期:public void init(PortletConfig config) throws PortletException;由Portlet容器调用,在将Portlet放入服务区前调用。Portlet容器在初始Portlet后,直接调用这个方法。public void processAction (ActionRequest request, ActionResponse response) throws PortletException,

22、java.io.IOException;由Portlet容器调用,用来处理action request。public void render (RenderRequest request, RenderResponse response) throwsPortletException, java.io.IOException;由Portlet容器调用,用来生成输出。public void destroy() ;将Portlet从服务区中删除。一个Portal处理流程1. 一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求;2. Portal(或称为Portal Se

23、rver)接收到请求;3. Portal判断请求是否包含与组成门户网站网页的portlet有关的动作;4. 如果存在与某个portlet相关的动作,Portal请求portlet容器调用portlet处理动作;5. Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段;6. Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。在下图中需要注意的是Portal服务器是建立在Http服务器的基础上的。Portal服务器不可独立的运行。2.3 研究现状及发展趋势1、研究现状虽然企业门户的概念可以被预言家们肆意地描绘,然而真正

24、要实现企业门户,所面临的问题却不是轻易能够跨越的。就目前国内门户市场的现状而言,我想用困惑和硝烟并存来形容。对于门户实施的主体的CIO们来说,他们更多的是困惑:他们害怕为了使用这个门而重建一所房子 ,他们不仅要考虑不同的产品套件的产品成熟度、技术风险和应用风险,还要考虑到企业现有的应用、系统以及员工的工作习惯、部门的经济利益等等,要进行较多的权衡与折衷实在是困惑。而对于提供企业门户套件或解决方案的国内外厂商,他们背后则在进行一场没有硝烟的战争。据估计,国内外主流的门户软件供应商早已超过100家。有关资料显示,2001年, Plumtree、SAP和IBM的市场占有率并列第一位,但这三家公司各自

25、的市场占有率都只不过7%。2005年BEA系统有限公司(NASDAQ:BEAS)以2亿美元现金收购Plumtree则是最好的说明。 在这样的一个大背景下,国内企业门户应用的现状怎么样?他们在建设企业门户的摸索道路上是否有成功的经验和教训?企业门户建设的关键成功因素是什么?等等这些问题都是需要我们去回答的。为此我们特进行了2007年中国企业门户应用现状与趋势的调查,希望通过这样一项工作探索国内企业门户应用的脉动或规律,同时也籍此为国内正在进行或将要进行企业门户建设的企业提供宝贵的参考意见。 中国企业的门户建设才刚刚起步,但企业门户应用的趋势不可阻挡2002年6月,Gartner Group估计门

26、户市场将从2001年的709万美元上升到2006年的2亿美元;就在当月IDC研究也表明门户市场将从2001年的550万美元上升到2006年的3.1亿美元(见表1)。 即使Delphi保守估计,门户市场也有20的增长率。在这种大环境下,国内那些企业信息化完善的公司或那些敢于吃螃蟹的CIO们已经在摸索中开始了门户建设,通过调查企业门户建设的状态和水平,我们发现有35.8%企业门户建设处于萌芽和启动阶段,24.1% 的企业正在进行门户建设的规划制定工作,更有7.3 %的企业部署了企业门户软件。当然我们必须还注意到有接近30%的企业没有门户建设的计划和50的企业只是简单的进行了企业内外网的建设。即使这

27、样,还差不多有接近6成的企业对企业门户的关注和投入在增加。相比于我们所调查的企业信息化大部分还处于业务操作电子化阶段和业务流程信息化阶段,这样一个数据让我们感到非常意外,也让我们充满了信心,它暗示着企业门户将会得到广泛的应用。虽然我们现在还无法估计国内的门户市场究竟有多大,但是根据我们调查的结果,我们对于门户应用的趋势不可阻挡性还是十分乐观的。2、Portal未来的发展方向分析Portal的出现已经多年,在国内外大大小小的项目和产品中也有一些应用。随着网络和应用技术的迅速发展,Portal本身也会随之快速发展。本文就Portal的特点分析未来的Portal发展方向:一、运行在浏览器中的“应用操

28、作系统”:目前为止,Portal已经有了国际规范JSR168,各大软件公司的Portal都遵从此规范(包括:Microsoft、IBM、Bea等),通过此规范,大大增强了Portlet可移植性。随着网络的快速发展,以后的Portal就是一个“应用操作系统”内核,软件开发人员只要按规范开发好应用,就可以“安装”到Portal平台里,就好象Windows平台开发的软件一样,只要符合规范要求,就能setup到系统中,系统菜单会自动添加相关的功能项,点击菜单就可以运行相应的功能。这样的”操作系统平台“不是面向机器各种硬件的(Windows、Linux、UNIX等都是驱动硬件的),而是面向具体应用功能的

29、,比如开发一套进销存的Portlet,注册安装到平台后,有权限的用户就可以选择这些Portlet进行工作完全是远程的,通过浏览器访问远程服务器的,而此远程服务器就安装有Portal平台一个“面向应用的操作系统”二、前台界面平台决定多家Portal并存:根据界面的技术特点、风格特征、处理效力,决定多家Portal核心平台提供商并存,而不是根据后台技术(JAVA、.NET等)决定。这就像Windows与Apples一样,对于用户来说不关心后台的实现技术,而是根据界面、某些方面的处理能力上做选择。所以,如果能在Portal前台显示界面上有新的模式创新或突破,会有大的发展的空间,也更容易被用户青睐。三

30、、跨平台的优势仍然很重要:在操作系统平台上,Oracle依靠其跨平台特点赢得大量的Linux、UNIX客户,使得SQL SERVER无法企及。在Portal平台发展的未来,跨平台性也是Portal平台的竞争所在,只不过这种“跨平台性”是指跨多种“客户端浏览器”平台,对于客户来说,可以按喜好任意选择自己喜欢的浏览器,如果能兼容各种客户端浏览器(无论是Linux、Unix上的浏览器,还是Windows上的浏览器)即跨客户端浏览器平台,将是客户选择的一个重要标准。2.4 相关技术2.4.1 J2EE平台J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署

31、,进而提高可移植性、安全与再用价值。 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 在J2EE架构下,开发人员可依循规范基础,进而开发企业级应用;而不同J2EE供货商,同会支持不同J2EE版本内所拟定的标准,以确保不同J2EE平台与产品之间的兼容性。换言之,植基J2EE架构的应用系统,基本上可部署在不同的应用服务器之上,无需或者只须要进行少量的代码修改,即能大幅提高应用系统的可移植性(Portabilit

32、y)。 J2EE主由升阳(SUN)与IBM等厂商协同业界共同拟定而成的技术规范,以企业与企业之间的运算为导向的JAVA开发环境。J2EE架构定义各类不同组件,如Web Component、EJB Component等,而各类组件可以再用(reuse),让已开发完成的组件,或者是经由市面采购而得的组件,均能进一步组装成不同的系统。 对于开发人员而言,只需要专注于各种应用系统的商业逻辑与架构设计,至于底层繁琐的程序撰写工作,可搭配不同的开发平台,以让应用系统的开发与部署效率大幅提升。 J2EE的核心规范是 Enterprise Java Beans(EJBs)。EJB依照特性的不同,目前共分为三种

33、,分别是Session Bean、Entity Bean,以及 Message Driven Bean 。其中 Session Bean 与Entity Bean 算是EJB的始祖,这两种EJB规格在EJB 1.x版本推出时就已经存在,而Message Driven Bean则是出现在EJB 2.0的规格之中。 目前业界许多程序设计师,或者是网页设计人员,多利用JSP/Servlet的便利性,进而在J2EE服务器之上开发相关的应用,或是整合公司内部的各种资源。 Java 2平台依照应用领域的不同,共分为三大版本,分别是J2EE、标准版本J2SE(Java 2 Platform, Standar

34、d Edition)、微型版本J2ME(Java 2 Platform, Micro Edition),以及Java Card等。 从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理

35、和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。 为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J

36、2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。 J2EE组成了一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。J2EE容器包括: Web容器 服务器端容器,包括两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。Web容器中的组件可使用EJB容器中的组件完成复杂的商务逻辑。 E

37、JB容器 服务器端容器,包含的组件为EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用于服务器端的商业逻辑的实现。EJB规范定义了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。 Applet容器 客户端容器,包含的组件为Applet。Applet是嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用Web页面无法充分地表现数据或应用界面的时候,才使用它。Applet是一种替代Web页面的手段,我们仅能够使用J2SE开发Applet,Applet无法使用J2EE的各种Service和

38、API,这是为了安全性的考虑。 Application Client容器 客户端容器,包含的组件为Application Client。Application Client相对Applet而言是一种较重量级的客户端,它能够使用J2EE的大多数Service和API。 通过这四个容器,J2EE能够灵活地实现前面描述的企业级应用的架构。 在View部分,J2EE提供了三种手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分别能够实现面向浏览器的数据表现和面向桌面应用的数据表现。Web容器中的Servlet是实现Controller部分业务流程控制的

39、主要手段;而EJB则主要针对Model部分的业务逻辑实现。至于与各种企业资源和企业级应用相连接,则是依靠J2EE的各种服务和API。 在J2EE的各种服务和API中,JDBC和JCA用于企业资源(各种企业信息系统和数据库等)的连接,JAX-RPC、JAXR和SAAJ则是实现Web Services和Web Services连接的基本支持。 J2EE容器也称为J2EE服务器,大部分时它们概念是一致的。衡量J2EE应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依赖,也只有这样,才能体现可维护性、可拓展性的软件设计目标。为了达到这个目的,诞生各种框架概念

40、,J2EE框架标准将一个系统划分为WEB和EJB主要部分,当然我们有时不是以这个具体技术区分,而是从设计上抽象为表现层、服务层和持久层,这三个层次从一个高度将J2EE分离开来,实现解耦目的。因此,我们实际编程中,也要将自己的功能向这三个层次上靠,做到大方向清楚,泾渭分明,但是没有技术上约束限制要做到这点是很不容易的,因此我们还是必须借助J2EE具体技术来实现,这时,你可以使用EJB规范实现服务层和持久层,Web技术实现表现层。2.4.2 Liferay Portal工作原理Portal系统根据需要由一个或者多个Portal页面组成,每个Portal页面包含零个或者多个的Portlet。每个Po

41、rtlet呈现自己的信息内容,以此实现内容聚合。通过定义每个Portlet的可用权限,实现个性化的桌面信息定制。1、Portlet 样式以及窗口状态JCP组织提出的JSR168规范定义了Portlet的实现标准。每个Portlet对外表现为一个小窗口,有自己的默认样式和窗口状态。如上图,Portlet有自己的标题,浏览状态下支持编辑、关闭、上移、下移、最大化、最小化功能,编辑状态下支持返回和关闭功能。从各种数据来源提取的信息以Portlet内容的形式呈现在Portal中。Portlet样式指出 Portlet正处于什么模式,Portlet通常会根据所处的模式而执行不同的工作并产生不同的内容。P

42、ortlet模式让 Portlet决定它该显示什么内容和执行什么动作。调用一个 Portlet的时候,Portlet 容器会提供一个 Portlet模式给那个 Portlet。当在处理一个请求动作时,Portlet 的模式是可以用程序来改变的。JSR168规范定义了三个Portlet模式: 浏览、编辑和帮助,Liferay Portal支持其中的全部三个模式。同时Portal是可以根据使用者的角色,来决定是要提供(显示)哪几个 Portlet 模式给使用者操作。例如,匿名使用者可以操作浏览和帮助等 Portlet 模式的内容, 而只有授权过的使用者可以操作编辑这个 Portlet 模式所提供的

43、内容或动作。在浏览这个Portlet模式里,所被期望要提供的功能是产生标记语言来表现此时 Portlet的状态。 举例来说, Portlet的 浏览 模式可以包含一个或多个画面让使用者可以浏览与互动, 或是一些不需要与使用者互动的静态内容。 在编辑这个Portlet模式里, Portlet 需要提供内容和逻辑来让使用者定制 Portlet 的行为。典型的说,编辑模式的 Portlet 会设定或更新 Portlet 的参数设定值。在帮助这个模式里,Portlet应该提供有关这个 Portlet的帮助信息。这个帮助信息可以是有关这个 Portlet的简单且条理清楚的视窗说明或是详细的说明整个来龙去

44、脉。所有的Portlet并不需要都提供帮助这个模式。一个 Portlet可以根据窗口状态来决定在一个页面里该占多少空间。当调用一个 Portlet时, Portlet容器 需要告诉该 Portlet目前的窗口状态。 此时 Portlet可以根据窗口状态来决定它该对多少信息作处理。在处理请求的过程中, Portlet可以通过程序的方式来改变窗口状态。2、Portal页面每个Portal页面包含零个或者多个Portlet小窗口,构成一个完整的信息呈现页面。Portal在启动之后根据Portlet配置文件等信息,给Portlet的标题等属性赋值,赋予Portlet编辑、关闭等各种控制按钮,使Port

45、let成为一个标准的Portlet窗口。Portlet合并这些Portlet窗口,组成一个完整的文档,即Portal页面。每个Portlet都处于相应的布局当中,呈现事先定义的内容,表现Portal公共的品质。而且Portlet可以在不同的布局之间切换。Portlet响应客户端的请求,并将请求提交到相应的URL进行逻辑处理。Portlet开发完毕之后,部署到Portal服务器,由Portal服务器负责组织、权限控制和呈现。Portal页面创建过程如下:Portlet 在 Portlet容器内执行,Portlet容器接收 Portlet产生的内容。通常 Portlet容器将这些内容提交给 Por

46、tlet服务器,Portlet服务器依照这些内容建立Portal页面,然后将它传给客户端呈现。具体流程如下图:Portal页面的请求过程如下:使用者经由客户端设备(例如浏览器)存取 Portal,Portal 根据接收到的请求决定哪些 Portlet 需要被执行以满足需求。Portal 通过Portlet容器呼叫 Portlet,然后由 Portlet产生的片段建立Portal页面,再传回客户端呈现给使用者。具体流程如下图:2.4.3 MVC 模式介绍MVC模式是Model-View-Controller的缩写,中文翻译为模式-视图-控制器。MVC应用程序总是由这三个部分组成。Event(事件

47、)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC模式最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。smalltalk语言和java语言有很多相似性,都是面向对象语言,很自然的SUN在petstore(宠物店)事例应用程序中就推荐MVC模式作为开发Web应用的架构模式。MVC模式是一种架构模式,其实需要其他模式协作完成。在J2EE模式目录中,通常采用servic

48、e to worker模式实现,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式组成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中。MVC模式是一个复杂的架构模式,其实现也显得非常复杂。但是,我们已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC模式的实现变得相对简单易行。Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pa

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号