




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)基于j2ee与xml技术的web应用框架的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于j 2 e e 与x m l 技术的w e b 应用框架的研究与应用 摘要 随着网络的发展,w e b 应用需求同益增多。涉及的领域越来越广,w e b 应用 系统的规模和复杂性也变得越来越高,这就要求w e b 应用系统的开发通常要有 一个良好的软件体系结构、更多的技术和经验的积累、更强的项目管理。随着软 件复用技术以及软件框架技术的出现,在系统丌发中可以引入已成熟的框架,而 这些框架通常具有良好的体系结构,易于复用和扩展,能够很好的满足w e b 应 用系统的需求。 本文所研究的w e b 应用框架技术就是利用面向对象的软件复用技术解决 w e b 应用领域的相关问题的一种框架技术。论文首先介绍了当前w e b 应用系统 开发过程中所面临的种种问题,并提出了利用软件复用技术以及软件框架技术来 简化系统的开发,避免一切“从零开始”的开发模式。进而,本文引入了w e b 应用框架技术,并着重讨论了用j 2 e e 技术与x m l 技术构建w e b 应用框架的优 势。 本文针对w e b 应用框架的体系结构、涉及到的相关技术以及框架结构特点 进行分析,并在此框架的基础上为某大型外资企业开发了一套客户关系管理系 统。论文介绍了系统的业务逻辑、功能设计以及系统的框架结构,着重的分析了 系统的表示层、业务逻辑层以及数据持久层的设计与实现。在设计中采用了很多 新的思想和设计方案,在表示层的设计中,采用了v i e w - c o n t r o l l e r 设计模式,并 引入基于x m l 技术的页面描述语言( u is c r i p tl a n g u a g e ) ,使得w e b 页面的设 计可以和非w e b 方式一样使用控件来进行页面组装;业务逻辑层的设计中提出 了服务的概念,服务被定义成一些相对独立的逻辑处理单元,具有业务逻辑处理 的原子性,便于对业务逻辑进行组织和分析;在数据持久层的设计中引入了实体 引擎技术,采用了数据访问对象( d a o ) 以及值对象( v a l u eo b j e c t ) 等设计模 式,提高了软件可靠性、灵活性、可扩展性,简化了对数据库的操作。 关键字:w e b 应用框架;j 2 e e ;x m l ;软件复用;设计模式; r e s e a r c ha n da p p ii c a t i o no fw e ba p p li c a t i o nf r a m e w o r k b a s e do nj 2 e ea n dx m l a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r k ,a n dt h ei n c r e a s i n gr e q u i r e m e n ta n de x t e n d i n g f i e l do fw e ba p p l i c a t i o n ,w e ba p p l i c a t i o ns y s t e mb c c o m em o r ea n dm o r e c o m p l e x i t y , s oi tr e q u i r e sa ne x c e l l e n ts o f t w a r ea r c h i t e c t u r e 、m o r et e c h n o l o g ya n d e x p e r i e n c e ,a n d s t r o n gp r o j e c tm a n a g e m e n t w i t ht h ea p p e a r a n c eo fs o f t w a r er e u s ea n ds o f t w a r e f r a m e w o r k , w ec a ns a t i s f yt h er e q u i r e m e mo fw e ba p p l i c a t i o ns y s t e mt h r o u g h i m p o r t i n gt h ew e l l w o r k e df r a m e w o r kw h i c hh a v ee x c e l l e n ts o f t w a r ea r c h i t e c t u r ea n d e a s yt or e l i ca n de x t e n d i nt h i sp a p e r , t h ew e ba p p l i c a t i o nf r a m e w o r kt e c h n o l o g yi saf r a m e w o r k t e c h n o l o g yt h a tm a k e su s eo ft h et e h c h n o l o g yo fo b j e c t - o r i e n t e ds o f t w a r ef u s e r e s o l v et h ep r o b l e mo fw e b a p p l i c a t i o nf i e l d f i r s t ,t h i sp a p e ri n t r o d u c et h ep r o b l e m s t h a tc u r r e n tw e ba p p l i c a t i o ns y s t e mf a c ei nt h e i rd e v e l o p m e n tp r o c e s s ,a n d p u t f o r w a r dam e t h o dt h a ti st h eu s eo fs o r w a r er e u s et e c h n o l o g ya n ds o f t w a r e f r a m e w o r kt e c h n o l o g y , t os i m p l i f yt h e d e v e l o p m e n to fs y s t e ma n da v o i dt h e d e v e l o p m e n tp a t t e r no fa n “f r o mz e r o ”t h e n t h i sp a p e ri n t r o d u c e st h et e c h n o l o g yo f w e ba p p l i c a t i o nf r a m e w o r k ,a n df o c u so nt h ea d v a n t a g eo fb u i l d i n gw e b a p p l i c a t i o n f r a m e w o r kb yt h et e c h n o l o g yo fj 2 e ea n dx m l t h i sp a p e r a n a l y z e w e b a p p l i c a t i o n f r a m e w o r k s a r c h i t e c t u r e ,r e l a t e d t e c h n o l o g i e sa n dt h ea r c h i t e c t u r a lf e a t u r e s ,t h e n ,d e v e l o p eac u s t o m e rr e l a t i o n s h i p m a n a g e m e n t ( c r m ) s y s t e mf o rab i gj o i n t v e n t u r eu s i n gt h i sf r a m e w o r k t h i sp a p e r i n t r o d u c et h ec r m s y s t e m sb u s i n e s sl o g i c ,f u n c t i o n a ld e s i g na n ds y m e ma r c h i t e c t u r e , a n df o c u so nt h ed e s i g na n dr e a l i z a t i o no f p r e s e n t a t i o nl a y e r , l o g i cl a y e ra n dd a t a b a s e p e r s i s t e n c el a y e r t h ed e s i g na d o p tm a n yn e wi d e a sa n dm e t h o d s i np r e s e n t a t i o nl a y e r , t h ev i e w - c o n t r o l l e rp a t t e r ni sa d o p t e d ,a n das p e c i a l l yd e s i g nl a n g u a g e ,n a m e du i s c r i p tl a n g u a g e ,i si n c l u d e dt os i m p l i f yt h ec o m p o s eo fw e bp a g e sa n dm a k et h i s p r o c e s sa ss i m p l ea st h ed e s i g no ft r a d i t i o n a lg u lw i n d o w sb yu s i n gp r e d e f i n e d c o n t r o l s t h ec o n c e p t i o no fs e r v i c ei su s e di nb u s i n e s sl o g i cl a y e r s e r v i c e sa r e 1 1 d e f i n e da si n d e p e n d e n tp i e c e so fl o g i c ,a n dm a k et h eo r g a n i z a t i o na n dd e s i g no ft h e b u s i n e s sl o g i cb e c o m ee a s y i nd a t a b a s ep e r s i s t e n c el a y e r , t h et e c h n o l o g yo fe n t i t y e n g i n e 、d a o ( d a t aa c c e s so b j e c t ) p a t t e r na n dv a l u eo b j e c tp a t t e mi sa d o p t e dt o i m p r o v et h er e l i a b i l i t y , a g i l i t ya n de x p a n s i b i l i t yo fs o f t w a r e ,a n dt os i m p l i f yt h e o p e r a t o ro f d a t a b a s e k e y w o r d :w e ba p pi io a tio nf r a m e w o r k :j 2 e e :x m l :s o f t w a r er e u s e : d e s j g np a t t e r n : i i l 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得 i 洼;垫退虿基丝蠡要挂型童塑鳆:奎拦互窒2 或其他教育机构的学位或证书使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位论文作者签名:玛晶签字日期:砌年r 月z r 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后 适用本授权书) 学位论文作者签名:玛 签字闩期:气t 明年j 月z f 同 导师签字:德建氐处 签字日期:砰年,月 学位论文作者毕业后去向:i 铯州牮两槲桶f 畏么司 工作单位: 电话: 通讯地址: 邮编 壮十j 2 e e 和x m i 技术的w e bj 衄用梃架的圳究j 脚用 1 绪论 1 1 研究背景 1 1 1 w e b 应用系统开发中面临的问题 在当前i n t e m e t i n t r a n e t 迅速发展的今天,传统的c s 程序已经无法满足企业 级应用的需求,基于b s 多层架构的w e b 应用开发就应运而生并迅速的发展起 来。随着网络的普及和w e b 应用技术的迅猛发展和应用,w e b 应用系统在i m e m e t 上的使用也越来越广泛,尤其是电子商务、电子政务的应用已经成为一个热门领 域。w 曲应用将逐渐成为下一代软件开发的主流。 w e b 应用不再是仅仅具有静态发布信息的简单功能,而且被要求具有实时动 态处理交互信息的能力,此要求还在不断的变化和提高。j 下因为如此,如何才能 方便、快捷的开发出具有高效性、灵活性和易扩展性的w e b 应用系统也越来越 成为一个倍受人们关注的课题【1 1 。 面对w e b 应用的需求只益增多,涉及的领域越来越广,w e b 应用系统的复 杂性也变得越来越高,随之而来。在w e b 应用系统的丌发过程中面临如下急需 问题【2 j : 程序可重用程度很低。多个项目常常有功能类似的部分,但由于设计之 初没有考虑到或不能深入考虑,导致程序虽然类似却不能重用,只能重写的局面。 完成一个项目积累下来的只有经验而没有代码,造成工作量的浪费。 维护工作烦琐困难。即使不考虑由于需求模糊造成的追加,项目后期维 护仍然烦琐。用户的几乎任何一点修改都需要程序员参与才能够完成,而这类 维护中有近一半以上的修改。 程序应变能力较弱。由于当前应用软件的业务和用户均不够成熟, 需 求的变化就是一个客观存在的必然事实,而目前应用软件的应变能力无论从技 术体系还是程序编码都不够成熟。 开发效率低、开发的产品成熟度低。w e b 应用的展示界面和应用逻辑很 难分离的比较彻底;w e b 应用丌发中人员素质是有差别的,在不用w e b 框架进 臻十j 2 e e 年x m l 技术的w e bj , v l i j 框架的埘究,心用 行丌发时,很难比较规范的区分丌发者角色。 这些都会造成效率低卜、产晶成 熟度低。 1 1 2 软件复用技术及w e b 应用框架技术 软件复用是在软件开发中避免重复劳动的解决方案,被视为解决软件危机, 提高软件生产效率和质量的现实可行的途径。1 。软件复用强调的是复用的目的, 它是一种系统化的方法,为了复用而进行设计,为了复用而开发,并且要有效地 组织和管理这些复用产品,方便人们查找和使用。软件复用不仅提高软件生产率、 减少开发维护代价,而且能够很好的保证软件系统的质量。 软件框架是一种基于体系结构的软件复用技术,它定义了应用程序的骨架, 并提供了用于实现的标准用户界面。软件框架是整个或部分软件系统的可重用设 计它是多个可复用的设计构件的集合体,规定了应用的体系结构,阐明了整个 设计、协作构件之间的依赖关系,为构件复用提供了上下文( c o n t e x t ) “。框 架强调的是软件的设计复用性和系统的可扩充性,将框架技术应用到系统开发 中,可摆脱“每次都从头开发”的形式。 w e b 应用框架技术就是利用面向对象的软件复用技术解决w e b 应用领域的相 关问题的一种软件框架技术附。由于w e b 应用框架是框架的一个具体实例,所以 它具有框架的所有特点,即模块化、可复用性、可扩展性的特点等。w e b 应用框 架技术能够为大型企业级w e b 应用系统的开发提供有效的解决方案: 1 ) w e b 应用框架的设计和实现一般建立在对大量w e b 应用系统的共同行 为的分析之上,为w e b 应用系统的开发提供了可复用的基础服务集合。 2 ) w e b 应用框架一般采用模块化、层次化设计,并为各模块、各层的交互 提供了统一的接口,易于维护,为w e b 应用系统的开发提供了更强的项目管理。 3 ) w e b 应用框架一般采用w e b 应用领域己被实践检验、经过多数该领域 专家认同的软件体系结构进行设计、实现,提高了系统的应变能力,为w e b 应 用系统提供了优良的软件体系结构。 4 ) w e b 应用框架的丌发考虑到了多数具有通用性的问题,并给出解决方 案,由具有丰富经验的丌发者完成设计与实现,为w e b 应用系统的丌发提供了 技术和经验的积累。 2 婊- t 二j 2 e e 和x m i , 土术的w e bf 啦用框架的研究ij 越用 1 1 3 d 2 e e 技术与x m l 技术 j 2 e e l 7 1 是s u n 公司推出的一套面向企业级应用的分布式体系,与传统的应 用程序编程模型有了很大的差别,它提供了一个基于组件的思想来设计、丌发、 装配及部署企业级应用。j 2 e e 降低了丌发多层应用的费用和复杂性,同时提供 集成现有应用程序的能力,为企业应用系统提供了良好的可靠性、易扩展性和安 全性【引。j 2 e e 为w e b 应用系统的丌发提供了良好的体系结构和技术路线。使得 快速设计和开发w e b 应用框架成为可能。 x m l i g l l l o l 是标准通用标记语言( s t a l l d a r d g e n e r a l i z e d m a r k u p l 锄g u a g e ,s g m l ) 的个直接子集,继承了s g m l l ”1 的规范,而s g m l 被国际标准化组织接受为 国际性的数据存储和交换标准。x m l 的基本思想是数据的语义通过数据元素的 标记来表达,数据元素之间关系通过简单的嵌套和引用来表示【1 2 i 。x m l 本身不 是一种单一的标识语言,它是一种元语言,可以用来定义任何一种新的标识语 言。如果所有w e b 服务器和应用程序将它们的数据以x m l 格式编码并发布到 i n t e r a c t 上,那么信息就可以很快地以一种简单的、可用的格式而获得,从而这 些信息提供者之间就易于互操作。x m l 是一种格式独立、与平台和应用程序无 关的数据描述语言,它给w e b 数据带来了结构化、智能化和互操作性,它的出 现为人们带来了一个全新的电子商务视野。 因此,根据以上所述,在j 2 e e 架构中动态访问或集成x m l 的解决方案能 让开发和部署多层体系结构的w e b 应用框架具有更强的适应能力。通过j 2 e e 体 系结构与动态x m l 技术组合,w e b 应用框架的丌发具有很多优点; 由于x m l 技术具有平台无关性,使得基于j 2 e e 标准开发的应用可以跨 平台地移植,从而简化了应用开发和移植过程。 j 2 e e 可以利用x m l 技术在企业信息系统层之上提供一种通用的代码结 构,来简化对实体数据的大量操作,实现实体数据的持久化,并为多种数据源建 立视图,实现多数据源的集成。 由于e j bs e r v e r 与x m l 技术的结合支持多种组件事务服务,使系统更 能够应付大量的并发用户、有效地管理复杂的事务逻辑,并且简化了组件的部署 和客户端应用的维护,实现组件位置透明化。 j a v as e r v l e t 和j s p 中可以动念的使用x m l 进行编程,而x m l 本身是一 璀十j 2 e e 和x m l 拙术的w e bj 血朋梃架的研究j h 用 种元语言,可以定义新的页面标识语言,实现多样化的显示逻辑。 1 2 研究内容及意义 1 2 1 研究内容 为了提高企业信息系统的丌发效率,本文通过对多层b s 体系结构和多种 j 2 e e 相关技术的深入研究结合已有系统架构和设计模式,归纳提炼出一种可 用于w e b 系统丌发的数据通用操作框架,解决利用此框架进行软件项目丌发时 需要掌握的关键技术以及与之对应的软件工程方法,从而实现在大规模软 牛工业 化生产中应用此技术。 本论文的主要研究内容包括绪论、w e b 应用框架体系结构分析、基于框架的 客户关系管理系统的设计与实现、表示层设计与实现、业务逻辑层设计与实现、 数据持久层设计与实现等几部分。 1 ) 绪论部分,主要讨论了目前w e b 应用系统的开发所面临的问题,并提出 解决办法;讨论了利用j 2 e e 技术与x m l 技术来构建框架的优势,以及w e b 应用 框架的发展现状、研究意义等内容; 2 ) w e b 应用框架的体系结构分析部分,分析了框架的结构特点、涉及到的 相关技术的介绍,以及框架的体系结构及各个层的职责、涉及到的技术等内容; 3 ) 基于框架的客户关系管理系统的设计部分,包括项目的开发背景及系统 业务逻辑的介绍,系统功能的设计,系统的框架结构; 4 ) 表示层设计与实现部分,包括v i e w c o n t r o l l e r 设计模式、页面描述脚本 语言以及表示层的实现等内容; 5 ) 业务逻辑层设计与实现,包括服务的定义,服务引擎的设计,服务脚本 语言m i n i - l a n g u a g e 的设计以及业务逻辑的实现; 6 ) 数据持久层设计与实现部分,详细讨论了实体的定义、实体引擎的配置、 实体引擎的设计以及应用到的业务代表模式、值对象模式和数据访问对象模式等 内容。 4 捧i j 二j 2 e e 矧x m i ,技术的w e bh f l 根架的州究1 ,脚用 2 2 研究意义 采用传统的开发方式己经不能满足大型w e b 应用系统的丌发需要,w e b 应 用框架技术的引用可以大大改善传统丌发方式的不足,提高w e b 应用系统玎发 的效率。使得w e b 应用系统丌发者可以集中精力丌发系统所需的商业逻辑,而 不必耗费精力在一些w e b 应用系统共同的操作上。在w e b 应用系统的丌发中引 入w e b 应用框架技术使得w e b 应用系统具有如下优点【3 】: 优良的软件架构。w e b 应用框架根据面向对象框架的软件复用理论和 w e b 应用系统共同的特征,利用一定的、经过实践检验的架构模式将w e b 应用 的体系结构进行固化,从而为w 曲应用系统提供优良的软件架构。 更大的分离显示与逻辑。框架将显示和逻辑分离为不同的模块,分别处 理应用的显示和逻辑,应用_ 丌发者只需对不同的模块进行填充即可,从而更大的 分离显示与逻辑。 良好的扩展性。w e b 应用框架具有框架的所有特点,通过框架所提供的 接口,能够很容易的对系统扩展。 方便模块测试和维护。由于框架为各模块的交互提供的接口是统一的, 降低了各模块的藕合性,从而方便系统按模块进行测试和维护,也方便系统进行 自动化测试。 w e b 应用框架技术不仅解决了企业w e b 应用系统开发过程中面临的诸多问 题,也给- 开发的项目管理工作带来了深刻的变化,主要表现在以下几个方面: 在w e b 应用开发中使用w e b 应用框架,避免了重复开发,重复投资, 缩短项目的开发周期; 由于更明晰的划分了开发团队中每个角色所承担的任务,对开发人员的 知识积累和技能方面要求减少了,降低项目丌发的人力成本; w e b 应用框架下的开发角色分工明确,提高了工作量估算的准确度,同 时也使计划实施过程中的跟踪和控制工作变得容易,降低了项目的风险。 因此,根据以上所述,利用w e b 应用框架丌发w e b 应用系统的方式必将成 为开发w e b 应用系统的一种新的可复用的丌发方式,对w e b 应用框架的研究具 有重要现实意义。 堆1 二j 2 e e 和x m l 拙术的w e bj 衄j 骨框架的研究j m 用 1 3 发展现状 髓着基于w e b 的应用程序服务器的发展及其相关的应用软件的膨胀,支持这 些技术的丌发框架也随之蓬勃发展。当前,在企业丌发领域中出现了许多特别适 合于j 2 e e 平台的w e b 应用框架,而且几乎所有现代的网络丌发框架都将商业逻 辑和具体描述分丌,由一个逻辑流控制器来协调来自客户端的请求和服务器上将 采取的行动。这条途径成为了网络丌发的事实上的标准。下面就对当今比较流行 的w e b 应用框架进行简要介绍。 s t r u t s 框架 s t r u t s 1 4 】是a p a c h e 基金会j a k a r t a t 5 1 项目组的一个o p e ns o u r c e 项目,它由一 组相互协作的类、s e r v l e t 和j s p 标记,组成一个可复用的m v c 设计,它能够很 好地帮助j a v a 开发者利用j 2 e e 开发w e b 应用。因此,越来越多的大型的w e b 应用项目的开发都纷纷采用s t r u t s 框架,或者借鉴s t r u t s 架构设计。 s t r u t s 把s e r v l e t 、j s p 、自定义标签和信息资源( m e s s a g er e s o u r c e s ) 整合到一 个统一的框架中拍1 ,开发人员利用其进行开发时不用再自己编码实现全套m v c 模式,极大的节省了时间和精力。s t r u t s 是在j s p m o d e l 2 基础上实现的一个m v c 框架,明确了角色定义以及开发人员与网页设计人员之间的分工,适用于开发大 型复杂的w e b 应用,和传统的页面设计方式相比,大大降低了藕合度,也减少 了大量的重复代码。所以说s t r u t s 是一个非常不错的应用框架。但是s t r u t s 也存 在一些不足【2 】: 1 ) 陡峭的学习曲线。t a g l i b 是s t r u t s 的标记库,如果能灵活运用,能大大提 高开发效率。但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你 网页编写的习惯; 2 ) s t r u t s 框架的配置模块设计只体现了m v c 设计模式中的v i e w 和 c o n t r o l l e r ,对m o d e l 没有充分的反映,同时不能完全满足应用按模块的划分来 配置的要求; 3 1s t r u t s 框架是个纯粹的w e b 层应用框架,其对w e b 层与e j b 层的交互没 用提供任何支持,对e j b 层的访问方式全部需要应用开发人员自己完成,因此 常常会造成应用逻辑访问方式的混乱,可维护性降低; 4 1s t r u t s 框架是个基于j s p 的应用框架,其对其他视图处理方式没有提供很 6 埔卜j 2 e e 和x m i 上术的w i bi :, d t f l e 架的州宄j 盹用 好的支持; 5 ) s t r u t s 框架没有提供多种客户终端支持。s t r u t s 虽然可以满足大多数w e b 应用的需要,但s t r u t s 在支持多种客户终端方面没有提供支持; 6 ) 对x m l 不能够提供很好的支持。j s p 不能保证生成的结果文件是1 0 0 格式良好的x m l 。 e a s y j w e b 框架 e a s y j w e b 是基于j a v a 技术,应用于w e b 应用程序快速开发的m v c 框架, 框架设计构思来源于国内众多项目实践,框架充分借签了当前主要流行的开源 w e b 框架( s t r u t s 、j s f 、t a p e s t r y 、w e b w o r k ) ,吸取了其优点及精华,利用v e l o c i t y i t 7 l 作为模板页面引擎,是一个实现了页面及代码完全分离的m v c 开发框架。是一 个能实现中小型w e b 应用系统快速开发的简易w e b 框架 通过e a s y j w e b t o o l s 提供的配套开发工具,可以实现基于e a s y j w e b 框架的 w e b 应用快速开发,包括常用应用软件的代码自生成、数据库添删改查( c r u d ) 代码生成、自动页面模版生成、配置文件管理等。框架特点 1 8 1 : 1 )零配文件置支持。以前我们每接触一个框架,开始总都要被他的配置文 件折腾一番。e a s y j w e b 实现零配置支持,可以不写一句配置文件就在框架基础 上构建你的运用。 2 )简易的模板页面设计支持。放弃使用3 s p ,使用简单v e l o c i t y 脚本语言 作为页面模板。 3 )页面程序完全分离。实现显示页面与程序逻辑的完全分离,克服了传统 j s p 页面难于维护的问题。 4 )基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设 置字段缴的事件组件。 5 )快速开发支持。通过e a s y j w e bt o o l s ,可以自动生成应用软件模板代码, 定制并管理自己的j 2 e e 代码模板,代码生成模板支持最流行的实用j a v a 开发框 架( 如h i b e r n a t e 、s p r i n g 等) 实现快速开发。 s p r i n g 框架 s p r i n g 旧1 是一个解决了许多在j 2 e e 丌发中常见的问题的强大框架。s p r i n g 是一个基于i o c ( i n v e r s i o no f c o n t m l ,反向控制,控制权由应用代码中转到了外 毕十j 2 e e 羊nx m l 。披术的w e bm 甩框架的埘究oj 心用 部容器) 和a o p 的多层w e b 应用框架,它提供了唯一的数据访问抽象,包括简 单和有效率的j d b c 框架,极大的改进了效率并且减少了可能的错误。 s p r i n g 框架的功能可以用在任何j 2 e e 服务器中,大多数功能也适用于不 受管理的环境。s p r i n g 的核心要点是:支持不绑定到特定j 2 e e 服务的可重用 业务和数据访问对象。s p r i n g 框架具有如下优点f 2 0 i : 1 ) 通过一种在不同应用程序和项目问一致的方法来处理配置文件,s p r i n g 能消除各种各样自定义格式的属性文件的需要。 2 )通过把对接口编程而不是对类编程的代价几乎减少到没有,s p r i n g 能够 促进养成好的编程习惯。 3 )s p r i n g 被设计为让使用它创建的应用尽可能少的依赖于他的a p i s 。在 s p r i n g 应用中的大多数业务对象没有依赖于s p r i n g 。 4 )s p r i n g 能使e j b 的使用成为一个实现选择,而不是应用架构的必然选择。 你能选择用p o j o s 或l o c a l e j b s 来实现业务接口,却不会影响调用代码。 5 ) s p r i n g 帮助你解决许多问题而无需使用e j b 。s p r i n g 能提供一种e j b 的 替换物,它们适用于许多w e b 应用。例如,s p r i n g 能使用a o p 提供声明性事务 管理而不通过e j b 容器,如果你仅仅需要与单个数据库打交道,甚至不需要一 个j t a 实现。 6 ) s p r i n g 为数据存取提供了一个一致的框架,不论是使用的是j d b c 还是 o r m a p p i n g 产品。 s p r i n g 框架的缺点是j s p 中要写很多代码、控制器过于灵活,缺少一个公用 控制器。 类似的w e b 应用框架还有很多,如w e b w o r k ,t y p e s t r y ,c o c o o n ,j e t s p e e d , z o p e 等。它们的功能强弱各不相同,有的是纯w e b 层的框架,而有的可能涵盖 到业务逻辑和数据持久层。它们强调技术的普遍性和通用性,而针对特定应用领 域的研究还很鲜见。目前,一些成熟软件企业采用的开发框架或者照搬上述成熟 框架,或者是多种丌发框架的融合,或者是这些丌发框架的一些改进,而针对一 些具体行业的丌发框架虽有提出,但还不具备系统性,并没有被普遍使用。 基于j 2 e e 和x m l 技术的w e b 廊用框架的研究与心用 2 w e b 应用框架体系结构分析 本文所研究的w e b 应用框架以j 2 e e 作为开发的基础平台,框架的设计完全 符合面向对象的设计原则中的大部分要求,采用了很多被大多数企业级应用系统 公认的位于业务逻辑层和集成层的设计模式。在框架中x m l 技术被广泛应用,如 页面标记语言的定义,服务的定义,实体的定义以及实体引擎的配置等。下面将 从框架的结构特点、框架的涉及到的相关技术以及框架的体系结构三方面对w e b 应用框架进行分析。 2 1 框架结构特点 w e b 应用程序框架主要用来简化基于j 2 e e 平台的w e b 应用程序的开发,从而为 开发可重用的、可扩展、易维护的w e b 应用程序提供一种通用的解决方案。w e b 应用框架的特点有: 框架具有良好的扩展性和复用性。 跨平台特性,框架可以在u n i x 和w i n d o w s 两大操作系统运行,而且具备 j a v a 应用系统的所有跨平台的特点。 全面应用x m l 技术,提供给框架的使用者可扩充自定义配置文件的机制。 数据库独立,不依赖于某家数据库产品。 为w e b 应用系统提供各种各样基础组件供扩展或继承。 健全的日志处理机制和异常处理机制。 2 2 相关技术 2 2 1 j 2 e e 体系结构 j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 是s u n 公司定义的一个开发分布 式企业级应用的规范口“。它提供了一个多层次的分布式应用模型和一系列丌发 技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个 层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行( 如 9 幕于j 2 e e 和x m l 技术的w e b 廊用框架的研究与戍用 s e r v l e t 组件在s e r v l e t 容器上运行,e j b 组件在e j b 容器上运行) ,容器间通过相 关的协议进行通讯,实现组件间的相互调用。j 2 e e 结构包含四层:客户层、w e b 层、业务层( 也称为商业层) 及企业信息系统层。 图2 1j 2 e e 多层体系结构 客户层:用来实现企业级应用系统的操作界面和显示层。可分为基于w 曲 的和非基于w e b 的客户端两种情况。基于w e b 的情况下主要作为企业w e b 服务 器的浏览器,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载w e b 层中的h 刑l 页面或由j s p 或s e r v l e t s 生成的动态h t m l 页面。非基于w e b 的 客户层则是独立的应用程序,它是运行在其它一些基于网络的系统中的a p p l e t 程序,在客户层中运行,并在不经过w e b 层的情况下访问e n t e r p r i s e b e a n s 。 w e b 层;为企业提供w e b 服务,包括企业信息发布等。w e b 层主要用来处 理客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。 w e b 层由w e b 组件组成,包括j s p 页面和s e r v l e t s 。j s p 页面或j a v as e r v l e t s 可 以方便地取出x m l 文档中的数据生成h t m l 文档,传输到客户层显示。 业务层:业务层也叫e j b 层或应用层,它由e j b 服务器和e j b 组件组成。 e j b 层用来实现企业级信息系统的业务逻辑。这是企业级应用的核心,由运行在 业务层中的e j b 来处理。一个b e a n 从客户端接收数据、处理,然后把数据送到 企业信息系统层存储起来。同样,一个b e a n 也可以从企业信息系统取出数据, 发送到客户端程序。业务层中的e j b 要运行在容器中。容器解决了底层的问题, 如事务处理、生命周期、状态管理、多线程安全管理、资源池等。 i o 垠tj 2 e e 年i ix m i 上术的w e bm f 】机颦呐1 , 1 f 究j i :v l t i 企业信息系统层:运行企业信息系统软件,这层包括企业基础设施系统,如 企业资源计划( e r p ) 、大型机事务处理、数掘库系统及其它遗留信息系统。企业 信息系统层中的数据可以按照某行业特定的标准x m ld t d 来对数据进行约束, 这样有利于不同企业之i 日j 数据的交换。 j 2 e e 是当前用于构建企业分布式系统的主流技术,它不仅提供一个多层次 的分布式应用模型。还提供了一系列的相关丌发技术规范,为搭建具有可伸缩性、 灵活性、易维护性的w e b 应用框架提供良好的机制口2 1 : 1 )保留现存的i t 资产:j 2 e e 架构可以充分利用用户原有的投资每一个 供应商都对现有的客户提供了不用废弃己有投资,进入可移植的j 2 e e 领域的升 级途径。由于基于j 2 e e 平台的产品几乎能够在任何操作系统和硬件配爱上运行, 现有的操作系统和硬件也能被保留使用。 2 )高效的丌发:j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中 间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地 缩短了丌发时间。高级中白j 件供应商提供复杂的中间件服务。 3 )支持异构环境:j 2 e e 能够丌发部署在异构环境中的可移植程序,基于 j 2 e e 的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基 于j 2 e e 的程序只需开发一次就可部署到各种平台,这在典型的异构企业计算环 境中是十分关键的。j 2 e e 标准也允许客户订购与j 2 e e 兼容的第三方的现成的组 件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。 4 )可伸缩性:j 2 e e 领域的供应商提供了更为广泛的负载平衡策峰,能消除 系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可 高度伸缩的系统,满足未来商业应用的需要。 5 )可扩展性:j 2 e e 的e j b 组件的一大特点就是封装性好,每个e j b 组件 完成一个独立的业务逻辑操作,这样的结构如果对局部进行扩展或修改就不会影 响到其它部分的正常运行,有利于软件的扩展、维护。 x m ls c h e m a 2 3 1 1 2 4 1 是一种描述x m l 信息结构的模型。它规范了x m l 中标记 的使用规则,如定义x m l 文档的文本结构、数据类型等。x m ls c h e m a 用束对 摹十j 2 e e 和x m l 技术的w e b 心用 | ! _ ! 1 5 的椰f 究j 一用 x m l 文档进行合法性检验。如果文档符合s c h e m a 中的约束,这个文档就被认 为是合法的,否则就不合法。 一个x m ls c h e m a 由类型定义和元素声明等部件组成以衡量格式良好的 元素信息的有效性。进一步还可以另外规定这些元素项目和其子节点。比如属性 和元素的缺省值、元素类型和属性表等。从抽象数据模式上看,x m ls c h e m a 的 通用组成项是s c h e m a 组件( s c h e m ac o m p o n e n t ) 。一个x m ls c h e m a 是许多 s c h e m a 组件的集合。共有1 2 类组件,包括简单类型定义、复杂类型定义、属性 声明、元素声明、属性组定义、标识限定定义等等。s c h e m a 具有如下特点1 2 5 l : 和x m l 一致,容易使用:它用x m l 语言规范来定义。一方面易掌握,另 一方面,可以被现有的x m l 工具和x m l 应用系统所利用。另外,x m ls c h e m a 符 合x m l 语言规范,可以利用x m l a p i ( d o m 或s a x ) 去访问; 丰富的数据类型:x m l 大纲( s c h e m a ) 支持的数据类型包括:数字型、稚 尔型、整型、日期时问、u r i 、十进制数等等。而且它还支持由这些简单的类型 生成更复杂的类型。并且可以由用户自定义数据类型: 属性分组:属性的应用范围是多种多样的。有的是所有元素都有的,有 的是专门为图形元素设定的: 原型可以更新:这是最重要的特色。d t d 定义的内容模式是封闭的,而 x m l 大纲定义的内容模式是开放的,是可以更新的: 名称空间的支持:可充分利用x m l 的继承性和重用性; 互换性:可根据需要设计适合自己应用的s c h e m a 。另外,通过映射机制, 还可以将不同的s c h e m a 进行转换,以实现更高层次的数据交换。 还有另一种对x m l 文档进行合法性检验的机制,文档类型定义( d t d ) 机 制,与s c h e m a 不同,d t d 基于正则表达式,数据类型有限,不支持命名空间, 不易于扩展,所以目前大多数应用系统中都是采用x m l s c h e m a 机制对x m l 文 档进行合法性验证。在w e b 应用框架的设计过程中,我们采用的也是x m l s c h e m a 机制。 2 3 框架体系结构 w e b 应用框架结合了两大主流技术j 2 e e 技术与x m l 技术,使其具有跨平 2 璀rj 2 e e 和x m i 上术的w e b 心j f l 艇架的州究jj 如用 台性以及良好的灵活性和扩展性。同时w e b 应用框架在表示层、逻辑层和数据 持久层采用了很多新的思想和设计方案。在表示层引入基于x m l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车后市场行业当前发展现状及增长策略研究报告
- 收拾房间家务课件
- 2025年一级建造师之一建民航机场工程实务模拟题库及答案
- 2024年药用植物功能物质与生物合成研究团队新生准入测试题及答案
- 2025年社会工作者之初级社会综合能力能力测试试卷A卷附答案
- 2025年公务员(国考)之公共基础知识考试题库(含答案)
- 2024年北京事业编笔试题(附答案)
- 2024年幼儿园、学前教育与儿童身心发展专业知识考试题与答案
- (2025)中商职鉴市场营销师培训教师考评试题及参考答案
- 摘抄笔记写法课件
- 2025 城镇燃气设施运行、维护和抢修安全技术标准
- 2025至2030全球及中国人丙种球蛋白行业产业运行态势及投资规划深度研究报告
- 图书展览活动方案
- 拆除防火门施工方案
- 企业信息系统管理制度
- 骨科疾病临床诊疗思维
- 保安公司公司管理制度
- YY 0267-2025血液净化体外循环系统血液透析器、血液透析滤过器、血液滤过器及血液浓缩器用体外循环血路/液路
- 【国家】2024年国家工业信息安全发展研究中心招聘40人笔试附带答案详解析
- 2025年北京市东城区中考语文一模试卷
- 高空作业考证试题及答案
评论
0/150
提交评论