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

(计算机应用技术专业论文)基于j2ee与uml的web多层应用体系研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 w 曲应用系统是互联网技术推广以来发展最快的一种应用系统,基于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 应用系统开发方式进行深入研究的基础上,对使用u m l 统一 建模语言对软件建模的过程进行摘取,利用u m l 的扩展机制,扩展了u m l 的建 模范围,使之能够方便地对基于j 2 e e 的w e b 应用系统进行建模。通过u m l 建模 的指导,明确了w e b 应用系统的需求。规范了j 2 e e 开发过程,降低了系统开发 的复杂度,加快了从概念模型到设计实现的进程,从而探索出一条对大型企业级 w e b 应用系统的建模之路。同时在使用j 2 e e 技术架构实现系统时引入了基于m v c 模式的s 妞l t s 架构,简化了实际的开发过程。 最后通过一个简单的基于j 2 e e 的图书管理信息系统,展示了运用u m l 对整 个系统建模的一般过程。 文章的最后对本文主要完成的工作做了总结,提出了研究的不足之处和对今 后研究的展望。 关键词:w 曲应用系统:j 2 e e im v c :s 打u t s :u m l : 基于j 2 e e 与u m l 豹,曲多层应用体系研究与应用 a b s t r a c t w i 也也ed 州l o p m 咖o fb l 锄利h 魄n e tt c c l l i l o l o 鲥,m o 托锄d l o f cw 岳b a p 科i c 撕o n sa 阳q u i f c d a p p l i 酬o ns y g t 馓s b a s co w 曲h a sb e c o m em e d o 血n a t i n g m o d e lf o rm ec o m p u t e ra p p l i 训o ns y g t e m j 2 e ea i - c h i t 跏f ep r 0 v i d e sat e c h n j c a l p l a t f o r m 耐t l lr e l i a b l ep e r f b n n a n c ea l l dg o o ds e r v i c e sf o rw 曲印p 1 沁a t i o ns y s t e m b m 砒ht h cl l i g k s p e e d 洲o p m go ft h cw 曲印p l i c a 土i o ns y s t e n l ,m o s to ft 鼍l 咖 a r el l s e dt od e v e l o pt h cl a 硌e s c a l ee n t e 印r i s es y s l e m m e 盟w h i l e ,t h e 矗d d st h a li l i i l v o l w = di i la 心b e c o m i n gb r o 鲥b f ,锄dm eh i g h c rc o m p l e ) 【i t ) ,o fw 曲a p p l i c 撕o n s y s t e ma r ei n c u r r e d t 1 1 i sm e a n sb u i l d i n gaw 曲印p l i c a t i o ns y s t e mo n l y 诵m t 1 1 ep u r e j 2 e et e c h n i q u e 诵l lb en 腓d i c m t s ow en e e dt 0f i n dan e ww a yt od e v e l o p 也e l a r g e - s c a l ew 曲a p p l i c a 血ms y s t e n l t 钲sp a p e rm a k e s 髓i n 出崔烛s t u d yo nt h ed e v e l o p i n gs l y l eo fw 曲a p p l i c a t i o n s y s t e m 卸dc x t r a m s 也es o f t 、v a r cm o 曲l i n gp m s sb 嬲e do nu m l b yu s i n gu m l e x t e n s i o nm e c h 趴i s m ,i te x t e n d s 廿l eu m lm o ( i e ls c o p e ,f h c i l i t a t e s 协em o d e i i n go f t h e w e ba 坤l i c a t i o ns y s t e mb 船耐o nj 2 e e ,舶a k e st h er e q 试f e m e n to fw 曲a p p l i c a t 硒 s ”劬c l e 缸,删a i d i 勰st l l ej 2 e ed e v e l o p m e n tp r o c e 辎,l o w e r s 也ed e v e l o p i n g c o m p l e x i t y ,s p e e d su pt h ec o u r s e 矗d mc o n c q 雏i n o d e lt 0d e s i g ni i l l p k m e r 蜥o i l , e x p l o f e sar o a dt 0l a r g e - s c a l ee n t e f p f i w 曲a p p l i c 砒- 0 ns y g 蛐m e m w h i l e ,i te m p i o y s j 2 醯砌i t e c 似托t oi m p l e m e n tt h es y s t e m 、) v i ms 仃m s 眦h i t e c t w eb a s e do nm v c p 茁毗e ma n ds i m p l i f y 也ep i o c e s so f d e v e l o p r n e m a tl a s t ,w em a k eac o n c l u s i o no ft h ew o r ki n 血i sp 暑l p i m n gf 0 m ds o m e i n s l l f n c i e 眦yi nt l l er c s e a r c ha n d 锄v i s i o no f t h er e s e a f c h 妯t 1 1 e 如t u r e k e yw o r d s lw 曲a p p l i c 硝s y 曲n ;j 2 e e ;m v c ;s t r l l l s :u m l ; 硕 学位论文 插图索引 图1 1 典型的三层体系结构图2 图2 1j 2 e e 多层应用体系结构7 图2 2 典型的j 2 e e 多层应用8 图2 3 服务器通讯l o 图2 4w 曲层和j 2 髓应用1 1 图2 5 业务和企业信息系统( e i s ) 层1 2 图2 6j 2 e e 服务器和容器1 3 图3 1 基于j s p + j a v a b e a n s 模型的传统w 曲开发方式1 5 图3 2m v c 模型1 6 圈3 3s 缸u t s 体系架构1 8 图4 1u m l 词汇2 1 图4 2u m l 体系结构2 3 图4 3 常用模型元素符号示例2 4 图4 4 自动柜员机系统用例图2 4 图4 5 自动柜员机取钱用例的类图2 5 图4 6 取钱用例的顺序图2 6 图4 7 账户的状态图2 6 图4 8 取钱用例的活动图2 7 图4 9 用类图对转移的s e “l e t 建模2 9 图4 1 0 服务器页面创建客户端页面2 9 图5 1 图书管理系统用例图3 4 图5 2 图书借阅顺序图3 5 图5 3 图书借阅的活动图3 6 图5 4 细化后的图书借阅顺序图3 7 图5 5 边界类、实体类和控制类的表示法4 0 图5 6 进一步细化后的图书借阅顺序图4 0 图5 7 图书借阅协作图4 1 图5 8 图书借阅的类图4 2 图5 9 表示合并后的分析模型的类图4 2 图5 1 0 分析包图4 3 图5 1 1 数据库设计图4 6 图5 1 2 用户登录界面4 6 图5 1 3 用户登录成功界面4 7 图5 1 4 图书信息查询界面4 7 图5 1 5 图书信息查询结果界面4 8 i 基于j 2 e e 与u m l 的w c b 多层心用体系研究与应用 附表索引 表4 1u m l 中视图与图的关系2 3 表5 1 图书管理信息系统的参与者3 2 表5 2 图书管理信息系统的主要用例3 3 表5 3 系统边界类3 8 表5 4 系统实体类3 9 表5 5 系统控制类3 9 表5 6 边界类设计4 4 表5 7 实体类设计4 5 表5 8 控制类设计4 5 兰州理工大学 学位论文原创性声明 本人郑重声明:所里交的论文是本人在导师的指导下独立进行研究所取 得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其 他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果 由本人承担。 作者签名:、镌丑姿 日期:“年易月曾曰 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权兰州理工大学可以将本学位论文的全部或部分内容编入 有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本 学位论文。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“”) 作者签名: 导师签名: 鸣衣移 卉耐 日期:妒年易月孑日 日期:如衫年多月男日 硕l :学位论文 1 1w e b 应用系统概述 第l 章绪论 、e b 应用系统是指在i n t 眦c 仉n 拄a n e t 环境下,利用浏览器和w w w 服务器构 成的一种新型计算模式,以标准化的网络浏览器代替传统的客户机来作为客户端, 开发出的一种计算枫应用系统峨它是h l t e m e t ,i i l t 啪e t 技术推广以来,发展最快的 一种计算机应用系统,正在逐步取代很多传统意义上的c l i e n t ,s e r v e r ( 客户服务器) 计算机应埘系统,尤论是企业、机构的内部计算机应用系统,还是在互联网上的 网上应用服务系统,基于w e b 的应用系统都发挥着越来越重要的作用,逐渐成为 计算机应用系统的主流模型。使用基于w e b 的应用系统,计算机用户不需要安装 任何客户端软件,只需要有标准的b r o w s e r ( 浏览器) 软件,即可访问和使用计算 机廊丌j 系统,而且用户的计算机系统可以不受硬件平台的限制,从最简单的电视 机顶盒,到功能强大的图形工作站系统,都可以成为用户的计算机应用终端。 当前,w e b 应用系统主要有: ( 1 ) 企业办公自动化及网络协同计算:使不同地域、不同时间的多人进行协 同工作,为完成复杂任务提供尽可能的支持;提供企业文档管理功能,使得存取 管理各种多媒体数据成为可能: ( 2 ) 电子政务:政府功能网上发布、政府法律法规上网、政府数据上网、政 府网上办公、政府网上招标及采购、电子报税、电子身份认证等: ( 3 ) 电子商务:信息查询系统、贸易撮合系统、在线交易系统、在线支付系 统、在线认证系统、订单传输系统。 1 2w e b 应用的新发展多层体系结构 w e b 应用程序正变得越来越复杂,越来越重要。随着w e b 技术的不断发展, w e b 应用不再局限于提供一些静态的内容、甚至不满足于提供一些简单的动态内 容。多层体系结构正是适合w e b 应用的特点而发展起来的,和传统的客户机服务 器模式相比,这种多层模式一般分为三层,三层体系结构正是适合w c b 应用的特 点l 山发股起米。和传统的客,、机,服务器模式相比,三层客户朋硅务器模式( 以下 简称三层模式) 在前者的基础上,增加了新的级。这种模式在逻辑上将应用功 能分为三层:客户端层、中间层、数据层。客户端层是为客j o 提供应用服务的卺 形界面,有助于用户理解和高效的定位应用服务。中间层位于客户端层和数据层 基于j 2 e e 与m 压l 的、v e b 多层应用体系研究0 应用 之问,p 门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与 系统关联的应用模型,并把客户端层和数据库代码分开。同时该层次提供客户应 用程序和数据服务之间的联系,主要功能是执彳j = 应用策略和封装应用校式,并; 封装的模式呈现给客户应用程序。数据层是三层模式中的最底层,它用来定义、 维拶,、苟躬和更新数据_ :于 = 管理和满足应用服务对数据的请求。这样,对应用逻辑 的修改只需在应用服务器上一次完成,相对客户端而言完全透明,极大地方便了 应用系统的部署及维护。把应用逻辑从另外两层巾独立出来,将更能适应r 1 益复 杂和不断变化的w e b 应用的需要。图1 1 展示了这种典型的三层体系结构。 客户端层中间层数据层 母1 1 典型的三层体系结构图 1 3 流行的两种多层体系构架技术 目前流行的多层体系构架技术主要有两种,它们分别是微软的n e t 架构和 s u n 公司的j 2 e e 架构。 1 3 1 微软公司的n e t 架构 微软公司的n e t 架构一推出,就开始了与j 2 e e 的竞争。它的绝大部分是微 软w l m d o w sd n a ( 分布式i n t e r n e t 应用体系结构,d i s m b m e dl m e r i l e ta p p l i c a t i o 璐 a r c h 静:协k 1 体系结构的重写,w i n d o w sd n a 是微软以前的多层体系结构技术架 构它包括了许多己经被证实的技术,新的n e t 架构取代了这此技术,并包食了 w e b 服务层和改良的语言支持1 2j 。微软公司的这种多层体系结构技术絮拘足j # 常e ! 人注日的,因为所有体系结构的框架产品都是由一家公司开发的。对于n e t 架构 下的名层体系结构的开发,开发者只需要矧一公司提供的工具,简化了开发工作 但是,如果开发者一旦使用了微软公司的n e t 架构,整个系统就势必只能使用微 软公司的产品,而不能向高端计算机系统中进行移植。 1 3 2s u n 公司的j 2 e e 架构 s t l l l 公司的j 2 e e ( j a v a2 平台企业版,j a v a2p l a t f o r n le n 埯r p r i s ee d i t i o n ) 足睦_ 硕士学位论文 s u n 公司发起,众多世界级软件厂商共同制定的,并得到广泛认可的分布式企业级 应用标准术语“企业”意味着异构的分布式环境、与己有系统的可集成性、与其 它系统的互操作性、高可用性、安全性、可靠性和可伸缩性p l 。j 2 髓架构的主要 目标是提供一个平台无关、可移植、多用户、安全和标准的企业级多层体系结构 技术架构。j 2 e e 是一种技术规范,它从实质上消除了对一家公司的依赖,并支持 跨平台的应用程序部署,这将激励应用供应商相互竞争,创造出最好的产品。j 2 e e 简化了构造可扩展的、基于组件的多层应用系统中的很多复杂环节,它给开发人 员提供了一种工作平台,定义了多层应用开发的标准架构和部署环境,在这个架 构中,应用开发者可以将注意力集中在业务逻辑和业务规则上,一切与基础结构 服务相关的问题以及底层分配问题都由应用程序容器或者服务器来处理。 1 3 3j 2 e e 及其优势 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关的 复杂问题的体系结构f 4 j 。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准 版,j 2 e e 不仅巩固了标准版中的许多优点,例如“w r i t e o n c e ,r m e v e d 俐h e r e ” 的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在h 蜘l e t 应用中保 护数据的安全模式等等,同时还提供了对e j b ( e n t e r p i i j a b e a n s ) 、j a v as e r v l c t s a p i 、j s p ( j a v as e r v e rp 矩e s ) 以及l 技术的全面支持。其最终目的就是成为 一个能够使企业开发者大幅缩短投放市场时间的体系结构。 j 2 e e 体系结构提供中问层集成框架用来满足无需太多费用而又需要高可用 性、高可靠性以及可扩展性的应用的需求p i 。通过提供统一的开发平台,j 2 e e 降 低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持。 完全支持e 呦f i j a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持, 增强了安全机制,提高了性能。 j 2 e e 平台采用一个多层次分布式的应用模式。这意味着应用逻辑根据功能被 戈0 分成组件,组成j 2 e e 应用的不同应用组件安装在不同的服务器( 容器) 上,这 种划分是根据应用组件属于多层次j 2 e e 环境中的哪一个层次来决定的。 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制 旧: ( 1 ) 保留现存的i t 资产:由于企业必须适应新的商业需求,利用已有的企业 信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐 进的( 而不是激进的,全盘否定的) 方式建立在已有系统之上的服务器端平台机 制是公司所需求的。j 2 e e 架构可以充分利用用户原有的投资。如一些公司使用的 b e at u 】( c d o 、i b mc i c s ,i b me n c i l l a ,、i n 阳s ev i s i b r o k e r 以及n e t s c a p e 邱p l i c a t i o ns e r v c r 。这之所以成为可能是因为j 2 e e 拥有广泛的业界支持和一些重 基于j 2 e e 与u m l 的、b 多层应用体系研究j 应用 要的“企业计算”领域供应商的参与。每一个供应商都对现有的客户提供了不用 废弃已有投资,进入可移植的j 2 e e 领域的升级途径。由于基于j 2 e e 平台的产品 几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留 使用。 ( 2 ) 高效的开发:j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中 问件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地 缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务让开发人员写更少的代码,不用关心如何管理状态,这 样能够更快地完成程序开发。 持续性服务让开发人员不用对数据访问逻辑进行编码就能编写应用 程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开 发与维护。 分布式共享数据对象c a c 眦服务让开发人员编制高性能的系统,极 大提高整体部署的伸缩性。 ( 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 平台的 应川牲序町被部署到各种操作系统上。例如可被部署到高端u n i x 与大型机系统, 这种系统单机可支持6 4 至2 5 6 个处理器。( 这是n t 服务器所望尘莫及的) j 2 e e 领域的供应商提供了更为广泛的负载平衡策略。能消除系统t t 的瓶颤,允许多蟊 服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未 来商业应用的需要。 ( 5 ) 稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客,。、合 作伙伴的需要。因为i n t e r n e t 是全球化的、无处不在的,即使在夜n 雌t 训划停 机也可能造成严重损失。若是意外停机,那会有灾难性后果。j 2 e e 部署到可靠的 操f 1 环境中,他们支持l 殳期的可用性。一些j 2 e e 部署在w n d o w s 环境中,客 户也呵选择健壮性能更好的操作系统如s u i ls o l 捌s 、i b mo s 3 9 0 。最健壮的操作 系统町达到9 9 9 9 9 的可用性或每年只需5 分钟停机时间。这是实时性很强商业系 统理想的选择。 随着w e b 应用的深入发展,具有可伸缩性、灵活性、易维护性的多层体系结 构是当今w e b 应用的主流模式,而j 2 e e 和n e t 都提供了多层体系结构的技术架 硬j :学位论文 构。但至少在目前,j 2 e e 还是占有优势的,面且可以肯定,采用j 2 e e 架构具有 切实的可行性,拥有良好的应用前景,是w e b 应用系统研究和开发中的一个正确 方向。 1 4 国内外研究现状 j 2 e e 作为业界领先的、成熟的分布式企业级多层体系结构技术架构平台,完 全能够胜任多层w e b 应用系统的开发。它通过提供企业计算环境所必需的各种服 务,使得部署在j 2 e e 平台上的多层应用可以实现高可用性、安全性、可扩展性和 可靠性【8 】o 它的优越性在于:计算平台支持j a v a 语言,使得基于j 2 e e 标准开发的 应用可以跨平台地移植;j a v a 语言非常安全、严格,这使开发者可以编写出非常 可靠的代码;j 2 e e 提供了企业计算中需要的所有服务,且更加易用;j 2 e e 中多数 标准定义了接口,例如州d i ( j a v an 锄i n ga j l dd i r e c t o 珂i n t c r 缸e ) ,j d b c , j a v a m a i l 等,因此可以和许多厂商的产品配合,容易得到广泛的支持;j 2 e e 建立了一 个广泛而通用的标准,大大简化了应用开发和移植过程。 j 2 e e 己经成为开发商开发w e b 应用系统的事实上的标准,j 2 e e 在电子商务、 电子政务、企业资源计划( e r p ) 、客户关系管理、远程教育等各个领域都得到了广 泛的应用。正是认识到j 2 e e 平台作为一种可扩展的、全功能的平台,可以将关键 的企业应用扩展到任何w 曲浏览器上,并可适合多种不同的i n t e m e t 数据流,可 连接到几乎任何一种传统数据库和解决方案使企业经理根据多家企业所提供的产 品和技术开发来部署最佳的解决方案,进而降低w e b 应用的费用和复杂性这一巨 大优势,很多厂家都表示将对j 2 e e 给予支持。多层体系结构的中间层应用服 务器是架构平台的关键,应用服务器是一个创建、部署、运行、集成和维护多层 分布式企业级应用的平台。j 2 e e 用于实现应用服务器有其优势,它可以利用j a v a 语言自身具有的跨平台性、可移植性、对象特性、内存管理等方面的性能,为应 用服务器的实现提供一个完整的底层框架。j 2 e e 中定义的各种服务,包括j s p 和 s e l c t 容器、e j b 容器、j d b c 、j n d i ( 名字目录服务) 、j t a ( 事务服务1 、j m s ( 消息 服务) 等,也分别为应用服务器提供了各种支持。目前,j 2 e e 应用服务器标准已经 趋于成熟,国外许多大公司先后推出了j 2 e e 应用服务器产品,如b e aw e b l o g i c s e r v e r ,i b mw e b s p h e r ea p p l i c a t i o ns e r v e r 0 m c l e 9 ia p p l i c a t i o ns e r v e r ,s u ni p l 觚c t , a i l a i r cj r 吼等几十种应用服务器。国内也有几家公司开发了j 2 e e 应用服务器产品, 如金蝶中间件公司的a p u s i c 应用服务器,中创软件公司的i n f o r w e b 应用服务器。 这些国产应用服务器软件虽然总体上不如国外大公司的产品,但性能良好,并已 在国内电子政务、电子商务以及企业信息化建设方面得到应用。 s u n 公司发明的j a v a 技术在全球w e b 应用软件的开发中一直起着关键性的作 基于j 2 e e iu m l 的、v c b 多层应用体系研究0 应刖 用。j 2 e e 的推出,更是强化了这种作用。目前,全球8 7 的新应用是由j 2 e e 分 布式应用体系支撑的,而在全球巨富的2 0 0 0 家公司中,已经有3 5 的应用开发项 目部署在j 2 e e 平台_ | _ = 。中间件的巨头b e a 公司就是靠j 2 e e 起家的。在国外,基 于j 2 e e 架构的多层w e b 应用系统开发已经很普遍了。在国内,由于j 2 e e 推出较 晚( 1 9 9 8 年发布j 2 e e l o ) ,且j 2 e e 规范在不断升级完善,加上j 2 e e 比较复杂, 相关资料较少,采用j 2 e e 应用服务器费用较高,j 2 e e 技术在我围的起步比较晚。 但近年来,采用j 2 e e 架构开发多层w e b 应用系统的午位也,i :始不断涌现,对j j 基e j b ( 企业级j w a 组件,e n t e r p r i s ej a v a b e a i l s ) 的多层w e b 应用系统的开发需求 也在逐渐加大。 1 5 本文的组织结构 本文共分为7 章: 第1 章绪论。简述w e b 应用系统、流行的多层体系架构、国内外研究现状和 本论文的组织结构。 第2 章j 2 e e 平台及体系结构。包括j 2 e e 体系结构,包括j 2 e e 的多层模型、 应用组件、容器和服务机制。 第3 章w e b 应用体系开发方式。介绍w e b 应用体系的传统开发方法以及新 型的采用m v c 模式的开发方法,着重展示本文要用到的m v c 模式的一个优秀实 现s t m t s 架构。 第4 章用u m l 对j 2 e e 建模。介绍u m l 的概念模型、体系结构和建模机制, 并深入阐述使用u m l 对基于j 2 e e 的w e b 应用系统进行具体建模的方法。运用 u m l 建模所具有的指导性,能达到快速明确需求、降低系统设计复杂度的目的。 第5 章图书档案管理系统分析和设计。通过这样一个比较常见的系统,较全 面的展示了使用u m l 对基于j 2 e e 的w e b 应用程序建模的一般方法。展示了u m l 建模是如何贯穿在需求、分析、没计和实现四个核心:1 :作流中的。 最后,在结束语t 一总结全文,提出需要进一步改进的地方。 硕l :学位论文 第2 章j 2 e e 平台和体系结构 2 1j 2 e e 的多层模型 从应用的角度来看,j 2 e e 规范为企业级应用系统的开发提供了一种分布式企 业级多层应用模型。在j 2 e e 规范中,应用逻辑按功能不同可以划分为不同类型的 组件,各组件根据它们所在的层分布在不同的机器上,共同组成一个基于组件的 分布式多层应用系统【9 1 。如图2 1 所示,j 2 e e 定义了一个典型的四层结构,分别是 客户端层、w e b 层、业务逻辑层和信息系统层。 客户端层中间层 w e b 层业务逻辑层 信息系统层 w e b 服务器应用服务器 l s q l 匣- h 孚9- ( ! 塑j 1 广面五蕊1 缈s e r v i c1 匡西 一技味 j c 一 j 其他系统 e j b 坚! 坠】 l 7 】 、- 一 v ,一 。a p p l e t s l r m i ,砌哪1 1 0 p s e r v i c e ! a p p l i c a d o n sr 技卒一l 1 - - 图2 1j 2 e e 多层应用体系结构 ( 1 ) 客户端层 客户端层用来实现企业级应用系统的操作界面和显示层。一般来说,基于w e b 的情况下,主要是标准的w e b 浏览器。基于非w e b 的客户端层则是独立的应用程 序,可以完成瘦客户机无法完成的任务。 ( 2 ) w e b 层 提供w e b 应用服务,包括信息发布等。w 曲层由w e b 服务器和w c b 组件组 成。w e b 组件包括j s p s 和s e r v l e t s 。w e b 层也可以包括一些j a v a b e a i l s 。w e b 层主 要用来处理客户请求,调用相应的业务逻辑模块,并把结果以动态网页的形式返 回到客户端。 ( 3 ) 业务逻辑层 业务逻辑层一般由应用服务器和e j b 组件组成。因此许多开发商把w e b 服务 基于j 2 e e jl 邛,儿的w 曲多层应用体系研究吁畦用 :s 和e 尼服务器产晶结合在一起发布,称为应用服务器。业务逻辑层用来实现企 业级信息系统的业务逻辑,是企业级应用的核心【10 】。由运行在业务逻辑层中的 e j b 组件来处理。一个b e a n 从客厂,端接收数据、处理,然后把数掘送刭信患系统 层存储起来。同样,一个b e a l l 也可以从信息系统层取出数据,发送到客户端程序。 、世务逻辑层中的e j b 组件要运行在容器中,容器解决了底层的问题,如事务处理、 生命周期、状态管理、多线程、安全管理、资源池等。 ( 4 1 信息系统层 该层处理系统软件,包括基础系统、数据库系统及其它遗留系统。j 2 e e 连接 器架构( j c a ) 使用户可以从一个j 2 e e 部署访问信息系统。 w e b 层和业务逻辑层共同组成了三层j 2 e e 应用的中间层,其它两层是客户端 层和信息系统层。 在应用开发时,j 2 e e 定义的四层模型可根据实际情况灵活运用。由于除了 、阡1 d 外其它的组什都可以访问数据库、e j b 组件和企业信息系统,所以通过不同 层的取舍及组合,町以衍生出许多应用软件开发模型,如基于w e b 的四层模型、 摹丁桌面应用的层模型( 不包括w e b 层) 、b 2 b 模型( 不包括客户层) 等。 图2 2 展示了两个多层次j 2 e e 应用划分成在下面的表中描述的不同层次。 j 2 e e 应用系统1j 2 e e 应用系统2 j 2 f 刚r 务器 f j s pp a g 。 1 w e b 层 【j fe n t e 删s efe n t e r 洲s e1 l b e a n s jl b e a i l s j 业务逻辑层 ,、,一、 数拊库服务器 卜一一:髓层 一j d b m s 图2 2 典型的j 2 旺多层应用 从卜陶也可以看到,j 2 e e 应用组件辛要有: ( 1 ) 运行在客户端机器上的客户层组件 ( 2 ) 运行在j 2 e e 服务器上的w e b 层组件 ( 3 ) 运行在j 2 e e 服务器i :的业务逻辑层组件 ( 4 ) 运行在e i s 服务器上的企业信息系统( e n t e f i 埘s ei n f o n n a t i o ns y s t e m ) 层软 件 从图中也可以看出,j 2 e e 应用可以由三或四个层次组成,j 2 e e 多层次应用一 般被认为是三层应用,因为它们是被分布在三个不同的地点:客户端机器、j 2 髓 服务器和数据库或后端的传统系统服务器。 2 2j 2 e e 的应用组件 j 2 e e 应用是出组件组成的。j 2 e e 组件是一个自我封装的功能软件单元,它将 通过相关的类、文件和与其它组件的通讯,被集成进j 2 e e 应用。j 2 e e 规范定义 了如下j 2 e e 组件l j 刈: ( 1 ) 应用( a p p l i c a t b n ) 客户端和小程序( a p p l e t ) 是客户层组件 ( 2 ) j a v as e l c t 和j a v as e n ,e rp a g e s 技术组件是w c b 层组件 ( 3 ) e n t e r p r i s ej a v a b e a l l s ( e j b ) 组件是业务逻辑层组件 ( 4 ) 企业信息系统( e n t e i p r i s ei n f o 咖a t i o ns y s t e m ) 层软件 j 2 e e 组件使用j a v a 编程语言编写的,也向任何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 服务器的管理下运行的。 :2 1 客户端组件 ( 1 ) 应用客户端 运行在客户端机器上的应用客户端软件,为用户提供一个途径,处理像j 2 e e 系统或应用管理这样的工作。它通常由一个用s 谢n g 或a w ta p i 开发的图形用户 界面,但是也可以使用命令行接口【1 3 】。 应用客户端软件直接访问运行在业务层的企业b e a i l 。当然,如果j 2 e e 应用客 户端允许,一个应用客户端也可以建立h t t p 连接,与运行在w e b 层的s e r v l e t 进行通讯。 ( 2 ) w e b 浏览器 用户端的w e b 浏览器从w e b 层下载h t m l w m l ,) ( m l 等静态或动态w e b 页 面。动态页面是由运行在、b 层的s e r v l e t 或j s p 页面生成的。 ( 3 ) a p p l e t 从w e b 层下载的w e b 页面可以包含嵌入的a p p l e t 。a p p l e t 是用j a v a 编程语 言编写的小客户端应用,通过安装在w e b 浏览器上的j a v a 虚拟机执行。然而,a p p l e t 要在w e b 浏览器上成功运行,客户端系统还需要j a v a 插件( j a v a p l u 争i n ) 和安全 策略文件。 ( 4 ) j 2 e e 服务器通讯 图2 _ 3 展示了组成客户层的不同组成部分”l 。客户端与运行在j 2 e e 服务器 : 的业务层之间的通讯,可以是直接的,或者是在客户端运行浏览器的情况下,通 过运行在w e b 层的j s p 页面或s e l e t 完成。 客厂1 层 w e b 浏览器 野辑叫 w e b 贞面、a p p l e t s a p p l i c 撕o n 客户端 图2 3 服务器通讯 ( 5 ) 瘦客户端 j ! f f 应用使用瘦客户端。一个瘦客户端是与应用连接地轻负载接口,它不处 理象查询数据库、执行负载业务逻辑、或与传统系统连接等i :作。像这样的重负 载被转移到运行在j 2 e e 服务器上的w e b 或企业b e a n s 上,这样可以借助j 2 e e 服 务器端技术的安全性、快速、服务和可靠性。 2 2 2 w e b 组件 j 2 e e 提供的w e b 组件主要包括s e n ,1 c t 和j s p 。 ( 1 ) s e r v l e t s c l e t 足一些叫。生成动态内容的w e b 组件【1 6 j 。它们是今天在哪上看到 的最常用的j 2 e e 组件之。它们提供了种有效的机制,用于基于服务器的业务 逻辑和基于w e b 的客户端之间的交互,还可为通用的c g i 脚本方法提供一种轻型 是更易于管理的替代方法。 ft 于s c w ! c t 更简堆且需要更少的资源,某些开发人员更喜欢在他们的实现中 随j s p 专门使用这些组件,而不是使f | _ j 更为复杂的e j b 组件。这种做法对丁非常 简单的企业级应用可能是有意义的,但是当需要在心用中支持事务时,它就4 ;是 一种最佧选择了。 s e l c t 最适用于处理更为简单的任务,如收集和检查w e b 页面卜的输入区输 入内容的有效性。当完成初步检奄后,就会把数据传给更适合的组件以立即执行 实际的任务。 s e r v l e t 是运行在由w c b 服务器管理的s e r v l e t 容器( 也称作s e r v l e t 引擎j 的。 r 1 p t 农器簧羽s e n ,1 尸t 牛命周期,并通过诸如超文本传输协议( i i t t p 、之类的协议, 把w 曲客户端的请求解释成基于对象的请求,同样,该容器还会解释s e r v l e t 响应, 并把响应对象映射到合适的w e b 协议上。 预 :学位论艾 ( 2 ) j s p j s p 是另一种类型的j 2 e ew e b 组件,它是从s e r v l e t 技术发展而来的。事实上 一部分j s p 编译进s e r v l e t 中并在s e r v l e t 容器环境中执行。 j s p 使维护系统各个部分以支持w e b 页面显示的w e b 团队成员的工作更容易, 而不必要求他们是j a v a 程序员”。 j s p 允许将j a v a 代码嵌入到结构化文档,如h t m l 或可扩展的标记语言0 州l ) 中,这样就允许很容易地把显示代码作为规则的h t m l 代码来维护,并在代码编 辑器中屏蔽掉非技术性作者等。 其他一些j 眦技术已经出现一段时删了,如j 砌e a i l s ,也绑定到j s p 的使用 中了。在用j s p 显示某些大量数据如w e b 页面中的表格时,它们有助于降低复杂 性。另外复杂的j a v a b e a n s 中也常常包含业务逻辑的处理,这样j a v 出e a n s 就被划 分到业务逻辑层了嘲。 r j 2 e e 服务器 tl - w 曲济j 览器一 鬯g j a v a b e a f l s w e b 页面、a p p l e t s e j b 等 a p p l i c a t i o n 客户端 w e b 层业务逻辑层 2 2 3 业务逻辑组件 图2 4w e b 层和j 2 e e 应用 业务代码用于解决或满足特定的业务领域的问题的逻辑,例如银行、零售或 者金融等一般是在业务层,由e j b 来处理的【1 9 j 。 企业b e 髓s 有三类:会话b e a j l s ( s e s s i o nb e a j l s ) 、实体b e a l l s ( e n 廿t ) ,b e a n s ) 和消息驱动b e a n s ( m e s s a g e d r i v e db e 柚s ) 。一个会话b e a n 代表一个与客户的临 时会话。当客户结束操作时,这个会话b e a l l 和它的数据就消失了。相反,实体 b e a n 表示一个永久存储在数据库的表中的数据。如果客户结束操作或服务器关机, 后台操作保证实体b e a n s 的数据存储下来。 一个消息

温馨提示

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

评论

0/150

提交评论