




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)基于struts和hibernate框架的网络办公系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 信息交流、信息传递与信息获取成为人类生活的必备环节,网络信息为企业提供了 种种机遇和更为广阔的发展空间,w 曲应用平台的建立成为商业企业不可或缺的制胜法 宝。目前基于w 曲的应用软件,体系结构多采用基于j 2 e e 平台的b ,s 架构,基于b s 架构的w e b 应用在逻辑上一般被分为五层:客户层、表示层、业务层、持久层和数据 库层。这种多层的体系结构向开发者提供了一种基于组件的设计和开发w 曲应用的模 块化方法。应用系统各层的实现技术可谓多种多样,其中软件框架技术在w e b 应用开发 中得到了广泛的应用。其中比较流行的就有开放源码的s t r u t s 框架和h i b e r n a t e 框架。 s t r u t s 是基于m o d e l2 设计模式的w 曲应用开发框架,是m v c 及j 2 e e 若干核心 模式的实现,可以使开发者遵循一个统一的模式进行设计编码,简化了系统后期维护的 工作量,非常适用于大型可扩展的w 曲应用的开发。但是s t r u t s 框架只解决了视图层、 业务层和控制层的分离,并没有对复杂的数据持久层提供灵活的架构支持,而 h i b e r n a t e 是一个数据持久层框架,提供了灵活的数据持久层支持,因此通过将这两个 架构整合起来,可以得到一个开发灵活、低耦合及易于维护的信息系统的完整解决方案。 本文所介绍的e w o r k 系统就是一个基于s t r u t s 框架和h i b e r n a t e 框架的w 曲应用,本 文将以e - w o r k 系统为背景展开讨论。 本文主要分为五个部分:第一部分阐述了课题提出的背景,简单介绍了e w o r k 系统开发所采用的技术;第二部分通过分析j 2 e e 体系结构和m v c 设计模式,阐明了 基于j 2 e e 平台构建w e b 应用系统的优势及m v c 模式的优缺点。第三部分深入的分析 了基于m v c 模式的s t r u t s 应用框架和目前比较流行的数据持久层框架h i b e r n a t e ,通过 对这两种框架原理的分析,阐明使用这两种框架的优势,并在e - w o r k 系统中引入了 整合这两种框架的j 2 e e 架构的总体架构设计,并简要说明了这一架构设计的优缺点; 第四部分主要是对e w o r k 系统的分析,并对各模块进行功能划分与设计;第五部分 是通过对一个子模块功能的实现介绍s t r u t s 框架和h i b e r n a t e 框架在该系统设计中的应 用,并且在最后对系统开发过程中的经验加以总结并指出了系统进一步改进的方向。 关键词企业办公系统,m v 0 ,j 2 e e 架构,s t r u t s 框架,h i b e r n a t e 框架 山东大学硕士学位论文 a b s t r a c t t h ei n f o r m a t i o ni n t e r c o u r ,i n f o r m a t i o nw a n s f o ra n di n f o r m a t i o no b t a i n i n gh a sb e c o m e an e c e s s a r yc o u r s ef o rh u m a nl i f e i n f o r m a t i o nt r a n s f e r r e dv i ac o m p u t e rn e t w o r k sp r o v i d e s e n t e r p r i s e s w i l l im o r eb u s i n e s so p p o r t u n i t i e s c o m m e r c i a la p p l i c a t i o n sb a s e do nw e b p l a t f o r mb e c o m eac r i t i c a lf a c m ro fs u c c e s si nb u s i n e s s m o s te x i s t i n gw e ba p p l i c a t i o n sa r e u s i n gb sa r c h i t e c t u r eb a s e do nj 2 e e t h e s ea p p l i c a t i o n sc a l lb eb r o k e nd o w n i n t of i v el a y e r s , i e d i e n tl a y e r , p r e s e n t a t i o nl a y e r , b u s i n e s sl a y e r , p e r s i s t e n c el a y e ra n dd a t a b a s el a y e r w e b a p p l i c a t i o n sd e v e l o p e db yt h i sa r c l l i t e c t u r ea r eb u i l to nc o m p o n e n t - b a s e dd e s i g na n dm o d u l a r i m p l e m e n t a t i o n t h e r ea r ev a r i o u si m p l e m e n t a t i o nm e t h o d sf o rd i f f e r e n tl a y e r s ,a m o n gw h i c h s o f t w a r ef r a m e w o r ki sw i d e l yu s e di nw e ba p p l i c a t i o n s s t r u t sa n dh i b e r n a t ea r eo p e ns o u r c e f r a m e w o r k se n dc o m m o n l yu s e d s t r u t si saw e bd e v e l o p m e n tm e t h o d o l o g yb a s eo nm o d e l2d e s i g np a r e mw h i c hi sa n i m p l e m e n t a t i o no f m v ca n do t h e rm 萄o rj 2 e ed e s i g np a t t e r n s i tp r o v i d e sd e v e l o p e r sw i t ha u n i f i e dm o d e lf o rd e s i g na n dc o d i n gi tr e d u c e st h em a h n t e n a n c ec o a ta sw e l l h e n c ei ti s s u i t a b l ef o rl a r g ea n ds c a l a b l ew e ba p p l i c a t i o n s h o w e v e r , s t r u t sj u s tp r o v i d e saw a yt o s 印删ep r e s e n t a t i o nl a y e r , b u s i n e s sl a y e ra n dc o n t r o ll a y e ra n di td o e sn o tn a t i v e l ys u p p o r t c o m p l e xd a t ap e r s i s t e n c e h i b e r n a t ei saf r a m e w o r kf o rf l e x i b l ed a t ap e r s i s t e n c e t h u s ,w e c a r lc o m b i n et h ea b o v et w oa r c h i t e c t u r e st oo b t a i nac o m p r e h e n s i v es o l u t i o nf o rw e b a p p l i c a t i o n sw h i c hc a na c h i e v el o w - c o a td e v e l o p m e n t , i n t e g r a t i o na n dm a i n t e n a n c ea tt h e s a m et i m e t h i sp a p e rc o n s i s t so ff i v es e c t i o n s :s e c t i o n1i n t r o d u c e st h eb a c k g r o u n do ft h i st o p i c a n db r i e f st h ee - w o r k s y s t e m ,s e c t i o n2g i v e sa na n a l y s i so f j 2 e ea n dm v cd e s i g np a t t e m a n dl i s t st h e i rp r o sa n dc o n s s e c t i o n3f i r s ti n t r o d u c e ss t r u t sa n dh i b e r n a t ew h i c ha r ew i d e l y u s e di nd a t ap e r s i s t e n c e b yc o m b i n i n gt h es t r u t sa n dh i b e r n a t e , t h ee - w o r ks y s t e mi s p r o p o s e da n di t sa d v a n t a g ei sa n a l y z e d s e c t i o n4d e s c r i b e st h ef u n c t i o n a l i t ya n dd e s i g no f e a c hm o d u l e s e c t i o n5u s e sas u b - m o d u l et os h o wt h ei m p l e m e n t a t i o no fs t r u t sa n d h i b e r n a t ef r a m e w o r k si nr e a l a p p l i c a t i o n as u m m a r yo fd e v e l o p m e n te x p e r i e n c ea n d s u g g e s t i o nf o rf u t u r ei m p r o v e m e n ta r ea l s og i v e ni ns e c t i o n5 n 山东大学硕士学位论文 k e yw o r d s :e n t e r p r i s eo f 五c cs y s t e m , m v c ,j 2 e ea r c h i t e c t u r e ,s t r u t sf r a m e w o r k , i i i 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均己在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:j 垒必 日期:趁:翌! 旷 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:丝童查为导师签名:日期:趁幺坦:9 7 山东大学硕士学位论文 第一章引言 随着计算机和网络技术的快速发展,i n t e r n e t i n t r a n e t 应用在全球范围内日益普 及,人类进入一个高度信息化的社会,信息系统的作用也越来越大。企业为了适应信息 革命的要求,提高自身的竞争力,正打算或正在建立符合企业特色的办公自动化信息系 统。从目前的现状看,各企事业单位对利用网络以提高工作效率表现出浓厚的兴趣,充 分利用网络信息,积极推行网上办公,已经成为现代企事业办公的一种必然趋势。 1 1 课题提出的背景 办公自动化( o f f i c ea u t o m a t i o n ,简称o a ) 是将现代化办公和计算机网络功能结 合起来的种新型办公方式,利用计算机、网络、通信等技术,收集、处理、存储和传 输信息以提高办公效率和辅助决策,形成高效和智能的办公环境,使办公自动化、网络 化、无纸化,实现协同工作。 纵观办公自动化的发展历程大概可以分为三个阶段: 第一阶段:以数据为处理中心的传统m i s 系统。其贡献在于把i t 技术引入办公领 域,提高了文件管理水平。但是,这种方式缺乏如收发文等群组协作工作过程的处理能 力,因而其“自动化”程度是有限的。另外,由于第一代办公自动化系统所需要的各类 设备比较昂贵,因此,第一代办公自动化只有那些经济实力比较强的企事业单位才能够 使用。 第二阶段:以工作流为中心的协作性0 a 系统。以e - m a i l 、文档数据库管理、复制、 目录服务、群组协同工作等技术作支撑;包含众多实用功能和模块,实现了对人、事、 文档、会议的自动化管理。这一阶段在办公软件方面,最有名的是l o u t s 公司,它推 出了l o u t s 系列办公软件,包括l o u t s1 - 2 3 、l o u t sn o t e s d o m i n o 等。 第三阶段:协作与知识管理相结合的0 a 系统。这个阶段各类b s 结构的0 a 产品相 继开始实施。它可以在浏览器下实现知识利用、手写文档、电子认证等。同时,信息化 硬件的价格也逐渐大众化,软件产品的实施价格与周期也降低到合理的位置。因此,o a 系统在这一阶段得到了广泛的推广应用。 n e c 软件( 济南) 有限公司是一家纯日资跨国公司,由于公司成立不久,该公司目前 山东大学硕士学位论文 生产、经营、管理等活动以手工处理为主,靠电话、传真、邮件、会议、文件等传递信 息,企业管理信息化水平较低,随着公司规模的不断扩大,传统的办公方式严重影响了 公司的办公效率,因此迫切需要一套办公自动化系统。另外,公司的网络和硬件设备非 常先进,公司内部员工的技术水平也相当高,因此公司内部也很容易实施办公自动化。 所以就目前情况来看,n e c 软件( 济南) 有限公司上办公自动化系统是必要的也是可行 的。目前市面上虽然出现了许多o a 产品,并且在技术方面都比较成熟,功能也都基本 可以满足客户需求。但是要选择一套适应自己的需求和业务的o a 却不容易,况且有的 o a 产品价格昂贵,且不易维护。因此,公司就提出了自主开发一个网络办公系统的要 求。于是e - w o r k 办公系统就在这样的背景下产生了。 开发本系统的目的就在于:利用先进的计算机技术,构建一个信息化平台,将企业 的各类信息进行收集、分析,通过计算机网络将企业内的员工有机的组合起来,进行协 同办公,进而有效提高公司内部管理效率。企业信息化建设本来就是一个漫长的工程, 又由于受时间和人力等资源的限制,因此e - w o r k 系统分期完成。一期工程主要解决 目前公司内部迫切需要的模块,包括人事管理、公共资源和知识库,系统的基础框架包 含用户管理、应用管理、权限管理、角色管理等。 1 2e - w o r k 系统开发平台与开发技术的选择 当前主要有三种技术平台用于开发0 a 系统,分别代表了三种主流的o a 技术发展 趋势: ( 1 ) 基于l o t u sd o m i n o n o t e s 平台的0 a 系统 l o t u s 是办公自动化应用的最早倡导者之一。d o m i n o n o t e s 是一个集文档数据库、 邮件系统、可视化集成开发环境于一体的基础平台,适合处理办公协作流程中产生的非 结构化文档信息,并可利用灵活的邮件机制在企业内部传递文档。基于d o m i n o n o t e s 平台的o a 系统优点显著:系统平台具有内置的e - - m a i l 系统,不需要额外购买软件; 系统安全性高;支持多种操作系统平台;系统开发速度快。其不足之处有:对关系型数 据的查询统计功能相对较弱:系统平台软件较贵;对系统维护人员要求较高。 ( 2 ) 基于m i c r o s o f t 平台的o a 系统 a s p ( a s p n e t ) + m ss q ls e r v e r 模式 这是在m i c r o s o f t 平台上应用较为广泛的o a 开发模式,采用w i n d o w sn t 2 0 0 0 2 山东大学硕士学位论文 作为操作系统。m ss q ls e r v e r 数据库采用a s p 作为开发语言,由i i s 提供w e b 服 务。采用这种模式开发的o a 系统具有如下特点:系统简单易用、采用b s 模式、客 户端实现零维护、投资成本低、开发速度快、易于维护等。但该模式的运行只局限于 w i n d o w sn t 2 0 0 0 操作系统,而不适用于u n i x l i n u x 等其他操作系统,与 d o m i n o n o t e s 平台相比,其系统安全性较低。 a s p ( a s p n e t ) + m ss o ls e r v e r + e x c h a n g e 模式 采用这一模式开发的o a 系统与a s p ( a s p n e t ) + m ss o ls e r v e r 模式基本相同, 两者主要区别在于该模式增加了e x c h a n g e ,可作为企业内部e l a i l 服务器,并利用 e x c h a n g e 作为0 a 系统中文档的传递工具。 ( 3 ) 基于j s p j a v a 平台的o a 系统 基于j s p j a v a 平台开发的0 a 系统,其原理与基于m i c r o s o f t 平台的o a 系统 类似,主要区别在于采用了j s p j a v a 开发语言,可实现跨操作系统平台,可采用 w i n d o w sn t 2 0 0 0 、u n i x 、l i n u x 等多种操作系统,运行于多种硬件服务器,并且具有 基于m i c r o s o f t 平台的0 a 系统的所有优点。 综合比较上述几种技术平台,结合目前公司的实际需求,e - w o r k 办公信息系统采 用j 2 e e 作为开发、运行平台。j 2 e e ( j a v a 2 p l a t f o r m e n t e r p r i s e e d i t i a n ) 是s u n 公司推出 的一套企业级开发规范。1 2 e e 技术有效地克服了传统c s 模式的弊病,采用b s 架构, 而且该平台是基于组件开发和应用服务器技术的分布式应用。这种以应用服务器为特点 的多层分布式计算模型,适应了w e b 应用的发展要求,使系统具有良好的可扩展性、 可靠性、稳定性、安全性等特点。同时通过组件技术进行代码重用,简化了系统的开发, 提高了效率。为企业的信息化管理提供有力的技术支撑。 基于b s 架构的w e b 应用在逻辑上一般被分为五层:客户层、表示层、业务层、 数据持久层和数据库层。各层的实现技术可谓多种多样。随着顽向对象技术、w e b 技术 和j 2 e e 技术的发展,其中框架技术在w e b 系统的开发中得到了广泛应用。e - w o r k 系统的开发综合考虑了代码重用、系统管理、操作简便、应用安全以及后期维护和扩展 等方面的需求,在项目开发实践中使用了基于s t r u t s 和h i b e r n a t e 两种框架的j 2 e e 架构。 用j s p 技术结合s t r u m 强大的t a g l i b 来实现表示层;业务层由s t r u t s 的控制组件 a c f i o n s e r v l e t 、a c t i o n m a p p i n g 及a c t i o n 和业务逻辑类j a v a b e a n 来实现;数据持久层使 用h i b e r n a t e 实现。 3 山东大学硕士学位论文 1 3 论文的主要内容 本文以“基于s t r u t s 和h i b e r n a t e 框架的网络办公系统的设计与实现”为题,重点 研究了s t r u t s 和h i b e r n a t e 框架技术原理及s t r u t s 和h i b e r n a t e 框架在e - w o r k 系统设计 中的应用。主要包括如下几个方面: 1 介绍了体系结构与模式的概念并重点分析了j 2 e e 多层体系结构和m v c 设计模 式。 2 介绍了框架的概念以及框架对于软件开发的意义,重点讲述了j 2 e e 多层结构 中表示层框架s t r u t s 和数据持久层框架i - i i b e m a t e 的体系结构和工作原理,并阐明这两 种框架的优缺点。通过结合两者的优点设计出本系统的整合s t r u t s 和h i b e r n a t e 的j 2 e e 架构。 3 通过对e - w o r k 系统的需求分析,对系统的各子模块进行功能设计并对选取的 开发环境和工具进行介绍。 4 以一个子模块的详细设计与实现为例描述了s t r u t s 和i - i i b e m a t e 框架在e - w o r k 系统设计中的应用。 1 4 本章小结 本章主要针对课题提出的背景进行阐述,简单介绍了开发e - w o r k 系统所用的开 发技术,并对本文主要内容进行阐述。 4 山东大学硕士学位论文 第2 章j 2 e e 体系结构与模式 每种软件都有它的体系结构,不同的体系结构适用的情况不一样。随着计算机网络 技术和软件技术的发展,软件体系结构和模式也在不断地发生变化。本章将讨论软件的 体系结构的概念以及设计模式的相关内容,最后讨论j 2 e e 体系结构与m v c 设计模式。 2 1 软件体系结构与模式的概念 2 1 1 软件体系结构 软件体系结构定义了软件系统组件的全局组织。良好的体系结构在复用和性能上有 着非常好的表现。简单地说,软件体系结构定义了一组组件以及这组组件之间的关系。 更详细地说,软件体系结构为软件提供了一个结构、行为和属性的高级抽象。由系统元 素描述、系统间的相互作用、指导元素集成的模式以及模式的约束组成。软件体系结构 指定了系统的组织结构和拓扑结构。显示了系统需求和构成系统的元素之间的对应关 系,提供了一些设计的基本原理。软件体系结构是设计抽象的进一步发展,满足了更好 地理解软件系统,更方便地开发更大、更复杂软件系统的需要。 每一种软件都有它的体系结构,即使是设计开发人员没有意识到它的存在,但是这 个具体的软件开发出来后,它的体系结构也就决定了。好的体系结构在软件的升级性、 可重用性等方面有一个好的表现,而没有经过专门设计的体系结构很可能使软件内部之 间的结构死板、难以升级和维护。使用体系结构带来的好处是: 体系结构使用得当,可以将软件划分成更小的模块或功能单元,这样易于理解、 开发、管理、升级、维护、替换,还可以使用程序块得到重用,从而带来很好的经济效 益; 软件的体系结构可以帮助进行组件的开发; 可以对性能有一个好的控制; 可以更好地实现重用性; 体系结构可以使软件的安全性得到好的解决。 山东大学硕士学位论文 2 1 2 软件体系结构模式 模式,f i 口p a a e m ,其实就是解决某一类问题的方法论。a l e x a n d e r 出的经典定义是: 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案 的核心。通过使用模式,可以无数次地使用那些已有的解决方案,无需重复相同的工作。 模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领 域逐渐成熟的时候,自然会出现很多模式。 模式在软件工程领域,可以细化为三类:体系结构模式、设计模式、惯用法。 体系结构模式是最高等级的模式,表示软件系统的基本结构化组织图式和组织方 案。每个体系结构模式处理一个软件系统的设计或实现中一种特殊的重复出现的问题, 适用于粗粒度设计的开始阶段,体系结构模式提供了一套预定义的子系统,规定子系统 的职责和子系统之间的规则。设计模式提供一个用于细化软件系统的子系统或组件。设 计模式是中等规模的模式,比体系结构模式小,独立于特定编程语言,适用于粗粒度设 计的结束阶段以及需要细化或扩展软件系统的基本体系结构时。惯用法是底层模式,具 体针对一种编程语言的模式,描述如何使用给定语言的特征来实现组件的特殊方面或它 们之间的关系,适用于实现阶段。 软件体系结构设计的核心问题在于能否使用重复的体系结构模式,达到体系结构的 软件重用。体系结构模式主要有8 种:层( 1 a y e r s ) 、管道( p i p e sa n df i l t e r s ) 和过滤器 ( b l a c k b o a r d ) 、代理者( b r o k e r ) 、模型一视图一控制器( m o d e l - v i e w - c o n t r o l l e r ,简称m v c ) 、 表示抽象控制( p r e s e n t a t i o n a b s t r a c t i o n c o n t r o l ,简称p a c ) 、微核( m i c r o k e m e l ) 、 映像( r e f l e c t i o n ) 。面向模式的软件体系结构把软件系统看成是各种模式的结合。本文 将主要介绍j 2 e e 乎台中表示层所用的m v c 设计模式。 2 2j 2 e e 体系结构 2 2 1j 2 e e 简介 j 2 e e ( j a v a 2 p l a t f o r m e n t e r p r i s e e d i t i o n ) 是s u n 公司推出的一套企业级开发规范。它 给开发人员提供了一种工作平台,定义了整个标准的应用开发体系结构和一个部署环 境。在这个体系结构中,应用开发者的注意力集中在封装业务逻辑和业务规则上,一切 与基础结构服务相关的问题以及低层分配问题都由应用程序容器或者服务器来处理。 山东大学硕士学位论文 j 2 e e 提供了基于组件的、以服务器为中心的多层应用体系结构。这种多层结构的 设计极大的简化了系统的开发、配置和维护企业应用的过程。j 2 e e 平台已经成为使用 最广泛的w e b 应用程序设计技术,主要支持两类软件的开发和应用:一类是做高级信 息系统的w 曲应用服务器;一类是在w e b 应用服务器上运行的w e b 应用程序。 j 2 e e 技术的基础就是核心j a v a 平台或j a v a 2 平台的标准版,j 2 e e 不仅巩固了标准 版中的许多优点,例如”编写一次、随处运行”的特性、方便存取数据库的j d b c a p i 、 c o r b a 技术以及能够在h l t e m e t 应用中保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s e j a v a b e a n s ) 、j a v a s e r v l e t s a p i 、j s p ( j a v a s e r v e r p a g e s ) 以及x m l 技术的全 面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结 构。 j 2 e e 体系结构扩展了标准的两层模式( c l i e n t s e r v e r ) 结构,采用多层的分布式应 用模型,按功能不同划分为不同的逻辑层:客户端机器上的客户层、j 2 e e 服务器上的 w 曲层、j 2 e e 服务器上的业务层和数据库服务器上的数据层。这种多层的体系结构使 得应用具有很强的伸缩性,每一层能专注于特定的角色和功能。j 2 e e 体系结构提供中 间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用 的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时 提供对现有应用程序集成强有力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支 持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在j 2 e e 应用中, 软件体系架构模式( 如层模式、m v c 模式、多层分布模式等) 和设计模式( 如截取过 滤器、视图帮助器、前端控制器和值对象等) 得到了广泛应用。 2 2 2j 2 e e 层次 在开发j 2 e e 应用程序的时候,经常采用一种四层结构:客户层、表示层、业务层 和企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e m ,简称e i s ) 。如图2 - 1 所示: 出东大学硬圭学经论文 拦粤邕尝皇邕鼎鼍燃皇曼冀蝴i i i i _ 一 l l l l l i l l , l 目l , i 一 一i 冒一 般穗应用鞭j 芋一j 2 聪盛用程j 葶= f _ f 1 | ! 篓兰! 妻芝竺| | 1 动卷:2 m 页裁j |i _ _ - - - _ _ _ _ _ h - _ _ _ 。- _ - - _ h m - - - _ _ _ _ _ _ _ _ _ 4 三三 二二 卫 习 五i竺兰登 |l 竺篓耋l 固辊嚣 7 2 l 漤服务瓣 垂圈黼 图2 - 1j 2 e e 多层应用结构 l ,客声瑟 瘸子处理翔声爆发耀程黪匏交擐,霹醛是w e be l i e 嚣据、a p p l e t s 或嚣声臻艨用疆痔。 w e bc l i e n t 包括两部分 动态的网煦和浏黧嚣。w e bc l i e n t 简单方便,但不能擞复袈的 搽穆。a p p l e t 楚个夺静客产臻程彦,京器妥溺藏嚣静列糙寒橇行,露戳撼一部分游 鼗务逻瓣羽a p p l e t 采实现a 客户稍应用程序罐供7 更加焱好的嗣形棼菌功缝,它巅 : 巍较谴瓣致务邋辑瑟零熬e b ,巍熬,惫贸歼一个h t t p 穗接,鸶寝示鼷懿s e t v l e t 遁谖。 2 寝零层 1 2 e e 寝示瓣组件可浚由j s p 嚣面、基予w e b 静a p p l 如强及显示h t m l 页断静 s e r v l e t s 缀壤。w e b 爱也可戳包摇一魑j a v a b e a n s 。裘摹爨差要爨条楚璎客户谚寨,谲矮 棚j 萱的逻辑块,静把缀果以动态网妪的形式返回到客户端。 3 。娩势层 照务鼷也嘲e j b 鼹,宅惠e j b 鼹务:黪髑e m 组蟹维戏。e j b 层禳寒实骥金鼗缀售 惑系绞游数务邋瓣。邀楚金媳级瘦篷豹拔繇,国逡簿在数务罄审懿e j b 来簸瑗。一个 b e a n 飙袈争端缓投数攒,辩羧据遘簿楚疆,煞螽织数攥送戮金渡售息系统层孬镶起泉。 鼹榉,一个b e a n 也可以从企业信感系统取嬲数据,发送到馨户鲻程序。业务鼹巾驰e j b 要运行程容器中,容器解决了底层的问蹶,如事务疑理、艇命周期、状态管理、多线程 安全管理、疑濠漶等。 4 企业信慰系统屡 企业信息系统层避行企业信息累统软件,包括企业基础系统,数据库系统及其他遗 s 山东大学硕士学位论文 留的系统。在业务层和企业信息系统层之间通常会有一种紧密的关系,当出现了数据或 者服务请求的时候,业务逻辑将使用企业信息系统层对它们进行访问。 业务层和表示层共同组成了三层j 2 e e 应用的中间层,其他两层是客户端层和存储 层或企业信息系统层。 2 2 3j 2 e e 组件技术 组件是一个可重用软件构件:一个预先构建的封装的代码模块,它能够与其他组件 或是硬编码一道很快地生成定制的应用程序。组件技术是一种近来才开始日益普及的最 新软件开发技术,它指软件的内在单元,可以提供相关的功能和服务。组件是自包含的。 组件根据业务逻辑单元的耦合度、功能要求等综合因素来划分。组件内部是高耦合的, 而组件间的耦合是松散的。 面向对象的程序设计方法及其概念和机制支持软件的可重用性,组件技术是软件可 重用性的基础。 j 2 e e 提供了三种开发应用程序组件的技术: 运行在客户端的应用客户程序及小程序。 运行于服务器网络的s e r v l e t 和j s p 组件。 运行于服务端企业逻辑组件e j b 。 1 j 2 e e 客户组件 j 2 e e 客户组件可以是网络浏览器组件也可以是桌面应用程序组件。 网络浏览器组件:网络客户程序由两部分组成,动态网页包含各种标记语言 ( h r h ,x m l 等) ,它由运行于网络层的网络组件产生,浏览器从服务器接受信息并 反馈到页面上。 小程序:网页可以包含小程序。小程序是一个较小的用j a v a 语言编写的程序,并 能通过安装在浏览器的虚拟机上运行。 应用客户端组件:j 2 e e 应用客房端运行在客户上,它为用户处理任务提供了比标 记语言丰富的接1 :3 ,典型的是它拥有通过s w i n g & a w t a p i 建立的图形用户界面,基于 命令行的接口也是可以的。 j a v a b e a n 组件:服务端及客户端也可以包含基于j a v a b e a n 组件来管理客户端与运 行于服务端的组件间的数据流或服务端组件与数据库的数据流。 山东大学硕士学位论文 2 j 2 e e w e b 组件 j 2 e ew e b 组件可以是s e r v l e t 或j s p 。 s e r v l e t :即服务器端小程序,提供了过滤器的实现,提出了一个轻量级的架构来实 现请求,响应的传送。s e r v l e t 提供了一种扩充w 曲服务器,使之能够在h t m l 、x m l 或者其他w 曲语言中实现动态内容功能。 j s p ( j a v a s e r v e rp a g e s ) :它建立在h t t p s e r v l e t 技术基础上( 实际上,它在服务器端 也是先通过编译成s e r v l e t 后运行的) ,用它来处理h t t p 请求响应,j s p 提供了比s e r v l e t 更为方便编程结构。j s p 网页可以包含h t m l 、j a v a 代码和j a v a b e a n 组件,提供了强 大的动态页面汇编机制,可以利用j a v a 平台的许多优势。 3 j 2 e e 业务组件 j 2 e e 业务层组件主要是e j b ( e n t e r p r i s ej a v a b e a n s ) ,e j b 体系结构是分布式组件 模型,它是包含了业务逻辑的可复用软件单元。e j b 允许把应用程序逻辑和系统级服务 分开,使得开发人员可以集中考虑业务问题,而不必考虑系统方面的编程。它用于开发 安全、可扩展的、事务型的分布式组件。j a v a b e a n s 组件模型是j a v a 成功的组件模型。 企业j a v a b e a n s ( e j b ) 是在j a v a b e r a t s 组件模型的基础上扩展的一种用于支持服务器组 件的组件模型。e j b 结构在逻辑上扩展了j a v a b e a n s 组件模型以支持服务器组件。e i b 有三种类型:会话b e a n 、实体b e a n 和消息驱动b e a n 。 2 2 4j 2 e e 体系结构的优势 选用j 2 e e 平台,是因为j 2 e e 提供了一些有前景的优点:j 2 e e 让开发人员专注于 开发业务逻辑、不用预先了解执行环境、创建在硬件平台和操作系统间更容易衔接的系 统;j 2 e e 基于j a v a 语言,而j a v a 语言是与平台无关的,遵循j 2 e e 体系结构技术规范 的企业级系统可以非常容易地在硬件系统和不同的操作系统之间移植;j 2 e e 为组件化 的开发提供了支持。而使用组件技术,在软件开发中可以提高生产率,易于维护和修改, 构建应用程序有很大的灵活性等一系列的优点。 总地来说,j 2 e e 提供了一套完整的解决所有这些问题的框架方案: 提供了分布式、可移植构件的框架; 为构件与应用服务器提供标准a p i : 简化了服务器端中间层构件的设计。 l o 山东大学硕士学位论文 2 3 m v c 模式 将软件设计模式引入软件设计和开发过程的目的在于充分利用已有的软件设计开 发经验。这是因为设计模式通常是对某一类软件设计问题的可重用的解决方案。优秀的 软件设计师都很清楚不是所有问题定需要从头解决,他们更愿意重复以前曾用过的解决 方案。设计模式的最终目标是帮助人们利用熟练的软件设计师的集体经验,来设计更加 优秀的软件。在软件设计领域中,每一个设计模式都系统的命名、解释和评价面向对象 系统中的一个重要的和可重复的设计。这样,只要搞清楚这些设计模式,就可以完全或 者说很大程度上吸收了那些蕴含在模式中的宝贵经验。从而对软件体系结构有很大程度 上的把握。 m v c 是m o d e l 二e w - c o n t r o l l e r 的缩写,即模型视图控制器。m v c 是x e r o xp a r c 在八十年代为编程语言s m a l l t a l k - - 8 0 发明的一种软件设计模式,至今已被广泛使用。 在最近几年被推荐为j 2 e e 平台的设计模式,受到越来越多开发者的欢迎。 2 3 1m v c 模式描述 m v c 把一个应用的输入、处理、输出流程按照m o d e l 、v i e w 、c o n t r o l l e r 的方式进 行分离,这样一个应用被分成三个层一模型层、视图层、控制层。m v c 模式结构如 图2 - 2 所示: 图2 - 2 m v c 设计模式图 模型层封装了内核数据和功能,是应用程序的核心。模型表示业务数据和业务逻辑, 一个模型为多个视图提供数据,提高了应用的可重用性。视图层与用户交互,从模型层 山东大学硕士学位论文 获取相关数据,每个视图都有一个相关的控制器组件。控制器接受用户输入并调用模型 和视图,完成用户的请求。m v c 的处理过程是:控制器接受用户的请求,决定调用哪 个模型进行处理,模型再根据用户请求进行相应的业务逻辑处理,并返回数据,控制器 调用相应的视图装载模型返回的数据,最后通过视图返回给用户。例如,用户点击一个 连接,控制器接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模 型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个 视图可能对应多个模型。 2 3 2m v c 模式优缺点 1 m v c 的优点 一个模型在运行时可以同时建立和使用多个视图,提供模型代码的重用性。这 样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维 护。 允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭,甚至在运 行期进行对象替换。 模型的可移植性。模型独立于视图和控制器,把一个模型独立地移植到新平台 工作,而只需在新平台上对视图和控制器进行修改,以此构造良好的低耦合组 件。 潜在的框架结构,可以基于此模式开发应用程序的框架。 它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有 某些相同的特征,有利于通过工程化、工具化产生管理程序代码。 2 m v c 的缺点 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循m v c ,使模型、 视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低 运行效率。 视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧 密,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了它 们的独立应用。 视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次 山东大学硕士学位论文 调用才能获得足够的显示数据。对未变化数据不必要的频繁访问,也将损害操 作性能。 目前,一般高级的界面工具或构造器不支持m v c 模式,改造这些工具以适应 m v c 需要和建立分离的部件代价是很高的,从而造成使用m v c 的困难。 由此可见,m v c 并不适合所有的软件开发。对于存在大量用户界面、业务逻辑复 杂的大型应用程序,m v c 有利于提高健壮性和重用性。但不适合小型应用程序的开发。 2 ,3 3m v c 设计模式的实现 早期应用m v c 设计模式的w 曲系统中,程序语言和h t m l 的分离一直难以实现, 通常在j s p 页面中执行业务逻辑的程序代码,和h t m l 表示层数据混杂在一起,难以 分离出单独的业务模型,造成h t m l 和j a v a 代码强耦合、调试困难等诸多问题。为了 解决这些问题,s u n 公司先后制定了两种规范,s p 模型一和j s p 模型二。 1 模型一 模型l 被称为“以j s p 为中心”的m v c 设计模式,是j s p 和j a v a b e a n 技术的结 合。j s p 页面独自响应请求,处理后把结果返回给客户端。所有的数据都通过j a v a b e a n 处理,j s p 页面同时实现显示、业务逻辑和流程控制功能,从而快速完成应用开发,其 结构如图2 3 所示: 图2 - 3 模型一结构图 因为该模型简单灵活,实现起来很方便。所以对于快速小规模应用开发比较有优势。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年慢性阻塞性肺病药物使用规范答案及解析
- 2025年放射科CT诊断影像解读模拟测试卷答案及解析
- 2025年口腔颌面外科颌面畸形矫正器械使用模拟考试卷答案及解析
- 叠层TSOP封装技术:演进、突破与挑战
- 2025年营养师考试押题试卷:深度解析高频考点
- 福建省漳州市2026届高三上学期第一次教学质量检测试题 英语 含答案
- 2025年营养师考试专项训练试卷:食品安全与营养管理
- 2025年整形外科常见手术并发症处理策略考核答案及解析
- 2025年肿瘤学综合知识应用考察试卷答案及解析
- 2025年急诊科常见急救情况处理技能考核答案及解析
- 2025高职单招职业适应性测试题库与答案
- 2025至2030中国摩托车保险行业调研及市场前景预测评估报告
- Unit 1 How can I get there?(教学设计)-2024-2025学年人教PEP版英语六年级上册
- 越南货代基本知识培训课件
- 2025-2026学年粤人版(2024)初中地理八年级上册教学计划及进度表
- JGJ46-2024施工现场临时用电安全技术标准宣讲课件
- GB∕T 10429-2021 单级向心涡轮液力变矩器 型式和基本参数
- 电信市场营销试题库
- 资产评估质量保证措施
- 奶牛产奶量计算
- 蒸汽管道保温讲解
评论
0/150
提交评论