(计算机应用技术专业论文)基于j2ee的超信增值系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的超信增值系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的超信增值系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的超信增值系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的超信增值系统的设计与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的超信增值系统的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 近年来,w e b 应用开发已经成为发展最快的一种计算机应用技术,很多计算 机应用系统都建立在w e b 基础之上。j 2 e e 技术的成熟,轻量级开源项目的涌现, 为w e b 应用程序更进一步的发展提供了更广阔的空间,但在开发中仍然存在程 序可复用程度低、维护工作繁琐等不足。如何选择良好的框架结构开发基于j 2 e e 平台的w 曲分布式应用系统,成为软件人员关注的问题。本文在采用传统的j 2 e e 多层架构模型的基础上,针对w e b 应用系统的特点,研究利用现有开源框架技 术,选择一种优秀通用的架构方案,使得w e b 应用系统具有开发灵活、升级简 单、管理维护方便、移植性好、复用性高等特点。 本文首先介绍了j 2 e e 体系结构及相关技术,分析了m v c 设计模式的特点。 然后在深入研究经典开源框架s t r u t s 、h i b e r n a t e 、s p r i n g 结构特点的基础上,提 出一种具有通用模式的j 2 e e 架构设计方案,即将三种框架技术整合在一起,扬 长避短,使得系统架构设计效果达到最好。接着以超信增值系统为例,利用此架 构方案对系统进行总体设计,使得系统开发过程简单、项目管理方便、开发周期 大大缩短,为系统的复用性、扩展性和维护性创造了有利条件。最后给出系统中 典型功能模块的具体实现过程,并通过融合大量的兼容技术,成功、方便地解决 了系统中的几个主要问题。 本文中的超信增值系统主要包括w a p 子系统、超信业务后台管理子系统和 网络广告w e b 子系统。在w a p 子系统中,通过引入缓存机制解决了此子系统中 访问响应速度慢的问题。在超信业务后台管理子系统中,通过对c e w o l f 的深入 学习研究,利用其实现了数据统计功能模块;通过对s t r u t sm e n u 组件和r b a c 理论的学习和深入研究,设计并实现了权限管理功能模块,本文提出的实现方法 不仅大大缩短了丌发周期,而且很大程度上提高了权限分配的灵活性,降低了复 杂情况下分配权限的复杂性。通过对x m l 技术的研究和分析,给出网络广告 w e b 子系统中广告服务器模块的具体实现过程,在此模块的i 殳计过程中,利用 x m l 组织数据的灵活性和传输数据的安全性特点,设计定义广告协议,并对坍 议解析过程进行了详细的讨论。 综上所述,本文在采用集成这三种框架技术的j 2 e e 架构设计方案的基础上, 结合其他开源插件技术,不但有效地解决w e b 应用开发中遇到的主要问题,而 且使得系统具有很高的可维护性、扩展性、移植性和复用性。 关键词j 2 e e ;权限管理;缓存机制;x m l a b s t r a c t w e ba p p l i c a t i o nd e v e l o p m e n th a sb e e nr e c e n t l yt h em o s tp o w e r f u lc o m p u t e r a p p l i c a t i o nt e c h n o l o g y ag r e a tn u m b e ro fc o m p u t e ra p p l i c a t i o nt e c h n o l o g i e sa r e b u i l to nt h ew e bb a s i c t h ei n c e s s a n tg r o w t ho fj 2 e ep l a t f o r ma n dt h ep r o d u c t i o no f l i g h t w e i g h to p e n i n gs o u r c e sp r o g r a m sh a v ep r o v i d eaw i d e rs p a c ef o r t h ew e b a p p l i c a t i o n sf u r t h e rp r o g r e s s ,h o w e v e ra l s op r o v i d eo b s e s s i o nf o rp r o g r a m m e r st o c h o o s ef r a m e t h e r e f o r ep r o g r a m m e r sb e g a nt op a ya t t e n t i o n t o c h o o s i n g a n u p s t a n d i n gf r a m e w o r ku s i n gw h i c ht h ew e bd i s t r i b u t i n ga p p l i c a t i o ns y s t e m s a r e d e v e l o p e db a s e do nj 2 e ep l a t f o r m t a k i n gw 曲a p p l i c a t i o ns y s t e m s t r a i t si n t o c o n s i d e r a t i o n ,t h i sp a p e rr e s e a r c h e sa n du s e st h eo p e n i n gs o u r c ef r a m et e c h n o l o g yi n e x i s t e n c eo nt h eb a s i co fa d o p t i n gc o n v e n t i o n a lj 2 e em u l t i l a y e rf r a m em o d e l ,a n d c h o o s e sa ne x c e l l e n tu n i v e r s a ls c e n a r i ot or e d u c et h ee x p e n s ei nt h ew 曲a p p l i c a t i o n s y s t e m se x p l o i t a t i o n ,u p g r a d e ,m a n a g e m e n t ,m a i n t e n a n c ea n d c u l t i v a t i o n i nt h i sp a p e rw ef i r s tp r e s e n tt h ej 2 e es y s t e mf r a m e w o r ka n d c o r r e l a t i o n t e c h n o l o g i e s ,a n da n a l y z e t h e c h a r a c t e r so fm v cd e s i g nm o d e l a f t e rd e e p l y r e s e a r c h i n gt h ef r a m et r a i t so fc l a s s i co p e n i n gs o u r c ef r a m e w o r ko fs t r u t s ,h i b e r n a t e , a n ds p r i n g ,w ea d v a n c eaf l a m es c e n a r i oc o n f o r m i n gt h e s et h r e ef r a m e w o r k s t h i s s c e n a r i oi saj 2 e ef r a m e w o r kh a v i n gt h eu n i v e r s a lm o d e l t h e nw ew h o l l yd e s i g nt h e s u p e rt r u s t e di n c r e m e n ts y s t e mu s i n gt h i s f r a m es c e n a r i os oa st om a k et h es y s t e m e x p l o r a t i o ns i m p l e ,t h es o f t w a r em a n a g e m e n tm o r ec o n v e n i e n t ,a n d s h o r t e nt h e e x p l o i t a t i o np e r i o d ;f u r t h e r m o r et h es y s t e mg e t s w e l lr e u s a b i l i t ye x p a n s i b i l i t ya n d m a i n t e n a n c e i nt h ee n dw er e c o m m e n dp a r t i c u l a r l yu s i n gt h ej 2 e ef r a m e w o r kw h i c h a d o p t st h em e n t i o n e du n i v e r s a lm o d e l ,t h es y s t e mi m p l e m e n t h a si n o s c u l a t e dam a s s o fc o m p a t i b l et e c h n o l o g i e sh e l p i n gr e s o l v es u c c e s s f u l l ya n de x p e d i e n t l yp l e n t y p r o b l e m si n t h es y s t e m t h es u p e rt r u s t e di n c r e m e n ta p p l i c a t i o ns y s t e mm a i n l y c o n s i s t so f ,a ps u b s y s t e m c o n t e n tm a n a g e m e n tw e bs u b s y s t e ma n dn e t w o r k a d v e r t i s e m e n tw 色bs u b s y s t e m w ei m p o r t b u f f e rm e c h a n i s mt or e s o l v et h e s l o w f o o t e da n s w e ri nw a ps u b s y s t e m w ep e n e t r a t ei n t ot h ec e w o l fa n da c c o m p l i s h t h ed a t as t a t i s t i cf u n c t i o ni nc o n t e n tm a n a g e m e n tw e bs u b s y s t e m ;a n dd e e p l y r e s e a r c ht h es t r u t sm e n um o d u l e sa n dr b a ct h e o r y ;w ed e s i g na n dr e a l i z et h e p u r v i e wm a n a g e m e n tf u n c t i o nm o d e l t h ea c c o m p l i s h m e n tw ep r o p o s e di nt h i sp a p e r h a sg r e a t l yr e d u c e dt h ee x p l o r a t i o np e r i o d ,m o r e o v e ri m p r o v et h ea g i l i t yo fp u r v i e w 1 i i d i s t r i b u t i o n ,d e b a s et h ec o m p l e x i t yo fd i s t r i b u t i o ni nt h ei n sa n dt h eo u t s w eg i v ea d e t a i l e di n t r o d u c t i o no ft h ea c c o m p l i s h m e n to fa d v e r t i s e m e n ts e r v i c em o d e l a n di n o r d e rt oe n s u r et h ef l e x i b l e n e s sa n d s e c u r i t y o ft h ec o m m u n i c a t i o nb e t w e e n a d v e r t i s e m e n ts e r v i c em o d e la n d c l i e n t ,w eu s ex m lf o r m a tt od e f i n et h e a d v e r t i s e m e n tp r o t o c o ls c e n a r i oa n dd i s c u s sp a r t i c u l a r l yt h e p r o c e s so fp r o t o c o l r e s o l u t i o n t os u mu p ,t h i sp a p e rh a se f f e c t i v e l yr e s o l u t et h em a i np r o b l e md u r i n gt h e e x p l o r a t i o no fw e ba p p l i c a t i o nb ya d o p t i n gt h ei n t e g r a t e dj 2 e ef r a m e w o r kd e s i g n s c e n a r i oa n do t h e r o p e n i n gs o u r c ep lu g - i n s ,m o r e o v e rg i v et h es y s t e mh i g h l y m a i n t a i n a b i l i t y , e x p a n s i b i l i t y , m i g r a t i o na n dt h em o d u l e sr e f a c t o r i n g k e yw o r d sj 2 e e ;a c c e s sc o n t r o l ;c a c h em e c h a n i s m ;x m l i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 瑚o3 6 2 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名: 导师签名:j 篁鳢日期:2 生旦基:笸:2 第l 鼹绪论 1 1 研究背景 第1 章绪论 i n t e m e t 的发展影响了社会生活的各个领域,互联网已经把世界紧密地联系 在一起,在全球经济一体化的大形式下,在数字化、网络化的滚滚大潮中,企业 面临激烈竞争的市场环境,机遇与挑战并存。隧着计算机和数据库技术、通信技 术的迅猛发展,企业和商家对于信息的收集、处理、传输、存储和共享有了更高 的要求,所以当前的主要任务就是最大限度的利用现代计算祝和阏络通讯来实现 信息管理。目前,由于开发高质量的信息管理系统的能力大大落后于计算机硬件 日新月异的发展,加上社会对信息管理系统的发展和完善需求的增加以及对开发 过程中出现的问题的错误认识和行为已经严重妨碍了计算机技术的进步。因此对 现有计算机技术的深入研究,如何才能开发出功能强大,应用灵活的系统成为一 个倍受入稻关注的话题。 。 早期的管理系统主要采用c s ( 客户端朋艮务器) 结构模式,这种模式进行数据 处理时分为两个方面:服务器和客户计算机。客户计算机通常是预先给定的或铡 行的应用程序,以易用、易懂的图形方式给出数据和操作。这些客户机被联网至 后台服务器的应用程序,由服务器来完成对数据的存储、检索和保护。它一方面 利用了服务器的共享资源,另一方面也可以充分利用客户机的本地资源,可以支 持大规模应用。但其缺点是,每个应用系统都需要在所有客户机上进行配霞。在 应用系统需要升级时,每个客户概都需要相应升级。因此,在大规模应耀方面, 客户机服务器模式的维护和推广费用比较大。随着计算机网络技术的发展,w e b 正以其广泛性、交互性、恢捷性拳l 易用谯渗入到社会的各个应用领域。随黄w e b 技术的不断发展而深入发展起来的b s ( j :文0 览器月& 务器) 结构模式,相对于c s 模 式最大的优点就是可以在任俺地方进行操作丽不用安装任何专门的软件,只需要 在服务器端安装上相应的软件就可以了,这样使得开发和维护工作大大减轻。因 此,近年来,随着食业信息化建设的发展和完善,以及因特网的快速发腱,基于 b s 结构的w e b 应用当然毫无饿外地已经被人们广泛应用到开发各类应嬲系统 中。 w e b 技术的发展,使得管理系统的开发曼方便,功能更强大,但在市场需求 的推动下也出现了一些弊端,w e b 应用软件规模不断扩大,复杂性不断增加,同 时,多层的w e b 应用软件需要面对复杂的网络环境、多样化的用户需求、灵活 的业务模式、复杂的业务流程等问题。因此,开发稳定性好、易扩展的、程序可 重用的和易于维护的高质量的系统成为人们关注的焦点。 在l9 9 6 年6 胃的j a v a o n e 年会上,“j 2 e e ”这个缩略语第一次被时任s u n 公 北京丁业大学工学硕l j 学位论文 司j a v a 企业开发部门主管的m a l ac h a n d r a 预告了j a v a 世界的这位新成员。 c h a n d r a 清晰地说明了设计j 2 e e 架构的两个初衷:首先,对于厂商,j 2 e e 意味 着一套开放标准,加入这个标准,他们的产品就可以运行在各种不同的操作系统 和工作环境下,成为一个成熟的企业运算体系中可替换的部件;其次,对于开发 者,j 2 e e 是一套现成的解决方案,采用这个解决方案,企业应用开发中的很多 技术难题( 包括跨平台移植、事务处理、安全性等等) 就会迎刃而解,“信息像 一条不间断的河流,经过各种各样的平台和设备,从企业应用系统的这一端流向 那一端”i lj 。j 2 e e 平台提供了众多的技术来支持开发多层分布式企业应用。这些 技术可以分成三类:组件、服务、通信。用户使用组件技术来创建用户接口和业 务逻辑,通过组件模块化设计,用户可以在多个企业应用中重用组件,从而简化了 应用编程,提高了系统开发效率【2 j 。j 2 e e 为w | e b 应用开发提供了良好的技术路线, 而w e b 应用框架技术是利用面向对象的软件复用技术解决w e b 应用领域相关问 题的一种框架技术。它充分利用面向对象的软件复用技术解决了w e b 应用领域 的特定问题,为具体开发提供了特定类型的组件,具有可复用性。 1 2 国内外研究现状 1 9 9 5 年j a v a 面世后,s u n 便靠a p p l e t 抢占了w e b 前端市场,但f l a s h 的出 现却让a p p l e t 失去了统治地位。于是s u n 在1 9 9 7 年发布了第一个w e b 服务器 ( j a v aw e bs e r v e r ) 及应用的s e r v l e t a p i ,在1 9 9 8 年推出了j s p ( j a v as e r v e r p a g e s ) 。随着j s p 的不断完善,它慢慢变成一种非常成熟的w e b 技术,j s p 凭借 其技术成熟,稳定,及j a v a 的强大功能和跨平台能力成为w e b 企业应用的王者。 早期w e b 上的应用主要是静念网页,页面由简单的文本、图片和超链接构 成。这种网页并不能满足企事业信息系统提供动态内容和与客户交流的需求,所 以很快被w e b 应用系统所取代。在开发w e b 应用系统的过程中,w e b 技术起了 一个骨架式的支持作用;与此同时组件技术的发展为系统的丌放性、集成性提供 了便利,有效合理地引入组件技术是当前w e b 系统开发与发展的一个方向。近 年来,w e b 开发和应用平台不断出现,涌现了像s u n 的j 2 e e ( j a v a 2 企业版) 平台 和m i c r o s o f t 的n e t 开发平台。j 2 e e 软件体系结构,提供了一种基于组件的方法 来设计、开发、装配和部署企业级应用程序,使得快速设计和开发w e b 应用程 序成为可能。即使利用先进的j 2 e e 平台,在多层的w 曲体系结构的设计中,同 样存在程序可重用程度低、维护性、兼容性和扩展性差等不足。因此,如何设计 应用软件使纷杂的应用需求和多样化的客观环境能够彼此尽量少的受到对方的 干扰和牵制,以及我们曾经的成功案例能否再次使用? 分层结构和组件复用给众 多开发人员提供了选择。人们也同样越来越意识到软件重用技术的重要性,设计 第l 章绪论 模式和框架技术应运而生。 设计模式和框架技术在整个系统开发中发挥了重要的作用,但从更广泛的角 度说,它们只是在更小的颗粒度上发挥功用。如何组织各个层次、如何合理选择 使用模式和框架技术又将开发人员的关注点提高到整个系统层面上来。架构技术 为这一问题提供了解决方案。架构是软件系统从整体到部分的最高层次的划分, 一般由多个不同领域的框架组成。一个成功的软件需要有一个成功的架构,它将 各个框架技术有机的组织起来,相互关联但又不失其独立性。软件架构的建立是 一个复杂而又持续改进的过程,开发人员不可能对每个项目做不同的架构,而总 是尽量重用以前的架构,或开发出尽量通用的架构方案。 在w e b 的设计模式中,m v c 是迄今已经成为一种成熟的优秀的设计模式。 m v c 是一个用于将用户界面逻辑与业务逻辑分离丌来的基础设计模式,通常用 于分布式应用系统的设计与分析,最近几年被推荐为s u n 公司j 2 e e 平台的设计 模式,并且受到越来越多的使用j s p 和s e r v l e t 的开发者的欢迎。随着软件业对 w e b 应用框架的需求的增加,涌现出了许多优秀的开源框架,如针对表示层的 s t r u t s 、j s f 、s p r i n g 、w e b w o r k 等;针对持久层的h i b e m a t e 、t o r q u e 、i b a t i s 等;国内比较成熟的开源框架有j d o n f r a m e w o r k 、e a s y j w e b 等。它们面向不同 的应用规模和领域,各有优缺点。面对这么多的框架技术和设计模式,开发人员 只有通过一个成功的架构,才能够更好的组织各个层次,合理选择使用模式和将 各个框架技术有机的组织起来,相互关联但又不失其独立性。软件架构的建立是 一个复杂而又持续改进的过程,开发人员不可能对每个项目做不同的架构,而总 是尽量重用以前的架构,或开发出尽量通用的架构方案。 1 3 论文的主要研究内容 本文结合m v c 模式,应用j 2 e e 架构, 来成功的设计并实现了w e b 信息管理系统, 中经常遇到的问题的解决方案。 本论文主要研究内容: 合理采用当前流行的丁i :源框架技术 并且主要介绍了w e b 系统开发过程 第2 章首先洋细介绍了j 2 e e 体系结构和m v c 设计模式,分析了采用j 2 e e 架构和m v c 设计模式开发系统的特点。然后对重量级架构和轻量级架构进行了 简单的比较介绍,接着着重探讨了三种经典的丌源框架技术s t r u t s is p r i n g 和 h i b e r n a t e ,最后提出了将这三种框架整合在一起的一种通用的j 2 e e 架构方案, 阐述了这种方案的优越性。本章为整合三种框架的设计方案在超信增值系统中的 应用奠定了理论基础。 第3 章基于上述分析,以移动增值应用系统为例,给出了超信增值系统的项 北京t 业大学工学硕士学位论文 目设计,从系统概述、系统总体设计和系统功能模块设计上进行了详细分析。主 要是把上一章介绍的开源框架技术应用于该系统的总体设计中,实现系统功能。 第4 章采用整合三种框架技术的j 2 e e 架构方案对超信增值系统进行总体设 计后,对系统中的典型功能进行了实现。首先通过对开源框架o s c a c h e 技术的 深入研究,实现了系统的缓存机制,提高了w a p 子系统的访问响应速度。然后 提出了利用c e w o l f 设计实现数据统计模块,接着通过对r b a c 理论的深入研究, 对s t r u t sm e n u 组件的深入分析,设计实现了开发周期短、权限分配灵活、操作 简单、复用性好的权限管理模块。接着通过对w e b 相关技术x m l 技术的研究和 分析,利用其组织数据的灵活性和传输数据的安全性特点,来定义广告协议,并 详细讨论了广告服务器系统对x m l 文本格式的广告协议进行解析处理的过程。 最后是对整个论文的总结和下一步的工作方向。本论文在分析了现有框架技 术特点的基础上,对经典框架技术进行整合,形成具有一定集成度和通用性的软 件设计架构。 第2 章相关技术背景 第2 章相关技术背景 2 1j 2 e e 体系结构 j 2 e e 规范是一种用于简化分布式企业级应用开发与部署的基于组件的模 式。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布 式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和 组件,组件在分布式服务器的组件容器中运行,容器间通过相关的协议进行通讯, 实现组件间的相互调用1 3 1 。 j 2 e e 体系结构如图2 1 所示。 图2 一ij 2 e e 体系结构图 f i g 2 - la r c h i t e c t u r eo fj 2 e ep l a t f o r m 北京工业人学t 学硕十学位论文 2 1 1j 2 e e 组件与容器 2 1 1 1j 2 e e 组件 j 2 e e 的应用程序由组件组成,每个组件提供了方法、属性、事件的接口。 j 2 e e 组件是具有独立功能的软件单元,它们通过相关的类和文件封装成j 2 e e 应用程序,并能与其他组件交互【4 】。 j 2 e e 规范定义了以下的j 2 e e 组件: ( 1 ) 运行在客户端机器的客户层组件:可以是基于w e b 方式的,也可以是一 个应用程序。基于w e b 方式的客户端由运行在w e b 层的w e b 组件生成的包含各 种标记语言( h t m l x m l 等等) 的动态w e b 页面和接受从服务器传送来的页面 并将它显示出来的w e b 页面两部分组成。应用程序客户端直接访问运行在业务 层的企业b e a n 。然而,如果应用程序需要授权,一个j 2 e e 应用程序客户端可以 打开一个h t t p 连接来与一个运行在w 曲层的s e r v l e t 建立通信【5 】。 ( 2 ) 运行在j 2 e e 服务器中的w e b 层组件:可以由j s p 页面、基于w e b 的 a p p l e t s 以及显示h t m l 页面的s e r v l e t 组成。w e b 层可能包含某些j a v a b e a n 对 象来处理用户输入,并把输入发送给运行在业务层上的e n t e r p r i s eb e a n 来进行处 理【6 1 。 ( 3 ) 运行在j 2 e e 服务器中的业务逻辑层组件:业务层代码的逻辑由运行在 业务层上的e n t e r p r i s ej a v ab e a n s 进行处理。如图2 2 所示显示了一个企业b e a n 如何从客户端程序接收数据,进行处理( 如果必要的话) ,并发送到e i s 层储存 的,这个过程也可以逆向进行。 图2 - 2 业务层和e i s 层 f i g 2 2b u s i n e s st i e ra n de i s 有三种企业级的b e a n s :会话( s e s s i o n ) b e a n s ,表示与客户端程序的临时 第2 章相关技术背景 交互;实体b e a n s 表示数据库的表中一行永久的一记录:消息驱动b e a n s 结合了 会话b e a n s 和j m s 的消息监听器的特性,允许一个业务层组件异步接收j m s 消 息【7 】o ( 4 ) 运行在e i s 服务器中的企业信息系统( e i s ) 层组件:处理企业信息系 统软件包括企业基础建设系统,例如企业资源计划( e r p ,大型机事务处理,数 据库系统,和其它的遗留信息系统。 2 1 1 。2j 2 e e 容嚣 j 2 e e 将组成一个完整企业级应用的不同部分纳入不同的容器( c o n t a i n e r ) , 每个容器中都包含若干个组件,同时各种组件都能使用各种j 2 e es e r v i c e a p i 。 j 2 e e 应用程序组件使用容器的协议和方法访问服务器提供的其他应用程序组件 和服务。j 2 e e 应用组件可以部署到以下几种容器中去【8 】: w e b 容器:服务器端容器,包括两种组件j s p 和s e r v l e t ,j s p 和s e r v l e t 都 是w e b 服务器的功能扩展,接受w e b 请求,返回动态w e b 页面。w e b 容器中的 组件可使用e j b 容器中的组件完成复杂的商务逻辑。 e j b 容器:服务器端容器,包括组件为e j b ( e n t e r p r i s ej a v a b e a n s ) ,它是j 2 e e 的核心之一,主要用于服务器端的商业逻辑的实现。 a p p l e t 容器:客户端容器,提供适合于执行j a v a a p p l e t 的环境。a p p l e t 是 嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用w e b 页面无法充分地 表现数据或应用界面的时候,才使用它。 , 应用程序客户端容器:a p p l e c a t i o nc l i e n t 相对a p p l e t 而言是一种较重量级的 客户端,管理所有j 2 e e 应用程序中应用程序客户端组件的执行,能够使用j 2 e e 的大多数s e r v i c e 和a p i 。 通过这四个容器,j 2 e e 能够灵活地实现企业级应用的架构。这种基于组件、 具有平台无关性的j 2 e e 结构使得j 2 e e 程序的编写十分简单,因为业务逻辑被 封装成可复用的组件,并且j 2 e e 服务器以容器的形式为所有的组件类型提供后 台服务p j 。 容器i 殳置定制j 2 e e 服务器所提供的内在支持,包括安全、事务管理、j - n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) 寻址、远程连接等服务。 2 1 2j 2 e e 的多层应用模型 多层架构的主要目的是在客户端之间进行资源共享,这是软件开发的基本设 计哲学。过去,c s ( c l i e n t s e r v e r ) 结构的软件被广泛采用,c s 结构在开始很 容易配置,但难于升级或扩展,商务逻辑和表示逻辑的重新使用也很困难。在 w r e b 应用领域中,扩展性非常重要,而双层的应用不便于升级扩展,因此很难使 北京工业人学工学硕上学位论文 用在广域网中【1 0 , 1 1 】。为了解决双层体系结构的弊端,s u n 设计了j 2 e e 。j 2 e e 将 双层化模型中的不同层面切分成学多层。一个多层化应用能够为不同的每种服务 提供一个独立的层。 j 2 e e 的四层体系结构使业务逻辑和表示逻辑分离开来,网页开发人员关注 表示逻辑的实现,后台开发人员关注业务逻辑的实现,大大提高了开发效率。但 是,这种体系结构仍然没有解决所有的问题。业务逻辑层不仅负责业务逻辑,还 直接访问数据库,实现对业务数据的保存、更新、删除、查询等操作。因此业务 逻辑代码和数据操作代码混杂在一起,当数据库平台或数据源发生改变时,修改 起来相当麻烦。 如图2 - 3 所示是j 2 e e 典型的四层结构【1 2 】: 穹;户p - a c l i e n tw e h 袭示层她务逻辑层企业信息系统 e i s ,r、厂、 脚b 容j 勰 7 溯览躲、 f f o e bt 存器 j 教拊库 e j 】3 犷- v 量口? r p j s p 九一 卜j 】坯s h t m l s e r v l e t 犷 x 皿 1 正l :1 a a 降u 骶 j w a l 五a i l从 j d b c 叫 j n d i ,眦,它厂j 畸 ( a p p hc a a o n j a o c a t e n t ) s e r r | e t ! 燕h i 喀户端 1 一a j 2 e e i x 牟 卜 数据陴 嚣器 犷- v p l a f f 伍- m - v j 2 e e ( a p p l ie a u o np i a t f o r l l a c l i c n t c o r l t a i r l e :f 、 , 、lj ,、l ,盥一舯i j 1 宦e 附铒姓r t h b 嚣! i 璺 幽2 - 3j 2 e e 的四层结构 f i g 2 - 3f o u rt i e r so fj 2 e es t r u c t u r e 为了将数据访问细节和业务逻辑分开,可以把数据访问作为单独的数据持久 层分离出来,形成一个五层的体系结构1 3 】,所有与数据源相关的操作,如增加、 删除、修改、查询以及事务管理、数据库连接池管理、并发性控制、异常处理等 都放在数据持久层里去。 下面介绍几种j 2 e e 相关技术 1 4 , 1 5 , 1 6 1 。 ( 1 ) e j b 技术 e j b 技术是j 2 e e 的基础,是用于开发和部署多层结构的、分布式的、面向 对象的j a v a 应用系统的跨平台的构件体系结构,它简化了多层体系结构应用系 统的开发过程。e j b 定义了三种e n t e r p r i s eb e a n s :s e s s i o nb e a n s 、e n t i t yb e a n s 和 m e s s a g e d r i v e nb e a n s 。 ( 2 ) j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 技术 j d b c 是一个独立于特定的数据库管理系统的开发接e l ,是一种为各种常用 数据库提供无缝联接的技术。j d b ca p i 使开发者不必不断重写程序就可以建立 第2 章相父技术背景 数据库,这个a p i 有两层接1 3 :应用程序层、驱动程序层【1 7 】。 ( 3 ) 分布式通信技术 分布式通信技术是分布式企业系统的核心技术。为了使运行于某一机器上的 对象调用另一台机器的对象,j 2 e e 实现了如下通信方式:j a v ar m i ( r e m o t e m e t h o di n v o k e ) :远程方法调用。j a v ar m i 实现j a v a 对象间的远程通信。 ( 4 ) j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) j 2 e e 使用j n d i 定位各种对象,这种对象包括e j b 、数据库驱动、j d b c 数 据源和消息连接等。j n d ia p i 被用于执行名字和目录服务。它提供了一致的模 型来存取和操作企业级的资源,如d n s 、n d s 和l d a p ,本地文件系统,或应 用服务器中的对象。 ( 5 ) j m s ( j a v am e s s a g e s e r v i c e ) j a v a 消息服务。j m s 是用于和面向消息中间件相互通信的应用程序接口 ( a p i ) ,它提供创建、发送、接受、读取消息的服务。j m sa p i 定义了一组公共 的应用程序接口和相应语法,使得j a v a 应用能够和各种消息中间件进行通讯。 ( 6 ) j t a ( j a v at r a n s a c t i o na r c h i t e c t u r e ) j t a 提供了j 2 e e 中处理事务的标准接口,它支持事务的开始、回滚和提交。 ( 7 ) j t s ( j a v at r a n s a c t i o ns e r v i c e ) j t s 是c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,共用对象请求 代理程序体系结构) 、o t s ( o b j e c tt r a n s a c t i o ns e r v i c e ) 事务监控的基本的实现。 j t s 规定了事务管理器的实现方式。 ( 8 ) j a v a m a i l j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件服务器的抽象类。 不仅支持s m t p 服务器,也支持i m a p 服务器。 ( 9 ) 应用服务器 应用服务器( a p p l i c a t i o ns e r v e r ) 通过把用户接口、商业逻辑和后端服务分割 丌来,向开发者提供一种创建、部署和维护企业级的w e b 应用的模块化方式, 为要转向w e b 的用户提供尚性能多线程的环境1 1 8 1 。 j 2 e e 提供了一个企业级的汁算模型和运行环境用于开发和部署多层体系结 构的应用。j 2 e e 为搭建企业应j j 系统提供了良好的机制,开发过程中有简化结 构、高效开发等特点,开发出来的系统有可移植性强、重用性好、易于维护、伸 缩性好、被广泛接受和保护投资等特点f 1 9 , 2 0 1 。 虽然j 2 e e 架构有如上优势,但是,随着应用规模的越来越大,软件复杂性 的越来越高,j 2 e e 的不足也逐渐暴露出来。应用系统的开发一般是基于过程的。 通常由组j s p 页面来实现一个业务流程,流程控制的代码和业务逻辑的代码混 杂在一起,j s p 页面中嵌入了大量的j a v a 语句,当系统业务流程发生改变时,就 北京工业人学工学硕l :学位论文 需要对多处代码进行修改,这样非常不利于应用系统的扩展和更新。 2 2m v c 设计模式 设计模式主要用于得到简单灵活的系统设计,就是在具体场合下解决问题的 一些方法和经验,它为开发人员提供了一种使用专家设计经验的有效途径。一个 设计模式描述了对于特定设计问题被验证的解决方案,它综合了所有开发者对这 个问题所在领域的知识和见解;同时也是对于常见问题的可重用方案,它们一般 适用于单个问题,但是组织在一起就可以提供整个企业系统的解决方案【2 1 , 2 2 】。一 般而言,一个设计模式有四个基本要素:模式名称( p a t t e r n a m e ) 、问题( p r o b l e m ) 、 解决方案( s o l u t i o n ) 、效果( c o n s e q u e n c e ) 。 2 2 1m o d e ll 模式和m o d e l 2 模式 尽管m v c 设计模式很早就已经出现了,但是在基于w e b 的企业级应用中引 入m v c 却不是那么容易,一方面执行业务逻辑的j s p 代码和h t m l 表示层数据 混在一起,之间的关系有可能是强耦合的,业务模型很难抽取,这使得维护工作 变的很困难;另一方面,非常难以进行设计人员和美工人员的分离,即角色的分 离,因为往往h t m l 标记、j a v a 代码和j a v a s c r i p t 脚本都在一起。为了解决以上 问题,s u n 公司先后发布了j s pm o d e l l 和j s pm o d e l 2 规范2 3 1 。 2 2 1 1m o d e l l j s p 作为j 2 e e 平台的一个重要组成部分,在w e b 应用程序的开发中占有很 重要的地位。因为在j s p 页面中,可以同时实现显示、业务逻辑和流程控制,从 而快速的完成应用开发,很多的应用程序都可以用一组j s p 页面构成。这种以 j s p 为中一1 1 , 的开发模型就称之为模型l ( m o d e l l ) 。 这种开发模式在进行快速和小规模的应用开发时,如开发一个简单的留言簿 功能是没有太大坏处,但是用m o d e l l 模式开发大型项目时,由于业务逻辑和表 示逻辑混合在j s p 页面中没有进行抽象和分离,既不方便程序的修改与维护,也 不便于分工合作也不利于代码的重用,程序的健壮性和可伸缩性较差,非常不利 于应用的扩展和更新。 考虑到这些问题在开发大型的w e b 应用时必须采用不同的设计模式一这就 是m o d e l 2 。 2 2 1 2m o d e l 2 m o d e l 2 引入了”控制器”这个概念,控制器一般由s e r v l e t 来担任,客户端的 第2 章相关技术背景 请求不再直接送给一个处理业务逻辑的j s p 页面,而是送给这个控制器,再由控 制器根据具体的请

温馨提示

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

评论

0/150

提交评论