(计算机应用技术专业论文)基于javaee规范的轻量级企业应用架构的研究及应用.pdf_第1页
(计算机应用技术专业论文)基于javaee规范的轻量级企业应用架构的研究及应用.pdf_第2页
(计算机应用技术专业论文)基于javaee规范的轻量级企业应用架构的研究及应用.pdf_第3页
(计算机应用技术专业论文)基于javaee规范的轻量级企业应用架构的研究及应用.pdf_第4页
(计算机应用技术专业论文)基于javaee规范的轻量级企业应用架构的研究及应用.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着信息技术的进步和企业信息化的高速发展,企业级应用系统软件的规模和复杂 度也日益增加。软件规模的扩大和复杂度的增加使得企业级应用系统开发的关注点也从 特定的业务实现和数据结构的选择上逐渐转变到面向领域内应用系统架构 ( a r c h i t e c t u r e ) 的设计。 传统的基于b s 企业级应用系统开发的标准架构j 2 e e ,存在着一些诸如e j b 组件 的“一对一映射 粗粒度和b e a n 的细粒度实现、不支持动态连接和查询以及业务组件 的移植困难等缺陷,已经不能满足企业级应用开发的需要。而针对此问题推出的j a v a e e 规范并未彻底的解决上述问题,规范引入的依赖注入( i n v e r s i o no f c o n t r a l ) 只对容器管 理的对象有效,而对于更细粒度的p o j o 实例则无法注入。因此如何利用现有的技术和 企业级应用平台大规模的创建开发快速、可复用性强、安全性高、易维护的多层次企业 应用系统,使得多层次的应用系统在面对复杂的网络环境、多样化的用户群体、灵活的 业务模式和多样的业务需求时能够高效快速的完成任务,成为企业应用开发首要解决的 问题。解决这个问题的关键就是选择一个优秀的开发架构。 本文在系统的分析传统j 2 e e 架构在构建企业级应用中的优势和缺陷的基础上,通 过深入研究行业中应用成熟的开源框架,提出一种以依赖注入( i o c ) 、面向方面编程 ( a o p ) 、数据的透明持久性和对新规范j a v a e e 的全面支持为基本思想的轻量级企业 应用开发架构。该架构本着结构简单、开发效率高、较高的负载均衡、对新技术全面支 持和易于测试的原则,通过整合当前优秀的开放源代码项目,包括s t r u t s 、s p r i n g 、 h i b e r n a t e 、a n t 、x d o c l e t 等等,为企业应用丌发提供了一个快捷、稳定、廉价的解决方 案。论文给出了架构的总体设计和安全控制,并且基于架构良好的层次划分和可扩展性, 给出了三种不同实现方案和相应的软件架构实现,在此基础上解决了初始化时j a v a b e a n 装载问题,在动作委托的基础上改进了a c t i o n 对象的容器纳入方式。在业务层通过非侵 入的方式为架构中业务逻辑对象提供了事物控制、生命周期管理和自动化部署等企业应 用开发常用的功能,并且给出了通用的事务控制模版。结合轻量级架构的使用范围,设 计了基于本文所提出的轻量级架构的智能网彩铃业务w w w 接入系统,并且验证了架 构的实用性,为中小型企业级应用开发提供了一种完善的解决方案。 关键词:轻量级架构;依赖注入;面向方面编程;透明持久性 人连交通大学:l :学硕十学位论文 a b s t r a c t w i t ht h ea d v a n c e si ni n f o r m a t i o nt e c h n o l o g ya n dt h er a p i dd e v e l o p m e n to fb u s i n e s s i n f o r m a t i o nt e c h n o l o g y ,t h es c a l ea n dc o m p l e x i t yo ft h ee n t e r p r i s ea p p l i c a t i o n ss o f t w a r ei s i n c r e a s i n g t h ee x p a n s i o no ft h es o f t w a r es c a l ea n dt h ei n c r e a s i n go ft h ec o m p l e x i t ym a k i n g e n t e r p r i s ea p p l i c a t i o ns y s t e m sd e v e l o p m e n tp o i n to fc o n c e r nf r o mt h es p e c i f i cb u s i n e s sl o g i c a c h i e v e m e n ta n dt h ec h o i c eo fd a t as t r u c t u r et ot h ef i e l do fa p p l i c a t i o n - o r i e n t e da r c h i t e c t u r e ( a r c h i t e c t u r e ) d e s i g n t h es t a n d a r d sf r a m e w o r ko ft r a d i t i o n a le n t e r p r i s ea p p l i c a t i o ns y s t e m sd e v e l o p m e n t b a s e do nb s 一j 2 e e ,t h e r ea r es o m e ,s u c ha se j b ”o n e t o o n em a p p i n g ”c o a r s e g r a i n e d a n dt h eg r a n u l a rb e a na c h i e v e ,a n dd o e sn o ts u p p o r td y n a m i cl i n k i n ga n ds e l e c t i o n ,a n d b u s i n e s sg r o u pt h ed i f f i c u l t i e so fs u c hb u s i n e s sg r o u p st r a n s p l a n t a t i o nh a sb e e nu n a b l et o m e e te n t e r p r i s e - c l a s sa p p l i c a t i o nd e v e l o p m e n tn e e d s a g a i n s tt h i si s s u el a u n c h e dj a v a e e n o r m sh a sn o tt h o r o u g hr e s o l v et h e s ei s s u e s ,d e p e n d e n c eo nt h ei n t r o d u c t i o no fs t a n d a r d i z e d i n j e c t i o n ( i n v e r s i o no fc o n t r a l ) o n l yo nt h es u b j e c to fe f f e c t i v em a n a g e m e n to fc o n t a i n e r s , a n dc a nn o tb ei n j e c t e di n t op o j ot y p e s s oh o wt om a k eu s eo f e x i s t i n gt e c h n o l o g ya n d l a r g e s c a l ee n t e r p r i s e - c l a s sp l a t f o r mf o rt h ec r e a t i o no fr a p i dd e v e l o p m e n t ,r e u s a b i l i t y ,s a f e a n d e a s y t om a i n t a i nm u l t i l e v e l e n t e r p r i s ea p p l i c a t i o ns y s t e m s ,m a k i n gm u l t i - l e v e l a p p l i c a t i o ns y s t e mi nt h ef a c eo fc o m p l e xn e t w o r k se n v i r o n m e n t ,t h ed i v e r s i f i c a t i o no fu s e r g r o u p s ,a n df l e x i b l eb u s i n e s sm o d e la n dd i v e r s eb u s i n e s sn e e d st oe f f i c i e n t l yc o m p l e t et a s k s f a s t e r , b e c o m et h ep r i m a r ye n t e r p r i s ea p p l i c a t i o nd e v e l o p m e n tp r o b l e m s t h ek e yt os o l v e t h i sp r o b l e mi st oc h o o s eag o o dd e v e l o p m e n ta r c h i t e c t u r e b a s e do na n a l y z i n gt h ea d v a n t a g e sa n ds h o r t c o m i n g so fs y s t e m so ft r a d i t i o n a lj 2 e e f r a m e w o r kf o rb u i l d i n go fe n t e r p r i s e l e v e la p p l i c a t i o n sa n dt h ed e p t hr e s e a r c ho fo p e ns o u r c e f r a m e w o r k ,t h ep a p e rr a i s e sa nl i g h t w e i g h td e v e l o p m e n ta r c h i t e c t u r ew h i c hb a s i ci d e a sa r e i n v e r s i o no fc o n t r o l ( i o c ) ,t h ea s p e c t o r i e n t e dp r o g r a m m i n g ( a o p ) ,d a t at r a n s p a r e n c ya n d 如l l s u p p o r to ft h en e wj a v a e en o r m s t h ea r c h i t e c t u r eh a ss i m p l es t r u c t u r e h i g h d e v e l o p m e n te f f i c i e n c y ,h i g hl o a db a l a n c i n g ,g o o ds u p p o r tf o rn e wt e c h n o l o g ya n de a s y t e s t i n gp r i n c i p l e i t f r o v i d e saf a s t ,s t a b l e ,l o w - c o s ts o l u t i o nf o r e n t e r p r i s ea p p l i c a t i o n d e v e l o p m e n tt h r o u g ht h ei n t e g r a t i o no ft h eo u t s t a n d i n go p e n - s o u r c ep r o j e c t s ,i n c l u d i n gs t r u t s , s p r i n g ,h i b e r n a t e ,a n t ,x d o c l e te t c p a p e r sp r e s e n t e dt h eo v e r a l ld e s i g na n ds t r u c t u r eo f s e c u r i t yc o n t r o la n dg i v e nt h r e ed if f e r e n ts o f t w a r ea r c h i t e c t u r ea c h i e v e m e n tb a s e do nt h e g o o dh i e r a r c h ya n ds c a l a b i l i t y ,a n ds o l v e dt h ep r o b l e mo fi n i t i a l i z a t i o nl o a d i n gj a v a b e a n c o m m i s s i o n e di na c t i o ni m p r o v e m e n to nt h eb a s i so ft h ea c t i o no b j e c t si n t oc o n t a i n e r sw a y a tt h eb u s i n e s sl a y e rt h ea r c h i t e c t u r ep r o v i d et h el i f e c y c l em a n a g e m e n ta n da u t o m a t e d d e p l o y m e n to fe n t e r p r i s ea p p l i c a t i o n s ,s u c ha st h ed e v e l o p m e n to fc o m m o n l yu s e df u n c t i o n s , 摘要 a n dg i v e st h ec o n t r o lo ft h ea f f a i r so fc o m m o nt e m p l a t e s ,t h r o u g hn o n i n v a s i v em e a n st ot h e b u s i n e s s l o g i co b j e c t o fs y s t e m c o m b i n i n gt h eu s eo ft h el i g h t w e i g h ts t r u c t u r e ,t h e l i g h t w e i g h td e s i g nf r a m e w o r kb a s e do nt h ei n t e l l i g e n tn e t w o r kc r b t s e r v i c ew w w a c c e s s s y s t e m ,t h e c e r t i f i c a t i o ns t r u c t u r eo ft h eu t i l i t ya n da p p l i c a t i o nd e v e l o p m e n tf o r e n t e r p r i s e c l a s sp r o v i d e sap e r f e c ts o l u t i o n k e yw o r d s :l i g h t - w e i g h ta r c h i t e c t u r e ;i n v e r s i o n o fc o n t r o l ;a s p e c to r i e n t e d p r o g r a m m i n g ;t r a n s p a r e n tp e r s i s t e n t l i i 绪论 绪论 一、研究背景 随着社会和技术信息的进步,软件系统的复杂程度日益增加。软件复杂度和软件规 模的不断升级,使得企业应用软件开发的关注点也从特定的业务实现和数据结构的选择 上转变到面向领域的应用系统架构( a r c h i t e c t u r e ,也称体系结构) 设计l l j 。近年来网络技 术的高速发展使得基于b s 的多层w e b 体系结构成为企业应用开发的主流。j 2 e e 架构 是目前较为流行的企业应用开发框架之一,已经成为基于w e b 的电子商务和企业级应 用的标准。j 2 e e 框架以i a v a 技术为核心,更能满足于互联网在智能化w e b 服务上对分 布性、开放性和平台无关性的要求,它提供了多层分布式应用模型、软件复用能力、统 一的安全模型和灵活的事务控制,为开发和配置企业应用提供了健壮、稳定的服务。但 这个架构不能满足所有的需求,业务层解决方案e j b 本身的架构就存在一定的问题,“一 对一映射”粗粒度和b e a n 的细粒度实现、不支持动态连接和查询以及服务器厂商规范 的不统一使得业务组件的移植变得困难。s u n 公司推出的j a v a e e 5 0 规范,致力于解决 传统架构的可移植性不强、开发周期长、测试困难等问题。规范的核心e j b 3 0 的制定, 剔除了传统e j b 组件的开发和部署的复杂性,a n n o t a t i o n 的引入使得复杂的e j b 组件部 署描述符不再是必须的,开发者只需向e j b 组件提供单个的仅仅包括业务逻辑的j a v a 类即可,p o j o 类不用再处理分布式计算中碰到的切面问题,为轻量级的企业级应用带 来了曙光,但缺少企业级商用服务器对规范的支持,目前实际的开发应用还不具规模。 开源的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 架构企业级应用中的问题提供了很好 的解决方案。 s t r u t s 是一个基于j 2 e e 平台、实现了m v c 设计模式的框架。它提供了一套用于构 建j a v aw e b 应用程序的框架,实现了应用系统的表示层、控制层和业务逻辑的分离, 使程序员将更多的精力投入后台的业务逻辑设计,而不是应用的底层基础架构。表示层 使用s t r u t s 框架可以全面减轻构建多层基于w e b 的企业级应用系统的负担和提升框架的 可复用性,目前,在国内外许多的大型企业级应用项目中得到广泛应用。 s p r i n g 是一个基于i o c ( i n v e r s i o no fc o n t r a l 控制反转) 和a o p ( a s p e c to r i e n t e d p r o g r a m m i n g 面向方面编程) 架构的多层j 2 e e 系统地应用框架,它服务于所有层面, 允许开发者根据需要选择性的使用它的部分模块。s p r i n g 实现了m v c 的设计模式,对 各种数据访问技术提供了统一的接口,通过i o c 可以很方便的实现b e a n 的装配管理, 而通过配置管理s p r i n g a o p 模块直接将面向方面编程的功能集成到了s p r i n g 框架中,便 大连交通人学i :学硕+ 学位论文 捷的实现t r a n s a c t i o nm a n a g e m e n t ( 事务管理) ,从而使开发人员可以有充分的时间来 分析业务逻辑的构建而不是繁杂的代码。 h i b e r n a t e 框架是采用o r m 机制的持久层开发框架,它是i a v a 和数据库进行沟通的 桥梁,它管理j a v a 对象到关系数据库的映射,对j d b c 访问数据库的操作进行了轻量级 封装,向上层应用提供访问数据库的a p i ,大大减少了开发人员使用s q l 和j d b c 的时 间。而j c p 在制定e j b 3 0 规范的时候就参考了h i b e r n a t e 持久层操作机制,并把h i b e r n a t e 的o r m 思想融进了印a 里面形成单独的可供j 2 e e 和j 2 s e 单独使用的规范。 但诸如s t r u t s 、s p r i n g 等等框架也只解决了某一领域内应用系统开发的某一方面的 问题,比如s t r u t s 只专注于表现层中视图和实现的分离,s p r i n g 框架则更关注与业务逻 辑层b e a n 的注入和管理以及事物的管理等等,他们均未为企业应用系统的开发提供一 种完善的解决方案。 二、课题研究的目的及意义 高速发展的网络技术和信息技术从根本上改变了人类的生活,i n t e m e t 使用的普及 也逐渐的改变了企业的经营方式和服务方式。在这个网络化的社会里,传统的应用系统 开发中普遍存在着的开发产品性能差、维护工作量大、应变能力不足等缺点已经不能满 足现在企业应用的需求。如何利用现有的技术和企业级应用平台大规模的创建开发快 速、可复用性强、安全性高、可维护的多层次企业应用系统,使得多层次的应用系统在 面对复杂的网络环境、多样化的用户群体、灵活的业务模式和多样的业务需求时能够高 效快速的完成任务,成为我们首要解决的问题,而解决这些问题的关键是就选择一个优 秀的多层次企业级应用系统开发架构。 架构是特定领域内大粒度的软件复用,它为应用系统的开发提供一个能够使用的模 版和骨架,让软件开发人员可以从代码中脱离出来,将精力投入到业务逻辑的分析中去, 减轻开发者处理复杂问题的负担,提高开发效率。良好的丌发架构可以为应用系统提供 良好的体系结构,提高系统地开发效率,缩短项目的开发周期,节约开发成本,并且可 以提高软件的可迁移性和可维护性。 本文通过分析现有的j 2 e e 体系在开发基于w e b 的企业级应用系统中存在的一些未 解决的问题,提出一种能够灵活适应现在企业应用需求的、基于开源框架优秀思想的企 业级应用系统的开发架构。论文的意义在于利用现有的开源框架的优秀思想,整合j 2 e e 多层架构中的表现层( s t r u t s ) 、业务层( s p r i n g ) 和持久层( h i b e r n a t e ) ,充分发挥每 个框架的优势,为中小型企业开发多层w e b 应用提供一种轻量级架构的解决方案,在 提高设计和代码的复用能力、简化开发的复杂度、提高软件的开发效率、降低系统模块 问的耦合度、提高系统的可维护性和可扩展性方面有很强的指导意义。 2 绪论 三、论文主要的工作及组织结构 ( 1 ) 论文的主要研究内容: 本文的重点是结合对传统j 2 e e 架构和开源框架的分析提出一种新的构建多层企业 级应用的轻量级架构,分析研究智能网业务管理系统的接入方式,提出一种基于w w w 技术和轻量级架构的新的接入方式,实现彩铃业务的用户业务管理系统。 结合j a v a e e 5 0 规范分析传统j 2 e e 开发架构的不足 分析基于m v c 软件设计模式的开源框架在开发多层企业级应用系统中的 优势,并与传统j 2 e e 架构进行对比 提出一种以依赖注入、面向方面编程和数据透明持久性为基本思想的多层 企业应用的轻量级开发架构 分析比较现在智能网业务管理系统的接入方式,提出一种新的基于w w w 和轻量级架构的接入方式。 利用新的轻量级架构构建智能网彩铃业务的业务用户管理系统 ( 2 ) 论文的组织结构: 绪论:简要介绍了研究课题的研究背景、研究目的以及现实意义,阐述了本论文所 进行的主要工作和创新点,概述研究课题的主要内容和组织结构。 第一章:介绍j 2 e e 技术和m v c 开发模式,分析传统j 2 e e 开发框架的不足。 第二章:分别介绍了表现层、业务逻辑层和持久层上开源框架的体系结构,重点对 三者的核心理论进行研究分析,并与传统的j 2 e e 架构作对比分析。 第三章:根据开源框架的特点,总结轻量级架构的核心思想,提出一种新的基于 j a v a e e 5 0 规范的轻量级企业应用架构,设计总体架构,根据表现层的不同特点给出相 应的软件架构,并给出架构的安全性分析。 第四章:分析智能网的业务管理系统的接入方式,结合新架构设计新的基于w w w 的智能网彩铃业务w w w 接入系统,验证轻量级架构的应用性。 总结:总结课题的研究工作,指出研究的不足和有待改进的地方,对未来的下一步 的工作进行展望。 3 第一章传统j 2 e e 架构的研究 第一章传统j 2 e e 架构的研究 本章主要介绍m v c 设计模式、j 2 e e 的体系结构,分析传统的j 2 e e 架构在企业应 用开发中的优势和缺点,简单介绍新规范j a v a e e 5 0 的开发模型及其在目前企业应用中 的不足。 1 1m v c 设计模式 m v c 是m o d e l v i e w c o n t r o l l e r 的简称,即模型视图控制别2 1 。它最早出现在二十世 纪八十年代,是编程语言s m a l lt a l k 8 0 发明的一种软件设计模式,它实现了功能模块和 显示模块的分离,w e b 的表示逻辑和业务处理不再糅合在一块,使开发人员的分工更明 确,开发模型也能处理更为复杂的问题。在多层w e b 应用开发中引入m v c 设计模式,有 利于提高应用程序的可维护性、可扩展性、可移植性和可复用性。 1 1 1m v c 设计模式结构 m v c 的核心思想是实现功能模块和实现模块的分离,组建一个三层或者多层松散耦 合的易维护、易扩展的系统。它提供了一个原则,可以按照模型、表达式和行为等角色 把一个应用系统得各个部分之间分割开,将一个w e b 应用系统分为三个组件:模型 ( m o d e l ) 、视图( v i e w ) 和控制器( c o n t r o l l e r ) ,他们分别分担不同的任务 ( 1 ) m o d e l :模型指的是真正完成任务的代码,包含应用系统的核心功能。它封装了 应用程序的数据结构和业务逻辑,表示一个应用系统的数据,并且包含访问、维护和管 理这些数据的逻辑。模型提供的服务必须足够适用于不同的终端。一个模型聚集了相关 的数据和操作,以提供一个详细而精确的服务:这些被封装在操作中的抽象事物的功能 被模型化。一个模型的接口提供了访问和更新模型状态,执行封装在模型中的复杂进程 的方法。模型服务被控制器访问,用于查询或更改模型的状态。当模型状态发生变化时, 模型会通报给视图。 ( 2 ) v i e w :视图表示模型的状态,是应用系统的外观,当模型发生改变时,视图也 将随之改变,以维持系统数据的一致性。在m v c 模式下,界面的设计任务较小。当然视 图也应该具有一定的功能性并遵守可用性的约束,但视图界面不应当处理数据。事实上, 视图的每一部分都只能包含采集数据的逻辑,并把采集到的数据传递给设计模式中的其 他组成部分进行处理。 ( 3 ) c o n t r o l l e r :控制器是联系模型与视图之间的纽带,控制模型和视图之间的交互过 程。它获取并翻译用户输入的动作,指定执行该动作的模型,或者根据用户的输入和执 行的结果来选择下一个视图。 大连交通火学1 :学硕士学位论文 上述三者之间是相互协作的,视图采集用户请求,并把请求提交给控制器,有控制 器决定调用那个模型来处理事件,模型调用业务逻辑处理用户的请求,控制器将处理后 的数据通过视图展现给用户,下图描述了模型、视图和控制器之间的协作过程: 选择视图 l 接萎黼求 l 业务处理 i 调用模型响应用户请求l l 选择视图显示请求结果i ( 视图) 显示模型状态 接受数据更新请求 把用户输入数据传给控制 器 用户请求 状态查询 通知数据库更新 卜方法调用 事件 图1 1m v c 设计模型 f i g1 1m v cp a t t e r n ( 模型) 代表应用程序状态 响应状态杏询 处理业务流程 通知视图业务状态更新 1 1 2m v c 设计模式的优缺点 在最初的w e b 应用中,像数据库查询这样的数据层代码是和h t m l 这样的表示层 代码混合在一块,这样的优点是开发的速度快,但是没有实现和业务逻辑的分离,导致 业务模型重用相当困难,很难满足用户需求的变化。m v c 对应用的分层设计可以使业 务模型得到更好的重用。 ( 1 ) m v c 设计模式的优点:首先,分离数据和其表示,使得添加或者删除一个用户 视图变得很容易,甚至可以在程序执行过程中动态的进行用户视图的更新。模型和视图 能够单独的开发( 即业务逻辑和用户表现的分离) ,增加了程序的可维护性和可扩展性, 并使测试变得更为容易。另一方面,将控制逻辑和表现界面分离,允许程序能够在运行 时根据工作流、用户习惯或者模型状态来动态选择不同的用户界面。其次,多个视图共 享一个模型,m v c 将数据和业务规则在表现层分离,模型返回的数据并为进行数据的格 式化,因此无论是h t m l 视图,还是w a p 或者是f l a s h 界面都可以使用同样的构件,系统 的设计人员可以最大化的复用他的代码。再者,模型和视图、控制器的分离,很容易实 现改变应用程序的数据和业务规则,如果需要数据库从m y s q l 移植至l j o r a c l e ,或者改变 6 第一章传统j 2 e e 架构的研究 基于r d b m s 数据源到l d a p ,开发人员只需改变他的应用模型即可。一旦开发人员正确 的实现了模型,不管数据来自数据库或是l d a p 服务器,视图将会正确的显示它们,运 用m v c 的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据 这种设计思想开发者能构造良好的松散耦合的构件。 ( 2 ) m v c 设计模式的缺点:现在的m v c 设计模式并没有明确的定义,一个开发人员 完全理解m v c 设计模式的思想比较困难,开发者可能需要更多的时间去思考如何将 m v c 运用到设计中。同时,由于模型和视图的严格分离,给系统的调试带来一定程度的 困难。 1 1 3 应用m v c 设计模式必须考虑的问题 新的设计会带来新的问题,因此在运用m v c 设计模式进行j 2 e e 应用系统开发的时 候要注意考虑一下几个方面的问题: ( 1 ) 必须基于m v c 组件的方式重新思考和设计应用结构。原来通过建立一个简单的 j s p 页面就能实现的应用现在变成了多个步骤的设计和实现过程: ( 2 ) 所有的页面和组件必须在m v c 框架中实现,所以必须进行附加的开发工作; ( 3 ) m v c 本身就是一个非常复杂的系统,所以采用m v c 实现w e b 应用时,最好选一 个现成的m v c 框架,在此之下进行开发,从而取得事半功倍的效果。现在有很多可供使 用的m v c 框架,s t r u t s 、s p r i n g 等就是一些不错的m v c 的应用框架。 1 2 传统j 2 e e 架构分析 传统j 2 e e 是一种利用j a v a 平台来简化企业解决方案的开发、部署和管理相关的复 杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a 平台的标准版,传统j 2 e e 不仅巩固了标准版中的许多优点,例如一次编写、随处运行的特性、方便存取数据库的 j d b c a p i 、支持c o r b a 技术以及能够在i n t e m e t 应用中保护数据的安全模式等等,同 时还提供了对e j b ( e n t e r p r i s ei a v a b e a n s ) 、j a v a s e r v e t a 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 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用 性、高可靠性以及可扩展性的应用的需求【3 】。通过提供统一的开发平台,j 2 e e 降低了开 发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持 e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持,增强了安全 机制,提高了性能。 7 大连交通人学。1 :学硕士学位论文 传统j 2 e e 架构呈现为一种分布式的多层结构,运行在特定的容器中,并提供一系 列标准a p i 供二次开发,下面分别从这三方面对传统j 2 e e 架构作一介绍。 1 2 1 传统j 2 e e 架构的体系结构 j 2 e e 平台为企业级应用开发提供了多层的分布式应用模型、组件重用策略、一致 化的安全模型以及灵活的事务控制特性,加快了企业应用的设计与开发,可以快速容易 地建立融合了i n t e m e t 技术,尤其是w e b 技术的n 层州t i e r s ) 结构的分布式企业应用, 较好地解决了c s 结构所固有的可扩充性差、维护性差、安全性差、部署麻烦等弊端。 j 2 e e 的设计目的是为了推动企业应用的开发和部署。它通过提供企业计算环境所必需 的各种服务,使得部署在j 2 e e 平台上的多层应用可以实现高的可用性、安全性、扩展 性和可靠性。 j 2 e e 使用多层分布式应用模型,应用逻辑按功能划分为组件。各个应用组件根据 它们所在的层可以分布在不同的机器上。事实上,设计j 2 e e 的初衷是为了解决传统二 层模式( c l i e n t s e r v e r ) 的弊端。在传统模式中,客户端因为担当了过多的角色而显得臃肿, 此模式在第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经 常基于某种专有的协议通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非 常困难。很难满足系统的技术要求。j 2 e e 的多层企业级应用模型将二层模型中的不同 层面切分成许多层。一个多层次应用能够为不同的服务提供一个独立的层,j 2 e e 的结 构如图1 2 所示: 应用程序1应用程序2 i 嚣ll 动i 轳层l 客户端 l 页面”7 一l i叵jsp面面w e b 司 四 亘 业务划 臣困臣困粥层 图1 2j 2 e e 体系结构 j 2 e e 典型的4 层体系结构如下: 8 客户 端机器 j 2 e e 服务器 数据库 服务器 第一章传统j 2 e e 架构的研究 ( 1 ) 客户层:运行在客户计算机上的组件,包括浏览器客户端和应用程序客户端两种 类型。这一层直接与用户交互,由于目前w e b 应用程序的流行,浏览器客户端更为普 遍。 ( 2 ) w e b 层:w e b 服务器层的功能就是根据浏览器或者应用程序客户端的请求提供 相应的服务。w e b 层由w e b 组件组成,j 2 e ew e b 组件包括j s p 页面和s e r v l e t s ,w e b 层也可以包括一些j a v a b e a n 。w e b 层主要用来处理客户请求,调用相应的逻辑块,并把 结果以动态网页的形式返回到客户端。 ( 3 ) 业务层:是整个j 2 e e 架构的核心,它包含应用程序服务器以及在应用程序服务 器上面运行的完成商务逻辑的e j b 组件。应用服务器为e j b 的服务解决了底层的问题, 如事务处理、生命周期、状态管理、多线程安全管理、资源池等。 ( 4 ) e i s 层:最底层的是数据库系统或者企业的e i s ,其中存储着企业的各种业务数 据,通过应用程序服务器内的e j b 组件来实现业务数据的存取。 1 2 2 传统j 2 e e 架构的核心技术 j 2 e e 架构是一种基于组件技术和应用服务器的架构,呈现为一种多层次结构,运行 于j 2 e e 容器中,并提供大量的供二次开发的a p i 。下面从上述的组件技术、j 2 e e 容器 和j 2 e e 核心a p i 三个方面介绍传统的j 2 e e 架构的核心技术。 ( 1 ) 组件技术:j 2 e e 应用程序是由组件构成的。j 2 e e 规范规定一个标准的j 2 e e 架构 应该由运行在客户段的小应用程序、运行与服务器端的s e r v l e t 和j s p 组件以及运行在 服务器端的业务逻辑组件构成,各个组件集成到j 2 e e 应用中,组成一个完整的j 2 e e 应 用程序,并能被部署在负责运行、管理组件的j 2 e e 应用服务器上面。 w e b 组件:包括j s p 和s e r v l e t 组件。也可以包含某些用于处理用户输入的 j a v a b e a n s 。 业务层组件:e j b 组件,包括实体b e a n ( e n t i t yb e a n ) 、会话b e a n ( s e s s i o nb e a n ) 和消息驱动b e a n ( m e s s a g e - - - d r i v e rb e a n ) 。业务层的组件用于满足特定商务领 域业务逻辑的需要,由运行在业务层上的e j b 负责处理。会话b e a n 表示与客户 端程序的临时交互。当客户端程序执行完后,会话b e a n 和相关数据就会消失。 相反,实体b e a n 表示数据库的表中一行永久的记录。当客户端程序中止或服务 器关闭时,就会有潜在的服务保证实体b e a n 的数据得以保存。消息驱动b e a n 结合了会话b e a n 和j m s 的消息监听器的特性,允许一个业务层组件异步接收 j m s 消息。 9 大连交通人学:】:学硕士学位论文 e i s 层:企业信息系统层处理企业信息系统软件,包括企业基础建设系统例如企 业资源计划( e l 冲) ,大型机事务处理,数据库系统和其它的遗留信息系统。例 如,j 2 e e 应用组件可能需要从现有的人力资源系统中提取数据作为本系统的数 据源,或是将本系统的数据存入现在的企业信息系统中去。 ( 2 ) j 2 e e 容器:j 2 e e 服务器以容器的形式为所有组件提供事务处理、状态管理、多 线程、资源池和其他复杂底层细节的底层服务,因此你只需专注与开发用于封装领域商 业业务逻辑的e j b 组件即可。在运行w e b 组件、企业b e a n 或者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 a v a 命名和目录接口 ( d i ) 查找和远程连接等。j 2 e e 的容器主要包括:j 2 e e s e r v e r ( j 2 e e 应用服务器) 、 e j b 容器、w e b 容器、a p p l i c a t i o nc l i e n tc o n t a i n e r ( 应用程序客户段容器) 和a p p l e t c o n t a i n e r ( a p p l e t 容器) ( 3 ) 传统j 2 e e 核心a p i :j 2 e e 架构实际上是由一些组件和容器提供的服务、j 2 e e 规 范所定义的a p i 和相互间的通信协议构成。规范共定义了1 3 种j 2 e ea p i 。下面简要介 绍几个核心的a p l 。 j s p ( j a v as e r v e rp a g e s ) :由h t m l 代码和嵌入其中的j a v a 代码构成,用于开 发w e b 层; s e r v l e ta p i :一种应用于服务器端的小型j a v a 程序,当被请求时开始执行; j d b c - 为数据库连接提供统一的借口,j d b c 对数据库的访问具有平台无关性; e j b :j 2 e e 架构的核心,e j b 规范定义了e j b 组件在何时如何与它们的容器进 行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、 资源缓冲池以及容错性。但这里值得注意的是,e j b 并不是实现j 2 e e 的唯一途 径; j n d i :它提供了一致的模型来存取和操作企业级的资源如o n s 和l d a p ,被用 于执行名字和目录服务; r m i :e j b 所使用的底层的通信协议,负责调用远程对象,在服务器和客户端通 过序列化对象传递数据; j t a :应用系统通过j t a a p i 可以访问各种事务监控; 1 0 第一章传统j 2 e e 架构的研究 1 2 3 传统j 2 e e 架构的缺陷 j 2 e e 多层体系架构的推出完全是革命性的。它所具有的良好的分布性为通信企业 开发提供了一种开放模式,任何企业和个人都可以在遵循规范的前提下开发适合自己的 应用系统。它适合大型企业应用系统的开发,因为这些系统往往需要分布式服务器的支 持,部署在不同服务器上的组件间要实现相互的通信。对于这些企业,采用e j b 的j 2 e e 架构比较合适。基于容器管理的e j b 技术很好的解决了复杂的事务管理、分布式应用、 持久化等问题,i i o p 协议则是不同服务器上组件间相互通信的很好的解决方案。j 2 e e 架构提供了很多优秀的技术,比如现在仍在广泛的被使用的用于分布式管理的j t a 技 术。但随着业界对j 2 e e 架构的使用的深入,逐渐暴露出很多的问题,最主要的就是框 架的核心- e j b 的问题。 传统的j 2 e e 架构中的e j b 技术已经逐渐的不能适应企业的需求,作为整个架构中 的核心组件业务层,往往由于过度使用重量级组件e j b 和对e j b 容器的过度依赖使得 整个架构的可移植性、可测试性、可维护性和性能较差,这些都表现在:e j b 并没有使 用j a v a 规范中定义的动态代理技术,直接导致需要为每个e j b 实现写多个文件,并没 有真正的减小开发的复杂性;w e bs e r v i c e 的出现,使得与e j b 紧密联系的r m i 技术显 得过时;所有的e j b 组件都运行在e j b 容器中,直接导致系统的测试相当困难,延长 了系统投入市场的时间;每实现一个e j b 都需要定义本地接口和远程接口,有些时候人 们可能只需要本地接口,这在使用本地接口的时候不得不承受远程访问的额外开销;大 部分人们在使用e j b 时都仅仅使用无状态的e j b 和消

温馨提示

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

评论

0/150

提交评论