(信号与信息处理专业论文)基于webwork的web研究与应用.pdf_第1页
(信号与信息处理专业论文)基于webwork的web研究与应用.pdf_第2页
(信号与信息处理专业论文)基于webwork的web研究与应用.pdf_第3页
(信号与信息处理专业论文)基于webwork的web研究与应用.pdf_第4页
(信号与信息处理专业论文)基于webwork的web研究与应用.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着互联网的高速发展,传统的基于c s 架构的管理系统己经无法满足企 业级应用的需求,基于b s 结构的w e b 应用程序逐渐成为最为广泛的应用开发 技术,目前很多应用系统都建立在w e b 基础上。 框架技术与设计模式是j 2 e e 中重要的软件重用技术,框架技术通过重用来 提高软件的开发效率。框架是为其他平台提供各种接口和功能服务的基础构件, 在系统开发中,扮演着至关重要的角色,起着关键的作用,是产品的中流砥柱。 框架是采用j 2 e e 技术的应用服务器、完全面向对象的j a v a 语言开发的多层体系 结构的应用系统。应用框架开发w e b 应用程序,开发周期大大缩减,安全性更 高,扩展性更好。几乎所有框架技术都会使用某种或多种设计模式,架构简单 地说就是几种框架的组合。如何选择框架建立适合企业应用的架构,同时让各 个应用层以松散耦合的方式相互作用,这给开发人员提出了挑战。 m v c 设计模式分离了业务逻辑和数据表现,在实现多层w e b 应用系统中具 有明显的优势。w e b w o r k 是一个实现了m v c 模式的w e b 应用框架,它全面减 轻了构建多层w e b 应用的负担。轻量级容器使用依赖注入的设计原理,可以动 态地使系统主要组件之间的耦合变松散。h i b e r n a t e 是一个歼源的持久层框架, 它全面减轻了数据库开发的复杂度,使系统具有更好的性能和移植性。 本文针对上述问题,对w e b w o r k 和h i b e r n a t e 两种框架进行研究,具体分 析各个框架在w e b 应用的不同层次上所发挥的作用,并整合两种框架,设计出 一个适合企业w e b 应用的j a v a 通用架构,并将w e b w o r k 应用中的业务逻辑交 给业务组件工厂管理,更下层的数据访问对象( d a t a a c c e s s o b j e c t ) 交给d a o 工厂 管理,两者都通过配置文件完成,而h i b e r n a t e 负责数据的持久化操作。最后, 用一个实际的w e b 系统对架构应用进行具体实现。开发结果表明,通过框架的 合理使用,降低了代码的耦合性,减少开发周期,达到快速、高效的开发,为 程序开发者提供了便利,而且整个系统具有平台无关性,大大提高了应用系统 的可维护性,可扩展性,可移植性和组件的可复用性。 关键词:w e b w o r k ;h i b e r n a t e ;m v c ;框架 a b s t r a c t w i t ht h ef a s td e v e l o p m e n to f i n t e r n e t ,t r a d i t i o n a lm i s ( m a n a 蛔e n ti n f o r m a t i o n s y s t e m ) b a s e do nc s ( c l i e n t s e r v e r ) r a r e l ys a t i s f i e se n t e r p r i s e s 南e d ,w h e r ea sw - e b a p p l i c a t i o nb a s e do i lb s ( b r o w s e r s e r v e r ) h a v eg a i n e dw i d ep 4 t p u l a r i t yg r a d u a l l m t h e r ea r em o r ea n dm o r es y s t e m sb a s e do i lw e b f r a m e w o r kt e c h n o l o g ya n dd e s i g np a t t e m sh a v eb e e ni m p o r t a n ts o f t w a r e 姗s e t e c h n o l o g yi nj 2 e e ,f r a m e w o r kt e c h n o l o g yu s es o f t w a r er e u s et e d m o l o g yt oi 瑚【p r o v c t h ee f f i c i e n c yo fs o f t w a r ed e v e l o p m e n t f r a m e w o r ki s t h eb a s i cc o m p o n e n tw h i d h s u p p l i e s v a r i o u si n t e r f a c e s a n df u n c t i o n sf o ro t h e r p l a t f o r m s ,s oi tp l a y sa l h n d a m e n t a lr o l ei ns y s t e m sd e v e l o p m e n ta n di st h eb a c k b o n eo fp r o d u s w h a t ,s m o r e ,f r a m e w o r ki sa n a p p l i c a t i o ns y s t e mw i t hm u l t i p l e l a y e r sw h i c hi s o b j e c t 。o r i e n t e da n d d e v e l o p e d o nj a v a ,a n df r a m e w o r kc o u l d a l s ob ec a l l e d a p p l i c a t i o ns e r v e r i fw e b a p p l i c a t i o nw o u l db ed e v e l o p e db a s e do n 矗a i i l e w o r k m e d e v e l o p m e n tc y c l ew o u l db eg r e a t l yr e d u c e d ,w i t hh i g h e l s a f e t ya n de x p a i l s i b i l i 蚀s o h o wt os e l e c tf r a m e w o r k st os e tu pa r c h i t e c t u r ef o re n t e r p r i s ea p p l i c a t i o n w h i l ee a c h a p p l i c a t i o nl a y e ra f f e c t se a c ho t h e rt h r o u g hl o o s ec o u p l i n g , i so n e g r e a tc l l a l l e i l g e 硒r d e v e l o p e r m v ch a ss e p a r a t e db u s i n e s s l o g i ca n dd a t ap r e s e n t a t i o n ,8 0i th a s 鳓t a d v a n t a g e si nw e ba p p l i c a t i o nw i t hm u l t i p l el a y e r s w | e b w 6 r ki s0 1 1 e 岔a m 铡d ( w h i c hh a si m p l e m e n t e dm v c p a t t e r na n dg r e a t l yr e d u c e dd e v e l o p e r ,sb u r d e nt o c o n s t r u c tm u l t i p l el a y e r so fw e b a p p l i c a t i o n l i g h t w e i g h tc o n 蜘n e fi sb a s e do nt h e p n n c l p l eo fd e p e n d e n c yi n j e c t i o n , s oi tc o u l dr e a l i z el o o s ec o u p l i n g 锄o n gm a i n c c h n p o n 眺o fs y s t e md y n a m i c a l l y h i b e r n a t ei sa p e r s i s t e n tf r a m e w o r ka n d 觚o p e n s o u r c c ,w h o s em a i na d v a n t a g ei st h a ti t g r e a t l yr e d u c e sc o m p l e x i t yo fd a t ab a s e d e v e l o p m e n ta n da d d se x p a n s i b i l i t ya n dp e r f o r m a n c eo f s y s t e m a c c o r d i n gt ot h ep r o b l e m sa b o v e ,t h i sp a p e rm a d ed e e pr e s e a r c ho nt w o f r a m e w o r k :w e b w o r ka n dh i b e r n a t e ,a n a l y z e dt h e i rr o l e so nd i 衢器e n tl a y 留so fw r e b a p p l i c a t i o n , i n t e g r a t e dt h et w of r a m e w o r k , d e v e l o p e do n ea r c h i t e c t u r ew m c hw 勰 i i s u i t a b l ef o re n t e r p r i s ew e b a p p l i c a t i o n i nt h i sa r c h i t e c t u r e ,b u s i n e s si nw e b w o r k w a s m a n a g e db yf a c t o r yo fb u s i n e s sc o m p o n e n t ,w h i l ed a t aa c c e s so b j e c tb e l o ww a s m a n a g e db yd a of a c t o r y , b o t ho fw h i c hw e r ea c c o m p l i s h e db yf i g u r a t i o nf i l e s ,w h i l e h i b e r n a t ew a sj u s tr e s p o n s i b l ef o rp e r s i s t e n c eo fd a t a f i n a l l y , ar e a ls y s t e mw a s r e a l i z e db a s e do nt h i sa r c h i t e c t u r e a sf o rt h ef i n a lr e s u l t ,b yt h ep r o p e ru s eo f f r a m e w o r k , b o t ht h ec o u p l i n go fc o d ea n dt h ed e v e l o p m e n tc y c l eh a db e e ng r e a t l y r e d u c e d ,s oi tb r o u g h td e v e l o p e r sg r e a tc o n v e n i e n c ew h i l ei ta l s oi m p r o v e de f f i c i e n c y o fd e v e l o p m e n t f u r t h e r , s i n c et h i ss y s t e mh a dp l a t f o r mi n d e p e n d e n c e ,i tw o u l db e m u c he a s i e rt om a i n t a i n ,e x p a n d ,t r a n s p l a n t ,a n dr e u s et h i ss y s t e m k e yw o r d s :w e b w o r k ;h i b e r n a t e ;m v c ;f r a m e w o r k i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示了谢意。 签名: 白期:掣 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权 保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 一与严挥翩躲奄辙吼历r 多 武汉理j :大学硕+ 学位论文 1 1 研究背景 第1 章绪论 当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网 技术更是日新月异,令人眼花燎乱,目不暇接。由于计算机互联网在政治、经 济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖 程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展的强 大动力,成为人们交流讨论的纽带,其地位越来越重要。 传统的c s ( c l i e n t s e r v e r ,客户机j i g 务器) 体系结构虽然采用的是开放模 式【l 】,但这只是系统开发一级的开放性。在特定的应用中,无论是客户端还是服 务器端都需要特定的软件支持。由于没能提供用户真正期望的开放环境,c s 结 构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代 十分快,而且维护成本高,效率低,已经很难适应百台电脑以上局域网用户同 时使用。 随着以基于h 郇( 超级文本传输协议) 协议的w e b 技术为代表的i n t e r n c t i n t r a n c t 技术的普及和广泛应用,企业级应用软件的计算模式也由传统的c s 模 式转向了基于t c p i p ( 传输控制协议网际互联协议) 标准协议的三层b s ( b r o w s e r s e r v e r ,浏览器h i 务器) 模式,其基本思想是以w e b 浏览器、服务器 和i n t c r n c t 上的标准协议( 如t c p i p 、h t t p 等) 作为企业内部应用的标准平台。 目前很多应用系统是建立在w e b 基础上,建立依托w e b 的企业应用平台已经成 为目前大部分企业应用的首要选择。b s 结构也成为目前主流的企业应用系统的 开发体系【2 1 ,基于b s 结构的w c b 应用程序也成为i n t c r n e t 上使用最为广泛的应 用开发技术,因其具有易用性、通用性和良好的可扩展性等优点而迅速发展, 它支持实时的信息发布,动态的用户交互及与后台系统灵活安全的连接。因此 构建功能更加强大、应用更为灵活的、开发更为简便的w e b 应用程序成为当前 i n t e m e t 技术发展的热点。正因为如此,如何才能方便、快捷的开发出具有高效 性、灵活性和易扩展性的w e b 应用系统,如何选择相应技术去构建w e b 系统, 也越来越成为一个倍受人们关注的研究课题。 武汉理工火学硕士学位论文。 1 2 研究现状 s u n 公司j 2 e e 平台的成熟,为w e b 应用程序更进一步的发展提供了更广 阔的空间。目前,大部分使用过程语言比如a s p 、p h p 开发出来的w e b 应用, 初始的开发模板就是混合层的数据编程,虽然开发速度比较快,但由于数据页 面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重要性。产 品设计弹性力度很小,很难满足用户的变化性需求。与这些传统的开发模式相 比,j 2 e e 是一种企业级的应用,有着严格的规范,更能够胜任快速开发一个灵 活而又功能强大的w e b 信息系统【3 】。 面向w e b 应用系统开发的技术发展迅速,新技术不断涌现。在服务器端, 当前广泛使用的技术有c g i ,a s p ,p h p ,j s p ,j a v as e r v l e t 等;而在客户端, 则包括v b s c r i p t ,j a v a s c r i p t ,j a v a a p p l e t 等。这些技术为w e b 应用系统的开发 奠定了坚实的基础。总体来说,这些技术在开发效率、运行速度、分布式事务 处理以及可扩展能力等方面,具有各自的优势,这就要求开发人员在开发过程 中依据具体要求灵活选用。通常情况下,一个实际的w e b 应用系统是由多个开 发人员,依据各自承担的任务,采用不同的技术进行协同开发而成。但是,在 目前的许多实际项目的开发过程中,由于缺乏一个规范的编程丌发模式,各部 分开发人员之间缺乏充分的交流而导致出现互相影响、互相制约的局面,造成 系统开发、集成与维护的成本的上升。因此,为w e b 应用系统的开发引入一套 规范、合理、有效的开发模式就显得尤为重要了,而m v c ( m o d e l v i e w c o n t r o l l e r , 即模型一视图一控制器) 模式凭借其特有的模型与显示分离、有控制器进行流 程控制等优势,大大缩短了w e b 开发周期 4 1 ,符合了当前w e b 应用系统开发的 基本要求,已逐渐成为开发w e b 应用系统的主流模式。 目前,基于w e b 的m v c 框架非常多,发展也很快,新的m v c 框架也不断 涌现,例如像s t r u t s ,s p r i n gm v c ,t a p e s t r y ,j s f 等【5 1 。除了这些应用已经相当 广泛的m v c 框架外,还有一些网络社区团队开发的m v c 框架也很有借鉴意义。 对于个企业到底选择使用何种m v c 框架而言,框架的稳定性应该是最先 考虑的问题。对于一个刚刚起步的框架,如果不经历实际项目的应用,其本身 存在的一些问题可能被完全隐藏,将这些框架自身的b u g 引入企业的系统应用, 势必会给企业的系统开发带来诸多问题。 目前,上文中提到的基于w e b 的m v c 框架在w e b 研究与开发中存在着一 2 武汉理= 人学硕士学位论文 些问题,如:事务请求的线程安全,数据类型的转换,数据验证。在系统开发 初期,这些问题时刻困扰着系统设计人员,他们不得不慎重地考虑选择相应的 技术去解决这些问题。 作为o p e n s y m p l a o n y 组织开发的,致力于组件化和代码重用的j 2 e ew e b 框 架w e b w o r k 项目f 6 】,它对s t r u t s 框架进行了革命性改进,引进了不少新的思想、 概念和功能。w e b w o r k 针对现有的基于w e b 的m v c 框架在w e b 研究与开发中 存在的问题提出了很好的解决方案,其特有的线程模型、数据类型转换以及框 架整合技术,很好地解决了目前各种框架出现的诸多问题,并在实际w e b 应用 中得到了良好体现。 1 3 研究内容 本文主要的研究内容: 1 ) 详细分析了w e b w o r k 框架的模型,以及w e b w o r k 框架是如何实现基 于w e b 的m v c 模式。 2 ) 深入探讨w e b w o r k 框架相对于其他w e b 框架的优势所在,并详细分析 了w e b w o r k 框架的技术特点。 3 ) 整合w e b w o r k 和h i b e r n a t e 框架,并应用到实际的w e b 系统开发中。 本文的组织结构如下: 第1 章介绍本文的研究背景和研究现状,从体系结构的发展,对基于j 2 e e 平台的w e b 技术的发展历程和不同阶段来说明研究目的和意义,同时简要介绍 了本文的研究内容和和组织结构。 第2 章以电子商务的高速发展为背景,从应用系统功能要求的角度出发, 深入分析了w e b w o r k 框架,提出了技术实现方案以及系统的整体架构。 第3 章通过应用w e b w o r k 作为表示层实现,应用h i b e r n a t e 作为持久层 实现,进行框架整合,从而设计出了一套足够灵活、松散耦合、可扩展且高效 的w e b 开发框架,协同完成本系统的功能要求。 第4 章对全文进行总结,分析其中的不足,并提出未来研究的发展方向 和有待进一步解决的问题。 3 武汉理工大学硕十学位论文 第2 章系统功能与技术选择 j a v ae e 应用以其良好的可扩展性和可靠性,迅速应用于企业信息化平台、 电信、银行等支撑系统上。使用j a v ae e 技术作为系统的实现,不仅可以提供良 好的可维护性,还可与异构系统整合,是一种开放性系统。 2 1 系统功能 电子商务是在互联网开放的环境下,基于b s 体系结构,实现消费者与商 户之间的网上交易和在线电子交付的一种新型的商业运营模式川,也是一种典型 的w e b 应用。 如何把企业业务建立在i n t e r n e t 上,涉及到建立电子商务网站、开发符合 i n t e m e t 特点的有效业务应用、管理网上的交易信息、保证网上数据的安全、快 速反映市场变化以及充分满足i n t e m e t 业务进一步发展的要求等方面。 2 1 1 应用背景 电子商务是一个迅速增长的新兴行业,电子商务利用简单、快捷、低成本 的电子通信方式,买卖双方无须见面,而通过互联网进行各种商贸活动。虽然 广义的电子商务可以通过电话、传真等形式完成,但目前所说的电子商务,通 常都是以e d i ( 电子数据交换) 和互联网来完成的【引。 电子商务的迅速推广让商业活动更加便捷,大到大型跨国公司,d , n 个人 都可以利用电子商务来开展商业活动。 目前,已有一些非常成熟的电子商务平台,如美国的e b a y 、中国的阿里巴 巴和淘宝网等在线交易平台,通过这些交易平台,每个商人都可以足不出户地 将自己的商品出售,而顾客则可以在电脑前购买到自己心宜的商品。随着电子 商务相关规范的成熟,电子商务极有可能取代传统的商务活动。 在线图书超市其实就是一个电子商务平台,只要将系统部署在互联网上, 全球的客户就可以在该平台上搜索并浏览到自己感兴趣的图书,也可以购买到 自己想要的图书,当然也可以将平台升级,使其具备买卖其他商品的完整交易 4 武汉理工大学硕十学位论文 平台。整个过程无需人工干预,由系统自动完成。 如果系统提供与电子银行的接口,将可以通过电子银行的操作,实现从摹 家到商户的自动付款。旦付款成功,就可以利用全球物流供应系统将购买的 图书发送到买家手中,所以,这种在线图书超市是种结构更为开放式的、成本 更加低廉的应用系统。 2 1 2 系统功能定义 本文所要实现的w e b 系统是一个功能不太复杂的在线图书超市,系统从实 际的电子商务平台上抽取,只取出其中部分核心模块功能实现,只为展示一种 良好的程序架构f 9 】。 对于用户而言,可以搜索图书、浏览图书。用户注册登录系统后,点击“购 买 按钮便可购买自己选中的图书,还可以查看自己已购买的图书,也就是图 书订单信息。 在购买图书过程中,跟随用户的有一个购物车,用户可以随时将选中的图 书放入购物车。对于非注册用户,如果想购买图书,必须注册一个有效帐号, 通过帐号登录验证后,就可以拥有自己的购物车,实现购买图书。 对于用户管理、图书管理、订单管理、公告管理,所有的操作都由系统管 理员完成。 基于上述考虑,整个系统功能框图如图2 - l 所示。 图2 1 系统功能 5 武汉理! f 大学硕+ 学位论文 2 2 技术选择与系统架构 对于w e b 系统而言,能够实现的框架非常多,例如像比较流行的s t r u t s ,j s f 等框架【1 0 】,往往在实际的项目中,选择何种框架往往令开发者十分头疼。选择 一个好的框架不仅可以节省企业开销,而且可以提高整个团队的开发效率。 2 2 1 相关技术介绍 本系统采用w h ( w e b w o r k + h i b e m a t e ) 架构构建,w e b 层采用w e b w o r k 框架技术,对数据的持久化操作使用h i b e r n a t e 技术完成。两个构架组合可以提 高系统的开发效率,保证系统的稳定性、可靠性。 1 1 ) w e b w o r k 技术 w e b w o r k 项目是在2 0 0 2 年3 月发布的,由o p e n s y m p h o n y 组织开发的,致 力于组件化和代码重用的j 2 e ew e b 框架f l l 】。w e b w o r k 是建立在称为x w o r k c o m m a n d 模式框架之上的强大的基于w e b 的m v c 框架。 在w e b w o r k 框架中,模型由实现业务逻辑的j a v a b e a n 或e j b 组件构成, 控制器由核心控制器f i l t e r d i p a t c h e r 根据请求决定调用使用的a c t i o n ,同时 w e b w o r k 的拦截器链自动对请求应用通用功能,视图由一组j s p 文件或其他的 u i 组件构成。图2 2 显示了w e b w o r k 框架实现m v c t l 2 1 。 :一: :s e r v l e t j s p 容器 ! :。j 图2 - 2w e b w o r k 实现m v c ( 1 ) 视图 视图就是一组j s p 文件或其他的u i 组件。在这些j s p 文件或其他u i 组件 6 武汉理丁大学硕十学位论文 没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的j s p 标签 或其他u i 组件的标签,如w e b w o r ku i 标签。 ( 2 ) 模型 模型表示应用程序的状态与业务逻辑。当用户发出一个请求后,控制器会 根据用户的请求,通知模型改变,将模型数据发送到相应的视图组件。对于大 型应用,业务逻辑通常由j a v a b e a n 或e j b 组件来实现。 ( 3 ) 控制器 控制器由两个部分组成:核心控制器f i l t e r d i p a t c h e r 和业务控制器a c t i o n 。 当f i l t e r d i p a t c h e 控制器收到用户请求后,把请求转发到一个a c t i o n 实例。如果 这个实例不存在,控制器会首选创建它,然后调用这个a c t i o n 实例的e x e c u t e 0 方法。a c t i o n 的e x e c u t e ( ) 方法返回一个s t r i n g 型的字符串,它封装了把用户请求 再转发给相应w e b 视图组件的信息。 本系统使用w e b w o r ku i 和普通j s p 相结合的技术作为表现层技术,负责收 集用户的请求数据并将其提交到指定的控制器。当系统处理完用户请求后,j s p 页面还负责将处理结果呈现给用户。本系统中j s p 页面基本没有任何j a v a 代码, 保证j s p 页面只作为系统表现层使用,避免将业务逻辑混杂在表现层中。 j s p 的所有请求都将向w e b w o r k 的f i l t e r d i s p a t c h e r 发送,通过这种方式, w e b w o r k 成为系统的i i 端控制器,所有请求都将由w c b w o r k 处理。 f i l t e r d i s p a t c h e r 拦截到用户请求后,将请求转发到用户定义的业务逻辑控制器。 将所有请求都使用f i l t e r d i s p a t c h e r 拦截还有一个好处:将所有的j s p 页面 放入w e b i n f 路径下,可以避免用户直接访问j s p 页面,提供了系统安全性。 2 ) h i b e r n a t e 技术 h i b e r n a t e 是一个面向j a v a 环境的对象关系数据库映射工具【1 3 1 。对象关系 数据库映射( o b j e c t r e l a t i o n a lm a p p i n g ) 表示种技术,用来把对象模型表示的 对象映射到基于s q l 的关系模型数据结构中去【1 4 1 。h i b e r n a t e 不仅管理j a v a 类到 数据库的映射( 包括j a v a 数据类型到s q l 数据类型的映射) ,还提供数据查询 和获取数据的方法,可以减少开发时人工使用s q l 和j d b c 处理数据的时间。 相对其他o r m 框架,h i b e r n a t e 有如下优势【1 5 】: ( 1 ) 开源和免费的l i c e n s e ,方便需要时研究源代码、改写源代码、进行功 7 武汉理工大学硕士学位论文 能扩展。 ( 2 ) 轻量级封装,避免引入过多复杂的问题,调试容易,可减轻程序员负担。 ( 3 ) 具有可扩展性,a p i 丌放。功能不够用时,可自己编码进行扩展。 ( 4 ) 开发者活跃,产品有稳定的发展保障。 本系统简化了s e s s i o n f a c t o r y 的管理,系统提供了一个s e s s i o n f a c t o r y b u i l d e r 类,将该类定义成一个单态模式类,即该类最多只有一个实例,而s e s s i o n f a c t o r y 实例则被缓存在s e s s i o n f a c t o r y b u i l d e r 实例中,通过保证系统中只有一个 s e s s i o n f a c t o r y b u i l d e r 实例,从而保证系统中只有个s e s s i o n f a c t o r y 实例【1 6 】。 一旦系统中已经完成了s e s s i o n f a c t o r y b u i l d e r 和s e s s i o n f a c t o r y 的实例化, 后面的d a o 组件将一直获得这两个实例。 系统的d a o 组件基于h i b e r n a t es e s s i o n 实现,系统通过h i b e r n a t es e s s i o n 来管理持久化操作,并通过s e s s i o n f a c t o r y b u i l d e r 的方法返回同一个 s e s s i o n f a c t o r y 实例后,返回当前线程的s e s s i o n 实例,从而完成持久化操作。 2 2 2 系统架构设计 本系统采用j 2 e e 的三层结构,分为表现层、中间层和数据服务层【1 7 1 。三层 体系将业务规则、数据访问等工作放到中间层处理,客户端不直接与数据库交 互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。 系统的总体架构图如图2 3 所示。 厂 、 用户界面 m v c 架构 数据访问对 通过实体一 负责业务数 的控制层 象 关系映射 据的收集和业务逻辑的 o r 表示 + 实现层 + _ - 存放数据 控制业务逻 与持久化对 m a p p i n g 从 辑与表现层 象进行交互 数据库袁得 客户端数据 的交互到的对象 校验 视图层 w c b 层 s e r v i c e 层d a o 层 持久化对象p o 数据库服务 ( j s p + w e b w o r k ( w e b w o r k )( 业务逻辑层)( d a t a a c c e s s( p e r s i s t e n t ( s q ls e r v e r u i ) 、l o b j e c t ) o b j e c t ) 2 0 0 0 ) 图2 - 3 系统的总体架构图 武汉理t :大学硕士学位论文 由上图可见,为了分离控制层与业务层,又可细分为: w e b 层,就是m v c 模式中的控制层,负责表现层与业务逻辑层之间的交互, 调用业务逻辑层,并将业务数据返回给表现层显示。这个系统采用w e b w o r k 作 为w 曲层框架。 s e r v i c e 层( 业务逻辑层) ,负责实现业务逻辑,对d a o 对象进行正面模式 的封装。 d a o 层( 数据访问对象层) ,负责与持久化对象进行交互,封装了数据的 增、删、查、改等原子操作。 p o 层( 持久化对象层) ,通过实体关系映射工具将关系型数据库的数据映 射成对象,实现以面向对象方式操作数据库,这个系统采用h i b e r n a t e 作为o r m a p p i n g 框架【1 8 j 。 从整体结构上来看,本系统一样是严格按d a o 层、业务逻辑层、控制器层 的方式进行分层,系统各类组件都被封装在自己相应的层内。d a o 层组件全部 封装在d a o 层内,提供了d a o 工厂管理d a o 组件,业务逻辑组件则被封装 在业务逻辑层,由业务逻辑组件工厂管理。 层之层之间耦合提高到接口层次,例如业务逻辑组件并不与d a o 层组件的 实现耦合在一起,而是通过调用d a o 工厂来获得d a o 组件的实例。如图2 - 4 所示,业务逻辑组件获取d a o 组件的顺序图。 图2 4 业务逻辑组件获取d a o 组件的顺序图 由上图可见,当系统的业务逻辑组件需要d a o 实例时,通过调用d a o 工 9 武汉理 人学硕士学位论文 厂的g e t d a o 方法来获取d a o 实例,而不是手动创建一个d a o 实例。采用这种 方式有如下好处: 1 ) d a o 工厂负责生成并管理d a o 实例,避免了业务逻辑组件总是临时创 建d a o 实例,这减轻了系统负荷,提升了系统的性能。 2 ) 业务逻辑组件无须负责d a o 实例的生成,因此业务逻辑无须与d a o 实例的实现耦合,从而降低了组件之间的耦合。 类似的,系统控制器通过调用业务逻辑工厂来生成业务逻辑组件,而不是 直接创建业务逻辑组件,降低了控制层与业务逻辑层之间的耦合。 2 3 本章小结 w e b w o r k 是一个非常简洁和优雅的w e b 框架,w e b w o r k 的架构设计非常 容易理解,它构建在一个命令模式的x w o r k 框架之上,支持多种视图技术,而 且w e b w o r k 也有一个丰富的标签库,能非常容易地实现校验。本章以电子商务 应用为背景,从分析系统功能出发,详细地介绍了w e b w o r k 是如何实现m v c 模式的,以及h i b e r n a t e 技术,最终提出了系统的技术实现和总体架构。 1 0 武汉理j :人学硕士学位论文 第3 章w e b w o r k 实现w e b 应用系统 前面一章已经确定了系统需要实现的功能,所采用的技术框架和系统架构。 本章主要通过具体的实例代码,详细分析w h 架构如何实现高效、灵活的多层 w e b 体系结构。 3 1 系统详细设计 技术框架和系统架构是从全局的角度分析整个系统的实现,本节将从更细 微的角度,详细介绍系统的开发环境,开发平台的整合,并就系统的实体进行 分析,设计出系统应该包含的各组件。 3 1 1 整合开发平台 本系统开发所采用的操作系统平台为w i n d o w sx p ,开发j a v a 应用程序所需 要的j d k 为j d k 6 u 3 w i n d o w s i 5 8 6 p ,集成开发环境为m y e c l i p s e 6 5 完全版以 及相关e c l i p s e 插件,主要是资源文件编辑插件p r o p e r t i e se d i t ,w e b 服务器采用 现今比较流行的a p a c h et o m c a t 6 0 ,后台数据库采用m i c r o s o f ts q l s e r v e r2 0 0 0 , 数据库建模工具采用p o w e r d e s i g n e r i 1 。 在上一章中已经确定了本系统采用的是w h ( w e b w o r k + h i b e r n a t e ) 架构构 建,而对于一个w e b 系统而言,集成开发所使用的技术,实际上是将相应的j a r 文件添加到项目工程中。同样的,集成w e b w o r k 和h i b e n l a t e 【嘲,只要添加相应 的包文件以及修改相应的配置文件就可以容易的实现。 打开m y e c l i p s e 开发工具,点击菜单栏“f i l e 中选择n e w 下的w e bp r o j e c t 新建一个w e bp r o j e c t 项目,填写p r o j e c tn a m e 项目名称,并选择j a v ae e5 0 , 点击“f i n i s h 按钮。由于到目前为止,m y e c l i p s e 开发平台并没有加入对 w e b w o r k 框架的支持,所以实际上这个工程并没有自动为我们的开发添加 w e b w o r k 框架的相应j a r 包文件,需要我们手动去添加相应的包文件,具体方 法下面会介绍。如图3 1 所示,新建一个w e bp r o j e c t 的过程【2 0 1 。 武汉理丁大学硕士学位论文 6 r e a t e 。a 。w e bp r o j e c t cr e a t e e bpr o j e c t i d w o r b p o c 8o r 【e r hb c w 。i ? 密 aw t h e e e r n a _ 1 0 c a 1 0 n ? l i w e bp * o j e c td e t d ; p r o j e c t m e b o o k l o c a u o n :,u s ed e f a u l tl o c a t i o n 5 0 u r c e f o l d e r c w e br o oe f or d er _w e b r o o t c o n b 嗽r 嘣u r l :e b o o k 2 e es p e d f b u o nl e v e l o i j ! 熙 9 jj 2 e e i4 3 2 e e l3 图3 - i 新建一个w e bp r o j e c t 1 ) w e bp r o j e c t 中增加对w e b w o r k 的支持 任何m v c 框架都需要与w 曲应用整合,这就不得不借助十w e b x m l 文件, 只有配置在w e bx m l 文件中s e r v l e t 才会被应用加载。 m y e c l i p s e 并没有集成w e b w o r k ,只能手动导入相关的w e b w o r k 包,相关 f l 勺资源可以从w e b w o r k 的官方网站上去下载口“,其中w e b w o r k - 2 25 版本是目 前为止最稳定的版本,以下是必须导入的包:c o m m o n s l o g g i n g j a r ,f r e e m a r k e r j a r , j a v a m a i l j a r ,o g n l j a r ,o s c o r e , j a r ,r i f e c o n t i n u a t i o n s j a r ,w e b w o r k - 2 2 s j a r ,x w o r k j a r 。 将这些包文件复制到w e b 1 n f 下的l i b 文件夹下。 因为w e b w o r k 将核心控制器设计成f i l t e r ,而不是一个普通s c r v l c t ,为了 让w e b 应用加载f i l t e r d i s p a t c h e r ,需要在配置文件w e b x m l 中增加以下内容: w e b w o r k c o m o p c n s y m p h o n y w e b w o r k d i s p a t e h e r f i l t e r d i s p a t c h c r w e b w o r k + 这样,只要w e b 应用加载f i l t e r d i s p a t e h e r ,f i l t e r d i s p a t c h e r 将会加载应用的 武汉理i 人学硕士学位论文 w e b w o r k 框架。 w e b w o r k 框架核心配置文件就是x w o r k x m l 配置文件,该文件主要负责管 理w e b w o r k 框架的业务控制器a c t i o n ,该a c t i o n 才是真正处理用户请求的类。 新建该文件并放到$ r c 根目录下,配置文件的内容如下: p a c k a g et l a l n f = ”d e f a u l t ”e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论