(计算机应用技术专业论文)基于j2ee与组件技术的web应用研究.pdf_第1页
(计算机应用技术专业论文)基于j2ee与组件技术的web应用研究.pdf_第2页
(计算机应用技术专业论文)基于j2ee与组件技术的web应用研究.pdf_第3页
(计算机应用技术专业论文)基于j2ee与组件技术的web应用研究.pdf_第4页
(计算机应用技术专业论文)基于j2ee与组件技术的web应用研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee与组件技术的web应用研究.pdf.pdf 免费下载

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

文档简介

哈尔滨理工大学工学硕士学位论文 基于j 2 e e 与组件技术的w e b 应用研究 摘要 随着校园网建设的不断深入,校园网的内容越来越丰富,功能也越来越 强大、复杂,而且随着校园宽带的普及,学生上网人数也大幅增加,这些都 对校园网建设提出了更多、更高的要求。 本文首先比较了n e t 平台和j 2 e e 平台,阐明了j 2 e e 平台的优势,分 析了传统的两层c s 体系结构的种种弊端及三层( 多层) 体系结构的优点。 随后,对j 2 e e 平台的多层体系结构、核心服务与a p i 、e j b 组件技术以及 m v c 设计模式与s t r u t s 框架进行了简要的介绍与分析。最后,在对网上选 课系统现状进行研究的基础上,采用面向对象的思想和j 2 e e 多层体系结 构,在j b u i l d e r + w e b l o g i c + s q l s e r v e r 2 0 0 0 的整合开发环境下,结合s t r u t s 框架和设计模式,开发设计了一个网上选课系统。 该系统和用传统方法设计的选课系统相比,在诸多方面都有了改进和提 高,是一个安全可靠、高性能、易维护的系统。我相信,随着校园网建设的 不断深入,校园网功能的日益强大和复杂,用传统方法开发网络应用必将遇 到很大的困难,该系统的系统结构和设计方法为未来的校园网建设提供了一 个良好的思路。 关键词j 2 e e ;e j b ;m v c :s t r u t s 框架;选课系统;多层结构 哈尔滨理工大学工学硕士学位论文 w e ba p p l i c a t i o nr e s e a r c hb a s e do n j 2 e ea n dc o m p o n e n tt e c h n o l o g y a b s t r a c t w i t ht h ed e v e l o p m e n to fc a m p u sn e t w o r kc o n s t r u c t i o n ,c a m p u sn e t w o r k s c o n t e n t sa r em o r ep l e n t i f u l ,i t sf u n c t i o n sa r em o r ep o w e r f u la n dc o m p l i c a t e d f u r t h e rm o r e ,w i t ht h ep r e v a l e n c eo fc a m p u sn e t w o r k sb r o a db a n d ,t h en u m b e r o fs t u d e n t ss u r f i n go nt h ec a m p u sn e t w o r ki si n c r e a s i n gr a p i d l y a l lt h e s ew i l l b r i n gf o r w a r dm o r ea n dh i g h e rd e m a n d so n t h ec o n s t r u c t i o no fc a m p u sn e t w o r k t h i sd i s s e r t a t i o nf i r s tc o m p a r e s n e ta n dj 2 e ep l a t f o r m ,i l l u s t r a t e st h e a d v a n t a g eo fj 2 e e ,a n a l y s e s t h e s h o r t c o m i n g s o ft r a d i t i o n a lt w o t i e rc s a r c h i t e c t u r ea n dt h em e r i t so fm u l t i - t i e ra r c h i t e c t u r e 1 1 1 e n i n t r o d u c e sa n d a n a l y s e sj 2 e e sm u l t i - t i e ra r c h i t e c t u r e ,a p i s ,e j bc o m p o n e n tt e c h n o l o g y , m v c d e s i g np a u e r ua n ds t r u t sf r a m e w o r k f i n a l l y , b a s e do nt h er e s e a r c ho nt h e a c t u a l i t y o fc o u r s es e l e c t i o ns y s t e m ,a d o p t i n go b j c o t o r i e n t e d t h i n k i n g a n d j 2 e e sm u l t i - t i e ra r c h i t e c t u r e ,i nt h ei n t e g r a t e dd e v e l o p m e n te n v i r o n m e n to f j b u i l d e r + w e b l o g i c + s q l s e r v e r 2 0 0 0 ,c o m b i n i n gs t r u t sf r a m e w o r ka n dd e s i g n p a a e m s ,d e s i g n s ac o u r s es e l e c t i o ns y s t e m t h i ss y s t e mh a si m p r o v e m e n t si nm a n ya s p e c t sc o m p a r e dw i t hs y s t e m s d e s i g n e db yt r a d i t i o n a lm e t h o d s ,i ti ss e c u r e ,h i g h - p e r f o r m a n c ea n dm a i n t a i n a b l e s y s t e m ib e l i e v e ,w i t ht h ed e v e l o p m e n to fc a m p u sn e t w o r ka n dc a m p u s n e t w o r k sf u n c t i o n sb e i n gm o r ep o w e r f u la n dc o m p l i c a t e d ,d e s i g n i n gw e b a p p l i c a t i o n sb yt r a d i t i o n a lm e t h o d sw i l lc e r t a i n l ye n c o u n t e rm a n yd i f f i c u l t i e s ,t h e a r c h i t e c t u r ea n dd e s i g nm e t h o d so ft h i ss y s t e mp r o v i d eag o o di d e af o rt h e c o n s t r u c t i o no fc a m p u sn e t w o r ki nt h ef u t u r e k e y w o r d sj 2 e e ;e j b ;m v c ;s t r u t sf r a m e w o r k ;c o u r s es e l e c t i o ns y s t e m ;m u l t i t i e r a r c h i t e c t u r e - i i 啥尔滨理工大学工学硕士学位论文 1 1 课题背景 第1 章绪论 随着网络技术的高速发展,信息高速公路已经把世界紧密地联系在一起, 企业已经不在只是某一独立的生产环节,而是供应链中众多环节中的一环。而 且经济全球化的发展,使得跨国企业的数量日益增多。地理上分布全球各地的 企业比比皆是。新型的信息系统不仅需要支持局域网下各个部门应用,更要建 立基于i n t e r n e t 的企业间信息交互和资源共享。 因此,构建新型的企业信息系统不仅需要有效利用信息资源,与遗留系统 有机结合,还要考虑到系统内部事务执行的可靠性,数据的安全性,系统随业 务的变化所必需应对的可扩展性。关于企业级应用的系统结构,传统的客户 服务器系统是基于二层结构的,其中在数据层和表示层之间有着清晰的边界。 这类应用一般都是数据驱动,应用运行在客户端,并且在企业中会配置一个数 据库服务器。这里存在了许多问题:其一,处理负载都位于客户端上,服务器 仅充当了应用程序和数据间的传输控制器。不仅应用程序受客户端p c 资源限 制,而且网络流量也增加了;其二,系统对于应用环境变化的承受能力很低, 应用程序的修改,分发,部署,都很麻烦。 为了解决上述这些问题,业界提出了三层体系结构的概念,应用层被划分 成几个相互隔离的逻辑层。每一逻辑层都定义好一套接口集。第一层,也就是 表示层,主要由界面友好的用户部分组成;中间层,即业务层,由应用逻辑和 业务逻辑组成;第三层,数据层,包括应用程序所需要的数据。从用户界面中 分离出应用逻辑,极大地增强了应用程序设计的灵活性。在应用逻辑对表示层 提供了一套定义清晰的接口的情况下,甚至不用改变逻辑部分- 就可以建立和 分发多种用户界面。第三层包含的数据可以由不同信息源组成,可以是像 o r a c l e 和m s s q l s e r v e r 等数据库,也可以是x m l 文档,还可以是l d a p 服务器,还有企业遗留系统中的存储信息。在三层结构的基础上,人们又进一 步提出n 层体系结构。 在这种多层体协结构的基础上,为了便于划分工作内容、增强应用组件的 可复用性,还可以引入m v c 设计模式,即模型视图控制器( m o d e l v i e w - c o n t r o l l e r ) 模式,它把数据模型与如何表示信息的部分视图分离出来。它们两 哈尔滨理工大学工学硕士学位论文 者之间是由应用业务逻辑控制器来控制信息流向。至此,所讨论的内容只局限 于单个应用。在多个应用中间,许多信息驱动的业务流程,比如订单驱动生产 等,要求应用中引入消息驱动的机制。异构应用系统间的业务交互需要建立基 于x m l 消息传递的松散耦合体系。这些新的需求都是新的应用平台所必须满 足的【1 2 】。 1 2 现状 近年来,随着i n t e r n e t i n t r a n e t 的飞速发展,新一代的开发平台不断出。 作为彼此竞争的应用程序平台,微软的n e t 开发平台和s u n 的j 2 e e 在意图和体 系结构方面相似,但底层实现完全不同。s u n 公司自1 9 9 9 年开始推出j 2 e e ( j a v a 2 企业版) 规范,旨在为使用j a v a 构建企业系统提供标准平台和开发环 境,客户不需要对唯一专用平台进行投资,其开放、健全的体系很有可能成为服 务器端的标准平台【l ”。而m i c r o s o f t 在2 0 0 0 年6 月提出新一代i n t e r n e t 的开发 平台m i c r o s o f t n e t ,其底层以x m l ( 可扩展标注语言) 作为数据交换的基 础。因x m l 是一种与平台、语言和协议无关的格式描述和交换数据的广泛应用 标准,故打破了不同网络、不同应用软件和不同种类计算机设备之间的差别,使 商务活动能够发挥协同效应,从而提供了一个空前集成化和用户化的解决方案, 其用户可在任何时间、任何地点及设备上对信息进行处理。 1 2 1 n e t 平台 m i c r o s o f t 把n e t 定义为其下一代商业平台。实际上,n e t 是一个产品、 框架、服务和概念的组合,旨在为常规的或以w e b 服务来部署软件提供技术基 础结构【”】。一般可以把n e t 分为几个部分: ( 1 ) n e tf r a m e w o r k 。 n e tf r a m e w o r k 是n e t 最重要的一部分,它用于建立、部署以及运行x 札 w e b 服务和其他应用程序的编程模型。f r a m e w o r k 由两个主要组件构成:公共语 言运行环境( c o m m o nl a n g u a g er u n t i m e ,c l r ) ,它为开发、部署和执行应用 程序提供引擎:统一类( u n i f i e dc l a s s e s ) ,它涵盖了系统函数、数据访问、组 件模型、事务处理以及其他服务。 ( 2 ) n e t 产品 n e t 产品包括开发工具、n e t 服务器和智能客户机设备等。 开发工具主要是指v i s u a ls t u d i o n e t ( v s n e t ) ,在v i s u a ls t u d i o n e t 哈尔滨理工大学工学硕士学位论文 上的中介语言是主要的n e t 策略。它将所有的v s n e t 上的语言转换为共同的语 言,叫做m s i l 。通过m s i l 的转换,其他的厂商可以制作与v s n e t 相容的语言。 m i c r o s o f t 将n e t 服务器定义为中间件,用于将软件传送为服务,涵盖了 与应用程序部署、集成和数据存储有关的功能,它是一群外挂伺服器,提供了 特殊的企业级的服务。 ( 3 ) n e t 服务 n e t 服务是m i c r o s o f t 建议的个性化w e b 服务的商业实现,它是用n e t 技 术设计的。 1 2 2j 2 e e 平台 j 2 e e ( j a v a2p 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 标准的产品有b e a 公司的w e b l o g i c ,s u n 公司的 n e t d y n a m i c s ,i b m 的w e b s p h e r e ,还有包括著名数据库厂家i n f o r m i x ,o r a c l e , s y b a s e 在内的上百个产品。它们基本上都是应用服务器产品,因此j 2 e e 平台通 常指的是应用服务器的平台。j 2 e e 平台的主要特性如下: ( 1 ) 面向对象的编程语言 j 2 e e 平台是建立在j a v a 语言基础上的,j a v a 是真正面向对象的语言,具有 丰富的数据类型和强大的功能,能完成几乎任何复杂的功能,这是一般w e b c g i 编程语言所无法比拟的。 ( 2 ) 平台独立的特性 j 2 e e 平台独立的特性包括两个方面,一是j a v a 语言本身的平台独立性,二 是j 2 e e 标准的平台独立性。j a v a 是一个跨平台的语言,在任何平台上,只要有 j a v av i r t u a lm a c h i n e ,就能在不同平台上执行同一个j a v a 程序。另外,j 2 e e 标准的平台独立性使得任何符合j 2 e e 标准的应用服务器之间可以共用标准的组 件。 ( 3 ) 高性能的服务器端编程语言 j a v a 以前给人的印象是功能强而性能较差的解释执行语言,实际上从j a v a 1 2 开始,特别是j a v a1 3 ,性能有了飞跃,即时编译技术( j u s ti nt i m e j i t ) 使j a v a 的执行效率大大提高。 ( 4 ) j 2 e e 提供了标准的系统框架和服务 j 2 e e 平台提供了事务处理、对象生存控制、状态维持、并发控制、安全检 测、资源共享等系统服务。需要这些服务的代价并不高,不用编程,而只要通 哈尔滨理工大学工学硕士学位论文 过简单的配置即可。这使电子商务开发者从繁琐的系统设计中解脱出来,将精 力主要集中于商业逻辑上,提高应用的质量和加快开发的速度1 1 4 】。 标准化的框架结构是以分布式的多层应用体系为基础,使j 2 e e 应用天然就 具有可扩充性和可维护性。在系统的任意层面中可以增加新的功能,而不影响 原有的系统,这种优点是平时需要花大量的设计、实现才能达到的,而使用 j 2 e e 平台可自然获得。 1 2 3 n e t 平台与j 2 e e 平台的比较 目前,在i n t e r n e t i n t r a n e t 环境中,企业级应用系统大多采用三层或多 层应用模式。为了方便开发、部署、运行和管理基于多层结构的应用,需要以 网络和分布式计算的底层技术为基础,构建个完整的应用框架,提供相应的 支撑平台作为多层应用的基础设施。基于 2 e e 的解决方案和基于m i c r o s o f t n e t 的解决方案在应用能力上各有千秋,选择哪一种要根据各企业所注重的应 用特点【旧。 下面两表从性能和对分布式技术的支持两个方面进行了比较。 表i - 1 对分布式技术的支持 t a b l e1 1s u p p o r tt od i s t r i b u t e dt e c h n o l o g y 分布式技术j 2 e e 平台n e t 平台 c o r b a 支持不支持 r m i ii o p支持不支持 c o m +不支持支持 x l l - r p c支持不支持 s o a p支持支持 表卜2 性能比较 t a b l e1 2c o n t r a s to fp e r f o r m a n c e 性能j 2 e e 平台n e t 平台 易用性 丰木半半木 扩展能力 半丰 珠木 多平台支持 术木术 球 多语言支持 采 半丰半木 可靠性 料 , 木爿c 术 可管理性 料木木术木 啥尔滨理工大学工学硕士学位论文 可重用性 书水木术木木 负载平衡 料木 爿c 丰木 开放标准 水木丰木爿c 7 木 通过多方面比较j 2 e e 与。n e t 平台,我们可以从以下若干方面总结j 2 e e 的 优势所在,这为我们选择j 2 e e 平台提供了坚实的理论基础。 ( 1 ) 业界支持 j 2 e e 是由s u n 引导,各厂商共同发起的i b m ,b e as y s t e m s ,o r a c l e 都有 参与。在j 2 e e 规范制定阶段让供应商参与进来,能够吸收他们在企业计算领 域多年来的成熟经验,推动他们迅速开发出j 2 e e 产品;采用开放的协作制定 规范,也体现了众多企业计算领域供应商的知识和专业技术,能够满足任何商 业需求。 ( 2 ) 保护已有的i t 投资 j 2 e e 拥有广泛的业界支持和一些重要的“企业计算”领域供应商的参与。 每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的j 2 e e 领域的升级途径。因此,j 2 e e 架构可以充分利用用户原有的投资,如一些公司 使用的b e at u x e d o ,i b mc i c s 以及n e t s c a p ea p p l i c a t i o ns e r v e r 。 ( 3 ) 保护未来的i t 投资,适应变化 j 2 e e 能让一个公司具有更强的适应变化的能力。如果客户的j 2 e e 应用程 序设计良好,并能符合标准,这个系统可以随着时间的推移通过更换底层中间 件、操作系统或硬件来进行缩放,却不会显著地更动应用程序。 ( 4 ) 可伸缩性 基于j 2 e e 平台的应用程序可被部署到各种操作系统上。例如可被部署到 高端u n i x 与大型机系统,这种系统单机可支持6 4 至2 5 6 个处理器。j 2 e e 领域 的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服 务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未 来商业应用的需要。 ( 5 ) 长期的可用性 j 2 e e 被部署到可靠的操作环境中,他们支持长期的可用性。最健壮的操作 系统可达到9 9 9 9 9 的可用性或每年只需5 分钟停机时间,这是实时性很强的 商业系统理想的选择。 ( 6 ) 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不 哈尔滨理工大学工学硕士学位论文 依赖任何特定操作系统、中间件、硬件,因此设计合理的基于j 2 e e 的程序只 需开发一次就可部署到各种平台,从而真正实现了“编写一次,随处运行”的 概念。 。 ( 7 ) 可维护性 基于j 2 e e 平台的产品支持更广泛的组件类型和中间件服务,可以让开发 人员投入精力在急待解决的商业问题而不是中间件上。开发人员利用底层平台 构造灵活、易维护的企业系统,这类系统不用作很大调整就可以适应新的中间 件、数据库或数据库规划。 通过对j 2 e e 和n e t 的比较可以看出,j 2 e e 在扩展能力、多平台支持、 重用性、开放标准以及对分布式技术的支持方面比n e t 有优势,很好地满足 了基于i n t c m e t w e b 的服务模式对分布性、开放性和平台无关性的要求。同 时,j a v a 在互联网上将近十年的广泛应用,使其在健壮性、安全性、组件化等 方面也更为成熟。 1 3 论文的研究目标 随着全球信息化技术的兴起,特别是计算机网络的日益普及,我国各大中 专院校也加快了信息化进程,并且都建立了自己的校园网。这为我们网络现代 化教育提供了必备的物质基础。同时,伴随着素质教育的不断推进,很多大学 都陆续采用了学分制,大学生们都可以自由选择自己感兴趣的课程。 现在实行的选课方式有两种:基于c s 方式的选课方式和基于b s 方式采 用动态网页技术的选课方式【1 7 】。c s 方式需要在机房安装客户端软件,学生只 能在固定地点完成选课,这样,不但选课的地点集中,同时选课的时间也比较 集中,对选课的管理造成了很大的压力,浪费了大量的人力、物力,也给学生 带来了极大的不便,而且一旦需要修改选课系统,客户端软件也需要全部重新 安装。采用动态网页技术的b s 方式克服了c s 方式的缺点,选课学生可以在 学校规定的选课期间通过任何一台与校园网相连的计算机上进行选课操作,极 大的方便了选课过程,同时也节约了选课的人力和物力,该方式采用动态网页 ( a s p 或j s p ) 直接访问数据库的方法进行设计,直接访问数据库存在安全和 性能问题,而且由于业务逻辑和表示逻辑混合在动态网页中没有进行抽象和分 离,一个小的改动就会引起一系列的修改,非常不利于业务逻辑的重用和扩 展。 本论文希望利用j 2 e e 平台多层体系结构的优势,并进一步结合s t r u t s 框架 哈尔滨理工大学工学硕士学位论文 和设计模式的理念,开发设计一个网上选课系统,以克服上面两种传统设计方 法的弊端,满足校园网信息化建设的需要,同时也为校园网未来的建设提供一 个良好的思路。 哈尔滨理工大学工学硕士学位论文 第2 章网络应用的多层体系结构与j 2 e e 平台技术 2 1 多层体系结构 2 1 1 传统的两层体系结构 传统的两层c s ( 客户服务器) 体系结构是一种典型的分层软件体系结构 ( 见图2 1 ) 。它把系统分为客户、服务器两部分,在服务器端存储数据库、表 及数据,而在客户端安装程序代码和相关支持软件。 图2 - 1 客户服务器体系结构 f i g u r e2 - 1c l i e n t s e r v e ra r c h i t e c t u r e 客户一服务器体系又分为两种: 瘦客户胖服务器方式:数据计算与数据集中在数据库服务器端,数据 库服务器端是这种系统的瓶颈,当接入的用户较多时,会发生通讯堵塞,系统 性能也急剧下降,无法适应多用户的需要。 胖客户瘦服务器方式:数据计算与数据处理集中在客户端,这样加大 了网络负荷,影响了业务处理速度,而且客户端p c 机的多样性,使如何有效 管理整个系统,并不断予以更新成为一个新的“瓶颈”。 客户一服务器体系的优点在于应用与数据的分离,并且由于数据在服务器 上保存,保证了数据的唯一性。但基于客户一服务器体系开发的应用系统也有 一些方面尚不够完善,不能适应不断增长的多方面需求【l 】,主要体现以下几 点: ( 1 ) 对操作系统的依赖性强,不同操作系统之间数据交流困难: 哈尔滨理工大学工学硕士学位论文 ( 2 ) 用户界面风格不统一; ( 3 ) 系统开发难度较大; ( 4 ) 当客户数量达到一定数量时,系统的维护工作量变大,例如:所有客 户都得安装相应的数据库驱动程序; ( 5 ) 扩充性差,不能兼容原有系统,用户的投资不能得到保护。 同时,这种体系也不方便利用己成为发展趋势的i n t e m e t 网和w w w 浏 览器。因此,需要一种新的方式来取代它。 2 1 2 三层( 多层) 体系结构 为了克服两层c l s 体系结构的种种弊端,三层( 多层) 体系结构应运而 生。在三层模型中,在客户机与服务器之间引入了业务逻辑层( 中间层) ,将 业务逻辑由客户端转移到处于中间层的应用服务器上,而客户机则由胖客户机 弱化为瘦客户机。与传统的c s 结构相比,三层体系结构的应用系统把业务逻 辑独立出来,形成了一种新的由表示层、业务逻辑层和数据层构成的三层体系 结构,如图2 2 所示: 表示层 业务逻辑层 数据层 ( a ) c s i s 体系结构 ( a ) c s $ a r c h i t e c t u r e 表示层 业务逻辑层 数据层 w e b 浏览器 n 1w 曲服务器 n l 数据库系统 ( b ) b s i s 体系结构 嘞b i $ sa x c h i t e c t u r e 图2 - 2 三层体系结构 f i g u r e2 - 2t h r e e = t i e r8 r c h i t e c t u r e 由上图可知,三层体系结构有c l s s 和b s i s 两种结构形式。 ( a ) c s i s 结构 c s i s 结构的客户端一般为应用程序,通过网络向应用服务器发送请求, 应用服务器接受请求后生成相应的s q l 语句并通过数据库接口访问数据库,最 后把结果通过网络返回给客户端。 哈尔滨理工大学工学硕士学位论文 c s s 结构一般建立在专用的、小型的网络环境上,一般面向相对固定的 用户群,对信息安全的控制能力很强,高度机密的系统采用c s s 结构比较适 宜。 ( b ) b s s 结构 b s s 结构的用户界面为几乎每台电脑上都内嵌的w e b 浏览器,客户端采 用不断成熟的w e b 技术下载应用并在浏览器上执行。它的一部分事务逻辑在前 端实现,但主要的事务逻辑在服务器端实现。 与c s s 结构相比,b s s 结构具有界面统一,操作简便,易于维护,扩 展性好,信息共享度高,具有良好的广域网支持特性,对前端客户端数量没有 限制等优点,已越来越多地被用来进行大型系统的开发【3 】。本文中的网上选课 系统就是采用b s s 结构进行开发的。 然而,对应用的层次划分还没有终止,特别是在企业级的应用中,可能常 常需要创建n 层体系结构的应用。在n 层系统中要较快地定义各个应用层并不 容易。实际上,一个n 层结构能够支持多种不同的配置,在n 层结构中,应用 逻辑的划分是根据功能不同而不是根据物理方面来进行的。 n 层结构的划分方式如下: ( i ) 用户接口层 负责处理用户与应用程序之间的交互过程。它可以是一个通过防火墙运 行的w e b 浏览器,也可以是一般的桌面应用程序,甚至还可以是无线设 备。 ( 2 ) 表示逻辑层 定义了用户界面要显示的内容和如何处理用户的请求( 根据所支持的是 什么样的用户接口) 。对于相应的客户,表示逻辑层版本会有相应的不 同。 ( 3 ) 业务逻辑层 通过与应用数据打交道,对应用的业务规则实施建模。 ( 4 ) 基础框架服务层 提供了应用系统需要的其他功能,如传输消息、事务支持等等。 ( 5 ) 数据层 存放企业的应用数据。 基于这种结构的应用程序采用了模型一视图一控制器( m o d e l v i e w c o n t r o l l e r ,m v c ) 模式,采用这种模式的目的是要把数据( 模型) 与如何表 示信息的部分( 视图) 分离出来,它们之间是由应用业务逻辑( 控制器) 来 哈尔滨理工大学工学硕士学位论文 控制信息的流向。通过这种模式,就能设计出基于三种相互交互的功能组件 ( 模型一视图一控制器) 的应用程序。 在我们的项目中,采用的是s t r u t sf r a m e w o r k 来开发我们的w e b 应用程 序。s t r u t sf r a m e w o r k 是一种基于j a v a 的技术,s t r u t s 提供了一种创建w e b 应用程序的框架,它是对m v c 设计模式的一种实现。在后面的章节中,我将 详细介绍s t r u t s 在项目中的具体实现。 2 1 3 多层体系结构的优势 三层( 多层) 体系结构具有如下优势: ( 1 ) 优化了系统结构:将系统分为三层( 或多层) ,业务逻辑放在应用服务 层,软件的维护集中在应用服务层,客户端的维护就相对简单多了, 有利于软件维护及系统管理。 ( 2 ) 提高了应用系统的安全性:将客户端与数据库隔离起来,客户端无权 限直接访问数据库,有利于安全管理,可有效防止恶意攻击。还可以 利用中间件的安全管理特性迸一步加强权限控制管理。 ( 3 ) 便于业务( 事务) 级权限管理:三层结构应用中可划分出业务( 事务) 级 权限,一种业务一个服务程序( s e r v i c e ) ,利用中间件的安全管理对其 进行访问控制。数据库的权限只分为对表( 或表中的列) 的插入 ( i n s e r t ) 、删除( d e l e t e ) 、修改( u p d a t e ) 、查询( s e l e c t ) 权限,它属 于数据库表级的权限,而实际应用中往往以业务( 事务) 为主线,也就 要求对业务( 事务) 实现权限控制,三层结构应用可以方便地对客户端 实现事务权限管理控制。业务( 事务) 级权限控制的引入丰富和方便了 权限控制与管理,实际上两层应用体系结构中可通过存储过程类似地 实现业务( 事务) 级权限控制,但采用三层应用体系结构实现业务( 事务) 级权限控制更加灵活、方便、实效。 ( 4 ) 卓越的扩展能力:若要提高系统性能、处理速度,可增加应用服务 器,分担一部分应用服务工作即可,而原来的应用服务器几乎可以不 动。 ( 5 ) 减少网络数据流量和提高数据库响应速度:基于w e b 的三层应用体系 结构中,应用服务层的引入有效地解决了网络瓶颈和数据库连接数过 多引起数据库性能下降的问题。应用服务层往往有多台服务器,可有 效地解决客户机访问服务层瓶颈。应用服务器与数据库服务器( 物理距 哈尔滨理工大学工学硕士学位论文 离很近) 可方便地采用宽带网连接,不会产生与数据库服务层网络瓶 颈。 ( 6 ) 提高系统性能:基于w e b 的三层应用体系结构能更好地调整应用体 系,还可利用中间件的特点来选择路由、平衡负载,提高整个系统的 性能。 ( 7 ) 保护现有投资:原有性能较差的设备( 微机、小型机) 均可发挥作用。 大量复杂计算的工作均可放在应用服务器上( 可由多台小型机组成) , 对硬件要求不是很高,客户机只做用户输入与显示,原有微机即可。 采用多层应用体系结构后整个系统性能有很大的提高,也不会造成原 有系统资源浪费。 总的来说,三层( 多层) 应用体系结构使应用系统的性能、安全性、扩展 性有了大的提高,也方便了系统的维护和管理【2 0 】。 2 2j 2 e e 平台技术 2 2 1j 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 公司在1 9 9 9 年j a v a o n e 大会上推出的一种全新概念的模型,与传统的互联网应用程序模型相比有 着不可比拟的优势。 j 2 e e 是一种利用j a v a2 平台来简化诸多与多级企业解决方案的开发、部 署和管理相关的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或 j a v a2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一 次、到处运行”的特性、方便存取数据库的j d b ca p i ,c o r b a 技术以及能够在 i n t e r n e t 应用中保护数据的安全模式等等,同时还提供了对e 5 8 ( e n t e r p r i s e j a v a b e a n s ) ,j a v as e r v l e t sa p i ,j s p ( j a v as e r v e rp a g e s ) 以及) 眦技术的 全面支持。j 2 e e 使用了e j bs e r v e r 作为商业组件的部署环境,在e j bs e r v e r 中提供了分布式计算环境中组件需要的所有服务,例如组件生命周期的管理、 数据库连接的管理、分布式事务的支持、组件的命名服务等等。有些企业级的 e j bs e r v e r ,例如b e a 公司的w e b l o g i c6 还提供了支持高可用性和高性能的 群集技术、失败的自动转移和恢复、应用负载的自动均衡能力等。实现商业逻 辑的e j b 组件可以更加高效地运行在应用服务器中,支持多种客户端的访问, h t t p 的客户端可以先向运行在w e bs e r v e r 上的j a v as e r v l e t s 或者j s p 发出 哈尔滨理工大学工学硕士学位论文 请求,在j s p 中嵌入j a v a 的代码调用运行在e j bs e r v e r 中的e j b ,以实现商 业逻辑;而其他的客户端,可以通过i i o p 直接访问运行在e j bs e r v e r 中的组 件【4 】。 2 2 2j 2 e e 的核心技术 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成,它 对开发企业的多层应用提供了全面的功能支持,下面对j 2 e e 中的1 3 种技术规 范【2 l j 进行简单的描述: ( 1 ) 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 1 ) b ca p i 为访问不同的数据库提供 了一种统一的途径,象o d b c 一样,j d b c 对开发者屏蔽了一些细节问题。另 外,j d b c 对数据库的访问也具有平台无关性。 ( 2 ) j n d i ( j a v an a m e a n dd i r e c t o r yi n t e r f a c e ) :i n d ia p i 被用于执行名字 和目录服务。它提供了一致的模型来存取和操作企业级的资源如d n s 和l d a p , 本地文件系统,或应用服务器中的对象。 ( 3 ) e j b ( e n t e r p r i s ej a v a b e a n ) :j 2 e e 技术之所以赢得媒体广泛重视的原因之 一就是e j b 。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著 地简化了具有可伸缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如 目录服务、事务管理、安全性、资源缓冲池以及容错性。在后面的章节中将对 e j b 组件技术进行详细的介绍和分析。 ( 4 ) r m i ( r e m o t em e t h o di n v o k e ) :正如其名字所表示的那样,r m i 协议调用远 程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。r m i 是一 种被e j b 使用的更底层的协议。 ( 5 ) j a v ai d l c o r b a :在j a v ai d l 的支持下,开发人员可以将j a v a 和c o r b a 集成在一起。他们可以创建j a v a 对象并使之可在c o r b ao r b 中展开,或者他 们还可以创建j a v a 类并作为和其它o r b 一起展开的c o r b a 对象的客户。后一 种方法提供了另外一种途径,通过它j a v a 可以被用于将你的新的应用和旧的 系统相集成。 ( 6 ) j s p ( j a v as e r v e rp a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代 码所组成。服务器在页面被客户端所请求以后对这些j a v a 代码进行处理,然 后将生成的h t m l 页面返回给客户端的浏览器。 ( 7 ) j a v as e r v l e t :s e r v l e t 是一种小型的j a v a 程序,它扩展了w e b 服务器的 哈尔滨理工大学工学硕士学位论文 功能。作为一种服务器端的应用,当被请求时开始执行,这和c g i 、p e r l 脚本 很相似。s e r v l e t 提供的功能大多与j s m 类似,不过实现的方式不同。j s p 通 常是大多数h t m l 代码中嵌入少量的j a v a 代码,而s e r v l e t s 全部由j a v a 写成 并且生成h t m l 。 ( 8 ) x h i l ( e x t e n s i b l em a r k u pl a n g u a g e ) :x 3 1 l 是一种可以用来定义其它标记语 言的语言。它被用来在不同的商务过程中共享数据。) a 几的发展和j a v a 是相互 独立的,但是,它和j a v a 具有的相同目标正是平台独立性。通过将j a v a 和 x m l 的组合,可以得到一个完美的具有平台独立性的解决方案。 ( 9 ) j m s ( j a v am e s s a g es e r v i c e ) :j m s 是用于和面向消息的中间件相互通信的 应用程序接口( ( a p i ) 。它既支持点对点的域,又支持发布订阅 ( p u b l i s h s u b s c r i b e ) 类型的域,并且提供对下列类型的支持:经认可的消息传 递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。j m s 还提供 了另一种方式来对您的应用与旧的后台系统相集成。 i o ) 3 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 定义了一种标准的a p i ,应 用系统由此可以访问各种事务监控。 ( 1 1 ) 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 a0 t s 事务监控的基本的 实现。j t s 规定了事务管理器的实现方式。该事务管理器是在高层支持j a v a t r a n s a c t i o na p i ( j t a ) 规范,并且在较底层实现0 m go t ss p e c i f i c a t i o n 的 j a v a 映像。j t s 事务管理器为应用服务器、资源管理器、独立的应用以及通信 资源管理器提供了事务服务。 ( 1 2 ) j a v a m a i l :j a y a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件 服务器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。 ( 1 3 ) j a f ( j a v a b e a n sa c t i v a t i o nf r a m e w o r k ) :j a v a m a i l 利用j a f 来处理 m i m e 编码的邮件附件。m i m e 的字节流可以被转换成j a v a 对象,或者转换自 j a v a 对象。大多数应用都可以不需要直接使用j a f 。 2 2 3j 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 公司定义的一个开 发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列 开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层 次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运 行,容器间通过相关的协议进行通讯,实现组件间的相互调用【5 1 。 哈尔滨理工大学工学硕士学位论文 图2 - 3j 2 e e 的三层体系结构 f i g u r e2 - 3j 2 e e st h r e e - t i e ra r c h i t e c t u r e j 2 e e 的三层体系结构如图2 - 3 所示: ( 1 ) 表示层 表示层用来实现企业级应用系统的操作界面和显示层。另外,某些客户端 程序也可实现业务逻辑。该层可分为基于w e b 的和非基于w e b 的客户端两种情 况。基于w e b 的情况下,主要作为企业w e b 服务器的浏览器。非基于w e b 的客 户端层则是独立的应用程序,可以完成瘦客户机无法完成的任务。 j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的。 在基于w e b 的j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载w e b 层中的静态h t m l 页面或由j s p 或s e r v l e t s 生成的动态h t m l 页面。 在非基于w e b 的j 2 e e 应用程序中,一个独立的客户程序,可以不运行在 一个h t m l 页面

温馨提示

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

评论

0/150

提交评论