




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)struts和hibernate多层架构的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理下大学硕士学位论文 摘要 近年来,随着i n t e r n e t 技术和企业信息化建设的发展,构建基于w e b 的 应用系统的需求越来越复杂,开发周期越来越紧迫,同时对系统的稳定性、扩 展性和可维护性要求也越来越高。但是在实际的系统开发中,每令项目都需要 根据实际应用寻找一个新的解决方案,这种方式即费时又费力,无法满足企业 信息化建设发展的要求。因此在开发w e b 应用系统的过程中,为了提高开发的 效率,同时考虑到应用系统的灵活性、安全性和实用性,就需要有种好的设 计模式,一个好的可复用的系统框架设计作为一种可行的方案来解决这一常见 的问题。设计模式描述了通用的、简单的和可重用的解决方案的核心,在基于 j 2 e e 体系的应用系统的开发过程中,正确的理解和使用设计模式,能缩短系统 的开发时间,提高系统的开发效率,起到了事半功倍的功效。 针对以上问题,论文结合应用系统多层次体系结构发展的现状,对s t r u t s 开发框架和h i b e r n a t e 框架进行深入分析。s t r u t s 是一种基于m v c 设计模式的 丌发框架,在系统开发中应用s t r u t s ,实现了表示层与业务逻辑层的分离,这 样就可以在需要对业务层做修改的时候而不影响表示层的实现情况,提高了系 统的丌发效率。而h i b e r n a t e 作为一个面向j a v a 环境的对象关系数据库映射 的工具。它不仅仅管理j a v a 类到数据库表的映射,还提供数据查询和获取数据 的方法。它提供的o r m 机制可以把一个对象映射到多个数据库表,可以实现多 种实体关联关系的映射,可以实现继承映射;它提供的查询语言h q l 实现了o r m 的多态连接查询和动态查询。本文提出基于m v c 模式的具有多层次体系结构的 w e b 应用系统开发框架,详细地讨论了如何结合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 框架在该项目中的应用。 在开发过程中,通过应用m v c 设计模式实现了表示逻辑和业务逻辑的分离,为 系统的开发和维护提供了更大的灵活性和更好的可管理性。通过实践表明,应 用这种系统框架可以提高系统开发的效率,同时满足系统扩展性和可维护性的 要求。 关键词:j 2 e e :设计模式;m v c ;s t r u t s :0 r 映射:h i b e r n a t e 武汉理r 大学硕十学位论文 a b s t r a c t i nr e c e n ty e a r s ,也e r eh a sb e e ng r e a t e rd e m a n d sf o ra p p l i c a t i o ns y s t e m sb a s e d o nw 曲t om e e tm o r ec o m p l i c a t e dr e q u i r e m e n t s ,s h o n e rr & dt i m ec y c l ea sw e ha s h i 曲e rs y s t e ms t a b i l i t y ,e x p a n s i b i l i t y ,a n dm a i m a i n a b i l i t y b u te v e r yd i s t i n c tc a s ei n f a c tu s u a l l yn e e d sad i s t i n c ts e m e m e n t ,r h i c hm e a n st o oh e a v yp r i c eo ft i m ea n d m o n e yt o m e e tt h ei n f o m a t i z a t i o nr e q u e s tf o ra ne r l t e r p r i s e f o re m c i c n c y , c a t h o l i c “y ,s a f e t y ,a 1 1 dp r a c t i c a b i l i t y ab e t t e r 曲s i g np 眦e m 趾dar e u s 曲1 es y s t e m f r a m e w o r ka r e i m p e r a t i v et ow o r ka s au n i v e r s a lt e m p l a t ei n e x p l o i t a t i o no f w e b _ b a s e ds y s 僦n s t h ed e s i 龋m o d ed e s c r i b e sa l l p u r p o s e ,s i m p l ea 1 1 dr e u s a b l e s o l v i n gp l a l l sc o r e ,a n du n d e r s t a n d i n gc o r r e c t l ya n da p p l y i n gd e s i g nn l o d ew i l lg e t t w i c et h er e s u i tw i t hh a i ft h ee 肋r tb a s i n go nj 2 e es y s t e m s 印p i y i n gs y s t e m i c d e v e l o p m e n t a r e ri n v e s t i g a t i o n so fc u r r e n tn t i e rs y s t e m sa sw e i la st h es n t s d e s i g n f r 锄e w o r ka n dn l e 壬i b e m a t ef 锄e w o r k ,an e wn - t i e r 奇a m e w o r kt ob u i l d w 如- b a s e ds y s t e m si sb r o u 曲tu pi nt h j sp a p e rb a s e do nm em v c p a t t e 功t h e o r y i l l t h ed e v e l o p m e mo fs y s t e m ,s 帆l t sm a k e sm ed i m r e n tr o l e so f e w t i e ra i l d b u s i n e s s1 0 9 i ct i e r w ec a nm o d i f yo n eb u td o n te f ! e i o r tt h eo t h e r ,i no r d e rt oi n c r e a s e m ee f f i r e n c yo fs y s t e md e v e l o p m e n t 1 oh i b e m a t e ,i ti sa no r mt o o lf o rj a v a e n v i r o m l e m i tm a n a g e s 也em a p p i n gf 如mj a v ae l a s s e st od a t 如a s et a b l e sa n dm e o p e r a t i o no fp e r s i s t e n to b j e c t s h i b e m a t e so f 匕mc a nm a p p i n go n eo b j e c tt om a n y t a b l e s ,c a nm a p p i n gs e v e f a lt y p e so fa s s o c i a t i o n sa n dc l a s s 趣h e r i t a n c e ,h i b e m a t 。 q u e r yl a i l g u a g e r e a l i z e d p o l y m o r p h i c a s s o c i a t i o n q u e r y a n d d y n 锄i c q u e r y d i s c u s s i o n sa b o u th o wc or e l a t et h es t m t sd e s i g nf m l e w o r ka i l dt 1 1 e h i b e m a t ef 啪e w o r kw i t ht 1 1 eh e l pt l l e ya r ea l s ou s e di np m c t i c e a ne x a m p l eb a s e do nb e 蛆i n gr e n h ew e b s h o ps y s t e mi si n 虹o d u c e dt 0 i i l u s t r a t et h ep r o c e s st ob u i i da nn t i e r - 鼢e w o r k - b a s e ds y s t e mw i mt h eh e l po fm e s t r u t s 行a m e w o r ka n d 血eh i b e m a t ef h m e w o r k i nt h i sc a s e d i s t i i l c t i o nb e t 、v e e n d e s c r i p t i o nl o g i ca n db u s i n e s sl o g i ci sr r l a d ep o s s i b i ew i t h i nt h em v cd e s i g l lp a t t e m , w h i c hm e a n sb e t t e rn e x i b i l i t ya n de a s i e rm a n a g e m e mmt h ee x p l o 洲o no fas y s t e m 武汉理工人学硕士学位论文 r e s u l t ss h o wt 1 a t 恤i sn e wf r 啦e w o r kh e l p st oi n c r e a s ew o r ke m c i e n c yi n e x p l o r a t i o n m e a n w h i l e ,e x p a l l s i b i l i t ya j l dm a i m a i n a b i l i t yo fn l es y s t e mw i t 1 i nt h i s 丘a m e w o r ka r ea l s os a t i s f a c t o r y k e yw o r d s :j 2 e e ;d e s i g np a t t e m :m v c :s t n l t s ;o rm a p p i n g ;h i b e m a t e i i 武汉理工大学硕士学位论文 1 1 研究背景 第1 章绪论 框架是可重用的、半完成的应用程序,可以用来产生专门的定创程序。框 架运行在相同的机器上,期望从相同的设各输入信息然后再输出到相同的显示 设备,并且存储数据到相同的硬盘设备。作为开发人员都习惯于使用这些可以 覆盖应用开发同一性的工具包和开发环境构架,在这些公共基础上的应用框架 可以为开发人员提供能为产品提供可重用服务的基础架构。框架可以提供一系 列具有以下特征的骨架组件:首先,它们已经很好的应用在其它程序上;其次, 它们随时可在下一个项目中使用;最后,它们可被开发组织的其它团队使用。 如果构建框架,在完成时就要理解它,但是在开发人员被融入之前将花费 很长的时间。若要购买,还得学习它,在开发人员可以用它工作之前也要花费 很长时间。因此对于使用框架时是构建还是购买没有所谓正确的答案。但许多 开发者都会同意这一点,象s t r u t s 这样的框架能提供比从头开始开发更显著的 投资回报,特别是对于大型项目来说。s t r u t s 是m v c 架构技术的一种具体实现, 是a p a c h e 公司2 0 0 2 年5 月作为公司一个项目的组成部分问世的。它是一种符 合吖c 范例的j s p 开发技术,是对j s p 开发技术的继承和发展,包含了丰富的 标记库和独立于该框架工作的实用程序类。由于s t r u t s 给w e b 应用带来了良好 的层次划分,现在s t r u t s 已经成为用j a v a 创建w e b 应用的一个最流行的框架 工具,目前一些大型厂商也开始在j 2 e e 集成开发工具中嵌入s t r u t s 的支持, 比如i b m 公司的w e b s p h e r es t u d i oa p p l i c a t i o nd e v e l o p e r 5 0 。s t r u t s 名字来源于一种起支持作用的金属架。它的目的是为了减少在运用m v c 设计模 型来开发w e b 应用的时间。它将可以完成其中一些繁重的工作。若想混合 s e r v l e t s 和j s p 的优点来建立可扩展的应用,s t r u t s 是一个不错的选择。 h i b e r n a t e 作为一种开放源代码的对象关系映射框架,实现了对j d b c 的轻 量级对象封装,恰好满足了这个时代潮流的需求。h i b e r n a t e 是按照l g p l 许可 证发布的开放式源代码应用程序,它是用于j a v a 的超高性能的对象关系持久 性和查询服务”。应用h i b e r n a t e 可以使得j a v a 程序员可以方便的用对象编 程的思想将持久性对象映射到关系数据库,而不必花费大量的开发时间去更新 武汉理1 :大学硕士学位论文 和维护复杂的数据持久层,降低了j 2 e e 架构应用软件开发的难度和复杂度,提 高l a v a 应用软件的开发效率,进而使j a v a 的企业级应用开发更加容易、灵活、 强大。目前,最新版的j b o s s 应用服务器也已经将h i b e r n a t e 集成为j m xm b e a n 服务。这使得用户能够在应用服务器环境中直接使用h i b e r n a t e ,而不管它是 否处于j 2 e e 上下文中。但是,由于j 2 e e 拥有很大的优势且在很多方面已经取 得了一系列成功,大多数企业仍旧选择它作为h i b e r n a t e 的应用平台。 1 2 研究内容 网上购物是在i n t e r n e t 开放的网络环境下,基于浏览器服务器应用方式, 实现消费者的网上交易和在线电子支付的一种新型的商业运营模式。网上购物 将传统的购物流程电子化、数字化,一方面以电子流代替了实物流,可以大量 减少人力、物力;另一方面突破了时间和空间的限制,使得交易活动可以在任 何时间、任何地点进行,极大地方便了最终消费者,使您的购物过程变得轻松、 快捷、方便,从而大大提高了效率。 目前大多数网上购物系统是基于两层体系结构来进行设计和开发的。随着 i n t e r n e t 的飞速发展,传统的两层体系结构面临着严峻的挑战,其中最为突出 的问题是开发负担重、维护困难等。本文针对目前网上购物系统所面临的问题, 基于j 2 e e 框架,采用框架技术及设计模式,设计开发了一个网上购物系统。系 统具有高可靠性、可扩展性和可重用性的特点。 在本文中主要应用一种新的o r m 映射工具h i b e r n a t e ,它提供从j a v a 类到 数据表的映射和数据查询、恢复等机制,实现数据层对象的持久性,摒弃了直接 使用关系型数据库给我们带了的不便。而s t r u t s 是一种基于m v c 模式的开源框 架。采用s t r u t s 和h i b e r n a t e 相结合的多层架构能够充分发挥两者的优点, 为我们研究的电子商务系统提供了便利条件。 1 3 课题的意义 在项目开发过程中,我们选择s t r u t s 和h i b e r n a t e 这两种开源框架来搭 建系统架构。其意义在于,首先,提供免费、开源、有丰富的文档和稳定的开 发背景。其次,便于实现系统的大规模开发和管理。由于层次之间松散耦台, 在丌发过程中,层与层之间的工作几乎是完全独立的,而不同的业务逻辑基于 2 武汉理:i 二人学硕士学位论文 模块进行开发,所以便于团队开发。再者,利于系统业务的重用和改动。基于 这种架构的w e b 应用是基于模块的,表示层和业务逻辑分离,所以不至于“牵 一发而动全身”。同时,这样也便于业务逻辑的重用。第四,良好的设计思想。 s t t s 是基于m v c 的框架,很好地把业务逻辑和表示层分离;h i b e r n a t e 是一 个小巧的实现对象关系映射的工具,把面向对象的设计开发与关系数据库联系 起来了。 当然,基于这两种框架的架构也是有缺点,如:在s t r u t s 中,a c t i o n 映 射非常复杂;h i b e r n a t e 的对象、关系之间的映射工作量很大;两者的配置文 件都很复杂等等。其实,这正是其灵活之处。因为把各层都完全分离了所以才 易于重用和可扩展,因而其灵活映射的配置文件才会很复杂。现在有很多的工 具支持这两种框架。j 2 e e 就是最好的一个。基于这两个框架的j 2 e e 架构开发 简洁、结构清晰,有很好的可扩展性和可维护性,非常适于面向对象和远程信 息服务系统的设计与开发。尤其随着i n t e r n e t 及全球信息网应用的快速发展, 对w e b 的应用不再仅仅要求具有发布静态信息的简单功能,同时要求具有实时 动态处理交互信息的能力,而且这些要求还在不断的变化和提高,即使利用最 先进的软件平台j 2 e e ,开发这样的应用仍然是个难题。在多层w e b 体系结构的 设计中,还普遍存在着程序可复用程度低,维护工作繁琐,应变能力较弱等不 足。而s t r u t s 和h i b e r n a t e 这两种开源框架的出现很好地解决了这些问题,利 用此框架可以方便、快捷地开发具有高效、灵活和可扩展的w e b 应用系统。 1 4 论文组织 第一章是绪论,简要介绍了研究背景,以及研究内容和论文组织结构。第 二章介绍了j 2 e e 技术、j 2 e e 框架和多层架构体系的概念。第三章探讨了m v c 设计模式,并指出了设计模式和框架技术两者闻的关系以及s t r u t s 的结构及其 优点。第四章详细地阐述了对象关系映射( o rm a p p i n g ) 的原理和以其原理 为基础的数据持久化框架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 框架实现持久层,并分析了该系统的特点。第六章对全文做了总结,并且提出 了下一步需要探索和研究的任务。 武汉理工大学硕士学位论文 2 1j 2 e e 技术 第2 章j 2 e e 概述 随着i n t e r n e t 和i n t r a n e t 的普及应用,h t t p 、h t m l 和j a v a 平台逐渐演 变成为针对客户机计算的标准,使企业在应用程序的开发方面逐渐有了规范。 但是随着当今激烈的市场竞争、电子商务日益普及和广泛的应用,企业应用开 发_ _ f 面i 临着严峻的挑战。特别是由于在服务器、c g i 、n s a p i ( n e t s c a p es e r v e ra p i ) 和i s a p i ( i n t e r n e ts e r v e ra p i ) 等多种编程和连通性模型日趋流行,极大地增 加了编程和维护的工作量。 s u n 公司推出的j 2 e e ( j a v a 2p 1 a t f o r me n t e r p r i s ee d i t i o n ) 成功地解决 了上述问题,使得企业的软件开发重新获得了新的生命力。j 2 e e 是一种利用 j a v a 语言的标准体系结构定义,利用它可以更为方便地在中间层加速分布式部 署。j 2 e e 包括了企业j a v ab e a n s 、j s p 、j n d i 、j 拼s 、j t a 等技术。在企业开 发工作中利用这种体系结构,开发者将不必担心运行关键商务应用所需的“管 道工程”,从而可以集中精力重视商业逻辑的设计和应用的表示。因此,尤其适 用于创建基于商务服务器和客户应用的程序。 j 2 e e 是一种全新概念模型,与传统的i n t e r n e t 应用系统模型相比,有着 不可比拟的优势。这种模型在j 2 s e 之上添加了大量面向企业的特性和功能,以 此简化企业解决方案的开发、部署和管理等相关复杂问题。它不仅巩固了j 2 s e 中的许多优点,如方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全模式等,同时还提供了对e j b 、j a v as e r v l e ta p i 、 j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。 j 2 e e 的设计目的是为了推动企业应用的开发和部署。它通过提供企业计算 环境所必需的各种服务使得部署在其平台上的多层应用可实现高可用性、安全 性、可扩展性和可靠性。计算平台支持j a v a 语言使得基于j 2 e e 标准开发的应 用可跨平台移植;且由于j a v a 语言的安全、严格等特性使开发者可以编写出十 分可靠的代码。j 2 e e 提供了在企业计算中需要的所有服务且简单易用,其中的 多数标准定义了接口,可与许多厂商的产品配合,容易得到广泛支持:通过提 4 武汉理工大学硕士学位论文 供统一的开发平台,j 2 e e 降低了开发多层企业级应用的费用和复杂度,同时支 持e j b 与现有系统集成,有良好的向导支持打包和部署应用。j 2 e e 平台提供的 多层分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制,加 快了企业应用的设计与开发,可阱快速容易地建立融合了i n t e r n e t 技术,尤其 是w e b 技术的n 层结构的分布式企业应用,较好地解决了c s 结构所固有的可 扩充性、可维护性和安全性不足且部署麻烦等弊端。 2 。2j 2 e e 框架 j 2 e e 是由s u n 公司领导的,各厂商( 如i b m 、b e a 、o r a c l e 等公司) 共 同制定并得到广泛认可的工业标准。该标准的制定采用开放路线,吸收了许多 厂商多年来在系统设计、系统集成方面的经验,是企业级应用程序的开发平台 和中间件体系结构,提供企业级计算模型和运行时环境,用于开发、部署多层 体系结构的企业级应用。j 2 e e 技术的基础是j a v a 2 平台,因此它继承了j a v a 2 中的许多优点:与平台无关的特性、方便存取数据库的j d b ca p i 、c o r b a 技术 以及能够在i n t e r n e t 应用中保护数据安全的模式等“1 。同时,j 2 雎还新增了 整套诸如j a v as e r v l e ta p i 、e j b ( e n t e r p r i s ej a v a b e a n ) 、j s p ( j a v as e r v e r p a g e ) 以及支持x m l 技术的标准化模块组件。这些模块组件的应用有助于企业 级应用程序的编写,为不同厂商产品的配合与兼容提供了可靠的保证。j 2 e e 整 体结构如图2 一l 所示。 客产端袭幂羼务器璃亵示服务器端韭务迥辑惫韭德患摹统 潮黧器黜魇簧嚣四曙榭 i 纯嫩m l 】田珊: 乒【 h 9 i p p i 旺脚捌包 r 、 屯一 卿 一”1 集面幕娆 椭谴用 l b 知臻s 雄d 鼠 恿ih踊 1 q 一”f f 一咕 箕橇设备j a 瓯平台钆一 9 正。; 冷 j 奎$ 纂乎台 t f 一1 艇燃塞卢躺 图2 一lj 2 e e 框架 武汉理工大学硕士学位论文 2 2 1j a v as e r v i e t s e r v l e t 是运行在服务器端的a p p l e t ,被w e b 服务器加载和执行。s e r v l e t 采用h t t p 协议,通过w e b 服务器从客户端接收请求,根据请求执行相应操作, 并将执行结果返回给客户。“。该技术实现了一个用来处理客户与服务器之间消 息的公共请求应答结构。j a v as e r v l e ta p i 为这个结构定义了一套完整的标 准接口。鉴于此,s e r v l e t 具有以下优点: ( 1 ) 可移植性和可扩展性s e r v l e t 可嵌入到不同的j a v a 服务器中, 由于s e r v l e t 使用j a v a 编写,因此秉承了j a v a 平台无关的特性。同时j a v a 的0 0 p 编程语言特点使s e r v l e t 具有很强的扩展功能。 ( 2 ) 持久快速s e r v l e t 可以很好的替代公共网关接口( c g i ) 的脚本, 实现一次编写,随处运行。运行s e r v e t 只需用w e b 服务器加载一次,并在不 同请求之间保持服务,这有助于提高处理用户请求的速度。 ( 3 ) 安全因为w e b 浏览器与s e r v l e t 保持联系的唯一方式是通过w e b 服务器,在w e b 服务器有防火墙保护时,s e r v l e t 同时也得到了防火墙保护, 因此,这一技术使s e r v l e t 具有了较高的安全性。 2 2 2j s p j s p 是基于j a v a 的服务器端动态页面技术,它是j a v aa p p l e t 、j a v a s c r i p t 、 s e r v l e t 等技术的延伸。j s p 文档首先经服务器端翻译、解释、执行,从而得 到客户端所能识别的h t m l 文档。“。该技术是当今w e b 技术三层结构的发展潮 流。j s p 的设计目标可概括为: ( 1 ) 一次编写,跨平台运行由于j a v a 的跨平台性,也使j s p 技术在设 计中不受平台差异的影响。该技术包括动态页面设计和底层服务组件的设计。 j s p 程序中调用封装好的e j b 组件,利于增加代码的重用率和系统安全性。 ( 2 ) 将网页页面设计与业务逻辑分离,有助于程序的快速开发、维护和 升级。 ( 3 ) 将j s p 作为前端技术,能充分利用j a v a 提供的企业级a p i ,开发企 业各种需求系统。 6 武汉理工大学硕士学位论文 2 2 3e j b e j b 是j a v a 服务器端组件开发规范,将j a v a 组件的概念从客户机引入到 服务器,目的是定义一个用于开发面向对象的分布式组件标准,实现复用软件 模型o 。“。e j b 体系结构内置了对典型企业级系统服务的支持,包括: ( 1 ) 事务管理,当授权用户发出事务请求时,e j b 容器介入管理事务; ( 2 ) 安全性,e j b 容器只允许授权用户激活e j b 方法,因此安全性好; ( 3 ) 远程客户连接,即远程客户可作为虚拟机激活叮b 方法,从而达到 方法的共享,实现分布式计算; ( 4 ) e j b 容器通过管理连接池来缓和数据库的连接: ( 5 ) 生命周期管理,包括激活、执行、删除e j b 过程3 。 2 3 多层体系结构 典型的j 2 e e 分为三层多层结构,标准模型由客户层、中间层和企业信 息系统( e i s ) 层组成。三层结构是指将数据处理过程分为三部分:第一层是客 户端( 用户界面) ,用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 平台支持不同类型的用户。包括h t m l 用户、j a v aa p p l e t s 和j a v a 应用等,主 要就是提供用户与系统的友好访问;第二层是应用服务器,专用于业务逻辑的 实现;包括w e b 层和业务层两个子层,其中w e b 层产生表示逻辑,并接收来自 客户端的用户反馈。在所接收的客户端请求的基础上,表示层对用户的请求产 生相应的回应。在j 2 e e 平台中,是由w e b 容器内的s e r v l e t 和j s p 来实现这一 层。而业务层则处理应用程序的核心业务功能逻辑,业务层为低层业务逻辑提 供必要的接口。第三层是数据服务器,该层为企业的信息服务系统服务、包括 数据库系统、事务处理系统、企业资源计划系统等。e i s 层是j 2 e e 应用与非j 2 e e 应用的连接点。主要负责数据信息的存储、访问及其优化。由于业务逻辑被提 取到应用服务器,大大降低了客户端负担。三层结构是在传统的二层结构的基 础上增加了应用服务器,将应用逻辑单独进行处理,从而使得用户界面与应用 逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结 构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软 件之间最大的区别”。这种三层结构数据处理的优势就像是在二层结构中间加 了标准化的加工厂和传输路线,从而可高效生产并传输客户端所需产品。具体 7 武汉理1 。大学硕十学位论文 有以下几点。 ( 1 ) 通过三层结构数据处理将整个系统分为不同的逻辑块,大大降低了 应用系统开发和维护的成本。三层结构将表示部分和业务逻辑部分按照客户层 和应用服务器相分离,客户端和应用服务器、应用服务器和数据库服务器之间 的通信,异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。 当数据库或者应用服务器的业务逻辑改变时,客户端并不需要改变,因此大大 提高了系统模块的复用性,缩短了开发周期并降低了维护费用。 ( 2 ) 系统的扩展性大大增强。由于系统模块化,使得系统很容易在纵向 和水平两个方向拓展,一方面可以将系统升级为更大、更有力的平台,同时也 可以适当增加规模来增强系统的网络应用。由于摆脱了系统同构性的限制,使 得分布的数据处理成为可能。基于应用服务器构建的三层数据处理结构本身具 有的技术优势,只有技术融入市场环境。才能真正体现其价值并为企业带来竞 争优势。三层结构在营造企业竞争优势中的作用主要体现在其模块化设计使得 用户在现有结构的基础上实现了系统扩展,从而提高企业信息化的速度,提高 了业务水平。同时三层结构中中间件的出现使得用户可以直接从市场上选择合 适的产品来构建系统,大大降低了开发周期和开发费用。随着市场的进一步 拓展,将会有更多的软件厂商投身其中,使得客户面临更多的选择机会。 8 武汉理一r 大学硕士学位论文 第3 章m v c 设计模式与s t r u t s 应用框架 3 1 设计模式 在面向对象系统的设计中,可以认为,类及其生成的对象是构成面向对象 系统的最基本元素;采用设计方法组合这些元素,得到构成面向对象系统的构 件,同时,这些构件的设计方法在经过不断的改进和完善后逐渐成型,成为构 成面向对象系统的基本设计参考,也称为设计模式( d e s i g np a t t e r n ) 。开发人 员般采用设计模式来抽象和总结系统构件的设计方法,同时将它应用于新的 系统构件的设计中。”。使用类和对象,使开发人员在元素的层次上实现了重用 性;而使用设计模式,则是在系统构件的层次上实现了重用性。 设计模式使开发者可以更加简单方便地复用成功的设计和体系结构,同时 对将来的问题和需求也具有足够的通用性。将已证实的技术表述成设计模式, 可以使额系统的开发者更加容易理解原有的设计思路和方法。设计模式在很大 程度上改善了软件程序结构,使设计具有更好的弹性。它提供了在特定应用场 景下解决问题的类、对象及相互关系的设计方法”1 。这些方法并不针对于具体 的系统,只是提供了一种设计系统的思路,这样做只是为系统搭起了一个“空 架”要真正完成系统的开发还需要完成许多具体的编程工作。一个设计模式可 能用于不同的系统,一个系统也可能会用到多个设计模式。使用合适的设计模 式,不但使代码可重用性、可扩展性得到增强,而且最重要的是能够加快系统 的开发速度,提高开发效率。 3 2w e b 应用系统开发的一般模型 在w e b 应用开发技术的发展史上,曾经涌现出了多种技术。但是随着具有 优秀跨平台性的j 2 e e 平台的出现和发展,越来越多的w e b 应用开始在j 2 e e 平 台上进行开发”1 。而作为j 2 e e 平台主要组成部分之一的j s p ,逐渐受到了开发 者的广泛青睐,在w e b 应用系统的开发过程中占据重要的一席之地。这是因为 j s p 页面不仅拥有跨平台和跨w e b 服务器的特性,而且可以非常容易的将业务 逻辑、服务器端处理过程和静态h t m l 页面“所见即所得”的功能相结合,同时 实现显示、业务逻辑和流程控制等功能,从而帮助开发者快速的完成任务”1 。 9 武汉理工大学硕十学位论文 j s p 技术规范给出了两种使用j s p 开发w e b 应用的方式,可以归纳为模型 o d e l1 ) 和模型二( m o d e l2 ) ,两者主要差别在于它们处理业务的流程不同。 3 2 1m o d e i1 模式 在很多情况下,一组j s p 页面就可以构成一个完整的w e b 应用。这种以j s p 页面为中心,以j a v a b e a n 处理业务逻辑的开发模型被称作m o d e l1 。在这一模 型中,j s p 页面独自响应请求并将处理结果返回给客户,所有的数据通过 j a v a b e a n 来处理,j s p 实现页面的表现。此模型的体系结构如图3 1 所示。 r - 一一一1 a p p l i c a t i o ns e r v e r 罕 r e q u e s t - i j s p 呈 嚣 r e g p o n s e 叫 = ? 。l 图3 1 m o d e l1 体系结构 从图3 1 可以看出m o d e l1 体系结构的工作流程如下: 1 从客户端的w e b 浏览器读取用户请求,并将请求发送到j s p 页面; 2 j s p 页面调用相应的业务逻辑j a v a b e a n 处理请求: 3 j a v a b e a n 根据用户请求操纵位于e i s 层的数据库; 4 j a v a b e a n 取得返回结果; 5 j a v a b e a n 将取得的结果传送给j s p 页面: 6 j s p 页面将结果生成h t t p 文档返回给客户端。 j s p 文件是构成m o d e l1 的基础,它独立接收和响应用户请求,并将处理 结果返回客户。总的来说,这种模式的优点是简单,可以很好的满足小型应用 开发的需求。虽然它也实现了页面表现和业务逻辑相分离,然而不加选择地大 量使用它就需要在j s p 页面中嵌入大量脚本小程序或j a v a 代码,尤其是在需要 处理的业务逻辑比较复杂时,这种情况会变得非常糟糕。大量的嵌入式代码会 使整个页面程序变得异常复杂“0 3 。虽然对j a v a 开发人员而言,这似乎不算是大 问题,但如果j s p 页面是由美工人员创建并维护,则代码的开发和维护将出现 困难。显然,它不适合大型应用的需求。尤其是企业级应用的开发过程中,使 1 0 武汉理工大学硕士学位论文 用它难免会导致定义不清的响应和项目管理的困难。此外,它还存在另一个缺 陷:每个j s p 页面必须单独负责管理应用程序的状态、验证与安全性。 3 2 2m o d e l2 模式 l o d e l2 也称作j s p + s e r v l e t + j a v a b e a n s 开发模型。这一模型结合了j s p 和s e r v l e t 技术,充分利用了两种技术原有的优势。在这个模型中,j s p 技术 用于表现页面,s e r v l e t 技术负责完成大量的业务处理,j a v a b e a n 用来存储数 据。其中,s e r v l e t 用来处理请求的事务,充当一个控制者的角色,并负责向 客户发送请求:它创建j s p 需要的b e a n 和对象,然后根据用户请求的行为决定 将哪个j s p 页面发送给客户”。这种模型的体系结构如图3 2 所示。 请求 i ,i 窑j ( 狂制器j 删 , 卜 叫 昌 器 叫 响应j s p ( 视图) 图3 2m o d e l2 体系结构 从开发的观点来看,m o d e l2 具有更清晰的页面表现,清楚的开发角色划 分,可充分发挥开发团队中的网页设计人员和j a v a 开发人员的才干。这些优势 在大型项目中表现得尤为突出,前者可以充分展示自身的美术和设计才能来表 现页面,而后者可以充分发挥自己的业务逻辑处理思维来实现业务处理。从设 计结构来看,它充分体现了模型一视图一控制器( m v c ) 的设计模式。现存的很多开 发框架都是基于这种模型的,例如a p a c h es t r u t s 、j a v as e r v e rf a c e s 框架等。 3 3m v c 设计模式 3 3 1m v c 设计模式的结构 正是出于m o d e ll 在开发过程中存在许多缺陷,因此基于m v c 设计模式的 武汉理工大学硕士学位论文 m o d e l2 成为了在j 2 e e 平台上开发大型w e b 应用的首推架构。 m v c 是x e r o xp a r c 在八十年代为编程语言s m a l lt a l k 8 0 发明的一种软件 设计模式。它属于结构型设计模式,对于生成结构严谨的模块化应用程序的有 效性己得到了广泛的证实。m v c 的核心是实现三层甚至多层的松散耦合,它将 一个应用系统分为三个组件1 。 ( 1 ) m o d e l :模型指的是真正完成任务的代码,包含应用系统的核心功能, 表示一个应用系统的数据,并且包含访问、维护和管理这些数据的逻辑。所有 属于应用系统持久状态的数据都应该保存于模型对象里。模型提供的服务必须 足够适用于不同的终端。个模型聚集了相关的数据和操作,以提供一个详细 而精确的服务:这些被封装在操作中的抽象事物的功能被模型化。一个模型的 接口提供了访问和更新模型状态,执行封装在模型中的复杂进程的方法。模型 服务被控制器访问,用于查询或更改模型状态。当模型状态发生变化时,模型 会通报给视图。对大多数w e b 应用程序而言,功能比界面感觉更重要。在模型 同界面分离的情况下,代码即可实现可管理性和可重用性。例如,在一个保险 应用程序中,模型就是处理计算保险费和同数据库交互的那些业务代码。模型 通常也被称作业务逻辑。 图3 3m v c 模式的工作流程 ( 2 ) v i e w :视图表示模型的状态,是应用系统的外观,当模型发生改变 时,视图也将随之改变,以维持系统数据的一致性。在m v c 模式下,通常的设 计前提是界面任务较小。当然视图也应该具有一定的功能性并遵守可用性的约 1 2 武汉理一大学硕十学位论文 柬但视图界面不应当处理数据。事实上,视图的每一部分都只能包含采集数 掘的逻辑,并把采集到的数据传递给设计模式中的其他组成部分进行处理。 ( 3 ) c o n t r o l l e r :控制器是联系模型与视图之间的纽带,控制模型和视 图之间的交互过程。它获取并翻译用户输入的动作,指定执行该动作的模型, 或者根据用户的输入和执行的结果来选择下一个视图。吖c 模式中的三要素模 型一视图一控制器之间的关系以及它们之间的协作如图3 3 所示。 由图3 3 可知,m v c 模式的处理流程:首先控制器接收用户的请求,并决 定应该调用哪个模型来进行处理,然后模型调用业务逻辑来处理用户的请求并 返回数据,最后控制器用相应的视图返回数据,并通过表示层呈现给用户。 3 3 2m v c 设计模式在j 2 旺平台中的应用模型 m v c 设计模式是一种用于分离数据维护和数据表现的方法,在j 2 e e 中引入 m v c 设计模式,有助于把应用划分为合理的组件,从而可以方便地进行系统的 丌发、维护和扩充l ”。随着j 2 e e 各种组件技术的广泛应用和m v c 设计模式的发 展与完善,j 2 e e 与m v c 设计模式在w e b 应用系统开发领域达到了完美的结合。 目前,这种结合己经被广泛的应用于许多企业级w e b 应用系统的开发过程中, 其中,j s p 用于创建与用户交互的视图,j a v ab e a n 、e j b 等组件用于创建实现 业务逻辑的模型,s e r v l e t 用于创建实现业务逻辑与用户交互的控制器。w e b 应用客户端的用户动作被视图传递给s e r v l e t 集中处理,s e r v l e t 处理控制逻 辑,调用b e a n s 激活业务逻辑或修改模型状态“”。根据用户动作和模型处理的 结果,控制器选择一个视图作为用户请求的响应。这样,就形成了清晰的m v c 设计模式,简化了w e b 应用系统的开发。 基于j 2 e e 和艟v c 设计模式的系统模型如图3 4 所示”1 ,它借鉴了黼o d e l 2 的思想,其技术原理是以s q ls e r v e r 、0 r a c l e 、s y b a s e 等企业级数据库系统作 为后台数据库,以s e r v l e t 等高性能服务端程序作为后台总控程序,j s p 页面 在前台运行,s e r v l e t 接受用户的输入,分别调用不同的j s p 页面向浏览器反 馈信息,j s p s e r v l e t 通过h t t p 连接在服务器端和浏览器端传递数据; j s p s e r v l e t 并不使用j d b c 技术直接访问数据库系统,而是把参数传递给e j b 组件,由e j b 组件对数据库进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端特种钢生产线项目可行性研究报告(参考范文)
- 测量仪器生产线建设项目可行性研究报告(参考范文)
- VR购物体验行业跨境出海项目商业计划书
- 住宿业医疗健康服务拓展行业跨境出海项目商业计划书
- 稀土磁光材料行业跨境出海项目商业计划书
- 工程机械租赁AI应用企业制定与实施新质生产力项目商业计划书
- 高二地理下学期新教材使用计划
- 级联H桥多电平光伏并网逆变器控制策略的研究
- 长期施氮下旱作农田温室气体排放及其影响因素
- 幼儿智力开发的营养指导计划
- 2024年国家大剧院招聘专业技术人员考试真题
- (三模)乌鲁木齐地区2025年高三年级第三次质量监测理科综合试卷(含答案)
- 玉盘二部合唱简谱
- 授权委托书电子版下载
- 推进白洋淀景区运营机制改革实施方案
- 2021年卒中中心建设相关制度及流程汇编
- 机械故障诊断大作业滚动轴承
- 密封件定位套机械加工工艺过程卡片
- 产品销售合同模板
- 中国汉字演变-课件
- 消防设施维护保养记录表(共6页)
评论
0/150
提交评论