(计算机应用技术专业论文)分布式应用环境下层模式研究.pdf_第1页
(计算机应用技术专业论文)分布式应用环境下层模式研究.pdf_第2页
(计算机应用技术专业论文)分布式应用环境下层模式研究.pdf_第3页
(计算机应用技术专业论文)分布式应用环境下层模式研究.pdf_第4页
(计算机应用技术专业论文)分布式应用环境下层模式研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)分布式应用环境下层模式研究.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 随着信息技术的迅猛发展,基于i n t e m e t 的分布式应用系统日趋复杂,其体系结 构的设计也变得困难起来,一个差的体系结构往往导致整个软件性能的低下。层模 式对于构建复杂的能分解成子任务的应用很有帮助,其中每个子任务组处于一个特 定的抽象层上。在n e t 框架下可以更加方便的应用层模式构建基于w e b 的企业应用 系统。随着w e bs e r v i c e s 技术的更加成熟,企业需要向其它合作伙伴公开提供自己 的服务,并能把合作伙伴提供的服务集成到自己的应用程序中来。 为了适应企业的这种面向服务的需要,提出了三层服务应用模式,它是通过将 与服务相关的职责添加到三层应用模式中的每一层而扩展来的。将应用程序逻辑分 解为一组协作服务,每种服务提供整体系统功能的一部分。在业务层为每个服务表 示一个服务接口,该服务接口是独立于基础实现的。扩展数据访问层,以便使用服 务网关与其它服务提供程序通信。如果应用程序导航逻辑十分复杂,可以将用户接 口过程组件视为表示层的一部分,以便封装和重用此逻辑。 根据层模式在n e t 框架下实现了一个基于w e b 的企业级应用系统,它的体系结 构是根据三层服务应用模式设计的,并采用三级分布模式部署应甩系统。系统采用 先进的b s 结构,具有强大的交互功能,克服了浏览器交互性差的弱点,可以实现 异构系统之间服务集成和数据共享。针对该系统,提出了几种事务处理模型,包括 数据库事务处理、手动事务处理和自动事务处理。利用m i c r o s o f ta p p l i c a t i o nc e n t e r t e s t 工具对事务处理模型的性能进行了测试和分析,最后总结出它们的优缺点和适 合使用的场合。 关键词:模式,层模式,分级分布,事务 华中科技大学硕士学位论文 a b s t r a c t a l o n g w i t ht h eb o o mo f i n f o r m a t i o nt e c h n o l o g y , t h ed i s t r i b u t e da p p l i c a t i o n sb a s e do n i n t e r n e tb e c o m e m o r ea n dm o r ec o m p l e x ,a n dt h ed e i g no fs o f t w a r ea r c h i t e c t u r eb e c o m e s m o r ed i f f i c u l t y ab a d - d e s i g n e da r c h i t e c t u r eo f t e nr e s u l t si nab a dp e r f o r m a n c eo ft h e w h o l e s y s t e m l a y e rp a t t e r nh e l p st oc o n s t r u c tt h ea r c h i t e c t u r eo fa p p l i c a t i o n sw h i c h c a n b ed i v i d e di n t os o m e g r o u p so f s u b - t a s ka n de a c hg r o u pi so nas p e c i f i c a l l ya b s t r a c tl a y e r w i t l l n e tf r a m e w o r k , t h ew o r ko f c o n s t r u c t i n ga w e b - b a s e da p p l i c a t i o nb y l a y e rp a a e m b e c o m e se a s i e r a sw e bs e r v i c e st e c h n o l o g yb e c o m e sm o r em a t u r e ,e n t e r p r i s e sn e e dt o p r o v i d es e r v i c e st o t h e i rp a r t n e r sa n di n t e g r a t et h es e r v i c e so f p a r t n e r si n t ot h e i ro w n a p p l i c a t i o n s t oa c c o m m o d a t ew i t ht h i ss e r v i c e o r i e n t e dr e q u i r e m e n ta n dm a k eu s eo ft h ee x i s t e d t h e r e - l a y e r e dp a t t e r n , d u t i e sr e l a t e d 谢n lo t h e rs e r v i c e sc a nb ea d d e dt oe a c hl a y e r , t h u s t h l e e - l a y e r e da p p l i c a t i o np a t t e r ni se x p a n d e d t ot h r e e - l a y e r e ds e r v i c e sa p 西i c a t i o n p a t t e r n a p p l i c a t i o nl o g i ci sd i v i d e di n t oag r o u po fc o o p e r a t e ds e r v i c e s ,e a c hs e r v i c ep r o v i d e sa p a r tf u n c t i o no f t h es y s t e m e a c hs e r v i c eo ft h eb u s i n e s sl a y e rd e n o t e sas e r v i c ei n t e r f a c e t h a ti si m p l e m e n t e di n d e p e n d e n t a p p l i c a t i o n st h a tt a k ea d v a n t a g eo fe x p a n d i n gd a t a a c c e s sl a y e rc a l lu s es e r v i c eg a t e w a yt oc o m m u n i c a t ew i 廿1o t h e rs e r v i c e s 1 fa p p l i c a t i o n l o g i ci sv e r yc o m p l i c a t e d ,u s e ri n t e r f a c ep r o c e d u r ec o m p o n e n t c a nb ev i e w e da sa p a r to f t h eu s e rl a y e rs ot h a tt h el c l g i cc a nb e e n c a p s u l a t e d a n dr e u s e d a n e n t e r p r i s ea p p l i c a t i o n b a s e do nw 曲i s i m p l e m e n t e da c c o r d i n g t ot h el a y e r p a t t e r n i t a d a p t st h r e e - l a y e r e d s e r v i c e s a p p l i c a t i o np a t t e r nt od e s i g ns y s t e ma r c h i t e c t u r e t h e s y s t e m ,w h i c h h a s p o w e r f u li n t e r a c t i o nf i m c t i o n ,u s e sa d v a n c e b ss t r u c t u r et oo v e r c o m e t h ei n f i r mi n t e r a c t i o no f b r o w s e r sa n dr e a l i z et h ei n t e g r a t i o no f h e t e r o g e n e o u ss y s t e m sa n d d a t as h a r i n g af e wo ft r a n s a c t i o nm o d u l e si n c l u d i n gd a t a b a s et r a n s a c t i o n ,m a n u a l t r a n s a c t i o na n da u t ot r a n s a c t i o n a y e p u t f o r w a r d a i m i n g a tt h e s y s t e m m i c r o s o f t a p p l i c a t i o nc e n t e rt e s tt o o l i su s e dt ot e s ta n da n a l y z et h et r a n s a c t i o nm o d u l e s t h e m e r i t sa n dd e f e c t so ft h et r a n s a c t i o nm o d u l e sa r es u i n m a r i z e da n dt h ee n v i r o n m e n ts u i t e d w i t ht h et r a n s a c t i o nm o d u l e si sa l s oo f f e r e d k e yw o r d s :p a t t e r n ,l a y e r p a t t e r n ,t i e r e dd i s t r i b u t i o n ,t r a n s a c t i o n i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担 学位论文作者签名:乡扶棠 日期:缸v 年v 月o 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密曰: ( 请在以上方框内打“”) 学位论文作者签名:狲匆 日期:w 啊叶年q 月;0 日 指导溯弛仍勰 日期:钞弘年v 月矽日 华中科技大学硕士学位论文 1 绪论 在过去的几年中i n t e r a c t 的快速发展正在影响着全球企业的信息应用模式。 i n t e r n e t 技术取得了重大的成功根本原因之一是w e b 模式简单而无处不在。随着电 子商务技术的迅速发展,越来越多的传统企业应用服务需要延伸到i n t e r a e t 上,w e b 不仅作为信息平台而且将成为服务访问的主流平台。 1 1 课题背景 基于w e b 的现代企业分布式应用系统加强了服务器的处理能力和网络传输能 力,把数据和应用都安装到服务器上,而客户机只安装简单的操作系统和必要的浏 览器。这样管理简单、升级方便,并且客户机的物理位置可以不受限制,既可以是 本地的企业用户,也可以是通过w e b 连接的计算机,从而使企业的i n t r a n e t 与i n t e m e t 集成成为可能;另外,它在保护企业己有的信息化投资,降低培训和维护费用,缩 短软件开发时间,良好的安全机制等方面具有强大的优势。 企业级业务解决方案通常极其复杂,而且性能必须不负众望。它们不仅必须具 有高可用性和伸缩性以应对不可预知的使用,而且还必须具有适应性和预见性以适 应快速变化的业务要求。最佳解决方案是那些由一组更小的、简单的、能够可靠且 有效地解决简单问题的机制组成的解决方案。在构建更大、更复杂的系统过程中, 将这些简单的机制组合在一起,从而形成更大的系统。 模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术 表述成模式也会使新系统开发者更加容易理解其设计思路。 湖北清江发电公司负责湖北宜昌3 个水电厂的运行管理工作。从很早以前清江 公司就开始使用了一些生产和管理信息系统,但是由于这些系统由不同的单位开发, 系统之间缺乏必要的交互,而且随着规模的扩大公司增加了新的业务,原有的业务 也有部分变更,为了对整个公司的信息管理系统进行整体集成并适应新的业务,清 江公司决定开发一套新的资产维护管理系统( a s s e tm a n a g e m e n ts y s t e m ,简称a m s ) , 而基于w e b 的分层模式则是设计软件体系架构时的首选。 华中科技大学硕士学位论文 1 2 国内外概况 最近十几年信息技术迅猛发展,企业的应用系统也跟着发生翻天覆地的变化。 与企业应用相关的技术也越来越复杂,但技术带来的方便与实惠却是有目共睹的。 1 2 1 企业应用的发展趋势 随着计算机技术的不断发展,企业应用技术的水平不断得以提高。从应用的功能 上讲,企业应用的自动化程度已经从简单的信息系统管理发展成为具有供应链管理 能力和客户关系管理能力的企业网上电子商务系统川。 同时,企业应用的发展使得相对应的软件体系结构的计算模式也在不断变化。 企业应用的计算模式由过去的单机应用已经发展成为网上的多机多层分布式计算模 式。在计算模式的改变过程中,以c s 模式为基础的旧企业计算模式向以b s 为基 础的现代计算模式的改变是现阶段计算模式发展的主流和必然1 2 , 3 】。 c l i e n t s e r v e r ( 客户机服务器) 结构是最早支持网络环境下开发企业应用系统的成 熟的应用模式。它的特点是成熟、安全、效率高,曾一度普遍用于开发企业网络应 用,产生过一定的实效1 4 】。但是,随着计算机技术与网络技术的飞速发展和企业应用 系统规模的不断扩大、应用的日益复杂,c l i e n t s e r v e r 两层结构的应用逐渐暴露了它 的弊端,即需要在每个客户机上安装相应的应用软件,软件分发、配置不灵活,软 件维护也不方便。尤其是在异地通过网络( 广域网、i n t e r n e 0 无法访问企业的资源。 b r o w s e r s e r v e r ( 浏览器服务器) 是一种信息管理和交换的基础设施,是建立在 i n t e m e t i n t r a n e t 上的一种流行的先进技术。其基本思想是以w e b 浏览器、w 曲服务 器和基于网络的协议( 如传输控制协议,网际互联协议t c p i p 和超文本传输协议 h r r p ) 作为信息共享的标准平台。所有的应用都集中存放在w e b 服务器上,用户通 过客户机w e b 浏览器( 如i e ) 访问w e b 服务器上的不同应用。这样不管本企业的局域 网用户,还是广域网、i n t e r n e t 上的远程用户,只要在客户机浏览器中输入相应的网 址,就可以方便快速的查询、浏览各种信息,以及完成自己的业务处理工作。b s 应 用模式的特点使得b s 相对于c s 具有明显的优势,因而成为主流应用的计算模式。 i 2 2 主要关键技术 企业应用系统的快速发展得益于主要关键技术的突破。信息技术的高速发展在 一定程度上推动了企业的运作方式的变革。 华中科技大学硕士学位论文 1 2 2 1 模式 模式有助于利用资深软件工程师的经验来构建软件。模式总结在软件开发中现 存的、被证明良好的经验,再用来促进好的设计实践。 1 模式的形成历史 模式的最初提出并不是在软件领域,而是1 9 7 7 年由一位建筑工程师c h r i s t o p h e r a l e x a n d e r 在ap a t t e r nl a n g u a g e 中首次提出的【5 】,当然这里的模式是指建筑学领 域的模式。虽然是建筑师,a l e x a n d e r 在计算机科学领域的影响却远远超过了在建筑 界的影响。这种模式的思想为谗多计算机科学家所接受,并且被引入面向对象的软 件开发过程中。 然而在软件行业,“模式”概念的普及却是来源于1 9 9 4 年由g a m m a 、h e t m 、 j o h n s o n 、v l i s s i d e s ( 简称“g a n go f f o u r ) 合著的( d e s i g np a t t e r n s :e l e m e n t so f r e u s a b l e o b j e c t e d o r i e n t e ds o f t w a r e ) ) 一书。这本书也成为模式在软件行业地位的奠基之作【6 1 。 1 9 9 6 年由f r a n kb u s c h m a n n 等五人合著的p a t t e r n s - o r i e n t e ds o r w a r e a r c h i t e c t u r e ) ) 是模式发展史上又一个重要的里程碑。这本书从体系结构的角度总结 出了l6 种以模式为基础的软件体系结构【7 】o 2 ,模式定义 模式简单地讲就是解决特定问题的经验 8 】。也就是说模式可以帮助我们在软件开 发过程中整理和记录经常重复出现的问题和成功解决这些问题的方案【9 1 0 】,并且通过 模式我们可以与他人交流这些经验。模式的一个很重要的特征是可复用 i i - 1 3 】。 模式一般包括三个要素:语境、问题、解决方案7 1 。 语境是描述问题提出的场景。 问题描述了在给定语境中重复出现的问题。它以一个一般的问题规格说明开始。 这个一般的问题陈述用一个强制条件集来说明问题要解决时应该考虑的各个方面。 强制条件从多个角度讨论问题,强制条件可以互相补充或互相矛盾。强制条件是解 决问题的关键。它们平衡得愈好,对问题的解决方案就愈好。 解决方案部分给出了如何解决再现问题,或者更恰当地说是如何平衡与之相关 的强制条件。解决方案不必解决与问题相关的所有条件,可以集中于特殊的强制条 件,而对于剩下的强制条件进行部分解决或完全不解决,特别是强制条件相互矛盾 华中科技大学硕士学位论文 时。 3 模式的分类 模式按照软件开发的层次可以分为体系结构模式( a r c h i t e c t u r ep a t t e r n ) 、设计模式 ( d e s i g np a t t e r n ) 和程序模式( p r o g r a m m i n gp a t t e r n ) 。 体系结构模式是属于比较高层的模式,例如m v c ( m o d e l - v i e w c o n t r o l l e r ) 、 l a y e r s 、c l i e n t s e r v e r 、b r o k e r 等等。设计模式则属于中间层次的模式,它描述特定 环境下解决特定问题的方案。程序模式则属于比较低层的模式,有时甚至指程序设 计中的一些习语f 1 ”。 g a n g o f f o u r 在d e s i g np a t t e r n s ) ) 一书中认为设计模式是对被 用来在特定场景下解决一般设计问题的类和相互通信的对象的描述【6 l 。“g a n go f f o u r 把他们总结的2 3 种设计模式按照模式的目的将其分为创建型( c r e a t i o n a l ) 、结构 型( s t r u c t u r a l ) 和行为型( b e h a v i o r a l ) 。这三种类型的设计模式分别描述了对象在创建、 组合以及相互作用的过程中如何降低它们之间的耦合性、提高复用性的种种成功的 方案。 4 模式的研究及应用现状 设计模式由“g a n go f f o u r z e 实践的基础上总结出2 3 个模式之后,模式的思想就 被广泛地应用了。现在,我们可以在可复用程度要求比较高的类库以及开发包( 例如 s t l 、v c l 、j a v a 的a w t 和s w i n g 等) 和许多o p e n s o u r c ep r o j e c t 的源码中看到模式 的踪迹 1 6 , 1 7 】。模式已经从实践到理论,然后又为实践所验证。 现在模式的研究已经深入至u 各个专门领域去了,例如c o r b a 、j 2 e e 、g i s 等 1 9 2 0 l 。 还有个值得一提的就是a n t i - p a t t e r n s 。但是a n t i p a t t e r n s 研究什么样的设计是失败 的设计,如何避免这种失败的设计,以及如何对这些设计进行重新构造。 模式的另一个很重要的研究领域就是模式语言。1 9 9 4 年发起的一年一次的 p l o p ( t h ep a t t e r nl a n g u a g e so f p r o g r a m s ) 会议的主题就是扩展和定义模式以及寻求 种可以描述模式的语言。可以预见,正如u m l 迅速被引进软件工程工具( 如r a t i o n a l r o s e 和v i s i o 等) 之中一样,几年以后的软件工程工具之中将会出现由相应的模式生 成代码的框架和代码逆向生成模式语言的功能【i ”。 1 2 2 2 n e t 框架 m i c r o s o f t n e t 是一项革命性的技术框架。,n e t 的核心技术包括分布式计算、 x m l 、组件技术、即时编译技术等【2 1 0 2 1 。分布式计算是网络的本质:x m l 奠定了 4 华中科技大学硕士学位论文 新一代电子数据交换的标准,正是数据交换使网络计算成为可能;组件技术是软件 技术多年来的发展成果,它使程序设计员从大量的a p i 中解放出来,以采用面向对 象和面向组件的技术来解决软件问题1 2 4 :即时编译技术使应用程序在运行时,还能 够根据主机的硬件和软件环境进行代码优化,并简化代码发放的过程。 n e t 框架实际上封装了操作系统,使应用程序( 包括网页服务和应用程序,网 页服务也称为w e b 服务) 与操作系统的具体工作( 如文件处理、内存分配) 相隔离 2 5 瑚j 。同时n e t 框架高度集成跨平台的接口技术、组件技术和数据库技术等。由此, 在n e t 框架下开发的应用程序可以在多种硬件和操作系统之间转移和协作。 n e t 框架具有两个主要组件:公共语言运行库和n e t 框架类库。 1 公共语言运行库 公共语言运行库是n e t 框架的基础。可以将运行库看作一个在执行时管理代码 的代理,它提供核心服务( 如内存管理、线程管理和远程处理) ,而且还强制实旄严 格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。事实上,代码 管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运 行库为目标的代码称为非托管代码。 公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其 他系统服务。这些功能是在公共语言运行库上运行的托管代码所固有的。至于安全 性,取决于包括托管组件的来源( 如i n t e r n e t 、企业网络或本地计算机) 在内的一些 因素,托管组件被赋予不同程度的信任。这意味着即使用在同一活动应用程序中, 托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能, 也可能不能够执行这些功能。 运行库强制实施代码访阃安全。例如,用户可以相信嵌入在w e b 页中的可执行 文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络。 这样,运行库的安全性功能就使通过i n t e m e t 部署的合法软件能够具有特别丰富的功 能。 运行库还通过实现称为通用类型系统( c t s ) 的严格类型验证和代码验证基础结 构来加强代码可靠性。c t s 确保所有托管代码都是可以自我描述的。各种m i c r o s o f t 和第三方语言编译器生成符合c t s 的托管代码。这意味着托管代码可在严格实施类 型保真祁类型安全的同时使用其他托管类型和实例。 华中科技大学硕士学位论文 此外,运行库的托管环境还消除了许多常见的软件问题。例如,运行库自动处 理对象布局并管理对对象的引用,在不再使用它们时将它们释放。这种自动内存管 理解决了两个最常见的应用程序错误:内存泄漏和无效内存引用。 运行库还提高了开发人员的工作效率。例如,程序员可以用他们选择的开发语 言编写应用程序,却仍能充分利用其他开发人员用其他语言编写的运行库、类库和 组件。任何选择以运行库为目标的编译器供应商都可以这样做。以n e t 框架为目标 的语言编译器使得用该语言编写的现有代码可以使用n e t 框架的功能,这大大减轻 了现有应用程序的迁移过程的工作负担。 运行库旨在增强性能。尽管公共语言运行库提供许多标准运行库服务,但是它 从不解释托管代码。一种称为实时( j i t ) 编译的功能使所有托管代码能够以它在其上 执行的系统的本机语言运行。同时,内存管理器排除了出现零碎内存的可能性,并 增大了内存引用区域以进一步提高性能。 n e t 公共语言运行库提供了如下优秀的特性: 一致的编程模型目前w i n d o w s 操作系统的某些功能是可以通过d l l 函数提 供。也可以通过访问c o m 对象来获得。在n e t 中,所有的应用程序服务都是通过 一个面向对象的通用编程模型提供的,这就解决了目前w i n d o w s 系统中编程模型的 不一致问题。 简化的编程模型最令w i n d o w s 程序员头疼的就是,他们必须了解w i n 3 2 和 c o m 中一些极其复杂和神秘的结构,还需要了解注册表、g u i d 、r e l e a s e 等概念。 在新的n e t 平台中,这些概念根本不存在。 一次运行,永远运行w i n d o w s 程序员特别是c o m 程序员对d l lh e l l 都很熟 悉。d l lh e l l 可以这样描述:在w i n d o w s 中,安装一个应用程序时,其组件可能会 覆盖原有程序的组件,导致原有应用程序运行出错甚至不能运行。n e t 体系结构把 不同的应用程序组件分离开来,使应用程序总是只加载其所需的组件,如果应用程 序安装后可以正确执行,那么这个应用程序就可以一直正常运行,而不受到以后安 装的应用程序的影响,这就很好地解决了d l lh e l l 的问题。 支持多平台一旦编写并创建了一个受控,n e t 应用程序,就可以运行在任何支 持n e t 公共语言运行库的平台上。 跨语言集成c o m 允许不同的编程语言互相交互。n e t 允许语言之间互相集 华中科技大学硕士学位论文 成。例如,可以用c + + 创建一个类,它继承于一个用v i s u a lb a s i c 实现的类。n e t 可以做到这一点,因为它定义了所有基于n e t 语言都通用的类型系统。只要编译器 遵循m i c r o s o f tc o m m o nl a n g u a g es p e c i f i c a t i o n ( 微软通用语言规范) ,用该语言编写的 程序就可以被其它基于n e t 的语言使用。 代码重用开发者可以在n e t 平台中创建给第三方应用程序提供服务的类,代 码重用十分简单。 自动资源管理编写程序应当注意的问题就是如何管理好程序使用的资源,如果 对文件、内存、显示空间、网络连接、数据库连接等资源的管理不善,就会产生错 误,导致该程序或其它程序莫名其妙地非正常运行。n e t 公共语言运行库自动跟踪 资源使用情况,如果应用程序不再需要某种资源,就自动回收它,保证应用程序不 会发生资源泄漏,这种机制在n e t 中称为“垃圾收集”( g a r b a g ec o l l e c t i o n ) 。实际 上n e t 不能通过编程实现资源的释放。 类型安全n e t 公共语言运行库可以检验所编写的代码是否类型安全。类型安 全保证了分配的对象总是以兼容的方式访问。比如,一个函数的输入参数定义为4 字节的值,如果试图以8 字节的方式访问该参数,公共语言运行库将检测并捕获这 种情况。类型安全同时也意味着执行代码只转换为己知的位置( 也就是函数入口点) 。 没有任何方法可以构造一个内存位置的任意引用,也不能让代码在任意引用位置开 始执行。这种机制消灭了经常出现的一些程序错误,以及诸如溢出的系统攻击。 丰富的调试支持因为n e t 公共语言运行库可以支持多语言,所以程序的某些 部分可以使用最合适的语言来实现。n e t 公共语言运行库完全支持跨语言边界调试 应用程序。同时提供了内置栈访问功能,可以很容易地定位程序故障和错误。 一致的错误处理w i n d o w s 编程的错误处理方法很不一致,有些函数返回w i r d 2 错误代码、有些函数返回h r e s u l t 、有些函数引发例外。n e t 中,所有的错误都 是通过异常( e x c e p t i o n ) 给出的。e x c e p t i o n 允许开发者把完成程序逻辑的代码和错误 处理分隔开来,这极大地简化了代码编写、方便了阅读和维护代码。同时,e x c e p t i o n 也是跨模块和语言边界的。 简单的部署目前,基于w i n d o w s 的应用程序安装和部署起来很困难,通常需 要创建几个文件、在注册表中进行设鼍并创建若干快捷方式。而且,要完全卸载一 个w i n d o w s 应用程序几乎是不可能的。在w i n d o w s2 0 0 0 中,m i c r o s o f t 引入了一个 新的安装引擎来帮助解决这些问题但是发布m i c r o s o f t 安装包的软件公司仍然可能 华中科技大学硕士学位论文 没有按照规定去做。n e t 组件不需要在注册表中注册,大多数的基于n e t 的应用程 序的安装只需要拷贝文件到程序工作且录下就可以了,而卸载应用程序只需要简单 地删除该目录下的文件, 安全性传统的操作系统的安全控制提供了独立的用户账号并根据账号进行访 问控制,这已经证明了是一个有效的模式,但是其核心是假定所有的代码都是值得 信赖的,当所有代码通过物理介质( 如c d r o m ) 和公司内部服务器来安装时,这种 模式是可行的。但是,随着应用程序对移动代码如w e bs c r i p t s 、i n t e m e t 应甩程序下 载、电子邮件附件的依赖程度的提高,就需要对程序行为进行更细粒度的控制,为 此,n e t 引入了c o d e a c c e s ss e c u f i 妖代码访问安全) 的概念。 2 n e t 框架类库 n e t 框架的另一个主要组件是类库,它是一个与公共语言运行库紧密集成的面 向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统 的命令行或图形用户界面( g u i ) 应用程序,也包括基于a s e n e t 所提供的最新创新的 应用程序( 如w e b 窗体和) 。m 。w e b s e r v i c e s ) 。 1 2 。2 3w e bs e r v i c e s w e b 服务作为一种新兴的w e b 应用模式,是个崭新的分布式计算模型,是 w e b 上数据和信息集成的有效机制。从电子商务应用领域来看,复杂的应用连接和 程序代码造成了电子商务应用的高维护代价和更新代价,而w e b 服务正好能够解决 这一问题,成为目前应用环境中最为合理的解决方案 丝- 2 7 1 。 i w e b 服务粲构 w e b 服务的基本架构由3 个参与者和3 个基本操作构成。3 个参与者分别是服务 提供者、服务请求者和服务代理,而3 个基本操作分别为发布( p u s l i s h ) 、查找( f i n d ) 和绑定( b i n 吖2 8 1 。w e b 服务基本架构如图1 1 所示。 华中科技大学硕士学位论文 翻i a w e b 服务架构 服务提供者将其服务发布到服务代理的一个目录上。当服务请求者需要调用该 服务时,他首先刹用服务代理提供的目录去搜索该服务,得到如何调用该服务的信 息。然后根据这些信息去调用服务提供者发布的服务。当服务请求者从服务代理得 到调用所需服务的信息之后,通信是在服务请求者和提供者之间直接进行,而无须 经过服务代理【2 9 l 。w e b 服务体系使用一系列标准和协议实现相关的功能,例如:使 用w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 来描述服务,使用u d d i ( u n i v e r s a l d e s c r i p t i o n 、d i s c o v e r y 、i n t e g r a t i o n ) 来发布、查找服务,而s o a p ( s i m p l eo b j e c ta c c e s s p r o t o c 0 1 ) 被用来执行服务调用【3 0 3 甜。在w 曲服务架构的各模块间以及模块内部,消 息以x m l 格式传递。其原因在于,以x m l 格式表示的消息易于阅读和理解,并且 x m l 文档具有跨平台性和松散耦合的结构特点。从商务应用的角度看,从工作流到 查询数据库,直到同贸易伙伴交换信息,x m l 格式表示的消息封装了词汇表,可以 同时在行业组织内部和外部使用;它还有较好的弹性和可扩展性,允许使用附加的 信息,并且x m l 标签提供了可访问的进程入口,从而可强化商业规则,并且增强了 互操作性,为信息的自动处理提供了可能f 3 3 , 3 4 。 2 w e b 服务的不同描述 w e b 服务具有广泛的适应性和应用背景,而且w e b 服务的很多相关f 爵题仍处在 研究过程中,学术界从不同的侧面对w e b 服务有不同的描述,如下几种有代表性的 w e b 服务描述。从功能的角度描述,认为w e b 服务基于t c p i p 、h 兀p 、x m l 等规 范而定义【35 t 拍】,具备如下功能:w e b 上链接文档的浏览、事务的自动调用、服务的 动态发现和发布。从组成框架及实现目标的角度描述,认为w e b 服务作为一种网络 操作口”,能够利用标准的w e b 协议及接口进行应用涮的交互。从语义的角度描述基 于语义w e b 的服务【3 8 4 ,认为w e b 服务是语义w e b 的一种应用,由于考虑了语义 信息的描述及表示,w e b 服务能够更准确地被执行,服务组合( s e r v i c ec o m p o s i t i o n ) 华中科技大学硕士学位论文 能够按所期望的目标进行【4 ”。从网格计算( g r i dc o m p u t i n g ) 的角度指出w e b 服务能 用于w e b 上的资源发现、数据管理及网格计算平台上异构系统的协同设计,提出了 网格服务的新概念。从信息检索的角度提出了在包含了分布策略和路由信息的电子 文档之上进行分布式文档检索的w e b 服务【4 孔。从另一方面看,针对不同的应用背景, w e b 服务的应用对象也不同,目前被广泛应用的w e b 服务可分为如下4 类:面向企 业应用( b u s i n e s s o r i e n t e d ) 的服务、面向消费者( c o n s u m e r - o r i e n t e d ) 的服务、面向设备 ( d e v i c e 耐曲t c d ) 的服务和面向系统( s y s t e m 嘶e n t e d ) 的服务 4 4 , 4 5 1 。尽管对w e b 服务进 行描述的出发点或应用类型不同,但是它们均具有如下共同特征: ( 1 ) 应用的分布式。为适应网络应用中分布式的数据源和服务提供者,分布式的 服务响应、松散耦合是w e b 服务必须具备的特征。在应用中,服务请求者不必关心 服务提供者的数据源格式是什么,某一服务请求需调用哪些服务,服务请求在w e b 上怎样被执行等,即w e b 服务对用户具有分布透踞性脚】。 ( 2 ) 应用到应用的交互。在分布式的环境中,若采用集中控制方式,服务器有较 大的负荷,并且系统不具有健壮性。因此应用蓟应用的交互,使得w e b 服务更具可 伸缩性。 f 3 ) 平台无关性。w e b 服务的界面、跨w e b 服务的事务、工作流、消息认证、 安全机胄4 均采用规范的协议和约定【4 7 0 8 1 。由于w e b 服务采用简单、易理解的标准w e b 协议作为组件接口和协同描述的规范,完全屏蔽了不同软件平台的差异,因此具有 可集成能力【4 ”。 为了满足建立在资源动态变化之上业务日益复杂的商务应用的需求,w e b 服务 有效地利用现有的w e b 数据集成陋1 、数据过滤【3 7 1 、服务组合等技术,以进行w e b 上分散资源的集成,并在其中应用访问控制、事务机制,以保证服务响应的可靠性 及服务组件的协同工作。 1 3 课题主要研究工作 在本文中,我们提出了把层模式应用于构建基于w e b 的分布式企业解决方案,实 现分层设计、分级部署的目标。我们在分层设计的模式下提出了几种事务处理的模 型,并对其性能进行了测试和分析。本文的主要工作如下: 1 综述了企业应用的发展趋势。 2 分析了模式的理论,并重点分析了层模式的理论。 1 0 华中科技大学硕士学位论文 3 在n e t 框架下对层模式进行优化,提出了基于w e b 的三层服务应用模式。三 层服务应用模式能解决企业的某些面向服务的功能,它能向其它合作伙伴提供自己 的服务,也能把合作伙伴的服务集成到自己的系统中来。 4 在n e t 框架下实现了一个根据三层服务应用模式和分级部署模式构建的企业 级w e b 应用系统。 5 结合实现的系统提出了几种事务处理的模型,对其性能进行了测试和分析, 并总结出了它们的优缺点和适台使用的场合 6 总结,提出需要进一步讨论的问题。 华中科技大学硕士学位论文 2 层模式理论分析 本章首先对层模式的基本概念和组成内涵进行了讨论,然后分析了几个层模式 应用参考模型。 2 1 层模式分析 层( 1 a y e r ) 体系结构模式有助于构建这样的应用:它能被分解成子任务组,其 中每个子任务组处于一个特定的抽象层上。 根据f r a n kb 1 l s c h m 跏l 等人在( p a t t e r n - o r i e n t e ds o i = t w a r ea r c h i t e c t u r e ) ) 一书中对 模式的描述规定【7 1 ,我们把层模式作如下描述: 1 语境 正在设计一个大型的复杂系统,希望通过分解来处理复杂事务。 2 问题 如何组织应用程序,以满足可维护性、可重用性、可扩展性、可伸缩性、稳定 性以及安全性等操作。假设正在设计一个系统,它的显著特征是混合了低层与高层 问题( 任务) ,这里的高层操作依赖于低层操作。系统的一部分处理低层问题,另 部分有用户可见的功能。这样的系统往往需要一些与其垂直子划分正交的水平构建。 即几个操作处在同一个抽象层,但彼此之间很大程度上是独立的。在这样的情形下 需要平衡下列强制条件: ( 1 ) 后期源代码的改动应该不影响到整个系统。他们应被限制在一个组件内且不 影响其它组件。 ( 2 ) 接口应该是稳定的,甚至可以用标准件来限定。 ( 3 ) 系统的各个部分应该可以替换。组件可以被另j j 的实现方法来替代且不影响系 统的其它部分。可以给出一个低层平台可以承受未来的改动。这样的基本变动往往 需要改动代码并重新编译,系统的重新配置页可以在运行期间使用管理界面来完成。 ( 4 ) 以后可能有必要建立其它系统,这些系统具有和当前设计的系统同样的低层 问题。 ( 5 ) 相似职责应分组以提高可理解性和可维护性。每个组件应该是内聚的如 果一个组件实现分散的问题,它的整体性就会丧失。分组和内聚同时互相制约的。 华中科技大学硕士学位论文 ( 6 ) 没有“标准的”组件粒度。 ( 7 ) 复杂组件需要进一步分解。 ( 8 ) 跨组件边晃可能影响性能。 ( 9 ) 系统可以由一个程序员组来创建,工作界限必须划分清楚。 3 解决方案 将系统分成适当层次,按适当次序放置。从最低抽象层( 称为第一层) 开始, 只是系统的基础,以梯状把抽象层j 放到j l 层的顶部,直到顶层功能称它为 第n 层。 层模式的主要结构特征是第j 层的服务只被第h 。l 层使用层之间没有更进 一步的直接依赖关系。每个独立层都要防止较高层直接访问较低层。每个独立层是 由不同组件构成的复杂实体。同一层的组件可以交互。如图2 1 所示a 最高的抽象层 二口最低的抽象层 图2 1 层模式示意图 4 实现方法 为了实现分层体系结构,我们提出了个逐步细化的方法。根据具体的应用- 并非所有的步骤都是必须的。 ( 1 ) 为把任务分组成层而定义抽象准则。这个准则往往来自平台的概念上的间 隔。 ( 2 1 根据抽象准则定义抽象层数。每个抽象层次对应模式中的一层,有时从抽象 层次到层的映射是不明显的。在确定是否把特定方面分成两个层或是将它们合并成 一个层时,要权衡利弊。过多的层增加不必要的开支,而层太少会导致一个很差的 结构。 华中科技大学硕士学位论文 ( 3

温馨提示

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

评论

0/150

提交评论