(信号与信息处理专业论文)基于java开源框架的业务支撑系统的研究与实现.pdf_第1页
(信号与信息处理专业论文)基于java开源框架的业务支撑系统的研究与实现.pdf_第2页
(信号与信息处理专业论文)基于java开源框架的业务支撑系统的研究与实现.pdf_第3页
(信号与信息处理专业论文)基于java开源框架的业务支撑系统的研究与实现.pdf_第4页
(信号与信息处理专业论文)基于java开源框架的业务支撑系统的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(信号与信息处理专业论文)基于java开源框架的业务支撑系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着通信网络技术的飞速发展,人们对于宽带及业务的要求也在迅速增长, 为了向用户提供更加灵活、多样的现有业务和新增业务,提供给用户更加个性 化的服务,提出了下一代网络的概念,软交换技术是下一代通信网络解决方案 中的焦点之一。b s s ( 业务支撑系统,b u s i n e s ss u p p o r ts y s t e m ) 与o s s ( 运营 支撑系统,o p e r a t i o ns u p p o r ts y s t e m ) 一起统称为b o s s 系统,是软交换平台的 重要支撑,是电信运营商从原有的以“业务为中心 经营模式向以“客户为中 心一经营模式转变的重要标志。 随着网络和w e b 技术的发展和普及,基于b s 模式来开发企业级应用已成 为主流。j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标准。j 2 e e 是一个真正开放、可扩展的标准框架,具有平台无关性,适用于多系统的整合、 系统的延展性、安全性要求高的企业级应用。j 2 e e 本身也提供了一些框架。比 如,e m e r p r i s ej a v a b e a n s ( e j b ) c o m a i n e r 或者s e r v i ae n g i n e 。但是,j 2 e e 缺乏 对编程的支持,j 2 e e 这个平台没有能够提供一个令人满意的应用程序编程模型。 现在,一些优秀的开源框架弥补了这个不足。它们提供了极为丰富的技术文档, 背后有专业的团队做支持,并且一切都是免费的。这些开源框架正成为一些企 业级应用的“标准化”解决方案,b s s 就采用了这种基于s t r u t s + s p r i n g + h i b e r n a t e 开源框架的j 2 e e 应用架构。 本文重点研究了以下几个问题: ( 1 ) 分析了经典m v c 架构,分层的设计,s t r u t s 、s p n n g 、h i b e r n a t e 等开 源框架的技术特点和实现方法。 ( 2 ) 实现结合s t r u t s 、s p r i n g 和h i b e r n a t e 开源框架的j 2 e e 应用架构。 ( 3 ) 结合多种开源框架实现b s s 。系统阐述了b s s 的整体架构、功能实现 和验证方式设计等。 目前,b s s 使用j b o s s 服务器,稳定运行在l i n u x 平台上。b s s 具有较好的 稳定性、安全性、移植性和可扩展性。 关键词:j 2 e e ,m v c ,b s s ,软交换,s t r u t s + s p r i n g + h i b e r n a t e a bs t r a c t w i t ht h er a p i dd e v e l o p m e n to ft h ec o m m u n i c a t i o nn e t w o r k st e c h n o l o g y , t h e d e m a n d so fp e o p l ef o rb r o a d b a n da n db u s i n e s sa r eg r o w i n gr a p i d l y , i no r d e rt o p r o v i d em o r ef l e x i b l ea n dd i v e r s i f o r me x i s t i n go rn e 、) i rb u s i n e s st ou s e r s , t op r o v i d e u s e r sm o r ep e r s o n a l i z e ds e r v i c e , t h ec o n c e p to ft h en e x tg e n e r a t i o nn e t w o r kh a sb e e n p r o p o s e d t h e s o f t s w i t c h t e c h n o l o g y i st h e p o i n t o ft h en e x t g e n e r a t i o n c o m m u n i c a t i o nn e t w o r ks o l u t i o n s b s s ( b u s i n e s s s u p p o r ts y s t e m ) a n d o s s ( o p e r a t i o ns u p p o r ts y s t e m ) a r ek n o w n 觞t h eb o s ss y s t e mt o g e t h e r , i sa n i m p o r t a n ts u p p o r tf o rt h es o f l s w i t c hp l a t f o r m , i sa ni m p o r t a n ts y m b o lo ft h ec h a n g e t h a tt e l e c o m m u n i c a t i o n so p e r a t o r sc o m e st ot h e ”c u s t o m e r - c e n t r i c b u s i n e s sm o d e l f r o mt h eo r i g i n a l ”b u s i n e s s - c e n t r i c o p e r a t i o n sm o d e l w i t ht h en e t w o r k sa n dw e bt e c h n o l o g yd e v e l o p m e n ta n dd i f f u s i o n , t od e v e l o p e n t e r p r i s e - l e v e la p p l i c a t i o n sb a s e do nt h eb sh a v eb e c o m et h em a i n s t r e a m i nf a c t , j 2 e ei st h e i n d u s t r ys t a n d a r d o fj a v at e c h n o l o g yi nt h e d e v e l o p m e n t o fa n e n t e r p r i s e - c l a s sa p p l i c a t i o n j 2 e ei sat r u l yo p e n , s c a l a b l es t a n d a r df r a m e w o r k , a p l a t f o r m - i n d e p e n d e n t ,a p p l i c a b l et ot h ei n t e g r a t i o no fm u l t i p l es y s t e m s , t h es y s t e m 。s s c a l a b i l i t y , h i g hs e c u r i t yr e q u i r e m e n t so fe n t e r p r i s ea p p l i c a t i o n s j 2 e ei t s e l fp r o v i d e d s o m ef r a m e w o r k f o re x a m p l e , e n t e r p r i s ej a v a b e a n s ( e r a ) c o n t a i n e ro rs e r v l e t e n g i n e h o w e v e r , j 2 e ei sn o ts u p p o r tg o o df o rp r o g r a m m i n gj 2 e ep l a t f o r mc o u l d n o tp r o v i d eas a t i s f a c t o r ya p p l i c a t i o n p r o g r a m m i n gm o d e l n o w , s o m eo ft h e o u t s t a n d i n go p e n - s o u r c ef r a m e w o r k sc o m p e n s a t ef o rt h i ss h o r t a g e t h e yp r o v i d ea w e a l t ho ft e c h n i c a ld o c u m e n t a t i o n , ap r o f e s s i o n a lt e a mb e h i n dt os u p p o r t , a n da l la le f r e eo fc h a r g e t h e s ea r eg o i n gt ob e ”s t a n d a r d i z e d ”s o l u t i o n sf o re n t e r p r i s e - l e v e l a p p l i c a t i o n s ,b s su s e st h e s eo p e n - s o u r c ej 2 e ea p p l i c a t i o na r c h i t e c t u r eb a s e do n s t r u t s + s p r i n g + h i b e r n a t ef r a m e w o r k t h i sp a p e rf o c u s e so nt h ef o l l o w i n gi s s u e s : ( 1 ) a n a 坶s i so f t h ec l a s s i cm v ca r c h i t e c t u r e ,h i e r a r c h i c a ld e s i g n , s t r u t s , s p r i n g h i b e r n a t e ,a n do t h e ro p e n - s o u r c ef r a m e w o r k s t e c h n i c a lc h a r a c t e r i s t i c sa n dm e t h o d s ( 2 ) i m p l e m e n t a t i o no ft h eo p e ns o u r c ej 2 e ea p p l i c a t i o nf r a m e w o r kw i t hs t r u t s s p r i n ga n dh i b e r n a t ef r a m e w o r k ( 3 ) d e s c r i b e dt h eo v e r f l ls t r u c t u r eo fb s s ,i m p l e m e n t a t i o no ff u n c t i o na n d d e s i g nm e t h o d so f v e r i f i c a t i o n a tp r e s e n t ,b s su s e sj b o s sa s 鞠帆r u n n i n g s t a b l yo nt h el i n u xp l a t f o r m b s s h a sg o o ds t a b i l i t y , s e c u r i t y , p o r t a b i l i t ya n d s c a l a b i l i t y k e y w o r d s :j 2 e e ,m v c ,b s s ,s o f l s w i t c h ,s t r u t s + s p r i n g + h i b e r n a t e 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 研究生( 签名) 丝日期: 趁出挈 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或 部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) : j 叠是导师( 签名) : 武汉理工大学硕士学位论文 第1 章引言 1 1 本课题研究的背景和意义 1 1 1 本课题研究的社会背景 随着通信网络技术的飞速发展,人们对于宽带及业务的要求也在迅速增长, 为了向用户提供更加灵活、多样的现有业务和新增业务,提供给用户更加个性 化的服务,提出了下一代网络的概念,目前各大电信运营商已在进行下一代通 信网络的实验【l l 。软交换技术是下一代通信网络解决方案中的焦点之一,已成为 近年来业界讨论的热点话题【2 l 。 b s s ( 业务支撑系统,b u s i n e s ss u p p o r ts y s t e m ) 与o s s ( 运营支撑系统, o p e r a t i o ns u p p o r ts y s t e m ) 一起统称为b o s s 系统,是电信运营商从原有的以“业 务为中心 经营模式向以“客户为中心经营模式转变的重要标志f 3 1 。从全球范 围来看,在电信垄断打破之后,运营商认识到了市场竞争的焦点不在于网络基 础设施和资源,而在于电信业务的运营和运行,具体说就是不断推出新业务满 足客户需求、保持客户群的忠诚度,保证经营利润【3 l 。 1 1 2 本课题研究的技术背景 随着网络和w e b 技术的发展和普及,基于b s 模式来开发企业级应用己成 为主流。b s s 的开发目前可供选择的技术平台主要有m i c r o s o i t 公司的n e t 平台 和s u n 公司的j 2 e e 平台,n e t 的优势很明显,相对j 2 e e ,它是一个相当高产 的开发平台,它能为开发者完成很普通而又烦恼的重复工作,这是其它开发平 台所不具备的。j 2 e e 则凝聚了众多软件巨头的支持,是一个真正开放、可扩展 的标准框架,开发人员可以用它完成工作,并能开发出自己的框架结构和标签。 j 2 e e 一个显著的特点就是平台无关性,可以开发出能运行在任何平台上的企业 应用。就企业而言,内部众多系统的整合、系统的延展性、安全性是更需要注 意的议题,而这些都是j 2 e e 的优势,也是n e t 的不足处。 j 2 e e 本身也提供了一些框架。比如e n t e r p r i s ej a v a b e a n s ( e j b ) c o n t a i n e r 武汉理工大学硕士学位论文 或者s e r v l e te n g i n e 。但是,j 2 e e 缺乏对编程的支持,j 2 e e 这个平台没有能够提 供一个令人满意的应用程序编程模型。 很多大型的j 2 e e 项目都用自己的内部框架来隐藏平台的复杂性,直到人们 逐渐发现一些在很多项目中都存在的共有的难题,这些难题都可以由一个较为 统一的解决方案来解决。而有的框架正好可以充当这些问题的解决方案。与从 前的内部框架相比,一些优秀的开源框架可供使用,它们提供了极为丰富的技 术文档,在它们背后还有一个专业的团队做支持,并且一切都是免费的,这些 框架将成为这些难题的更加“标准化的解决方案,在当今很多j 2 e e 项目中扮 演着重要角色。 1 1 3 本课题研究的意义 b s s 被认为是直接面向市场、面向客户、面向业务经营、面向业务管理等 的信息支撑平台。电信业务支撑系统作为快速开通业务、及时保障业务、优化 管理网络资源的重要手段,已经成为电信运营商获得持续性竞争优势的战略资 源,是电信运营商核心竞争力的关键影响因素之一p 】。 软件系统发展到今天已经非常复杂,特别是服务器端软件,涉及到的内容 太多,对软件的安全性、响应速度、移植性、界面美观、浏览器兼容等都提出 了很高的要求,同时要求缩短软件的开发周期,提高软件产品的竞争力。 j a v a 开源框架经过多年的发展到今天已经能很好的服务于软件开发,可以 满足b s s 对安全性、移植性、跨平台等方面的要求。选择它来开发业务支撑系 统,能达到快速开发的目的,从而提高软交换平台产品的市场竞争力【4 】。 1 2 目前国内外研究现状 开放源代码( 简称开源) ,作为一种新的软件开发和传播发行模式,对于软 件技术的研究和交流具有独特的优势,引起了业界的高度重视。从低层的操作 系统软件到高层的应用软件,开源的范围正在不断扩大。开源框架是其中的一 个亮点,它把技术思路、实现方案、程序文档和软件源代码全部共享,让所有 使用者去仔细审视,以发现其中的瑕疵,与非开源的商业框架相比具有免费、 安全、可靠和高性能等优点p l 。 然而,目前流行的开源框架并不完善。它们对j 2 e e 应用的四层结构的支持 2 武汉理工大学硕士学位论文 各有所长,i b a t i s 、s t r u t s 、v e l o c i t y 等框架对表示层( p r e s e m a t i o n ) 的支持较 全面,s p r i n g 、p i c o c o n t a i n e r 等框架对业务层( b u s i n e s s ) 的支持较强,h i b e r n a t e 、 c a s t o r 、t o r q u e 等框架则长于持久层( p e r s i s t e n c e ) ,而域模型层( d o m a i nm o d e l ) 因为与实际应用有关,不能为特定框架所直接支持【6 l 。 近年来,国内外软件领域开始以高内聚、低耦合的原则【7 l ,整合现有开源框 架,提出高质量j 2 e e 应用架构( s t r u t s + s p r i n 妒h i b e r n a t e ) ,现在这种架构己成 国内外众多知名软件企业最主流的应用技术,也是j 2 e e 未来发展的趋势。 1 3 本文研究的主要内容和组织结构 1 3 1 本文研究的主要内容 j 2 e e 标准的内容,j 2 e e 平台的优缺点。 m v c 模式,j s pm o d e l l 与j s pm o d e l 2 。 j a v a 开源框架的发展史,s t r u t s 、s p r i n g 、h i b e r n a t e 和i j a x 的技术特点 及组成。 实现结合s t r u t s 、s p r i n g 和h i b e r n a t e 的j 2 e e 应用架构。 下一代网络和软交换的概念,b s s 在企业级软交换平台的地位和作用。 b s s 的业务逻辑功能。 用s t r u t s + s p r i n g + h i b e r n a t e 架构实现b s s 。 1 3 2 论文的组织结构 本文共分8 章,每章的内容如下: 第1 章引言。主要分析了课题的研究背景,意义及国内外研究的现状,并 提出问题解决的基本思路,最后介绍论文的组织结构。 第2 章j 2 e e 相关技术简介。主要分析了j 2 e e 的概念,比较了j 2 e e 与n e t 两大技术平台。 第3 章开源框架技术。主要研究了框架技术、j 2 e e 开源框架的出现及发展。 第4 章m v c 体系结构。主要分析了经典的m v c 体系结构以及s u n 公司先 后制定的两种规范j s pm o d e l l 与j s pm o d e l 2 。 第5 章本课题所涉及的开源框架简介。主要介绍s t r u t s 、s p r i n g 、h i b e r n a t e 3 武汉理工大学硕士学位论文 和a j a x 的概念、组成和工作方式。 第6 章b s s 完整应用框架方案。主要研究并整合了s t r u t s 、s p r i n g 和h i b e r n a t e 三种开源框架,提出了b s s 完整应用框架方案。 第7 章基于开源框架的b s s 实现。主要分析了下一代网络和软交换的关系, 企业级软交换平台和b s s 的关系。分析了b s s 在企业级软交换平台的作用和地 位,b s s 的业务功能划分,并展示了b s s 的运行界面。 第8 章结论。总结本课题研究所做工作,目前的技术水平,不足之处和对 技术前沿的展望。 4 武汉理工大学硕士学位论文 第2 章j 2 e e 相关技术简介 2 1j 2 e e 概述 j 2 e e j a v a 2 平台企业版( j a v a2p l a t f o 咖,e m e r p f i s ee d i t i o n ) 。j 2 e e 核 心是一组技术规范与指南1 8 】,其中所包含的各类组件、服务架构及技术层次,均 有共通的标准及规格,让各种依循j 2 e e 架构的不同平台之间,存在良好的兼容 性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外 部难以互通的窘境。 j 2 e e 是主要由s u n 与m m 等厂商协同业界共同拟定而成的技术规范,以 企业与企业之间的运行为导向的j a v a 开发环境【9 1 。j 2 e e 架构定义各类不同组件, 如w e bc o m p o n e n t 、e j bc o m p o n e n t 等,而各类组件可以再用,让己开发完成的 组件,或者是经由市面采购而得的组件,均能迸一步组装成不同的系统。 对于开发人员而言,只需要专注于各种应用系统的商业逻辑与架构设计, 至于底层繁琐的程序撰写工作,可搭配不同的开发平台,以让应用系统的开发 与部署效率大幅提升【1 0 1 。 j a v a2 平台依照应用领域的不同,共分为三大版本,分别是j 2 e e 、标准版 本j 2 s e ( j a v a2p l a t f o r i l l ,s t a n d a r de d i t i o n ) 、微型版本j 2 m e ( j a v a2p l a t f o 衄, m i c r oe d i t i o n ) ,以及j a v ac a r d 等。 从整体上讲,j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标 准( s u n 公司出于其自身利益的考虑,至今没有将j a v a 及其相关技术纳入标准 化组织的体系) ,它是j a v a 技术不断适应和促进企业级应用过程中的产物1 1 1 】。s u n 推出j 2 e e 的目的是为了克服传统c l i e n t s e r v e r 模式的弊病,迎合b r o w s e r s e r v e r 架构的潮流,为应用j a v a 技术开发服务器端应用提供一个平台独立的、可移植 的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、 管理和部署。j 2 e e 是一个标准,而不是一个现成的产品。各个平台开发商按照 j 2 e e 规范分别开发了不同的j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级 应用的部署平台。由于它们都遵循了j 2 e e 规范,因此,使用j 2 e e 技术开发的 企业级应用可以部署在各种j 2 e e 应用服务器上。 武汉理工大学硕士学位论文 j 2 e e 的核心规范是e n t e r p r i s ej a v ab e a n s ( e r a ) 。e j b 依照特性的不同,目 前共分为三种,分别是s e s s i o nb e a n 、e n t i t yb e a n ,以及m e s s a g ed r i v e nb e a n 。 其中s e s s i o nb e a n 与e n t i t yb e a n 算是e j b 的始祖,这两种e j b 规格在e y b l x 版 本推出时就已经存在,而m e s s a g e d r i v e nb e a n 则是出现在e j b 2 0 的规格之中。 2 1 1j 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 容器包括: 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 的核心之一,主要用于服务器端的商业逻辑的实现。e j b 规范定义了一 个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易 地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。 a p p l e t 容器( 客户端容器) ,包含的组件为a p p l e t 。a p p l e t 是嵌在浏览器中 的一种轻量级客户端,一般而言,仅当使用w e b 页面无法充分地表现数据或应 用界面的时候,才使用它。a p p l e t 是一种替代w 曲页面的手段,我们仅能够使 用j 2 s e 开发a p p l e t ,a p p l e t 无法使用j 2 髓的各种s e r v i c e 和a p i ,这是为了安 全性的考虑。 a p p l i c a t i o nc l i e n t 容器( 客户端容器) ,包含的组件为a p p l i c a t i o nc l i e n t 。 a p p l i c a t i o nc l i e n t 相对a p p i e r 而言是一种较重量级的客户端,它能够使用j 2 e e 的大多数s e r v i c e 和a p i 。 通过这四个容器,j 2 e e 能够灵活地实现前面描述的企业级应用的架构。 2 1 2j 2 e e 组件 在视图部分,j 2 e e 提供了三种手段:w e b 容器中的j s p ( 或s e r v l e t ) 、a p p l e t 和a p p l i c a t i o nc l i e n t ,分别能够实现面向浏览器的数据表现和面向桌面应用的数 据表现。w e b 容器中的s e r v l e t 是实现c o n t r o l l e r 部分业务流程控制的主要手段, 6 武汉理工大学硕士学位论文 而e j b 则主要针对m o d e l 部分的业务逻辑实现,至于与各种企业资源和企业级 应用相连接,则是依靠j 2 e e 的各种服务和a p i 。 在j 2 e e 的各种服务和a p i 中,m b c 和j c a 用于企业资源( 各种企业信息 系统和数据库等) 的连接,j 搽i 心c 、j a x r 和s a a j 则是实现w e bs e r v i c e s 和 w e bs e r v i c e s 连接的基本支持。 以下简要介绍几种常用的j 2 e e 组件: 1 ) s e r v l e t s e r v l e t 是j a v a 平台上的c g i 技术。s e r v l e t 在服务器端运行,动态地生成 w e b 页面。与传统的c g i 和许多其它类似c g i 的技术相比,j a v as e r v l e t 具有更 高的效率并更容易使用。对于s e r v l e t ,重复的请求不会导致同一程序的多次转 载,它是依靠线程的方式来支持并发访问的。 2 ) j s p j s p ( j a v as e r v e rp a g e ) 是一种实现普通静态h t m l 和动态页面输出混合编 码的技术。从这一点来看,非常类似m i c r o s o t ta s p 、p i - i p 等技术。借助形式上 的内容和外观表现的分离,w e b 页面制作的任务可以比较方便地划分给页面设 计人员和程序员,并方便地通过j s p 来合成。在运行时态,j s p 将会被首先转换 成s e r v l e t ,并以s e r v l e t 的形态编译运行,因此它的效率和功能与s e r v l e t 相比没 有差别,一样具有很高的效率。 3 ) e j b e j b 定义了一组可重用的组件:e m e r p r i s eb e a n s 。开发人员可以利用这些组 件,像搭积木一样建立分布式应用。在装配组件时,所有的e n t e r p r i s eb e a n s 都 需要配置到e j b 服务器( 一般的w e b l o g i c 、w e b s p h e r e 等j 2 e e 应用服务器都是 e j b 服务器) 中。e j b 服务器作为容器和低层平台的桥梁管理着e j b 容器,并 向该容器提供访问系统服务的能力。所有的e j b 实例都运行在e j b 容器中。e j b 容器提供了系统级的服务,控制了e j b 的生命周期。e j b 容器为它的开发人员 代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了 商业逻辑的开发。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 。 4 ) j i ) b c 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 a v a 数据库连接) a p i 是一个标准s q l ( s t r u c t u r e dq u e r yl a n g u a g e ,结构化查询语言) 数据库访问接口,它使数据库 7 武汉理工大学硕士学位论文 开发人员能够用标准j a v aa p i 编写数据库应用程序。j d b ca p i 主要用来连接数 据库和直接调用s q l 命令执行各种s q l 语句。利用j d b ca p i 可以执行一般的 s q l 语句、动态s q l 语句及带烈和o u t 参数的存储过程。j a v a 中的d b c 相 当与m i c r o s o r 平台中的o d b c ( o p e n d a t a b a s ec o n n e c t i v i t y ) 。 2 2j 2 e e 与n e t 平台的比较 目前可供选择的技术平台主要有m i c r o s o f t 公司的n e t 平台和s u n 公司的 j 2 e e 平台。 在表现形式上,j 2 e e 是一组规范,而n e t 更象是一组产品。但它们的目的 都是为了企业应用提供分布式的,高可靠性的解决方案。它们在架构上有着很 多的相似之处。 n e t 是一个不断完善的框架,作为一个开发者,可以迅速的上手并进行开 发,开发操作很容易,但是使用它是要付费的。 n e t 相对j 2 e e 是一个相当高产的开发平台,它能为开发者完成很普通而 又烦恼的重复工作,这是其它开发平台所不具备的。 n e t 集成了一些常见的企业任务,随着未来版本的不断改进,这些功能将 会不断增强。不过n e t 还存在一个重要的问题,就是其跨平台的能力。 n e t 与开源有关的是m o n o 计划。m o n o 计划主要是l i n u x 阵营中的精英发 起的开源版的n e t 项目,旨在使开发者能够编写同时在w i n d o w s 和l i n u x 上运 行的n e t 程序。但是从商业战略的角度看,微软对n e t 的跨平台能力并不十分 在意,“m o n o 整体规划不是微软现在支持的项目纡。 j 2 e e 凝聚了众多如s u n 、b e a 、m m 、o r a c l e 等软件巨头支持,这些豪门的 工程师们把这些资源进行了整合改进,创新出了功能更加强大的a p i ,诸如e j b 、 j c a 、m s 等。 j 2 e e 是一个真正开放、可扩展的标准框架,开发人员可以用它完成工作, 并能开发出自己的框架结构和标签,例如s p r i n g ,中国的j d o n 等都是在j 2 e e 的 基础上建立起来的。 另外,j 2 e e 一个显著的特点就是平台无关性,可以开发出能运行在任何平 台上的企业应用。就企业而言,内部众多系统的整合、系统的延展性、安全性 是更需要注意的议题,而这些都是j 2 e e 的优势,也是微软的不足处。在效率方 8 武汉理工大学硕士学位论文 面,j 2 e e 阵营主张通过硬件的效能增加来弥补软件的不足。 然而,过度的创新也造成了今天j 2 e e 的繁重不堪,但是j 2 e e 的繁重并没 有停止人们前进的脚步,开放标准,功能强大,易于移植都是j 2 e e 较n e t 更 有优势的地方。今天,j 2 e e 需要根据竞争形式,及时调整战略,简化自己。 9 武汉理工大学硕士学位论文 31 框架 第3 章开源框架技术 框架是由一些类组成,这些类为应用程序提供了一个可重用的设计一一或 者我们经常提到的应用程序中的一层。应用程序代码访问类库从而执行任 务,而框架是调用应用程序代码,从而管理程序的流程。这就是经常说到的好 莱坞原则:“不要试图联系我们,我们到时候自会通知你。一开发者写的程序在 运行时由框架调用1 1 2 1 。 设计一个在各种未知背景下都可以使用的框架是很有挑战性的。框架很适 合在复杂的j 2 e e 开发中使用,它可以为开发者提供一个简单易用的模型f l 们。采 用一个经过良好设计的开源框架有很多好处: 1 ) 在好的框架下,开发者只需要写一些必须的代码,他们不需要直接接触 底层的a p i 。 2 ) 经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚 性。清晰的结构使得其他人可以更容易加入项目。 3 ) 一个容易使用的框架可以通过一些例子和文档为用户提供最佳实践。 4 ) 采用成功的框架的代码比自己的代码容易测试。 框架只有提供了一些值得使用的功能才会变得流行。j 2 e e 工程只有真正需 要框架的时候才会用它,而自己的框架并不是这样,后者是处于统治地位的【1 3 1 。 j 2 e e 本身也提供了一些框架。比如,e n t e r p r i s ej a v a - b e a n s ( e j b ) c o n t a i n e r 或者s e r v l e te n g i n e ,二者都采用了好莱坞原则【1 4 1 ,并采用运行时调用来管理对 象。像s t r u t s 这些开源w e b 应用框架正式建立在这两个框架的基础上的。 3 2j 2 e e 开源框架的发展 j 2 e e 企业版为中间件领域思想的统一上发挥了很大的作用。比如,j 2 e e 为 分布式事务管理、目录服务和消息服务提供了一套标准的编程接e l 。j 2 e e 的基 础j 2 s e ,成功地为j a v a 提供了一套访问关系数据库的标准i ”】。 1 0 武汉理工大学硕士学位论文 但是,j 2 e e 这个平台没有能够提供一个令人满意的应用程序编程模型【1 6 1 。 s u n 公司和一些大的应用服务器供应商都想用开发工具来降低j 2 e e 开发的复杂 性,但是这些工具没有其他的j a v a 开发工具优秀,后者有先进的重构工具, 和n e t 平台相比,j 2 e e 的工具支持显得很逊色。很多j 2 e e 开发工具自动产生 的代码像这些工具本身同样复杂。 与此同时,很多大型的j 2 e e 项目都用自己的内部框架来隐藏平台的复杂性, 直到人们逐渐发现一些在很多项目中都存在的共有的难题,这些难题都可以由 一个较为统一的解决方案来解决【1 7 1 。而有的框架正好可以充当这些问题的解决 方案【嘲。与从前的内部框架相比,这些框架将成为这些难题的更加“标准化 的解决方案。 j 2 e e 平台的日益成熟是这些框架流行的一个原因【1 9 】。开发者知道有些地方 是j 2 e e 的标准a p i 无能为力的,以他们的经验来看,要弥补这个缺陷是很困难 的。于此同时,一些优秀的开源框架可供使用,它们提供了极为丰富的技术文 档,在它们背后还有一个专业的团队做支持,并且一切都是免费的。现在,越 来越多的开发者选择使用一些可以降低j 2 e e 开发难度的开源框架,较为流行的 比如:s t r u t s ,h i b e r n a t e 和s p r i n gf r a m e w o r k ,它们在当今很多j 2 e e 项目种扮演 着重要角色【鄹。 以下介绍一下他们的发展史及特点: 1 ) s t r u t s s t r u t s 是在w e b 应用程序产生时就有的开源框架。在1 9 9 9 2 0 0 0 年,开发者 们意识到j s p “m o d e l l 一的缺陷,j s p 中充斥着请求处理代码和静态数据模板, 这意味着不得不把业务逻辑和复杂的h t m l 以及其他的标签混到一起。那个时 候还没有标准的框架和j 2 e e 的标准支持,要解决这个问题开发者就得自己实现 前端控制器,这样可以把业务逻辑分离到j a v a 类中,从而可以减轻对j s p 的维 护难度1 2 。 最初的前端控制器实现质量参差不齐【2 1 1 。2 0 0 1 2 0 0 2 年间,a p a c h e 开源组 织发布的s t r u t s 改变了这个状况,虽然它并非一个完美的框架,但已经足够使其 成为该领域事实上的标准。 s t r u t s 向人们展示了开源框架的一些优点,比如,结构清晰,新手可以很容 易地熟悉它的结构。 s t r u t s 成为j 2 e e 架构的一个重要组成部分。甚至很多保守的组织也将其作 武汉理工大学硕士学位论文 为软件底层的一部分,并同意接受a p a c h e 的开源协议条款。 2 ) h i b e r n a t e j 2 e e 提供了两个持久化的手段:j d b c ,它是j 2 s e 中访问关系数据库系统 的标准a p i ;另一个是实体b e a n s ,它是e j b 中专门模型化持久化实体的组件。 持久化问题的解决方案是由关系对象映射( o r m ) 来解决的,它可以透明 地持久化普通j a v a 对象( p o j o ) f 2 2 1 。虽然这种方案并不是专属于j a v a 的。但 相对与其他的社区而言比如n e t ,o r m 在j a v a 社区更加流行。 早在1 9 9 0 年,一些商业的o r m 工具就出现了,比如t o p l i n k 。这些工具与 j d b c 和实体b e a n 相比确实有了很大的进步。 h i b e r n a t e 出现,o r m 领域在2 0 0 2 年发生了大变化。h i b e r n a t e 是第一个功 能健全的解决关系对象影射解决方案f 2 3 】。虽然在功能上,它没有t o p l i n k 多样。 但在那些最常用的功能上,h i b e r n a t e 实现的更加健壮,并且有一个非常专业的 团队提供全职的开发。h i b e r n a t e 并不是全新的,它的o r m 思想在这个领域很普 遍,但它提供的编程模型比其他任何竞争者都容易使用、都来的直接,它为o r m 的使用提供了更加易用、廉价的途径。 3 ) s p r i n g j 2 e e 某些部分其自身也可以被称为框架。其中,e j b 就相当于一个框架, 因为它给应用程序代码提供了一个结构,而且定义了一致的方式用以访阅应用 程序服务器上的服务【2 4 1 。e y b 作为传统的重量级框架,提供了一系列重量级的 企业服务,可以使开发的组件很好的集成它所提供的这些服务。虽然看起来已 经解决了企业开发的需要,但在实际应用过程中仍然存在许多的问题,如开发 过程较复杂导致开发人员的学习周期较长,整个项目开发周期也较长,许多大 型的项目的失败正是这个原因造成的。另外在的部署较复杂,不利于后期的维 护升级,此外还有运行速度慢,开发效率低等问题。 s p r i n g 是目前比较流行的一种轻量级框架。轻量级框架是相对于传统的重量 级框架的概念而言的【2 5 1 。它的出现就是致力于解决传统的重量级框架产生的问 题,通过融入新的模式,提供更加灵活的服务。相对而言轻量级框架摒弃了传 统容器强迫指定编程模型的特点,在轻量级容器中使用纯对象,构建服务。 本质上讲,s p r i n g 是i o c ( i n v e r s i o no f c o n t r 0 1 ) 和面向切面编程( a o p ) 的 组合体。它是一个非侵入式的框架,增强了p o j o 的功能。从服务上讲,它将程 序代码从j 2 e e 环境解耦到普通的j a v a 对象( 自然,这些代码可以脱离j 2 e e 而 1 2 武汉理工大学硕士学位论文 在多种环境中运行) 。它还在很多功能上提供了除e j b 之外的选择一一比如为所 有的p o j o 提供声明式事务。s p r i n g 被广泛运用到很多项目中,从小的w e b 程序 到大的企业应用程序。 在这个领域还有其他的产品,比如

温馨提示

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

最新文档

评论

0/150

提交评论