




已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)基于web的分布式计算结构及应用技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l 耐 , 。- 一 南京航空航天大学研究生学位论文 y 互2 1 19 5 摘要 髓着国际互联网的高速发展,基于w e b 的分布式计算结构由于其自身的众多优点 得到了日益广泛的应用。与此同时,目前基于b s 结构的开发技术还存在许多不尽人 意的地硝本文针对当前b s 结构中存在的问题,提出了一种构建分布式应用系统的 w e b 应用程序框架。由于分布式数据访问是w e b 应用程序框架实现中的关键技术问 题本文重点对分布式数据访问技术进行了研究,采用了基于中间件的解决方案,并 在对分布式数据访问中间件的研究和实现过程中提出了用脚本语言来编写业务逻辑 的思想。最后详细描述了w e b 应用程序框架的实现模型,并简要介绍了它在南京 禄口国际机场生产运营管理信息系统中的应用。 关键词:b s ,框架,中间件y 分布式数据访问 业j w e l 3 的分n f “卵坩拘垃腑j j f 技术研究 a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n to fi n t e r u e t ,t h e a r c h i t e c t u r eo fd i s t r i b u t e d c o m p u t i n g b a s e do nw e bb e c o m e sm o r ea n dm o r e w i d l yu s e dd u et oi t so w n m e r i t s a n dm e a n w h i l e , c n r r e u td e v e l o p m e n tt e c h n o l o g i e so nt h eb sa r c h i t e c t u r ed o e sn o tw o r kp e r f e c t l ya sw e n e e dt h i sa r t i c l eb r i n g sf o r w a r daw e ba p p l i c a t i o nf r a m e w o r kf o rb u i l d i n gd i s t r i b u t e d a p p l i c a t i o ns y s t e m sw h i c hi sd e s i g n e d t os o l v e p r o b l e m se x i s t s i n t o d a y s b sb a s e d s y s t e m sa sd i s t r i b u t e dd a t aa c c e s s i n gi st h ek e yp r o b l e mi nr e a l i z i n gt h ew e b a p p l i c a t i o n f r a m e w m k t h i sa r t i c l eg i v e sar e s o l v e n tw h i c ha s s u m e st h et e c h n o l o g yo fm i d d l e w a r e i t a l s op u t sf o r w a r da ni d e a lo f w r i t t i n gb u s i n e s sl o g i cw h i c hu s e ss c r i p t i n gl a n g u a g ei nt h e d i s c u s s i n go fd i s t r i b u t e dd a t aa c c e s s i n gm i d l l e w a r ea n di t si m p l e m e n t a t i o n a tl a s t ,t h i s a r t i c l e d e w i l yd e s c r i b e s ar e a l i z e dm o d e lo fw e ba p p l i c a t i o nf r a m e w o r ka n d b r i e f v i n t r o d u c ei t sa p p l i c a t i o ni ni n f o r m a t i o ns y s t e mo f n a n j i n gl u k o ui n t e r n a t i o n a la i r p o r t k e y w o r k s :b s ,f r a m e w o r k ,m i d d l e w a r e ,d i s t r i b u t e dd a t aa c c e s s 南京航空航大人学研究生学位论文 第一章绪论 当今,计算机网络已经在社会经济生活中得到广泛的普及,并且起着越来越大的 作用。随着网络的普及和应用范围的不断扩大网络计算技术也在不断地发展和成熟。 互聪网的高速发展和w e b 浏览器的流行,使得基于w e b 环境的分布式计算模式越来 越普遍。本文主要讨论的是,基于w e b 的分布式计算结构及系统构建技术。 1 1 分布式计算结构的发展现状与趋势 1 1 1 早期的计算结构 早期,计算机界普遍使用的是价格昂贵、主要用于数值计算的大型机,称为主机 ( m a i n f r a m e ) ,许多用户通过终端( t e r m i n a l ) 连接到主机,共同分享c p u 资源和数 据存取功能。这种计算结构称为终端主机( t e r m i n a l m a i n f r a m e ) 结构t t ) ,参见图l _ 1 。 在这种结构下,终端往往只是一台简单的输入输出设备,不具备数据处理的能力。而 主机则几乎包揽了有关数据的一切处理工作,这就要求它具有十分高的性能,并且能 够随着信息量( 包括数据库的加大和终端的增加) 的增加不断更新。早期的终端都是 字符界面的,难以进行复杂的应用,现在的xw i n d o w 系统【2 】已经能够支持友好的视 窗界面。总体来说,终端主机结构的优点是资源得到充分共享、便于管理,主要缺 点是主机负载过大,用户界面不够友好。 | 星l1 1 主机终端结构图i 2 客户机,服务器结构 1 1 2c s 结构及其发展 2 0 世纪8 0 年代以后,个人计算机( p c ) 逐渐得到了普及。各种小型机、微型机 的价格性能比不断降低再加上网络互联技术的不断进步,开始出现了客户机,服务 器( c l i e n t s e r v e r ) 结构或称为c i s 结构( 图l 一2 ) 。这种结构的最初出现是为了缓解 终端主机结构中主机繁重的负担,通过在客户和服务器之问划分各自包含的层次, l 赢舀艄誓黼占黼 基于w e b 的分布式计算结构及应| l = i 技术研究 将主机要做的一部分工作转移到了客户机上,以提高整体的处理效率。与终端主机 结构相比c s 结构有着显著的优势:它能够最优化地共享服务器资源并充分发挥客 户端计算机的处理能力,使系统的整体处理能力得到提高【”。因此,c f s 计算结构得 到了广泛的流行。 传统的c s 结构分为四层【1 】:从客户机到服务器分别为: 1 ) 表示层实现人机交互,负责数据的捕获和转换。 2 ) 业务规则层,将人机交互数据转换为业务关聪数据,并增加有关业务规则的 信息。 3 ) 应用接口层负责将业务关联数据转换为技术关联数据,如s q u 语句,以供 应用服务层处理。 4 ) 数掘服务层,负责处理数据、如存储数据和计算出结果。 叵m 习懂乎趣胖客? 帆 ,7l l 巨卜趣咂圆瘦嘉机 客户机服务器 图i 3c s 结构的演变 在早期的c i s 结构中,客户机中通常包含有表示层、业务规则层、应用接口层等, 称为“胖客户机”。这种计算结构将大的应用处理任务分布到许多低成本计算机上 导致了费用的极大节约,但是也造成了很高的维护成本。以前的丌发和维护人员只需 要在一个中心区域维护软件,而现在则必须要到公司的各个地方为各个用户维护软 件。为了解决这个问题人们提出了三层甚至多层的c s 计算结构,将原来包含于客 户机端的业务规则层和应用接口层转移到中间功能层,而客户机端则逐渐演变成为只 包含表示层的“瘦客户机”( 图1 3 ) 。 1 1 3 基于w e b 的b ,s 结构 随着互联网和w e b 技术的流行,浏览器成为“瘦客户机”的首选平台这种基于 w e b 的c s 计算结构,又称为b s ( b r o w s e r j s e r v e r ) 结构。b s 结构通常分为三层, 第一层为w e b 浏览器,称为表示层:第二层为w e b 服务器及相关的业务逻辑( b u s i n e s s l o g i c ) 处理软件通常称为业务逻辑层:第三层为数据库系统和企业信息服务,称 为数据服务层。如图1 - 4 所示。 与传统的c s 结构相比,b i s 结构有着许多优点: 2 南京航空航天大学研究生学位论文 c 妻嚣:笠鼎糌嚣黜 图i - 4 典型的b s 计算结构 1 ) b s 结构实现了软件的集中管理,由于不需要在客户机端安装配置软件,大大 降低了软件维护的成本并提高了软件的可扩充性; 2 ) 由于采用了浏览器统一的界面,易学易用,操作性强: 3 ) 与j a 、,a 和脚本技术结合可以实现跨操作系统平台的分布式应用。 因此,在很多应用领域,b s 结构有着广泛的应用前景。 1 1 4 分布式计算结构的发展趋势 当今,基于w e b 的计算结构已经得到了越来越广泛的流行。随着i n t e m e t 技术的 进步,这种流行的趋势还会在未来得到进一步的加强。目前,分布式计算结构的发展 存在着以下趋势: 1 ) w e b 同益成为分布式计算中一个重要的平台。这个平台独立于操作系统这 使得人们对操作系统的依赖性大大减小。在这种计算结构下,人们不仅可以选择 w i n d o w 操作系统也可以采用l i n u x 等其它操作系统。 2 ) 基于集成框架的思想得到广泛应用。现代分布式应用系统舰模日趋扩大系 统开发的分工日趋细化,单纯一两种技术已经难以解决问题,因此需要依靠一种集成 框架将各种技术结合起来形成一种体系结构( a r c h i t e c t u r e ) ,并依靠集成框架所 提供的开发模式来简化开发和管理。 3 ) w e b 的计算能力将得到进一步的提高。x m l 被用来作为w e b 上数据交换和存 储的格式,基于x m l 的计算技术大大提高了w e b 的信息处理能力。 4 ) 基于w e b 的移动计算技术越来越流行。利用移动计算技术,人们可以在外出 途中照常办公。 5 ) 对安全性的要求越来越高。 1 2 课题的提出 1 2 1 现有b s 结构中存在的问题 尽管b i s 计算结构越来越被人们所接受,它还存在许多不如人意的地方。现有 b s 系统的- 丌发,通常在客户端采用h t m l 页面与脚本、j a v a a p p l e t 或a c t i v e x 控件 相结合的技术。然而,这些开发技术难以满足人们开发复杂应用系统的要求具体表 3 基t - w e b 的分布式计算结构及麻j 羽技术研究 现在: 1 ) h t m l 页面不能实时响应用户的请求:在h t m l 页面中,为了更新一点数据 就得刷新一次网页,浪费了不必要的网络带宽。并且由于h t t p 是一种无状态的协议 唧3 使得采用h t m l 页面来实现对用户的管理非常困难,通常只能利用c o o k i e 来保 存一些客户的信息。 2 ) 脚本语言功能有限,难以实现复杂的应用。并且不同的浏览器对脚本语言的 支持不太一致,有些脚本在这个浏览器中可以j e 常显示,在另一个浏览器中却频繁出 错因此用脚本语言来丌发程序不太可靠。 3 ) j a v a a p p l e t 受到许多限制。浏览器为了保证i a v a a p p t e t 的安全,对它进行了 许多限制,如不能访问本地资源、无法存储数据、只能访问a p p l e t 所在的服务器等。 4 ) a c t i v e x 控件缺乏通用性,它只能在w i n d o w s 平台上的i e 浏览器中运行。为 了使浏览器能够自动下载a c t i v e x 控件,还必须通过认证机构对它进行数字签名或者 降低浏览器的安全性2 ”。另一方面,a c t i v e x 控件的开发相对比较复杂。 此外,与传统c s 结构的开发技术相比,现有的b s 结构开发还存在着以下不足: 1 ) 运行效率较低且不能充分利用客户端的处理和缓存能力。现在的p c 机都有很 强的处理能力,利用这些资源可以降低服务器的负担和网络流量。 2 ) 系统稳定性难以保证。这是由于b s 结构将大量的处理软件转移到了服务器 端,而服务器端软件开发要比客户端软件开发严格得多。服务器端的软件往往需要长 期连续工作个编写不当的软件可能占用大量的资源甚至导致服务以致整个系统 崩溃。而随着丌发工其和软件复杂度的增加,要编写稳定的服务器端软件越来越困难。 4 ) 软件安全性差,管理困难。基于w e b 的环境使得人人都能很容易地进八系统 和获得软件软件的安全管理相对困难。 3 ) 丌发效率不高。与之相比,传统c s 结构的开发技术已经相当成熟,采用组 件技术的丌发环境如d e l p h i 、v b 真f 做到了高效的软件快速开发。 本文的课题就是基于上述问题提出来的笔者在研究生学习期间,参与了南京禄 口国际机场生产运营管理信息系统( l k i m s ) 的建设对b s 计算结构进行了深入的 研究,并以此作为研究的课题。 1 。2 。2l k i m s 简介 南京禄口国际机场生产运营管理信息系统( l k i m s ) ,是南京禄口国际机场公司 为实现企业管理现代化而建设的信息化管理系统。其目标是使机场生产运营、业务管 理和行政管理全面信息化,以提高生产和管理效率促进机场业务与国际接轨,创造 规模经济效益。l k i m s 主要划分为生产运营和业务管理两部分,包括机关管理自动 化办公、财务管理、物资计划管理、人事管理、生产指挥调度管理、货运管理及医疗 4 南京航空航天火学研究生学位论文 卫生信息管理、内部网站管理等模块,涉及二十几个部门结构非常复杂是一个综 合的异构系统。 由于南京禄口国际机场公司规模较大,地域分布较广,航站楼、货运处、办公楼、 急救中心等分别散落在不同的地方,而且部门繁多如果采用传统的c s 结构来丌发 l k i m s ,软件的安装和维护将会十分困难。因此,l k i m s 主要采用了b s 结构的开 发技术,由此也带来了与之相关的一系列问题。 南京禄口国际机场是我国的骨干航线机场之一,出于其自身的特殊性,对l k i m s 提出了严格的要求。作为机场信息管理系统,l k i m s 应当具备以下特性: 1 ) 高效:要求l k i m s 能够有效地运转,在某些方面还要满足实时性的要求。 2 ) 稳定:要求l k i m s 能够全天候不间断工作。 3 ) 安全:要求l k i m s 具备足够的安全性,避免系统遭受攻击和损失。 4 ) 易于管理:如前所述l k i m s 是一个庞大而复杂的系统,易于管理是一个重 要的要求。 然而实现以上目标并不是一件容易的事情,在现有的l k i m s 中,并不能完全 达到上述要求,这也就是本文课题提出的背景。 1 2 3 课题研究内容 本文的课题是:基于一个特定的应用环境,即企业内联网环境,研究在这种环境 下如何更好地利用现有的分布式计算技术有效地解决或改善上述b s 计算结构中存 在的问题,最终达到构建更为高效、稳定、安全、易于管理的企业信息系统的目的。 由此,课题的主要研究内容是: 1 ) 深入研究当前w e b 环境下的分布式计算技术与结构,把握最新发展潮流,并 针对现有b s 结构中存在的问题,提出一种行之有效的分布式应用系统构建方案。 2 ) 研究该方案下的系统实现技术,特别是针对w e b 环境下的分布式数据访问问 题要能够提出有效的解决方法。 3 ) 在研究的基础上进行应用开发。 基于w e b 的分布式计算结构及麻用技术研究 第二章分布式计算结构与w e b 技术研究 2 1 分布式计算技术与结构研究 为了实现b s 结构的分布式应用,就必须将分布式计算技术与w e b 环境完美地结 合起来。在分布式计算领域,e j b 、c o m 、c o r b a 并称三大分布式对象标准,本文 将详细研究这三种技术在w e b 环境下的应用方案。此外,随着x m l 的日渐成熟 x m l 必将对w e b 环境下的计算技术产生深远的影响,因此,本文也对这种技术及其 在w e b 环境下的应用进行分析和论述。 2 1 1j a v a 语言与e j b 体系结构 1 、j a v a 语言分析 j a v a 是s u n 公司开发的一种跨平台、适合分布式计算机环境的面向对象的编程语 言【4 l 。在分布式计算领域,j a v a 有着不可比拟的优势,主要表现在: 1 ) j a v a 是一种跨平台的语言。j a v a 程序具有可以不经修改而在不同的硬件或软 件平台上运行的特性即可移植陛。这是由于j a v a 程序并不是在具体的硬件平台上 运行的,而是运行在一种抽象的机器即j a v a 虚拟机( j a v a v i r t u a lm a c h i n e j v m ) 上的,因此j a v a 可以在任何安装了j v m 的平台上运行。 2 ) j a v a 得到了广泛的支持,特别是在w e b 环境下j a v a 被用来扩展w e b 浏览器 的功能。各种浏览器都安装了自己的j v m ,自动下载并运行j a v aa p p l e t 程序,j a v a a p p l e t 的使用极大地丰富了w e b 的内容并扩大了w e b 的应用范围。 3 ) j a v a 是一种安全、稳定的语言。而安全| 生和稳定睦正是w e b 开发者面临的最 主要问题之一。 4 ) j a v a 是一种面向对象的语言。 正是基于上述原因,j a v a 成为基于w e b 的分布式计算的首选语言之一。自从j a v a 问世以来,s u n 一直在努力对它进行改进和扩大应用,这使得j a v a 已经不再是一种单 纯的语言而成为一整套的解决方案。 当然,j a v a 也有其不足之处,由于j a v a 是一种解释性的语言,其运行效率较低, 另一方面j a v a 为了实现其跨平台的特性,在一些技术方面采取了折中的方案,这在 一定程度上也影响了它的可用r 陛。因此,在有些应用方面,j a v a 还不是最理想的解决 方案。 j a v a 通过以下技术实现对分布式计算的支持: 1 ) j a v a 小程序( j a v a a p p l e t ) :j a v a 小程序嵌入h t m l 网页之中,是实现浏览器 6 南京航空航天人学研究生学位论文 端软件的理想技术。 2 ) 远程过程调用( r v i i ) :通过r m i 技术,一个j a v a 虚拟机( j v m ) 上运行的 程序可以调用远程服务器上另一个j v m 中的对象。r m i 使得j a v a 编程人员能够在网 络环境中分布计算。 3 ) 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 d b c 是j a v a 与数据库互联的技术,通 过与r m l 技术的结合,可以实现分布式的数据库访问。 4 ) j a v a 与c o r b a 良好的结合性【5 l 。这是j a v a 的另一个优势,通过c o r b a 来 访问其它的分布式对象,可以提升j a v a 的性能,扩大j a v a 的应用范围。 2 、e j b 体系结构 。e j b ( e n t e r p r i s ej a v ab e a n s ) 是s u n 公司提出的用于复杂的多层结构应用系统丌 发的一种前沿技术。s u n 公司发布的e j b 规范说明中对e j b 的定义是:e j b 是用于开 发和部署多层结构的、分布式的、面向对象的j a v a 应用系统的跨平台的构件体系结 构忙”。根据e j b 规范,软件厂商实现j a v a 服务器端的服务框架即e j b 服务器,而企 业开发人员则只注重于编写包含商务逻辑的e j b 组件。 如图2 - l 所示,基于e j b 的三层编程模型以w e b 浏览器为第一层,以支持应用 程序的w e b 服务器为第二层以企业信息资源为第三层。 图2 1 基于e j b 的三层编程模型 第一层是w 曲浏览器,显示h t m l 数据和a p p l e t 。第二层是w e b 应用程序服务 器,包含w e b 服务器以及应用服务器即e j b 服务器。第三层代表企业级信息资源, 可以包括数据库系统、事务监视器和其它定制的应用服务。w e b 服务器提供了s e r v l e t 和j s p ( j a v as e r v e r p a g e ) 编程接口,应用服务器提供了e j b 编程接口。e j b 组件集 成在应用服务器即e j b 服务器中,提供了访问企业信息资源的机制,s e r v l e t 和j s p 开发者通过e j b 组件来访问企业信息资源。 3 、e j b 体系结构特点 e j b 的规范定义了一个基于j a v a 组件的应用服务框架,并将实现一个分布式应用 7 基_ 丁w e b 的分布式计算结构及应脚技术研究 的任务进行了详细的分工。它定义了完成一个基于e j b 组件的分布式应用所需要的 六个角色m 1 ,以做到“让最适合的专家干最适合的工作”。其中,服务器提供者是分 布式事务管理方面的专家;容器提供者是系统编程方面的专家;e j b 组件开发者是商 务应用领域的专家;应用程序装配者是域专家;部署者通常熟悉企业的操作环境;系 统管理员负责为e j b 服务器和容器提供一个企业级的计算和网络环境。 对于e j b 组件开发人员来说,他们不需要考虑其它的问题,而只需要将精力集中 在业务逻辑的丌发。这在一定程度上提高了系统的开发效率。 2 、e j b 技术分析 e j b 采用了“软构件”的组件技术,以达到软件的重用性。e j b 组件开发者将企 业的一个个业务逻辑编写成一个个e j b 组件再d jw e b 开发人员对它进行调用。 e j b 体系结构同时也是一个满足“j a v ao n l y ”的解决方案,从客户端软件到服务器端 组件,都可以用j a v a 语言来实现,利用j a v a 的跨平台特性,可以实现很好的移植性。 另一方面,e j b 也实现了对c o r b a 的支持。e j b 组件实现了对c o r b ai i o p 的 支持,以其它语言编写的应用程序可以i i o p 来对访问e j b 组件。通过c o r b a ,e j b 得到了其它异构平台的支持。 然而,和其它技术一样,e j b 技术也存在它的不足之处: 1 ) e i b 组件的数量可能非常多,使得对这些组件进行跟踪和管理变得很困难。 2 ) e j b 组件开发和应用开发、系统组装等相对分离,这在某些方面增大了应用 系统的开发难度。 3 ) 与其它j a v a 程序一样,e j b 应用系统的性能难以保证。 此外,e j b 技术由于其自身的特点,并不适合小型系统的开发。与其它新兴的技 术一样,e j b 的商业应用前景仍然有待于时间的检验。 2 1 2c o m 技术与w i n d o w sd n a 体系结构 l 、c o m 技术分析: c o m ( c o m p o n e n to b j e c tm o d e l ) 即组件对象模型,是微软提出的组件标准,在 w i n d o w s 平台上得到了极为广泛的应用。c o m 是一个构造二进制兼容软件组件的规 范,根据这个规范建立的组件可以相互通信,而与组件的编程语言和工具无关1 7j 。随 着w i n d o w s2 0 0 0 的推出,微软又发布了它的新一代标准,称为c o m + 。 c o m 的一个主要应用领域是p a d ( r a p i da p p l i c a t i o nd e v e l o p m e n t ) 即快速应用 程序丌发。如在v i s u a lb a s i c 中充分利用了c o m 技术。c o m 最主要的特点是它实现 了软件在二进制代码上的重用即组件的意义:通过一次开发,可以多处应用。 c o m 对象有两种存在形式: 1 ) 进程中服务器( i n - p r o c e s ss e r v e r ) 对象:它以动态链接库的形式存在,与调 8 南京航空航天大学研究生学位论文 用它的控制器在同一进程空间中运行。 2 ) 进程外服务器( o u t - o f - p r o c e s $ s e r v e r ) 对象:它以可执行文件的形式存在,在 独立的进程空间中运行。 a c t i v e x 控件则是微软所大力提倡的一类特殊的c o m 组件,它与其它c o m 组件 的主要区别在于a c t i v e x 控件通常有用户界面。作为实现,微软为它规定了一组 a c t i v e x 接口。a c t i v e x 的原义是“a c t i v a t et h ei n t e m e t ”,是微软i n t e r n e t 战略的主要 技术之一。微软的浏览器提供了对可下载a c t i v e x 控件的支持,使a c t i v e x 成为 一种重要的w e b 客户端软件形式。 为了支持网络分布式应用微软发布了d c o m ( d i s t r i b u t e dc o m ) 以扩展c o m 。 d c o m 是c o m 的一种表现形式,它依靠r p c ( r e m o t ep r o c e d u r ec a l l ) 来实现对远 程c o m 的访问。 c o m 的最大优势在于它随处可得,这得益于w i n d o w s 的流行。由于微软在其 w i n d o w s 系列操作系统中都捆绑了c o m ,这使得安装了w i n d o w s 的机器都能使用 c o m 技术。 c o m 的另一个优势是它得到了众多开发工具的支持。如在v c 、v b 、d e l p h i 中, 都提供了大量的工具来使得c o m 组件更容易编写。 2 、w i n d o w sd n a 体系结构 w i n d o w sd n a 的全称是:w i n d o w sd i s t r i b u t e di n t e r n e ta p p l i c a t i o n sa r c h i t e c t u r e 即w i n d o w s 分布式网间应用程序体系结构,是微软提出的一种基于w e b 的n 层分布 式系统体系结构。w i n d o w sd n a 规范了如何用w i n d o w s 平台去建造一个基于w e b 的健壮的、可扩展的、分布式的应用程序【2 ”。它并不是一个产品,而是一系列产品和 技术的集合【2 4 】。 如图2 2 所示,w i n d o w sd n a 以三层应用体系结构为基础,将应用程序分为表示 层、业务逻辑层和数据服务层并为应用程序提供了各种开发工具和w i n d o w s 操作 系统底层服务25 1 。它以c o m j c o m + 技术为核心,包容了微软公司所推出的系列 软件系统。其中包括:作为w e b 服务器的i i s :作为w e b 浏览器的i e ;作为事务处 理服务的m t s :作为消息队列服务的m m q s 作为数据库的s q ls e r v e r ;用于通用 数据访问的o l ed b a d o :用于w e b 丌发的a s p 技术;用于前端开发的v i s u a ls t u d i o 等等。 因此w i n d o w sd n a 实际上是微软提出来的一种集成的概念。目前,微软在其 网站上已经不再有d n a 的栏目取而代之的是n e t 2 6 1 的栏目。然而,w i n d o w s d n a 依然完整地描述了微软用于构建分布式系统的技术。 3 、w i n d o w s d n a 技术分析 9 基于w e b 的分布式计算结构及应i h 技术研究 图2 - 2w i n d o wd n a 技术集合 w i n d o w sd n a 的核心技术是c o m 及其最新版本c o m + 。与c o m 相比,c o m + 集成了m t s ( m i c r o s o f tt r m a s a c t i i o ns e r v e r ) 和m s m q ( m i c r o s o f tm e s s a g eq u e u e ) 。 在w i n d o w sd n a 结构下,m t s 和m s m q 正是用于分布式计算的两个重要服务。 图2 - 3 描述了基于m t s 和m s m q 的分布式系统结构。 厂1 。i 。i f h ts e r v e r 妇m t s m s m q 业务逻辑屠 习 b u s i n e s $ l o g i c 厂1 订 图2 - 3基于m t s m s m q 的分布式系统结构 m t s m s m q 为组件提供了以下服务【8 1 : 1 ) 事务服务:m t s 将程序员从管理事务的工作中解脱出来,程序员只需要完成 构造事务的指令。 2 ) 资源池:m t s 提供了对服务器资源的有效分配、释放和管理,确保每个组件 都能获得它所需要的资源。 3 ) 安全性:用于确保数据和代码的安全。 4 ) 管理:微软提供了一个使m t s 管理变得更为容易的“m i c r o s o f t 管理控制台” ( m m c ) 管理单元。 5 ) 消息队列服务:通过消息队列,能够创建可断开连接( d i s c o n n e c t e da p p l i c a t i o n ) 。 南京航空航天人学研究生学位论文 通过这些服务,可以大大地简化应用系统的开发。 2 1 3c o r b a 技术与o b j e c tw e b 体系结构 1 、c o r b a 技术分析 c o r b a ( c o m m o n0 b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e :公共对象请求代理体系结 构) 是对象管理组织( o m g ) 提出的对象分布计算规范。o m g 是一个开放性组织, 成立于1 9 8 9 年到今天已有8 0 0 多名成员,其主要目标是使用对象技术,使基于对 象的软件成员在分布式异构环境中具有良好的可重用性、可移植性和可互操作性,从 而能够在由多种主流硬件平台上运行多种操作系统构成的分布式异构环境中方便地 建立异构分布式应用系统。o m g 的成员中包括了o r a c l e 、i b m 、s u n 、h p 、d e c 等 众多计算机及软件厂商,这使得c o r b a 成为目前企业分布式计算和集成框架开发和 应用的标准。 1 9 9 0 年,o m g 第一次发表了对象管理体系结构指南( o m a 指南) 此后又进行 了修订。图2 4 显示了该体系结构的四个主要单元【5 l :1 ) 对象请求代理( o r b ) 定 义了c o r b a 对象总线;2 ) c o r b a 服务( c o r b as e r v i c e s ) 定义了系统级对象框架, 用来扩展总线:3 ) c o r b a 设施( c o r b af a c i l i t i e s ) 定义了直接被商务对象使用的 水平和垂直应用框架:4 ) 应用程序对象,即商务对象及其应用程序c o 砌3 a 体 系结构的最终用户。 图2 - 4o m g 对象管理体系结构 在这个体系结构中,对象请求代理( o r b ) 是其中的核心。o r b 提供了一种对象 之间相互通信的软总线机制,通过这种机制,各个对象可以透明地向本地或远端的苴 他对象发出请求或接收响应。客户并不需要知道联系、激活或存储服务器对象的具体 1 1 基- tw e b 的分布式计算结构及应删技术研究 机制。 c o r b a 的一个主要特点是它只制定接口规范,而不是代码。它规定的接口都源 自其会员公司提交的已得到验证的技术。o m g 用一种中性的接口定义语言( i d l ) 来编写这些规范,这种语言定义了组件的边界也就是它与潜在客户的接口。由于 i d l 纯粹是说明性的,这就意味着它没有提供任何实现细节。通过提供i d l 接口, c o r b a 组件就可以跨语言、工具、操作系统和网络进行访问。为了访问c o r b a 服 务组件,客户并不需要知道该组件驻留在何处或者运行在什么操作系统上以及是如何 实现的,客户需要知道的只是服务组件所发布的接口。 为了在不同厂家的o r b 之间实现互操作性,c o r b a 2 0 还规定了一个强制性的 网间对象请求代理间通信协议( i i o p ) 。i i o p 工作在t c p i p 协议上,这使得利用i n t e m e t 本身作为骨干对象请求代理成为可能,因而c o r b a 可以充分利用当前的t c p t l p 网 络。 c o r b a 提供了以下几方面的显著特性f 9 】1 10 】: 1 ) 在c o r b a 规范中引入了代理( b r o k e r ) 的概念。一个代理至少可以有三个方 面的作用:完成对客户方提出的抽象服务请求的映射;自动发现和寻找服务器;自动 设定路由实现到服务器方的执行。这样用户在编制客户端程序时就可以避免了解过 多的细节,他只需要完整地定义和说明客户端程序需要完成的任务和目标。 2 ) 增加了代理机制后实现了客户端程序与服务端程序的完全分离,这与面向 过程调用机制为基础的客户服务器模式根本不同。 3 ) c o r b a 规范定义的基础是面向对象的设计思想和实现方法。把分布式计算与 面向对象的概念相结合有很多好处,如能够将冗余度控制在最低的程度,一个对象既 能被客户端程序使用,也能被服务端程序使用,对象实现的修改不会影响双方实现程 序和提高软件重用率。 4 ) 提供了软件总线的机制,使得任何应用程序、软件系统或工具只要具有与该 接口规范相符合的接口定义,就能方便地集成到c o r b a 系统中,而这个接口规范独 立于任何实现语言和环境。 5 ) 分层的设计原则和实现方式。c o r b a 规范只是针对o m a 体系结构中的o r b 制订的工业标准而面向应用的对象定义则可以在o m a 的应用对象或应用开发环境 中逐步分层定义和实现。 c o r b a 的这些特性使得它非常适合于创建w e b 环境下的分布式应用。此外 c o r b a 与j a v a 有融合的趋势,可以实现优势互补。c o r b a 的缺点在于庞大而复杂, 技术和标准的更新相对较慢。 2 、c o r b ao b i e c tw e b 体系结构 o b j e c tw e b 的技术基础是分布式对象与w e b 联姻的产物即w e b 对象,自从 1 2 南京航空航天大学研究生学位论文 c o r b a 2 0 规范发布以来o b j e c tw e b 被认为是w e b 发展的未来方向。目前存在着 三种构建w e b 对象的技术,即c o m 、j a v ar m i 和c o r b a 。然而,c o m 是微软的 技术只能运行在w i n d o w s 平台上;j a v a r m i 是s u n 公司提出的基于j a v a 的技术, 只能对j a v a 对象进行操作。因此,c o m 和j a v ar m i 技术都无法根本改变当前w 曲 的实现技术。与此相反,由于c o r b a 具有跨平台、网络和语言的特性,并且得到了 业界的广泛支持,这使得c o r b a 可以领导w e b 向未来的方向发展。c o r b ao b j e c t w e b 就是这样一种w e b 的未来图景。 图2 5 显示了一个典型的三层c o r b ao b j e c tw e b 模型睁l 。在这个模型中,第一 层是w e b 浏览器、j a v a a p p l e t 和其它可装运的小程序,第二层是提供h t t p 和c o r b a 服务的w e b 服务器,第三层是传统的服务器,包括d b m s 、t pm o n i t o r s 等服务系统。 第一层第二层第三层 图2 - 5c o r b ao b j e c tw e b 三层模型 在中间层c o r b a h t t p 得到了几乎得到所有服务器平台的支持一一包括 u n i x e s 、n t 、o s 2 、n e t w a r e 、m a c o s 等。c o r b a 对象担当了中间层应用服务器的 角色,它们封装了业务逻辑在里面。通过j a v ao r b l e t 或者其它能在i n t e m e t 上运行 i i o p 的o r b ,客户机程序能够直接在i n t e m e t 上与这些c o r b a 组件进行交互。 一个典型的交互过程如下所示: 1 ) w e b 浏览器下载h t m l 页面。在本例中此页面包含了嵌入的j a v a a p p l e t 程 序。 2 ) w e b 浏览器检索到j a v aa p p l e t ,并将它以字节代码的形式下载到客户端井启 动j a v a a p p l e t 。 3 ) j a v aa p p l e t 调用c o r b a 服务器对象。j a v aa p p l e t 可以通过由i d l 产生的客 户存根直接调用服务器上的对象,也可以利用c o r b a 动态调用接口进行动态地调 用。根据需要,j a v a a p p l e t 与c o r b a 服务器对象的连接将持续到双方决定断开为止。 1 3 圄圈因 基于w e b 的分布式计算结构及应用技术研究 3 、c o r b a o b i e c tw e b 技术特性 c o r b a o b j e c t w e b 充分体现了c o r b a 技术的优势。通过c o r b a ,o b j e c t w e b 实现了跨平台、跨网络、跨语言的目的。c o r b a “即插即用”的“软件总线“特性, 为w e b 创建了一个面向对象的软件组件的环境,使刃:发新的w e b 应用变得非常便利。 c o r b a 本身提供了一整套的对象服务,如命名服务,事务服务、消息服务等,为 c o r b a 应用的开发提供了极大的便利。 不仅如此,j a v a 技术与c o r b a 结合进一步扩展了o b j e c tw e b 的能力。作为o m g 最早的发起成员之一,s u n 公司一直都努力地使j a v a 与c o r b a 紧密地结合在一起。 这使得j a v a 与c o r b a 有着非常良好的结合特性。j a v a 对c o r b a 的补充体现在: 1 ) j a v a 是一种移动式的代码体系,它可以传送到网络的任何地方。 2 ) j a v a 在当前w e b 环境下得到广泛支持,这使得构建o b j e c tw e b 变得容易起来。 3 ) j a v a 是编写c o r b a 对象的极好语言。 由此可见j a v a 与c o r b a 有着很好的互补性:j a v a 是一种移动式代码体系,而 c o r b a 是个分布式对象基础结构。两者的结合将o b j e c t w e b 真正推向了实用化。 事实上,c o r b a o b j e c tw e b 正是分布式计算领域的主流体系结构。 2 1 4x m l 在w e b 环境下的应用技术 l 、x m l 概述 作为一种新兴的技术,x m l ( 可扩展标记语言:e x t e n s i b l em a r k u pl a n g u a g e ) 最 早是为了克服h t m l 语言的缺陷而推出的。x m l 的出现对w e b 的发展产生了深远 的影响,随着x m l 的日趋完善和成熟,它已经被扩展到了许多应用领域,展现了强 大的生命力。 与其它一些新兴技术不同,x m l 有着深厚的技术基础。x m l 是在s g m l ( 标准 通用标记语言) 的基础上发展起来的并被认为是s g m l 的一个子集,而s g m l 在 x m l 产生之前已经有了近三十年的发展历程,得到了成功的应用】。 与h t m l 只能用于描述页面的最终显示相比,x m l 是一种描述信息内容的语言。 和工具,因此它在各个信息处理和应用领域都产生了深远的影响。x m l 可以让信息 提供者根据需要自行定义标记及属性名,结构化地描述信息内容,从而使x m l 文 件的结构可以复杂到任意程度。良好的数据存储格式、可扩展性、高度结构化、便于 网络传输是x m l 主要的四大特点【l “。 2 、x m l 特性分析 x m l 具有以下特性: 1 ) 内容与显示格式分离。与h t m l 、r t f ( r i d _ 1 t e x tf o r m a t ) 等不同,x v i l 描 述的是数据的内容而非最终显示格式。这使得用x m l 描述的数据成为个有意义的 1 4 南京航空航天火学研究生学位论文 文档( d o c u m e n t ) 这使得人们可以单独对有意义的数据内容进行处理,而不必考虑 它的显示格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年贵州省中考语文试卷真题(含答案)
- 2025年美容师职业技能鉴定实操试卷(实操技能篇)
- 2025年小学教师资格考试《综合素质》教育活动设计题教育公平与教育质量保障试题试卷
- 2025年消防安全知识培训考试题库:火灾预防与逃生消防设施检测机构案例试题
- 2025年初中历史七年级下册阶段检测试卷:历史学科教学研究论文
- 2025年美容师(高级)职业技能鉴定实操试卷-美容师实操技能考核评价改革策略与建议篇
- 分析消费者在电商行业中的购买动机和行为模式
- 2025年PET考试试卷:词汇运用与语法结构分析试题
- 消防工程师2025年执业资格考试题库-消防工程设计案例分析
- 儿童营养不良的防治与恢复
- 电气实验室工作人员岗位职责
- 2025年-甘肃建筑安全员-C证考试(专职安全员)题库及答案
- 高压灭菌锅使用管理制度
- 劳务施工总承包合同
- DB37-T4827-2025 水利工程运行管理标牌设置指南
- 2025届高考物理说题大赛-以电学实验为例
- 休学一年后复学申请书
- 《安全心理学》课件
- 水下无线光通信高灵敏度调制编码与接收技术研究
- 汽车金融不良资产分类研究-深度研究
- 2025年光伏发电项目合同能源管理合同
评论
0/150
提交评论