




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 近年来,随着计算机技术和互联网技术的迅速发展,基于w e b 应用技术的 信息化建设已经引起了越来越多的人们的关注。在基于传统的w e b 应用技术开 发的信息系统中,大多数的系统还是停留在利用a s p 或者a s p n e t 生成动态 网页,以及与后台数据库进行简单的交互阶段而已。然而这样远远满足不了不 断升级的用户需求,因此,对高性能的分布式w e b 应用系统的研究应运而生。 本文立足于m i c r o s o f t 公司的n e t 开发平台,探讨了基于n e t 与x m l 技 术的分布式w e b 应用系统的有关技术,主要内容包括以下几个部分: ( 1 ) 对分布式系统技术进行介绍和探讨。其中包括有分布式系统的体系结 构、分布式对象技术c o m d c o m c o m + 、j a v ar m i 和c o r b a 以及w e bs e r v i c e s 分布式技术等。在对常见的几种不同的分布式系统结构、分布式对象技术进行 介绍的同时,也对它们进行了详细的比较。还对下一代分布式系统的核心 w e bs e r v i c e s 技术进行了详细研究。 ( 2 ) 介绍并探讨了m i c r o s o f t 公司的n e t 开发平台及当前流行的x m l 技术。 对于n e t 开发平台,详细介绍了其最主要的部分n e tf r a m e w o r k 以及关键技 术a s p n e t 与a d o n e t 。n e tf r a m e w o r k 使得程序开发者更容易在高度分 布式i n t e r a c t 环境中开发互联网应用程序。a s p n e t 是n e t f r a m e w o r k 中一套 用于生成w e b 应用程序和x m lw e bs e r v i c e s 的技术。a d o n e t 是一种包含 于n e t f r a m e w o r k 中的重要的应用程序级接口,用于在m i c r o s o f t n e t 平台中 提供数据访问服务,是对a d o 的全新变革。对于x m l 技术,说明了它的特点、 语法以及与h t m l 的区别,还探讨了x m l 的文档对象模型d o m ( x m l 文档在 内存中的表示形式) 。x m l 是一种可以用来定义各种不同的标志语言以满足不同 的需要的元语言,是一种数据交换格式,允许在不同的系统或应用程序之间交 换数据。d o m 使用户能以编程的方式读取、操作和修改x m l 文档。 ( 3 ) 利用n e t 平台上的分布式w e b 应用系统技术和x m l 技术,进行了一 个卫生检验实验室信息管理系统的实现。详述了该系统中的主要模块,同时对 该系统中所用到的部分关键技术,如x m l 技术在系统中的应用、w e bs e r v i c e s 设计、数据库访问技术和系统安全设计等进行了说明,重点探讨了x m l 技术在 该分布式w e b 应用系统中的应用情况。 关键字:分布式系统,a s p n e t ,x m l ,实验室信息管理系统 a b s t r a c t i nr e c e n ty e a r s ,w i t ht h es w i f td e v e l o p m e n to ft h et e c h n o l o g yo fc o m p u t e ra n d i n t e r n e t ,t h ei n f o r m a t i o nc o n s t r u c t i o nb a s e do nw e ba p p l i c a t i o nt e c h n o l o g yh a s a l r e a d yc a u g h tm o r ea n dm o r ep e o p l e sa t t e n t i o n al o to fi n f o r m a t i o ns y s t e m sb a s e d o nt r a d i t i o n a lw e ba p p l i c a t i o nt e c h n o l o g ya r ei nt h ep h a s eo fu s i n ga s po ra s e n e t t od e v e l o pd y n a m i cw e bp a g ea n de x c h a n g i n gd a t as i m p l yw i t hl a t t e rd a t a b a s e h o w e v e r , t h e s es y s t e m sa r ef a rf r o mm e e t i n gt h eu s e r s c o n t i n u o u su p d a t i n g r e q u i r e m e n t s o ,t h e r ea r i s e st h er e s e a r c ha b o u td i s t r i b u t e dw e ba p p l i c a t i o ns y s t e mo f e x c e l l e n tc a p a b i l i t y t h i sp a p e rb a s e so nm i c m s o f l n e td e v e l o p m e n tp l a t f o r m ,r e s e a r c h e sa n d d i s c u s s e st h et e c h n o l o g ya b o u td i s t r i b u t e dw e ba p p l i c a t i o ns y s t e mb a s e do n n e ta n d x m l t e c h n o l o g y t h em a i nc o n t e n t sa r ea sf o l l o w s : ( 1 ) t h i sp a p e ri n t r o d u c e sa n dd i s c u s s e st h ed i s t r i b u t e ds y s t e mt e c h n o l o g y w h i c hi n c l u d e st h ea r c h i t e c t u r eo fd i s t r i b u t e ds y s t e m ,d i s t r i b u t e do b j e c tt e c h n o l o g y : c o m d c o m c o m + ,j a v ar m ia n dc o r b aa n dw e bs e r v i c e sd i s t r i b u t e d t e c h n o l o g y , e t c t h i sp a p e ri n t r o d u c e ss e v e r a lk i n d so ff a m i l i a rd i s t i n c td i s t r i b u t e d s y s t e ma r c h i t e c t u r ea n dd i s t r i b u t e do b j e c tt e c h n o l o g y , a n da tt h es a m et i m e ,c o m p a r e s t h e mp a r t i c u l a r l y i ta l s od o e sad e e p l yr e s e a r c ho nt h ec o r eo fn e x tg e n e r a t i o no ft h e d i s t r i b u t e ds y s t e m - - w e bs e r v i c e st e c h n o l o g y ( 2 ) t h i sp a p e ri n t r o d u c e sa n dd i s c u s s e sm i c r o s o f t n e td e v e l o p m e n tp l a t f o r m a n dc u r r e n tp o p u l a rx m lt e c h n o l o g y f o r n e td e v e l o p m e n tp l a t f o r m ,t h i sp a p e r i n t r o d u c e st h em o s tm a i np a r t - - n e tf r a m e w o r ka n dt h em a i nt e c h n o l o g y - - a s p n e t a n da d o n e t n e tf r a m e w o r kl e t s p r o g r a m m e r sd e v e l o pi n t e r n e ta p p l i c a t i o n p r o g r a mi n d i s t r i b u t e di n t e m e ts u r r o u n d i n g sm u c he a s i e r a s p n e ti sal 【i n do f t e c h n o l o g y , u s e dt od e v e l o pw e ba p p l i c a t i o np r o g r a ma n dx m lw e bs e r v i c e sa n d b e l o n g st o n e tf r a m e w o r k a d o n e t , i n c l u d e di n n e tf r a m e w o r k ,i sak i n do f i m p o r t a n ti n t e r f a c eo fa p p l i c a t i o np r o g r a m i ti s u s e dt o p r o v i d ed a t aa c c e s s i n g s e r v i c ei nm i c r o s o f t n e tp l a t f o r m i ti sa d o sn e wt r a n s f o r m a t i o n f o rx m lt h i s p a p e ri l l u m i n a t e si t st r a i t ,s y n t a xa n dd i f f e r e n t i a t i o nf r o mh t m la n dt h i sp a p e r r e s e a r c h e sa n dd i s c u s s e sx m l sd o m ( x m ld o c u m e n t sa p p e a r a n c ei nr o m ) x m li sak i n do fm e t a l a n g u a g et h a tc a nb eu s e dt od e f i n ea l lk i n d so fd i s t i n c t s y m b o ll a n g u a g et om e e td i s t i n c td e m a n d x m l i sak i n do fd a t ae x c h a n g ef o r m a t x m la l l o w so fe x c h a n g i n gd a t ab e t w e e nd i s t i n c ts y s t e m so ra p p l i c a t i o np r o g r a m s d o mm a k e si tp o s s i b l ef o ru s e l _ st or e a d ,o p e r a t ea n da m e n dx m l d o c u m e n ti n p r o g r a mw a y ( 3 ) t h i sp a p e ru s e sd i s t r i b u t e dw e ba p p l i c a t i o ns y s t e mt e c h n o l o g ya n dx m l i n n e tp l a t f o r mt or e a l i z eas a n i t a t i o nt e s tl a bi n f o r m a t i o nm a n a g e m e n ts y s t e m t h i s s y s t e m 。sm a i nm o d u l e sa r ei l l u m i n a t e di nd e t a i l ,a sw e l la ss o m ee s s e n t i a lt e c h n o l o g y , s u c ha st h ea p p l i c a t i o no fx m l t e c h n o l o g yi nt h i ss y s t e m ,w e bs e r v i c e sd e s i g n ,t h e t e c h n o l o g yo fd a t a b a s ea c c e s sa n ds y s t e m ss e c u r i t yd e s i g n ,e r e t h ea p p l i c a t i o no f x m lt e c h n o l o g yi n t h i sd i s t r i b u t e dw e ba p p l i c a t i o ns y s t e mi st h ee m p h a s i so f r e s e a r c h i n ga n dd i s c u s s i n g k e y w o r d s :d i s t r i b u t e ds y s t e m ,a s e n e t , x m l , l i m s h i 此页若属实请申请人及导师签名。 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:垄l ! 玺日期丝哇:! :加 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的撬定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅: 学校可以公布论文的全部内容,可以采用影印、缩印或其他复制 手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名雏导师签名:壶1 1 鲁日期2 五丝1 9 注:请将此声明装订在论文的目录前。 武汉理工大学硕士学位论文 1 1 课题研究的背景 第1 章引言 随着计算机网络技术和i n t e m e t 的飞速发展,各行各业对w e b 技术的需求也 越来越多,尤其是分布式w e b 应用系统的需求量巨大,各种电子商务系统、电 子政务系统、信息管理系统、办公自动化系统、网络教学系统,无一不是该技 术的现实应用。 m i c r o s o f t n e t 是m i c r o s o f t 公司推出的下一代基于互联网平台的软件开发 构想,是其继d o s 和w i n d o w s 之后推出的又一个革命性的开发平台。其核心内 容之一就是要建立第三代互联网平台,这个网络平台将解决网站之间的协同合 作,从而最大限度地获取信息。 分布式系统是由若干个节点的集合组成的。这些节点在通讯网络中连接在 一起,每个节点本身是一个独立的计算机系统,有自己的中央控制器,自己的 终端,运行它自己的局部操作系统。实际上,每个站都有极高的自治性,几乎 完全不依赖于任何类型的集中控制或服务。通过安装了分布式系统软件的网络, 这些计算机能够协同工作、共享硬件资源、软件资源和数据。基于n e t 技术的 分布式系统是将n e t 框架技术和分布式计算结合起来,利用分布式系统的多层 体系结构,将应用组件化,并以w e b 服务的方式把应用逻辑暴露给用户,以此 来满足在复杂的分布式环境中不断增长的系统需求,从而有效地控制分布式系 统的开发、管理以及系统维护的复杂性。 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 可扩展标记语言) 是由w 3 c ( w b r l dw i d e w e bc o n s o r t i u m 互联网联合组织) 于1 9 9 8 年2 月发布的一种标准,它是一种数 据交换格式,允许在不同的系统或应用程序之间交换数据,通过一种网络化的 处理机构来遍历数据,每个网络节点存储或处理数据并且将结果传输给相邻的 节点。它是一组用于设计数据格式和结构的规则和方法,易于生成便于不同的 计算机和应用程序读取的数据文件。 在国外,x m l 技术已经在各种分布式w e b 应用系统中得到广泛应用。由于 它具有自定义性、内容与显示相分离、独立于平台等特征,而且提供了一套跨 武汉理丁人学硕士学位论文 平台、跨网络、跨程序语言的数据描述方式,已经逐渐成为科学与业务应用中 数据表示及w e b 应用系统中数据交换的标准格式。 1 2 课题研究的目的及意义 目前,国内外对m i c r o s o f t 公司的n e t 技术的研究形成了热潮,研究如何 利用n e t 开发平台及其架构思想、相关工具来开发功能强大且全面的新型w e b 应用系统。相对国外来讲,国内的相关研究工作要落后一些。大部分的系统研 究还是停留在利用a s p n e t 生成动态网页,与后台数据库进行简单的交互而 已。它们并没有将a s p n e t 技术与数据库技术、x m l 技术相结合,开发出真 正的功能强大的、平衡考虑系统整体执行效率的系统。因此,有必要对基于n e t 与x m l 的分布式w e b 应用系统做一次比较深入的研究和探索。 本课题利用m i c r o s o f t 公司的a s p n e t 技术结合当前热门的x m l 技术,研究 了基于,n e t 与x m l 的分布式w e b 应用系统的较好的解决方案,设计并实现了潮 北省疾病预防控制中心的卫生检验实验室信息管理系统。通过对该系统的应用, 能够在较大程度上减轻该卫生检验实验室现有的各种工作的复杂程度,提高工 作效率和管理效率。同时该系统也避免了一些普通的实验室信息管理系统的某 些弊端,例如开发成本高、日常维护复杂、系统升级困难等等,为实现实验室 管理的电子化作出了良好的贡献。 1 3 课题研究的内容 本课题旨在研究一种基于n e t 技术和x m l 技术的分布式w e b 应用系统, 提出一套相对完整的基于n e t 技术和x m l 技术、关系数据库技术的实验室信 息管理系统的设计实现方案。论文结构安排如下: 第一章是引言,主要论述课题研究的背景、目的和意义等。 第二章是对分布式系统技术的详细论述,分别介绍分布式系统的体系结构、 分布式对象技术和w e bs e r v i c e s 分布式技术等。分布式体系结构分为两层的c s 结构、三层的c s 结构、三层的b s 结构及n 层结构。分布式对象技术介绍 c o m d c o m c o m + 、j a v ar m i 和c o r b a 等,并对三种技术作出比较。w e b s e r v i c e s 分布式技术讨论其体系架构、主要技术和工作流程,以及其相对于传统 2 武汉理t 大学硕士学位论文 分布式对象技术的优势。 第三章对m i c r o s o f t n e t 技术和x m l 技术进行探讨。对n e t 技术主要的 知识点n e tf r a m e w o r k 、a s p n e t 和a d o n e t 进行深入研究。然后对x m l 技术的概念、特点、语法、与h t m l 的本质区别以及文档对象模型d o m 进行 详细说明。 第四章首先介绍实验室信息管理系统的一些相关概念,例如起源、类型、 技术现状及发展趋势等等,接着重点介绍湖北省疾病预防控制中心的卫生检验 实验室信息管理系统的体系结构和主要功能模块,其中详细叙述样品检测功能 模块的业务工作流程和数据库设计。 第五章对系统实现中的部分关键技术进行说明。包括x m l 技术在本系统中 的主要应用、系统数据库访问的实现、系统安全设计等等。 第六章是对本课题研究的总结。 武汉理t 大学硕士学位论文 第2 章分布式系统技术 2 1 分布式系统的体系结构 分层是一个在计算机系统体系结构设计中起着非常重要作用的概念。它提 供了一种使人们能够对复杂问题进行简化处理的基本思想与方法,使得原来难 以把握的问题变得易于描述、控制与实现。利用分层的思想来组织与描述一个 系统时,将一个系统看成由若干层组合而成,每个层完成系统功能的一部分。 其中每个层又由功能相近的若干模块组合而成,同一层的不同模块承担不同的 任务,各层之间相互独立,下层通过接口对上层提供服务。各层之间的相关性 不强,这样有利于软件项目的开发、实现、维护和升级。目前,基于w e b 的软件 系统的实现几乎都采用了分层的思想l l j 。 2 1 1 两层c s 结构 传统的两层c s ( o i c n t s c r v c r 客户端服务器) 结构是典型的w e b 应用信息系 统结构,2 0 世纪8 0 年代出现,是一种非常灵活的、分布式和模块化的信息系统 结构。到2 0 世纪9 0 年代,c s 结构成为各种信息管理系统开发的主流技术。典型 的两层c s 结构如图2 - 1 所示。该结构中,客户机负责提供用户操作界面和运行 逻辑处理程序,服务器负责接收客户端输入数据、查询数据库及返回查询结果。 c s 结构以数据库服务器取代集中式文件共享从而实现了计算机系统之间的松 耦合。但由于大量的应用处理任务分布到客户机上运行,应用程序的性能将受 到客户机上有限资源的制约,而且网络数据传输量也将增大许多【2 j 。当整个应用 程序都在一台p c 机上处理时,应用程序必须在向用户显示任何信息之前进行多 次数据交换请求,对网络系统造成严重的负担。 4 武汉理工大学硕士学位论文 2 1 2 三层结构 图2 1 典型两层c s 结构 典型的三层体系结构一般由表示层( 客户机层) 、中间层( 应用服务器层) 和 数据层( 数据库服务器层) 组成。其中表示层主要处理用户与系统之间的交互活 动,为用户提供操作界面,将用户的输入指令进行翻译后传送中间层和数据层, 不直接访问后台数据库。中间层包括输入与存储数据的计算,验证表示层传递 过来的数据等,大多数业务逻辑在这一层完成,所有的业务特定规则也集中在 这一层。数据层是最底层,负责定义、维护数据的完整性、安全性,实现数据 的持久化存储和响应应用服务对数据的请求。采用三层体系结构,不但可以满足 典型的w c b 立用系统的各项需求,提高软件体系结构的模块化程度,有利于划分 系统的开发工作,将部分问题交给独立的模块完成从而使功能模块多重复用, 而且符合分布式处理的要求与任务的并行化处理和执行【3 】。 需要注意的是:三层结构中的三层,是逻辑概念上的三层,当具体到物理 结构上的实现时,其差别可能会很大。三层结构可阻同在一台计算机上,也可 以在两台、三台,甚至更多台计算机上,只要它们在体系上遵循三层结构即可。 不过在一台或两台计算机上实现三层结构,其优势很难体现出来。 三层结构目前可分为三层c s 结构与三层b s 结构,下面分别介绍: l _ 三层c s 结构 武汉理工大学硕士学位论文 三层c s 系统是由两层c 幅系统发展而来的。它是将原客户端的数据处理功 能、应用子系统与数据库服务器的数据接i z l 等功能从两层结构的客户端程序中 分离出来,使客户端只保留最简单的输入输出功能。这样既保留了传统c s 系 统的优点,又避免了它的缺点。三层c s 体系结构如图2 2 所示,其优点如下: 图2 2 典型三层c s 结构 ( 1 ) 提高了效率。客户端和应用服务器之间的连接实际上只是一些简单的通 信协议,而数据库服务器交流所需要的设置或驱动程序,均由应用服务器来承 担,这样就减轻了客户端的负担,也降低了数据库服务器的连接代价。 ( 2 ) 提高了可维护性。各层相对独立,可以各自选择最合适的开发语言进行 并行开发,客户端只关注用户界面,而且与其它客户共享相同的数据访问模块, 因而提高了可维护性,也加强了数据的一致性。 ( 3 ) 更安全的存取模式。在三层a s 结构中,识别用户的机构是按层来构筑 的,对应用和数据的存取权限也可以按层进行设定。例如即使外部的入侵者 突破了表示层的安全防线,只要在中间层中各有另外的安全机构,系统也可以 阻止入侵者进入其他部分。而且由于c s 是配对的点对点的结构模式,采用适用 于局域网、安全性比较好的网络协议时,安全性能够得到比较好的保证。 ( 4 ) 具有灵活的硬件系统构成。由于现在计算机硬件系统构成非常灵活,使 得系统各部分可以选择与其处理负荷和处理特性相适应的硬件。比如在系统原 有服务器的基础上,当业务进一步的扩大,用户数进一步的增加时,系统可以 增加一台或多台工作站作为应用服务器。 6 如如 牟 群 器 武汉理工大学硕士学位论文 2 三层b s 结构 三层b s ( b r o w s e r s e r v e r 浏览器服务器) 结构是一种对传统c s 结构进行基 于w e b 应用改进后的结构,如图2 3 所示。在该体系结构中,用户通过网络浏览 器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理, 将用户所需信息返回到浏览器。b s 结构简化了客户机的工作,而w 曲服务器将 担负更多的工作,对后台数据库层的访问和应用程序的执行等将都在w 曲服务器 上完成。浏览器仅仅发出请求,其余如数据请求、数据加工、结果返回以及生 成动态网页等工作全部由服务器完成。数据库服务器的任务与c s 结构中的任务 大致相同,负责协调不同的w 曲服务器发出的请求、管理数据库。事实上,b i s 结构中的w 曲服务器层负担的任务就是两层c s 结构中客户机处理任务中的事务 处理逻辑模块。这样,b s 结构将客户机从沉重的负担和不断对其提高性能的要 求中解放了出来,同时也将技术维护人员从繁重的维护升级工作中解脱出来, 可以专注于功能服务器上程序的更新工作。这种客户机、w 曲服务器、数据库服 务器的三层结构中的层与层之间相互独立,任何一层的改变不会影响其它层的 功能。 图2 - 3 典型三层b s 结构 b s 结构与c s 结构相比,其优点在于:b s 结构的系统不用安装客户端,只 用网络浏览器即可,使用简单、具有灵活性。b s 系统的程序开发及维护等大多 数工作都集中在服务器端,当系统需要升级时,只需更新服务器端的程序即可, 但c ,s 结构的系统的各个功能模块中如果有一部分需要改变,将导致其它相关模 块的变动,升级成本较大。c s 结构只适用于数据量大、需要大量频繁、高速交 武汉理上大学硕士学位论文 互并且使用者单一的系统管理场合。而对于用户分散、查询统计比较多的场合 b s 结构的系统比较合适。 2 1 3n 层结构 在三层系统体系结构中,客户层和数据层都已被严格定义,而中间层没有明 确定义。因为中间层包括了所有与应用程序界面和持久数据存储无关的处理。 我们可以将中间层划分为许多服务程序,将每一个服务程序都看作独立的层, 这样一来,三层体系结构就变成了n 层体系结构,如图2 - 4 所示。典型的n 层 结构就是基于w e b 的分布式系统结构,这种结构继承了b $ 结构的特点,同时 又增加了分布式组件带来的好处。 ;神j | j 礁 潮层 图2 - 4n 层分布式结构 n 层结构的核心是提供可规模化特性。一方面是服务负载上的可规模化,能 为极大规模的用户同时提供服务;另一方面是服务功能上的可规模化,可形成 极大规模的软件群系统,各分系统可以共享信息和服务,形成企业级的信息高 速公路。n 层结构从逻辑上相互独立,某一层的变动通常不影响其它层,具有很 高的可重用性。n 层结构的优点还有:( 1 ) 利用单一的访问点,可以在任何地方 访问站点的数据库。( 2 ) 所有的信息都可以用相同的界面访问。( 3 ) 可跨平台操 作,具有良好的开放性。( 4 ) 支持异种数据库。 武汉理上大学硕士学位论文 2 2 分布式对象技术 分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构 件。在应用系统框架的支撑下,开发者可以将软件功能包装为更易管理和使用 的对象,这些对象可以跨越不同的软硬件平台进行互操作。目前国际上己有的 三大分稚式互操作标准,分别是m i c r o s o f t 公司推出的c o m ( c o m p o n e n to b j e c t m o d e l 组件对象模型) d m ( 分布式c o m ) c o m + 标准,s u n 公司推出的j a v a 语言开发的分布式对象模型r m i ( r e m o t em e t h o di n v o c a t i o n 远程方法调用) 和 o m g ( o b j e c t m a n a g e m e n t g r o u p 对象管理组织) 推出的c o r b a ( c o m m o n o b i e c t r e q u e s tb r o k e r a r c h i t e c t u r e 通用对象请求代理结构) 标准。 分布式结构直接把所有的应用都转化为对象的概念,即分布式系统中任何 一个对象都可以通过一定的接口来调用本系统中另一个对象或者是另一个系统 中某些对象提供的服务。在这样的体系结构中,客户端和服务器的概念都变得 模糊了,因为客户端的对象也可以产生自己的实例,在实际的应用中扮演服务 器的角色h 1 。这样的分布式系统,提供了整个系统绝对的灵活性和互操作性。 c o m 是一种独立于语言的、系统级的组件对象模型,它由m i c r o s o f t 公司于 1 9 8 8 年提出,主要应用于m i c r o s o f tw i n d o w s 操作系统平台。c o m 不仅定义了 组件之间以及组件和应用程序之间进行交互的标准,并且也提供了组件运行所 需的环境。c o m 标准使得软件组件之间的交互通信完全不受进程边界和运行环 境的限制。这种特性是通过严格的约束来保证的,即客户对某个对象的任何请 求,都必须而且只能通过该对象实现的接口来完成。c o m 定义了一种二进制的 互操作性标准,而不是一种基于语言的标准,只要符合此种二进制规范,就可 以实现由不同编程语言实现的客户和组件之间的互操作性【,j 。因此,对象代码的 编写和使用可以不受编程语言的限制,开发人员可以使用任何语言或者工具来 创建应用程序,其执行效率也相对更高一些。 c o m 对象都是c o m 类的实例,一个c o m 类用一个类标识符( c l a s s i d e n t i f i e r ) 命名1 6 j 。c o m 类是一个或多个接口的具体实现,c o m 服务器是一个动态链接库 ( d l l ) 或执行程序( e x e ) 的运行实例,它可以创建和操纵一个或多个对象类的对 9 武汉理工大学硕士学位论文 象实例。 d c o m 即分布式c o m ,是c o m 技术的扩展,主要是增加了远程调用c o m 组件的功能,使之可以跨越机器的边界,利用代理和存根程序以一种位置透明 的方式透过网络进行互操作。在d c o m 协议的支持下,我们可以在一个应用程 序或者d l l 连接库中创建对象,通过接口从驻留在另外一台机器上的程序中调 用此对象的方法。此外,由于它结合了原来c o m 中的a c t i v e x 技术,使得原有 的各种a c t i v e x 组件也因d c o m 的兼容性而变成了可以被远程调用的组件。 d c o m 技术的主要特点在于每个程序模块无需存储各客户端,更不用下载 程序到客户端上运行,只要在服务器上放一份d c o m 部件,不同地方的用户就 可以通过网络来访问这一d c o m 部件。当程序流程发生变化时,开发人员只需 要对变化的部分进行修改,就可完成程序更新,有效地提高了整个系统的灵活 性”。 m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e rm i c r o s o f t 事务服务器) 是一个包含于 d c o m 中的实时中间环境,是m i c r o s o f t 为分布式环境下进行事务处理所设计的 服务接口,负责提供对m s m q ( m i c r o s o f t m e s s a g e q u e u e m i c r o s o f t 消息队列) 的 异步应用操作,以及针对p - p c ( r e m o t ep r c r e d u r ec a l l 远程过程调用) 的同步操 作。 c o m + 以c o m 和m t s 为底层基础,几乎包容了c o m 的所有内容。它把 c o m 、d c o m 和m t s 的编程模型结合起来,继承了它们的绝大多数特性,且 更加注墓于分布式网络应用的设计和实现,新增了一些服务,例如负载平衡、 事件模型、内存数据库、队列服务等等。c o m + 通过操作系统的各种支持,使组 件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。因此,与 c o m 相比,c o m + 与操作系统的结合更加紧密:与m t s 相比,c o m + 更加适合 于分布式应用的开发。它提供了许多大型分布式应用系统才可能用到的一些功 能,将使得企业应用直接进入分布式应用领域。 2 2 2j a v ar i j a v a 是由s u n 公司定义的、发展迅速的一种可移植性强、可跨平台、完全 面向对象、安全性强的语言。j a v ar m i 是由s u n 公司推出的为j a v a 语言环境设 计的分布式对象模型,主要用于构建小型的分布式应用程序。r m i 为采用j a v a 武汉理工大学硕士学位论文 对象的分御式计算提供了简单而直接的途径,提供了一个j a v a 对象远程调用另 一个j a v a 对象的方法的能力,是j a v aa p i 和类库的一个核心部分。这些对象可 以是新的j a v a 对象,也可以是围绕现有a p i 的简单的j a v a 包装程序。j a v a 体现 了编写一次就能在多个不同地方运行的模式。而r m i 可以将j a v a 模式进行扩展, 使之能够在任何地方运行。同c o r b a 相比,它的缺点是只能使用j a v a 实现。 总的来说,r m i 的基本体系结构由存根架构层( s t u b s k e l e t o nl a y e r ) 、远程 引用层( r e m o t e r e f e r e n c e l a y e r ) 和传输层( t r a n s p o r t l a y e r ) 三个抽象层组成。每 一层的边界是由特定的界面和协议来界定的,因此每一层相对于它的相邻层来 说是独立的。换句话说,某一层在实现上的改变不会影响到其它层。 存根架构层由存根( s t u b ) 和架构( s k e l e t o n ) 这两种特殊类型的对象组成。 s t u b 和s k e l e t o n 层位于实际应用程序之下,建立在代理设计方案之上。s t u b 类 的作用是实现与远程服务器通信的代理,s k e l e t o n 类用于帮助对象通过r m i 连 接与s t u b 通信,s t u b 和s k e l e t o n 分别是客户程序和服务程序的代理人。在客户 端,客户程序向s t u b 发出远程方法调用的请求,s t u b 则负责把这些请求传递给 服务器,并且把调用的结果返回给客户程序;而在服务器端,来自客户端的调 用申请被s k e l e t o n 接收,由s k e l e t o n 负责调用相应的对象方法为之服务,最后 由s k e l e t o n 将调用结果返回给客户端。 远程引用层是具体的从语义上实现远程对象引用的部分,所有包括对象复 制等对远程对象的操作都由远程引用层来管理。远程引用层定义和支持着r m i 连接的调用语义。r m l 进行远程访问要用到一种线级( w i r e 1 e v e l ) 协议一一 j r m p ( j a v ar e m o t em e t h o dp r o t o c o lj a v a 远程方法协议) ,这一层提供了专用于 j r m p 的r e m o t e r e f 对象,它位于j a v a r m i s e r v e r 包内,代表着远程对象的一个 句柄。r e m o t e r e f 使用远程引用来执行远程对象的一个远程方法调用。 传输层负责侦听进来的调用请求,为它们建立基于流的网络连接,并且负 责设置、管理和监视这些连接。这时r m i 使用j r m p 协议进行基于t c p i p 的连 接,同时为所有存在于该地址空间的过程对象维持一张远程对象表,以便定位 远程调用的目标。 r m i 的主要目标是实现存在于不同虚拟机上的对象之间进行无缝地远程调 用。其设计的重要之处在于不但在设计上实现了远程访问功能,而且实现了设 计的透明性:所有远程方法调用的实现细节对j a v a 程序来说是透明的,远程对 象之间的引用,与引用本地j a v a 对象一样简单。对远程方法的调用,在语法上 儿 武汉理工大学硕士学位论文 与对本地方法的调用是一致的吼 c o r b a 是由o m g 提出的应用软件体系结构和对象技术规范,其核心是一 套标准的语言、接口和协议,以支持异构分布应用程序问的互操作性及独立于 平台和编程语言的对象重用。c o r b a 的特点有模型完整先进、独立于系统平台 和开发语言、被支持程度广泛等等,正逐渐成为分布计算技术的标准。其体系 主要包括o r b ( o b e dr g q o e s tb r o k e r 对象请求代理) 、对象服务( o b j e c t s e r v i c e s ) 、公共设施( c o m m o n f a c i l i t i t e s ) 和o m g i d l ( i n t e r f a c e d e f i n e l a n g u a g e 接口定义语言) 等等i l 。 o r b 主要负责在分布环境中透明地收发请求和响应,它是构建分布对象应 用,在异构或同构环境下实现应用间互操作的基础。对象服务是为使用和实现 对象而提供的基本对象集合,主要的服务有:名录服务( n a m i n gs e r v i c e ) 、事件 服务( e v e n ts e r v i c e ) 、生命周期服务( l i f ec y c l es e r v i c e ) 、关系服务( r e l a t i o n s h i p s e r v i c e ) 和事务服务( t r a n s a c t i o ns e r v i c e ) 等,这些服务几乎包括分布系统和面向 对象系统的各个方面,每个都独立于应用领域且组成部分复杂。公共设旖负责 向终端用户提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。 o m gi d l 是一种严格定义的接口定义语言,用它编写的接口定义能完整的定义 接口,并完备地说明每个操作的参数。其主要作用是定义应用系统中的重要接 口,这些接口是复用、互操作的关键部分,也是软件体系结构的重要组成部分。 c c m ( c o r b a c o m p o n e n tm o d e lc o r b a 组件模型) 技术是o m g 制定的一 个用于开发和配置分布式应用的服务器端中间件模型规范,主要包括抽象组件 模型、组件容器结构和组件的配置及打包规范等三项内容1 1 ”。抽象组件模型用 来描述服务器端组件结构及组件间互操作的结构。组件容器结构用来提供通用 的组件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成。 c c m 使用打包技术来管理组件的二进制、多语言版本的可执行代码和配置信息, 并制定了组件包的具体内容和基于x m l 的文档内容标准。 总之,c 0 r b a 的优点是大而全,互操作性和开放性非常好。c o r b a 的不 足之处在于庞大而复杂,并且技术和标准的更新相对较慢。 1 2 武汉理工大学硕士学位论文 2 2 4 分布式对象技术比较 与c o m 仍c o m c o m + 和c o r b a 不同,j a v a r m i 的接口直接使用j a v a 语言定 义,不需要使用专门设计的l d l 语言。同时,c o r b a 技术与j a v a 技术存在天然的 联系,因为s u n 公司是o m g 的创始成员,c o r b a 标准中的许多内容是以s u n 提交的方案为核心制定的。c o r b a 与j a v ar m i 的主要区别在于:程序设计语言 无关性是c o r b a 的重要设计原则,而j a v ar m i 依赖于j a v a 语言和j a v a 虚拟机,它 需要客户程序和服务器程序都用j a v a 编写,难以实现与其它语言编写的对象之间 的互操作。j a v ar m i 技术的最大成就是使对象能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业公司组织与管理制度
- vr虚拟培训室管理制度
- 企业强电安全管理制度
- xx集团公司人力资源管理制度
- 体培公司财务管理制度
- 一年级寄宿家庭管理制度
- 总经理白酒管理制度
- 家乐园员工管理制度
- 大西南公司管理制度
- 第六章发展与合作课件-地理人教版七年级上册
- 2025年中考语文二轮复习:标点符号 专题练习题(含答案解析)
- 跌倒坠床防范试题及答案
- 2024-2025学年人教版(2024)初中英语七年级下册(全册)知识点归纳
- XXX社区居委会、业主委员会和物业管理机构三方联席会议制度
- 三伏贴不良反应应急预案
- 简阳市2024-2025学年五年级数学第二学期期末统考模拟试题含答案
- 2025年广东省佛山市中考英语一模试卷
- 防尘网施工方案
- 垃圾发电行业安全培训
- 学校部门协调制度
- 2024年贵州贵州磷化有限责任公司招聘考试真题
评论
0/150
提交评论