




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)j2ee集成框架在电子警察管理系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文 摘要 随着i n t e m e t 的日益普及,w e b 应用在信息管理系统中越来越广泛。其中框架为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 应用系统开发过程中由于系统结构复杂而带来的一些问题。 最后介绍了该集成框架在电子警察管理系统中的应用和实施过程。通过集成框架的应用, 提高了系统的开发效率和可移植性、可维护性。 关键词:j 2 e e ,集成框架,关系映射 a _ b s i r a ? i w i t ht h ei n c r e a s i n gp o p u l a r i t yo ft h ei n t e r a c t ,w e ba p p l i c a t i o ni sg e t t i n gm o r ea n dm o r e w i d e s p r e a di nm i s f r a m e w o r kg i v e san e ww a yf o rs o f t w a r e 坞u i nb i gg r a n u l a r i t y , a n d m a k e st h ed e v e l o p m e n tm o r ee f f e c t i v e s oh o wt ob u i l das t u r d ya n ds t a b l ef r a m e w o r ki st h ea i m o fm a n ys o f t w a r ea r c h i t e c t u r ee x p e r t s t h i sp a p e rr e s e a r c h st h ea r c h i t e c t u r eo fj 2 e ea n de x p l o r e st h er e l a t e dk n o w l e d g eo ft h r e e p o p u l a rw e bf r a m e w o r k s ,s t r u t s ,s p r i n ga n dh i b e r n a t e a c c o r d i n gt ot h e i rf e a t u r e s ,w ed e s i g n t h ec o m b i n a t i o no ft h et h r e ef r a m e w o r k s b yt h i sw a y , w ec a ns o l v es o m ep r o b l e m sb r o u g h tb y t h eh i g hc o m p l e x i t yo ft h es y s t e ms t r c t u r e f i n a l l y , w ea p p l yt h ei n t e g r a t e df r a m e w o r ki n t o e l e c t r o n i cp o l i c ei n f o r m a t i o nm a n a g e m e n ts y s t e m s ow em a k et h ed e v e l o p m e n tm o r ee f f e c t i v e , t r a n s p l a n t a b l ea n d m a i n t a i n a b l e x um i n g h u a ( c 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 y ) d i r e c t e db yp r o lc h e ns h e n g j i a n k e yw o r d s :j 2 e e ,i n t e g r a t e df r a m e w o r k , o r m 华北电力大学硕士学位论文 摘要 随着i n t e m e t 的日益普及,w e b 应用在信息管理系统中越来越广泛。其中框架为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 应用系统开发过程中由于系统结构复杂而带来的一些问题。 最后介绍了该集成框架在电子警察管理系统中的应用和实施过程。通过集成框架的应用, 提高了系统的开发效率和可移植性、可维护性。 关键词:j 2 e e ,集成框架,关系映射 a _ b s i r a ? i w i t ht h ei n c r e a s i n gp o p u l a r i t yo ft h ei n t e r a c t ,w e ba p p l i c a t i o ni sg e t t i n gm o r ea n dm o r e w i d e s p r e a di nm i s f r a m e w o r kg i v e san e ww a yf o rs o f t w a r e 坞u i nb i gg r a n u l a r i t y , a n d m a k e st h ed e v e l o p m e n tm o r ee f f e c t i v e s oh o wt ob u i l das t u r d ya n ds t a b l ef r a m e w o r ki st h ea i m o fm a n ys o f t w a r ea r c h i t e c t u r ee x p e r t s t h i sp a p e rr e s e a r c h st h ea r c h i t e c t u r eo fj 2 e ea n de x p l o r e st h er e l a t e dk n o w l e d g eo ft h r e e p o p u l a rw e bf r a m e w o r k s ,s t r u t s ,s p r i n ga n dh i b e r n a t e a c c o r d i n gt ot h e i rf e a t u r e s ,w ed e s i g n t h ec o m b i n a t i o no ft h et h r e ef r a m e w o r k s b yt h i sw a y , w ec a ns o l v es o m ep r o b l e m sb r o u g h tb y t h eh i g hc o m p l e x i t yo ft h es y s t e ms t r c t u r e f i n a l l y , w ea p p l yt h ei n t e g r a t e df r a m e w o r ki n t o e l e c t r o n i cp o l i c ei n f o r m a t i o nm a n a g e m e n ts y s t e m s ow em a k et h ed e v e l o p m e n tm o r ee f f e c t i v e , t r a n s p l a n t a b l ea n d m a i n t a i n a b l e x um i n g h u a ( c 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 y ) d i r e c t e db yp r o lc h e ns h e n g j i a n k e yw o r d s :j 2 e e ,i n t e g r a t e df r a m e w o r k , o r m 华北电力大学硕士学位论文 声明尸明 本人郑重声明:此处所提交的硕士学位论文j 2 e e 集成框架在电子警察管理系统中的 应用,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研 究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 学位论文作者签名:垒客旦鼠肇 日 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、并向 有关部门送交学位论文的原件与复印件:学校可以采用影印、缩印或其它复制手段复制并保 存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为目的,复制赠送和 交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内 容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 导师签名: 扭 华北电力大学硕士学位论文 第一章引言帚一早 l 商 随着全球信息化的爆炸性增长以及技术的不断发展,管理信息系统( m i s ) 、电子商 务、电子政务等信息系统都由传统的单机模式、c s 模式,发展成为今天以b s 模式为主 流的格局。 1 1 课题研究背景 1 1 1 传统模式及其局限性 传统的模式是基于典型的客户朋艮务器( c l i e n t s e r v e r ) 结构,即大家熟知的客户机和 服务器结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到c l i e n t 端和 s e r v e r 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是c l i e n t s e r v e r 形 式的两层结构n 1 。 c s 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应 用中无论是c l i e n t 端还是s e r v e r 端都需要特定的软件支持。由于没能提供用户真正期望的 开放环境,c 俗结构的软件需要针对不同的操作系统开发不同版本的软件。加之产品的更 新换代十分快,这已经很难适应百台电脑以上局域网用户同时使用,而且代价高效率低, 其主要缺点体现以下几点删: ( 1 ) “胖客户机”现象。不仅应用程序的性能受限于p c 机资源,网络流量也增加了。 每一个客户端都要安装客户端软件,所以客户端的机器性能就必须满足软件的最低要求, 如果不能满足,程序将不能运行:每次业务逻辑涉及到数据库操作的时候,数据需要在两 层结构的客户端和服务器端来回往返传递,如果有多个客户端同时对数据库操作,那么将 会造成巨大的网络开销,甚至会影响其他网络应用程序的执行。 ( 2 ) 服务器负担过重。大数据量和多个用户并发使用将造成数据库的瓶颈,使数据 库性能急剧下降。每个客户端都要和数据库建立自己的连接,而服务器端对于连接有一定 的限制,为了提供更多的连接就需要增加更多的投入。这种连接还存在着一个弊端,就是 当某个客户端不再使用该连接的时候,只要客户端程序一直运行,那么这个连接将不会被 释放,即不能为其他的客户端所使用。 ( 3 ) 可维护性差。对应用程序的一个小改动都会涉及到把整个应用重新分发给用户, 如果用户数量庞大,那么应用程序的更新所带来的开销将是非常巨大的;其次如果一些用 户来不及更新整个程序,而一些用户已经及时做了更新,就会造成不同的客户使用的应用 程序版本不一致,这种应用程序版本的不一致某些时候也会造成整个系统的问题。 华北电力大学硕士学位论文 ( 4 ) 高昂的维护成本且投资大。首先,采用c s 架构,要选择适当的数据库平台来 实现数据库数据的真正“统一 ,使分布于两地的数据同步完全交由数据库系统去管理, 但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,如果需要建立“实时 的 数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网 络管理工作人员既要对服务器维护管理,又要对客户端维护管理,这需要高昂的投资和复 杂的技术支持,维护成本很高,维护任务量大;其次,传统的c s 结构的软件需要针对不 同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已 经不适应工作需要。 1 1 2b s 模式及其优越性 b 幅结构即浏览器和服务器结构,就是我们所说的w e b 应用,它是随着i n t e m e t 技术 的兴起,对c s 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 w v w 浏览器来实现,极少部分业务逻辑在前端( b r o w s e ) 实现,主要业务逻辑在服务器 端实现,这样就大大简化了客户端电脑负荷,减轻了系统维护与升级的成本和工作量,降 低了用户的总体成本。以目前的技术看,局域网建立b s 结构的网络应用,并通过 i n t e m e t i n t r a n e t 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的 开发,能实现不同的人员,从不同的地点,以不同的接入方式( 比如i a n 、w a n 、 i n t e m e t i n t r a n e t 等) 访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限, 服务器数据库也很安全。特别是在j a v a 这样的跨平台语言出现之后,架构的企业级软件 开发更是方便、快捷、高效。它的优越性体现在以下几个方面删: ( 1 ) 维护和升级方式简单 目前,软件系统的改进和升级越来越频繁,日幅架构的产品明显体现着更为方便的特 性。对一个稍微大的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔 跑,效率和工作量是可想而知的,但丑l s 架构的软件只需要管理服务器就行了,所有的客 户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都 不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。如果是异地,只需 要把服务器连接专网即可,实现远程维护、升级和共享,所以客户机越来越“瘦 ,而服 务器越来越“胖 是将来信息化发展的主流方向。 ( 2 ) 成本降低,选择更多 众所周知w i n d o w s 在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务 器操作系统上w i n d o w s 并不是处于绝对的统治地位,现在的趋势是凡使用b s 架构的应 用软件,只需安装在l i n u x 服务器上即可,而且安全性高,所以服务器操作系统的选择是 很多的,不管选用哪种操作系统都可以让大部分人使用w i n d o w s 作为桌面操作系统不受 影响,这就使的最流行免费的l i n u x 操作系统快速发展起来,这种选择非常盛行。比如说 2 华北电力大学硕士学位论文 很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器 用的是什么操作系统。 随着i n t e m e t 和i n t e r a n e t 技术的发展,w e b 应用系统在i n t e m e t 上的使用也越来越广 泛。w e b 应用不再是仅仅具有静态发布信息的简单功能,而且被要求具有实时动态处理交 互信息的能力,这样的要求还在不断的变化和提高。正因为如此,如何才能方便、快捷地 开发出具有高效性、灵活性和易扩展性的w e b 应用系统也就越来越成为一个倍受人们关 注的课题,具有重要的现实意义和广泛的实际应用价值。 1 2 研究现状 当前,在国内外存在多种实现w e b 应用系统的技术途径,其中最具有代表性、使用 最广泛的两大类分别是m i c r o s o f t 公司提出的n e t 平台和s u n 、毋m 等公司提出的j 2 e e 平台。下面将对这两种主流技术进行简单的介绍和比较州。 1 、n e t 平台 n e t 平台是一组用于建立w e b 服务应用程序和w i n d o w s 桌面应用程序的软件组件, 包括构建n e t 服务与n e t 设备软件的工具和基础框架。它借鉴了j a v a 语言在安装了虚拟 机( j v m j a v av m u a lm a c h i n e ) 可跨平台运行的特性,通过一个“通用语言的运行时环境 ( c l r c o m m o nl a n g u a g er u n t i m e ) 来执行中间格式的程序代码,为应用程序提供了一个 托管的代码执行环境。托管意味着将原先需由程序员或操作系统所做的工作剥离出来,交 由c l r 来完成,从而使程序在运行时获得更高的安全性和稳定性。这些工作包括内存管 理、即时编译、组件自描述、安全管理和代码验证,以及其他一些系统服务。c l r 提供 一个技术规范,无论程序使用于什么语言编写,只要可以被编译成中间语言,就可以在它 的支持下运行,这样应用程序就可以独立于语言。换句话说,c l r 就是的n e t 虚拟机。 此外,n e t 平台还提供了一个n e tf r a m e w o r k 类库,它是一组广泛的、面向对象的、 可重用类的集合,可以被用于任何编程语言。它提供了几乎所有应用程序都需要的公共代 码,在此之上是许多应用程序模板,这些模板为开发网络站点和网络服务提供特定的高级 组件和服务,不管是传统的命令行程序还是w i n d o w s 图形界面程序,或是面向下一代互 联网分布式计算平台a s p n e t 或w e b 服务应用。 从多层的角度看,n e t 平台定义了三个不同的层: ( 1 ) 表示层:a s p n e t 组件。a s p n e t 包括w e b 表单和w i n d w o s 表单,a s e n e t 可 以用v b ,c 蹲语言编写,一次编译成为中间语言格式,而不必每次解释执行。 ( 2 ) 中间业务层服务:c o m + 。c o m + 主要面向中间层业务应用程序的开发,为大 型分布式应用程序提供可靠性和易扩展性保障,这些服务是n e tf r a m e w o r k 对所提供服 务的补充,通过n e tf r a m e w o r k 可以对这些服务直接进行访问。 ( 3 ) 数据层:a d o n e t 组件。a d o n e t 为基于网络的、可扩展的应用程序提供数 3 华北电力大学硕士学位论文 据访问服务,它不仅支持传统的基于链接指针风格的数据访问,而且对于更适合于把数据 返回到客户端应用程序的无链接数据模板,它也提供高性能的访问支持。 2 、j 2 e e 平台 j 2 e e 是一个基于组件的容器模型的系统平台,其核心概念是容器。容器是指特定组 件提供服务的一个标准化的运行时环境,j a v a 虚拟机就是一个典型的容器。组件是一个可 以部署的程序单元,它以某种方式运行在容器中,容器封装了j 2 e e 底层的a p i ( a p p l i c a t i o n p r o g r a m m i n gi n t e r f a c e ) ,为组件提供事务处理、数据访问、安全性、持久性等服务。在j 2 e e 中,组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用,组件和 容器间的关系通过“协议 来定义,容器的底层是j 2 e e 服务器,它为容器提供j 2 e e 中 定义的各种服务和a p i 。一个服务器( 也叫j 2 e e 应用服务器) 可以支持一种或多种容器, 常见的容器有两个: ( 1 ) w e b 容器:包含j a v a ,s e r v l e t 和j s p 。 ( 2 ) e j b 容器:包含企业级j a v a b e a n 。 3 、n e t 平台与j 2 e e 平台的比较 从相近点来看,j 2 e e 平台和n e t 两个平台的基础构造较为相似,在底层的执行引擎 都源于托管的虚拟机概念,程序的编译都经过两个类似的过程,面向对象程序设计在两个 平台中都获得了直接的支持,两个平台都拥有一组能够为编程提供广泛服务的、可复用的 a p i 类库,都支持本地调用。 此外,两个平台都具有三层多层体系结构:在客户端,n e t 和j 2 e e 都提出了基于桌 面的应用程序和基于浏览器的w e b 应用的开发:w i n d o w sf o r m 组件与j a v a 应用、a s e n e t 与j a v as c r v l c t j s p :在中间层,n e t 组件建立在新型的c o m + 服务之上,而j 2 e e 的e j b 则是一个成熟的、得到业界广泛支持的大型企业级组件框架,两者在组件与操作系统的交 互、客户端资源共享等方面都具有很好的支持;在后端数据层,两个平台都为数据库连接 量身定做了一套数据存取模型:n e t 的a d o n e t 与j 2 e e 的j d b c ,它们在支持传统s q l 数据源的同时,也都支持新型的x m l 数据源。 从不同点来看,j 2 e e 和n e t 两个平台的差异点主要体现在可移植性和开放性两方面。 ( 1 ) 在移植性方面,微软通过n e t 通用语言运行时( c l r ) 来消除编程语言的差别, 而j 2 e e 则通过j a v a 虚拟机( m ) 来消除平台差别。跨平台是的一个主要特性,也是在 选择企业应用开发平台时的一个重要参考因素,几乎所有的主流操作系统都提供了对 j 2 e e 的支持。实际上,如果要搭建跨u n i x ,w i n d o w s 等多个操作系统平台,j 2 e e 平台几 乎是唯一的选择。 ( 2 ) 在开放性方面,j 2 e e 本身是一系列公开的规范,而不是产品,任何符合这一规 范的产品都是j 2 e e 兼容的,许多厂商如b e a ,m m ,o r a c l e 等都相继开发了符合j 2 e e 规范的产品。 本文主要是对基于j 2 e e 平台的w e b 应用进行研究。 4 华北电力大学硕士学位论文 1 3 研究目的及意义 框架在w e b 应用开发中起着重要的作用,框架是特定领域基于架构的、解决某类应 用问题的半成品,是大粒度的软件复用嘲,它为w e b 应用开发提供了一个能够使用的架构 模板和软件包,让开发者从编码中解脱出来,不必一切从头开始,自己来完成,只需将注 意力集中在业务逻辑上,从而减轻了开发者处理复杂问题的负担,提高了工作效率;其次 在应用和分析框架的基础上,可以对其进行改进和扩展,以适应实际的需求,因此框架也 为扩展和维护系统奠定了基础n 。本文研究的目的是克服j 2 e e 架构的w e b 应用解决方案 中存在的一些不足,找到符合企业级应用软件系统需求特点的开发方法;研究的意义在于, 通过集成j 2 e e 多层架构中w e b 层、业务层和持久层的三个优秀的框架,充分发挥每个框 架的优势,以实现: ( 1 ) 复用设计,以简化开发的复杂性。 ( 2 ) 复用代码,减少编码和测试时间,提高工作效率。 ( 3 ) 降低层间的耦合度。 ( 4 ) 提高系统的可扩展性、可维护性和可移植性。 这种集成框架有很强的生命力,但是发展的时间较短,还不成熟,所以应该与j 2 e e 架构的优势部分结合才能产生更好的效果。 1 4 论文组织结构 本文的结构安排如下: 第一章介绍了本文的研究背景、研究现状、研究目的及意义,同时对全文的结构进 行了介绍。 第二章介绍了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 特点及不足。 第三章针对三个开源框架的特点,提出了集成这三个框架的思想并进行了可行性分 析,最后分层详细介绍了集成框架的设计优化过程。 第四章阐述背景项目电子警察管理系统的需求分析、功能设计以及系统的总体架构。 第五章详细介绍了集成框架在电子警察管理系统中的应用过程,并对系统特点进行 了总结。 第六章总结了全文的研究内容,并展望了今后的研究工作。 5 华北电力大学硕士学位论文 第二章j 2 e e 系统结构及框架技术分析 2 1j 2 e e 系统结构 2 1 1j 2 e e 概述 j 2 e e 由s u n 公司在1 9 9 9 年6 月推出,是建立在j a v a 2 平台上的企业级应用的解决方 案。j 2 e e 融合了许多现代软件设计思想和体系结构,如面向对象技术、组件技术、分布 式技术、中间件技术、多层结构体系等。目前,j a v a 2 平台有3 个版本,它们是适合于小 型设备和智能卡的j a v a 平台m i c r o 版( j a v a 2h a t f o r mm i c r oe d i t i o n ,j 2 m e ) 、适合于桌面 系统的j a v a 2 平台标准版( j a v a 2p l a t f o r ms t a n d a r de d i t i o n ,j 2 s e ) 、适合于创建服务器应 用程序和服务的j a v a 2 平台企业版( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ,j 2 e e ) 1 1 oj 2 e e 技 术的基础就是核心j a v a 平台或j a v a 2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优 点,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n ) 、j a v as e r v i a 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 架构定义了开发和运行企业级w e b 应用的标准,它是一个规范,旨在简化和规 范企业级应用系统的开发部署,是一种利用j a v a 2 平台来简化诸多企业级解决方案的开发、 部署和管理相关的复杂问题的体系结构n 习。伴随j 2 e e 的出现,j a v a 语言的功能和工具得 到了极大的扩充、丰富和发展,可以用于复杂的、多层次的以及分布式的电子政务和企业 级应用,j 2 e e 开发架构技术为组件开发模型提供广泛的支持,同时也提供一组开发工具 和服务,以便开发模块化的、可重用的和平台独立的各种组件技术的业务逻辑。 2 1 2j 2 e e 体系结构 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据 它们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷正是为了解决两层模 式( c l i e n t s e r v e r ) 的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这 种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经 常基于某种专有的协议,通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困 难。现在j 2 e e 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多 层化应用能够为不同的每种服务提供一个独立的层,这些层是客户层、w e b 层、业务层 及企业信息系统层( e i s ) 。j 2 e e 体系结构如图2 - l 所示。 6 华北电力大学硕士学位论文 客户端w 曲层业务层企业信息系统层 r1 、 ,、厂、厂 、 浏览器 w e b 服务器 e i b 容器,一,、 、一 p u r e 【j s p1 肛扒 【e i b1 肛 扒 h t m l 数据库 ,、 、 , 、 j a v a 【e j b1 a d d l e t【j s pl 、lj ,、 【e i b 】 厂、 a p p l i c a t i o n fs e r v l e t 】 ,一、 c l i e n t 卢扒肛扒 卜叫卜叫 a p p l i c a t i o n j 2 腿脚肛 扒 p l a t f o r mp l a t f o r m 卜 叫 数据库 c l i e n t l c o n t a i n e r、l、ll 客户机j 2 匝l艮务器e i s 服务器 图2 - 1j 2 e e 体系结构图 结合上图,可以看出,一个基于j 2 e e 的企业应用从结构上可以分成四部分:分别是 客户层、w e b 层、业务层和企业信息系统层。 ( 1 ) 客户层 j 2 e e 客户层可以分为两种:w e b 客户层和应用客户层。w e b 客户层由w e b 浏览器和 动态w e b 页面两部分组成,动态w e b 页面由w e b 组件生成,w e b 浏览器则负责处理这些 页面。应用客户层通常需要具有更为丰富的图形用户界面,当然也可以是命令行形式。 w e b 客户层通常是瘦客户,它一般不进行数据库查询或业务逻辑处理等一些复杂的操作; 应用客户则可以直接访问运行在业务层的企业b e a n 组件。 ( 2 ) w e b 层 w e b 层用来接收客户层请求并返回相应的系统应答,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 组成。 ( 3 ) 业务层 作为解决或满足某个特定业务领域( 比如银行、零售或金融业) 需要的逻辑的业务代 码由运行在业务层的e j b 来执行。一个e j b 从客户程序处接收数据,对数据进行处理, 再将数据发送到企业信息系统层存储。一个e j b 还从存储中检索数据,并将数据送回客 户程序。运行在业务层的e j b 依赖于容器来为诸如事务、生命期、状态管理、多线程及 资源存储池提供通常都非常复杂的系统级代码。业务层经常被称作e j b 层。 ( 4 ) 企业信息系统层 企业信息系统层运行企业信息系统软件,这层包括企业基础设施系统,例如企业资源 7 华北电力大学硕士学位论文 计划( e r p ) 、大型机事务处理、数据库系统及其他信息系统,j 2 e e 应用组件因为某种原 因( 例如访问数据库) 可能需要访问企业信息系统。 2 2 企业级w e b 应用层次的划分 2 2 1j s pm o d e l1 在b s 模式流行之初,在j 2 e e 平台上,j s pm o d e l1 以其非常容易地结合业务逻辑 ( j s p :u s e b e a n ) 、服务端处理过程( j s p :s o i p l e t ) 和h t m l ( ) ,在j s p 页面中同时 实现显示,业务逻辑和流程控制的优点,达到快速地完成应用开发的目的。当然这种开发 模式在进行快速和小规模的应用开发时,是有非常大的优势,但是从工程化,企业级的应 用角度考虑,它也有一些不足之处:应用的实现一般是基于过程的,一组页面实现一个业 务流程,如果要进行改动,必须在多个地方进行修改,这样非常不利于应用扩展和更新。 由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在页面中没有进行抽象和分离, 所以非常不利于应用系统业务的重用和改动。考虑到这些问题在开发大型的w e b 应用时 必须采用不同的设计模式,这就是j s pm o d e l2 。 2 2 2j s pm o d e l2 j s pm o d e l2 表示的是基于m v c 模式的框架。m v c 是m o d e l v i e w c o n t r o u c r 的简写。 “m o d e l ”代表的是应用的业务逻辑( 通过j a v a b e a n 、e i b 组件实现) ,“v i e w 是应用的 表示页面( 由j s p 页面产生) ,“c o n t r o l l e r 是提供应用的处理过程控制( 一般是一个 s e r v l e t ) ,通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现n 司。 这些组件可以进行交互和重用,弥补了各自的不足,具有组件化的优点,从而更易于 实现对大规模系统的开发和管理,但是开发系统比简单的开发要复杂许多,它需要将应用 开发做层次的划分。 2 2 3 分层开发 分层开发带来的直接好处就是关注点分离,每个开发只要专注于自己一层的开发,是 开发专业质量软件的起点。在的j 2 e e 四层模型中,针对应用可以大致划分为三层,表现 层( u il a y e r ) ,业务逻辑层( b u s i n e s sl a y e r ) ,数据持久层( p e r s i s t e n c el a y e r ) 。为了减 轻开发者处理复杂问题的负担,使他们专注于业务逻辑,而不是花很多时间在与业务无关 的组织结构上,所以开源组织已经分别推出了以上三层的各自框架。 8 华北电力大学硕士学位论文 2 。3 框架分析 框架是可重用的,半完成的应用程序,可以用来产生专门的定制程序。我们开发的程 序大致上由两类性质不同的组件组成,一类与程序要处理的具体事务密切相关的业务组 件,另一类是只与程序相关的应用服务组件n 钔。比如说一个社保管理系统和一个图书管理 系统会在处理它们的业务方面存在很大的差异,这些直接处理业务的组件由于业务性质的 不同不大可能在不同的系统中重用,而另一些组件如决定程序流向的控制、输入的校验、 错误处理及标签库等这些只与程序相关的组件在不同的系统中可以很好地得到重用。于 是,把这些在不同应用程序中有共性的一些东西抽取出来,做成一个半成品程序,这样的 半成品就是所谓的程序框架n 司,再做新项目时就不必白手起家,而是可以在这个框架的基 础上开始搭建新的应用程序。框架具有以下特征: ( 1 ) 框架包括大量类或组件,每一种类或组件都提供了某种概念的抽象。 ( 2 ) 框架定义了这些抽象如何协作解决问题。 ( 3 ) 框架组件可以重用。 ( 4 ) 框架在更高层次上组织模型。 下面介绍的s t r u t s 、s p r i n g 、h i b e r n a t e 分别是构建企业级应用的表示层、业务层、数 据持久层上的框架。 2 3 1 表示层框架分析 1 、s t r u t s 框架简介 m v c 模式将事务逻辑同数据表示层分离,同时也将应用的行为( 即触发事务处理的 事件) 单独分离出来,形成模型视图控制器结构。s t r u t s 框架是一种使用j s p 和s e r v l e t 来开发w e b 层的应用框架,是m v c 设计模式的一种实现。它由一组相互协作的类、s e r v l e t 以及丰富的标记库( t a g l i b ) 组成,同时s t r u t s 也包含了独立于该框架工作的实用工具类n 叼。 s t r u t s 作为一个m v c 的框架,它对m o d e l 、v i e w 和c o n t r o l l e r 都提供了对应的实现 组件,s t r u t s 体系结构如图2 - 2 所示。 一翟卜一c 黜卜。t 印a t c 卜一鼬絮掣c s 仃u t s - e l i a l t c o n f i g ib m w s 盯 f o r w a r d 7 x m l i i tj r 、一 , 【m _ iv;咖lga卯mo;咖delr;蚰es p o n s e i j s p l 一 l 叫誊嚣“ 图2 _ 2s t r u t s 体系结构 9 华北电力大学硕士学位论文 ( 1 ) 模型( m o d e l ) s t r u t s 为m o d e l 部分提供了a c t i o n 和a c t i o n f o r m 对象,所有的a c t i o n 处理器对象都 是从s t r u t s 的a c t i o n 类派生的子类。a c t i o n 处理器对象封装了具体的处理逻辑,调用业务 逻辑模块,并且把响应提交到合适的v i e w 组件以产生响应。s t r u t s 提供的a c t i o n f o r m 组 件对象,通过定义属性描述客户端表单数据,开发者可以从它派生子类对象,利用它和 s t r u t s 提供的自定义标记库相结合,实现对客户端的表单数据的良好封装和支持。a c t i o n 处理器对象可以直接对它进行读写,而不再需要和r e q u e s t 、r e s p o n s e 对象进行数据交互。 通过a c t i o n f o r m 组件对象实现了对v i e w 和m o d e l 之间交互的支持n 刀。s t r u t s 通常建议使 用一组j a v a b e a n 表示系统的内部状态,根据系统的复杂度也可以使用像e n t i t ye j b 和 s e s s i o ne j b n 刚等组件来实现系统状态。s t r u t s 建议在实现时把“做什么”( a c t i o n ) 和“如 何做”( 业务逻辑) 分离,这样可以实现业务逻辑的重用。 ( 2 ) 视图( v i e w ) s t r u t s 应用中的v i e w 部分是通过j s p 技术实现的,s t r u t s 提供了自定义的标签库,通 过标签可以很好地与系统的m o d e l 部分交互,同时通过使用这些自定义标签创建的j s p 表单,可以实现和m o d e l 部分中的a c t i o n f o r m 的映射,完成对用户数据的封装,标签还 提供了模板定制等多种显示功能,同时,在视图层,s t r u t s 能够与v e l o c i t y 、w e b w o r k n 帕 等表示层组件相结合。 ( 3 ) 控制器( c o n t r o l l e r ) 控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果 送回到客户端。在s t r u t s 中c o n t r o l l e r 由a c t i o n s e r v l e t 和a c t i o n m a p p i n g 对象构成,核心 是一个s e r v l e t 类型的对象a c t i o n s e r v l e t ,它用来接受客户端的请求。a c t i o n s e r v l e t 包括一 组基于配置的a c t i o n m a p p i n g 对象,每个a c t i o n m a p p i n g 对象实现了一个请求到一个具体 的m o d e l 部分中a c t i o n 处理对象之间的映射。 2 、s t r u t s 框架的优缺点 采用s t r u t s 框架开发w e b 应用程序可以实现清晰的分工,网页设计人员可以只关心 视图的设计而不必了解业务逻辑和数据的操作;业务专家可以专心于系统业务逻辑的实 现。同时,s t r u t s 框架降低了模块之间的藕合度,页面的修改不会影响业务逻辑的实现, 业务逻辑的修改也很少涉及页面的修改,有利于系统的维护和升级。 j s p 标签机制的使用使开发者可从j s p 文件获得可重用代码和抽象j a v a 代码。这个特 性能很好地集成到基于j s p 的开发工具中,这些工具允许用标签编写代码。模块化是解决 问题并使问题可管理的极好方法,但是,这是一把双刃剑,在获得结构更加清晰的同时, 也增加了系统的复杂度,这就需要越多的管理。同时,s t r u t s 是一种基于j 2 e e 的m v c 解 决方案,所以必须用h t m l 、j s p 文件和s e r v l e t 来实现它,并且需要运行在支持j s p 和 s e r v l e t 规范的容器中。 在应用s t r u t s 框架的程序中只能有一个a c t i o n s e r v l e t 可以使用,这种限制会导致配置 1 0 华北电力大学硕士学位论文 部署上的困难。标记库t a g j i b 是s t r u t s 的一大优势,但对于初学者而言,却需要一个持续 学习的过程。 2 3 2 业务层框架分析 1 、s p r i n g 框架简介 s p r i n g 是一个服务于所有层面的应用框架,其目标是将各种专用框架集成成一个连贯 的整体构架。s p r i n g 框架是一个流行的开源产品,它的作用是为j 2 e e 应用常见的问题提 供简单、有效的解决方案啪1 。 s p r i n g 是一个以控制反换( i o c ) 原则和面向方面编程思想( a o p ) 为基础的轻量级 框架。i o c 是一个用于“基于组件的体系结构”的设计模式,它将“判断依赖关系的职 责移交给容器,而不是由组件本身来完成。当在s p r i n g 内实现组件时,容器“轻量级 的方面就展现出来了:针对s p r i n g 开发的组件不需要任何外部库,而且容器是轻量级的, 它避免了像e j b 容器那样的重量级方案的主要缺点,如启动时间长、测试复杂、部署和 配置困难等口1 1 。而a o p 让开发人员可以创建非行为性的关注点称为横切关注点,并将它 们插入到应用程序代码中。使用a o p 后,公共服务( 比如日志、持久性、事务等) 就可 以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 s p r i n g 既是一个a o p 框架,也是一个i o c 容器。它最大的优点是可以很容易地替换 业务对象。只要用j a v a b e a n 属性和在配置文件中加入依赖性( 协作对象) ,然后就可以很 容易地在需要时替换具有类似接口的协作对象。 s p r i n g 要提供的是一种管理业务对象的方法,具有很强的灵活性。它既是全面的又是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共卫生执业医师考试题库及备考指南
- 2025年3D浮雕造型师认证考试指南及模拟题答案
- 2025年地理信息系统工程师考试知识点详解
- 2025年电子计步器实验分析仪器项目合作计划书
- 2025年舒血宁注射液合作协议书
- 2025年润滑系统:机油滤清器项目合作计划书
- 抗酸剂与抑酸药剂课件
- 2025年酯类项目合作计划书
- 河南省新乡市原阳县2024-2025学年七年级下学期5月月考生物试题 (含答案)
- 福建省莆田市某校2024-2025学年三年级上学期第一次月考语文试题
- 物资采购材料管理办法
- 2025-2026学年沪教牛津版(深圳用)小学英语五年级上册教学计划及进度表
- 《工程制图完整》课件
- 互换性与测量技术基础总复习题与答案
- 北京工业地产工业园区调研报告
- 脑室和脑池解剖
- 英国文学各个时期介绍超全
- 先张法U型梁施工与管理
- 甲醇电气赶工措施方案
- 模拟电子技术基础华成英(课堂PPT)
- 产品质量先期策划控制程序(APQP)
评论
0/150
提交评论