




已阅读5页,还剩53页未读, 继续免费阅读
(模式识别与智能系统专业论文)基于中间件的数据访问服务的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 分布式计算机控制系统中,由于各子系统拥有不同的通信体系和规范,缺乏公 共一致的通信基础设施,导致各种子控制系统和上层管理系统之间的数据访问和管 理十分困难。数据访问中间件为提高分布式控制系统的开放性提供了一个良好的解 决方案。 本文在探讨中间件技术的基础上,通过对现有o p c 规范的研究,提出了在现有 的各种数据访问规范之上增加“中间件层”,从而建立一种真正开放的工控系统中 间件规范的建议针对工控系统的特点和数据访问中间件的需求分析,提出了工控 系统数据访问中间件的3 层c 棚s 体系结构,并建立了系统模型采用面向对象建 模技术,设计实现了一个数据访问中间件,主要实现了为用户提供透明访问数据源 的功能。 关键词t 分布式系统,中同件技术,数据访问,o p cd a i nt h ed l s t r m u t e dc e n t r e ls y s t e m ,e a c hs u b s y s t e mh a sd i f f e r e n tc o m m u n i c a t i o n s y s t e ma n dp r o t o c 0 1 a n dt h e m i sl a c ko fc o m m o nc o m m u n i c a t i o ui n t e r f a c ea m o n gt h e m s oi t sd i f f i c u l tt oa c c e s sa n dm a n a g ed a t ab e t w e e nt h es u b s y s t e m sa n dt h em a n a g e m e n t s y s t e m d a t aa c c e s sm i d d l e w a r ep r o v i d e sab e t t e rs o l u t i o nt oi m p r o v et h eo p e n n e s so f t h ed i s t r i b u t e dc o n t r o ls y s t e m b a s e do ut h ed i s c u s s i o no fm i d d l e w a r e ,t h i st h e s i ss t u d i e sc u r r e n t0 p cs e r i e s s p e c i f i c a t i o n ,a n ds u g g e s t e dt h a t am i d d l e w a r el a y e rs h o u l db ea d d e do nc u r r e n t c r i t e r i o n ss oa st oe s t a b l i s har e a lo p e n i n gm i d d t e w a r ec r i t e r i o nf o rj n d u s t r i a lc o n t r o l s y s t e m s a c c o r d i n g t ot h ec h a r a c t e r i s t i c so fi n d u s t r i a lc o n t r o l s y s t e m sa n d t h e r e q u i r e m e n t sa n a l y s i so fd a t aa c c e m i d d l e w a r e at h r e e l a y e rc m sa r c h i t e c t u r ei s p r o p o s e da n di t sc o r r e s p o n d i n gs y s t e mm o d e l i sa l s od e v e l o p e d t h es o l u t i o nt a k e st h e a d v a n t a g eo fo b j e c t - o r i e n t e dm o d e l i n gt e c h n o l o g y w ed e s i g na n di m p l e m e n tad a t a a c c e s sm i d d l e w a r e ,w h i c hp r o m i s e st h eu s e ra c c e s sd a t at r a n s p a r e n t l y l i nh o n g b i n o a t t e r n sr e c o g n i t i o na n di n t e l l i g e n ts y s t e m ) d i r e c t e db ya s s o c i a t i o np r o f h u a n gx i a n k e yw o r d s :d i s t r i b u t e ds y s t e m ,m i d d l e w a r et e c h n o l o g y , d a t aa c c e s s ,o p cd a 声明 本人郑重声明:此处所提交的硕士学位论文基于中间件的数据访问服务的实现, 是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究 成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 学位论文作者签名:竖塑璺 日期:兰! 盗塑加 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文:同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 塑塑竺2 日期:鲨凌! 亟形 导师签名:赴 日 期:竺立:i :矽 华北电力大学硕士学位论文 1 1 选题背景及意义 第一章绪论 随着计算机软硬件技术的飞速发展,网络技术的普及、客户端服务器技术和 分布式技术广泛应用,使得计算机技术不断向高端领域发展,用户的应用环境变得 异常复杂,许多组织有着种类繁多的硬件系统,它包括:p c 、各种类型的工作站、 可能还有各种类型的大中型机,以及近几年迅速出现的各式各样的嵌入式设备;同 时,在这些硬件系统上,还运行着不同的操作系统和应用软件,依靠不同的网络结 构,然而在许多情况下却要求在这些异种平台之间协同地完成工作用户环境的复 杂性、多样性和多变性,导致了开放系统技术的出现。 在开放系统环境中,往往存在着许多不同的结点、资源和应用,地理上分布着 的结点可互连、互通和互操作,以实现应用的合作处理和信息的共享互用,为用户 提供形式多样的应用和服务。随着各个企事业所用的计算机系统的规模不断发展, 越来越多的计算机系统被连在一起,表现为规模庞大的开放式分布结构。 控制系统总是随着计算机技术、网络技术和通信技术等的发展而发展,分布式 计算机控制系统就是建立在分布式计算的基础上分布式控制是把一个大系统分解 为若干子系统,分别由若干予控制器去控制,由上位计算机机通过通信子网对各予 控制器进行协调控制,以实现大系统意义上的总体目标最优。控制系统的各结点( 传 感器、控制器、执行器等) 之间的数据传输不是传统的点对点式的,而是通过网络 来传输的,分布式控制系统体系结构如图1 - 1 所示 优 化 层 控制层 实际过程 图i - 1 分布式控制系统结构 因为将信息处理系统互连的需求不断地增长,分布式控制系统要求实现大范围 的信息共享,对控制系统的开放性提出了越来越高的要求。 1 华北电力大学硕士学位论文 从企业角度来看,往往由于其生产过程的多样性和复杂性,而不得不采用多种 控制系统。在当前经济全球化影响下,企业由于面对竞争加剧的现实,因而对生产 过程的控制品质提出了更高的要求,希望整个大系统全局最优,从而要求资源共享、 数据集成。 从控制领域来看,控制系统多体系并存,各有特点,适用各自所关注的被控对 象。当前,可编程逻辑控制器( p l c ) 、分散控制系统( d c s ) 、现场总线控制系统( f c s ) 等各有不同的通信体系和规范,缺乏公共一致的通信基础设施,当采用分布式控制 系统的体系结构时,要求各种控制器之间协同工作,这也就意味着要求资源共享、 数据集成o 】。 当前人们提出的各种解决方案中,o p c 技术为硬件集成、数据集成、甚至软件 集成提供了良好的解决思路。 可是不难发现一个新问题:控制系统上层应用如何透明地访问m o d b u s 对象、d c s 对象等既有对象和o p c 对象、i d a 对象这些新对象以及正在出现和将要出现的新对象 中的资源? 传统的解决方案是采用客户端服务器结构模式,但无论是瘦客户解决方案还是胖 客户解决方案都存在着缺点:瘦客户方案为每个访问对象实现一致的服务器接口,将职 责推给了服务器端,但目前工控领域当中并没有统一的强制性标准;胖客户解决方案增 加了客户的职责,复杂化了应用层职能,重复实现了相同的数据访问功能。 由于c l i e n t s e r v e r 模式的这些不足,随着业务量的变化,出现越来越多的问题, 我们有必要对这种两层体系进行改革。随着中间件与w e b 技术的发展,三层或多层 分布式应用体系越来越流行,因而我们可以借助中间件将业务处理与客户交互分开 来,提出数据访问中间件解决方案,如图1 - 2 所示。 图1 - 2 数据访问中间件解决方案 由该图可以看出,中间件层不只是一层,而是两层下层中间件为上层中间件 屏蔽了底层数据源的差异,而上层中间件也为下层中间件屏蔽了不同应用的差异。 2 华北电力大学硕士学位语文 这种方案的优点是:它简化了应用层职能,分担了胖客户解决方案中客户的职责,可 以随意扩增应用而无需改变应用。此外,也无需为解决新增系统的兼容性做特别考 虑。当然,这一解决方案的前提是必须熟知工控系统当前状况,实现所有数据访问 功能。 1 2 国内外发展现状 作为基础软件中的新兴技术,中间件真正在世界范围内进入产业阶段是2 0 世 纪9 0 年代。经过十几年的发展,中间件已经成为开发分布式应用系统不可缺少的 关键基础设施,与操作系统、数据库系统共同构成基础软件体系的三大支柱。 较早的中间件产品主要包括r p c 中间件、消息中间件、交易中间件和数据库 中间件等几种类型。随着i n t e m e t 的发展传统中间件已经不能够完全满足复杂异构 环境下的大规模应用开发的需求。2 0 世纪9 0 年代后期,分布式对象中间件技术开 始兴起,并逐步成为当前网络中间件的主流技术,出现了以c o m d c o m ( c o m p o n e n t o b j e c tm o d e l d i s t r l b u t e dc o m p o n e n to b j e c tm o d e l ) 、j 2 e e ( j a v a2p l a t f o r me n t e r p r i s e e d i t i o n ) 、c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 为代表的三个技术 分支” c o m d c o m 是m i c r o s o f t 公司推出的对象构件模型,并已成为m i c r o s o f t 世界 的应用系统集成标准。在此基础上扩展而成的c o m + 使开发人员能够方便地使用描 述语言或工具创建构件,c o m 提供了包括事务处理,数据绑定、事件处理、安全 控制等在内的应用增强服务构件。基于c o m 的w i n d o w sd n a 提供了一个多层客 户服务器和w e b 的应用集成统一体系2 0 0 0 年m i c r o s o f t 又在此基础上进一步推 出了n e t 战略,提出采用x m l 技术实现系统的松散耦合。 s u n 公司自1 9 9 5 年推出j a v a 以来,也一直致力于发展基于j a v a 的应用解决 方案。起初利用j a v aa p p l e t 给基于w e b 的客户端增加了交互性,然后提出了应用 服务器的构件模型与支撑环境e j b ,并在此基础上进一步发展了多层企业级应用的 开发与部署框架j 2 e e 。j 2 e e 体系结构和相关技术已经为许多从事电子商务的中间 件厂商采纳,但j a v a 技术在支持多语言开发方面存在一定的局限性。 c o r b a 分布计算技术是对象管理集团o m g ( o b j e c tm o d e la r c h i t e c t u r e ) 基 于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请 求代理体系规范。由于c o r b a 是由绝大多数分布计算平台厂商所支持和遵循的系 统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛 的特点。c o r b a 技术的优势在于强大的企业应用集成能力,j 2 e e 和c o r b a 采用 兼容的构件模型和互操作协议,c o r b a 技术与j 2 e e 技术的相互融合给c o r b a 技 术的发展增添了新的活力“1 3 华北电力大学硕士学位论文 尤其是c o m d c o m 和c o r b a ,其技术不断趋于成熟,正越来越广泛的应用 于软件开发的实践中,并出现了许多比较成熟的产品。但同样也存在一些问题。以 目前广为熟知的c o r b a 为例,正因为它是一个通用的异构的分布式开发平台,所 以它的效率不高,在诸如一些对实时性要求较高的应用就不能满足需求。而且,大 多数中间件是类似的,不同的是它们的接口和优化性,没有一个中间件能满足所有 应用的需要。为此,我们可以针对不同的应用领域,设计开发出不同的中间件,以 便更为灵活的满足用户的需要。 1 3 课题内容及本人所做工作 分布式计算控制系统中,上层应用与底层设备之间的资源共享、数据集成是一 个重要的课题,本文围绕着这个主题展开了以下的研究工作: 1 系统研究了中间件的特点、分类以及技术标准,特别是对c o m 技术进行了深入 的剖析。 2 研究工控领域数据访问规范现状,针对0 p c 规范的技术特点进行了详细的分析, 提出了在现有的各种规范之上增加。中间件层”,从而建立一种真正开放的分布 式计算机控制系统中间件规范的建议。 3 针对分布式计算机控制系统的特点和数据访问中间件的需求分析,提出了分布 式计算机控制系统数据访问中间件的3 层c m s ( c l i e n t m i d d l e w a r e s e r v e r ) 体 系结构,并建立了系统模型。 4 设计并实现了一个数据访问中间件,主要实现了对o p cd as e r v e r 的数据访问 服务。 4 华北电力大学硕士学位论文 2 1 中间件技术介绍 2 1 1 中间件概念 第二章中间件技术研究 随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移 植,或者一个平台需要支持多种应用软件和管理多种应用系统。软、硬件平台和应 用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。 为解决分布异构问题,人们提出了中间件( m i d d l e w a r e ) 的概念。中间件这一 技术名词在国外出现在2 0 世纪9 0 年代初,当时用来指一种软件,把它放在系统软 件( 操作系统和网络软件) 与应用软件之间。有了这层处于中间的软件,就能使远 距离相隔的应用软件可协同工作( 互操作) 哪但到目前为止,关于中间件的定义 却仍存在着较大的分歧。有人说中间件是一种技术,它主要是为程序的开发提供跨 平台功能。有人从面向对象角度出发,认为中间件是组织各种分布式对象的软件实 体。从网络的应用角度出发,又有人说中间件是应用层和传输层之间的软件体,它 为网络开发提供了简单可靠的方法。从操作系统的角度出发,还有人将中间件定义 为位于平台( 硬件和操作系统) 和应用之间的通用服务。为了准确地给中间件下一 个定义,可以从逻辑、功能、复杂性等方面分析中间件的特点和功能“儿羽嘲。 从逻辑位置的角度来看,中间件总是位于两个软件服务之间,比如t c p i p 协 议的传输层和应用层之间、应用程序和操作系统之间、应用程序和物理硬件之问、 数据库应用和数据库管理系统之间。而且上层的服务必须依赖于下层提供的服务, 比如网络应用必须依赖t c p 或u d p 提供的功能、应用程序必须依赖操作系统和物 理硬件提供的功能、数据库必须依赖数据库管理系统提供的功能等。因此,如果从 逻辑的角度来看,中间件是位于两个有依赖关系的服务之间的软件体。 从功能角度来看,中间件的主要目的是简化应用程序的使用和开发,并提供可 靠的增值服务。比如位于网络应用和t c p 或u d p 之间的中间件,必须提供t c p 或 u d p 提供的所有服务,同时,必须简化网络应用程序的管理和开发,提供比t c p 或u d p 可靠性更高、服务质量更好的增值服务因此,从功能的角度出发,可以 认为中间件是屏蔽下层服务的复杂性,简化上层应用服务的开发和管理的软件体。 从复杂性方面来看,中间件提供的服务不能和应用的功能相混淆。中闻件提供 的增值服务只能是有限的,不能包括应用程序需要提供的功能,也就是说,中间件 不能是万能的,不能无所不能、无所不包。因此,如果从复杂性的角度来看,中间 5 华北电力大学硕士学位论文 件是上层服务和下层服务之间通用的软件体。 这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支 持的软件系统,而中间件正是在这个环境下应运而生。 许多组织和专家都对中间件下过定义,但确实都不太精确,所以经常会有“什 么是中间件”这样的问题,这也正说明中间件正处于迅速发展之中。以下是对中闯 件定义的一个归纳e i o 。 中间件是在分布式计算环境中,实现应用互连、互操作、协同工作、资源共享 的一类独立的系统软件或服务程序。它可以屏蔽异构和分布所导致集成和共享的各 种复杂技术细节,它是建立在操作系统、网络操作系统和数据库系统以及应用软件 之间的可复用的结构或构建群。随着技术与需求的不断发展,中间件还将整合企业 集团乃至社会计算机应用软件的资源。从这个意义上可以用一个等式来表示中间 件:中问件= 平台+ 通信,这也就限定了只有用于分布式系统中才能q 中问件,同 时也把它与支撑软件和实用软件区分开来。 2 1 2 中间件的特点 一般说来,中间件应具有以下的一些特点: 满足特定领域各种应用的需要; 平台无关性,可运行于多种硬件和操作系统平台; 支持分布式计算,提供跨网络、硬件和操作系统平台的透明性的应用或服务的 交互功能; 支持标准的协议、标准的接口 程序员通过调用中闯件提供的大量a p l ,实现异构环境的通讯,从而屏蔽异构 系统中复杂的操作系统和网络协议的差异。 中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接口和 协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实 现。由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为 许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务 更为重要。中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层 的计算机硬件和系统软件怎样更新换代,只要将中闻件升级更新,并保持中闾件对 外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发 和维护中的重大投资。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不 同的技术之间共享资源中间件软件管理着客户端程序和数据库或者早期应用软件 之间的通讯。 6 华北电力大学硕士学位论文 中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载 均衡以及基于w e b 的计算等。利用这些技术有助于减轻应用软件开发者的负担,使 他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象模型创建分 布式应用软件时更加得心应手。 从企业应用来说,根据世界著名的咨询机构t h es t a n d i s hg r o u p 在一份研究报 告“中归纳了使用中间件有以下优越性: 缩短应用开发周期 t h cs t a n d i s hg r o u p 分析了1 0 0 个关键应用系统中的业务逻辑程序、应用逻辑程 序及基础程序所占的比例,发现业务逻辑程序和应用逻辑程序仅占总程序量的3 0 , 而基础程序却占了7 嘶l 若是以新一代的中间件系列产品来组合应用,则可大大缩 短应用的开发周期,同时节约大量的人力和资金投入 减少项目开发风险 研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高于 9 0 企业自己开发内置的基础( 中间件) 软件是得不偿失的,项目总的开支至少 要翻一倍,甚至会十几倍。借助标准的商业中间件,企业可以很容易地在现有或遗 留系统之上以及之外增加新的功能模块,并将它们与原有系统无缝集成起来。 应用系统质量及可维护性 基于企业自我建造的基础( 中间件) 软件平台上的应用系统,每增加一个新的 模块,就要相应趣在基础( 中间件) 软件之上进行改动。而标准的中间件在接口方 面都是清晰和规范的。标准中问件的规范化模块可以有效地保证应用系统质量及减 少新旧系统维护开支。同时,由于使用中间件,企业应用系统上的维护在很大程度 上只是对自己企业业务逻辑的维护,从而很大程度上增加了整个系统的可维护性 增加产品吸引力 不同的商业中间件提供不同的功能模型,合理使用,可以让你的应用更容易增 添新的表现形式与新的服务项目。从另一个角度看,可靠的商业中间件也使得企业 的应用系统更完善,更出众。 从应用程序来说,应用中间件可以获得如下优点: 透明地同其他应用程序交互 由于中间件提供了一套统一的接口,基于它的应用程序可以在任何运行该中间 件的平台上运行,它不必考虑自己的物理位置、硬件平台等。 与运行平台提供的网络通信服务无关 中间件解决不同网络协议之间的转换。应用程序不必关心下层网络协议可能出 现的差异。 具有良好的可靠性和可用性 中问件提供相应的措施来确保应用通信的可靠性及安全性此外,中间件还可 7 华北电力大学硕士学位论文 以采用合适的技术来增加系统的容错性,以保证整个应用的可用性。 具有良好的可扩展性 应用可以在保持原有功能的基础上方便地进行扩展。 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简 单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不 必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担 中问件带给应用系统的不只是开发的简单、开发周期的缩短,也减少了系统的 维护、运行和管理的工作量,还减少了计算机总体费用的投入。t h es t a n d i s h g r o u p 的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少5 0 左 右。在网络经济大发展和电子商务飞速发展的今天,从中间件获得利益的不只是r r 厂商,r r 用户同样是赢家,并且是更有把握的赢家 中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上 开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、 数据库管理系统本身无法实现的。中间件的这一作用。在技术不断发展之后,使以 往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。 当然,中间件并非万能的,也有缺点。首先中间件所带来的方便简单是由中间 件自身的复杂性换来的。中间件要处理各种网络之间的互连,要能访问多种数据源, 要能运行于各种操作系统,注定中间件本身很复杂。其次有些中间件并不能访问所 有数据源,不能互连所有的通信网络,针对性较强。但是与中间件带来的好处相比, 还是可以接受的。而且,随着中间件技术的发展,这些不足会逐渐减少甚至消除。 2 2 中间件分类研究 2 2 1 中间件的分类及其应用领域 中间件要解决的问题首先是应用的互连和互操作问题,这里是指应用之间的互 连和互操作而不是说系统之间互连,这是因为中间件是一个应用级别上的软件,是 一种应用集成的关键组件,不管这些应用是否分布在不同的硬件平台上、使用了不 同的数据库、通过了多么复杂的网络,或是同一计算机中的不同应用程序,一个完 善的中间件产品应该解决将这些应用互连所带来的各种问题,如:在通讯方面,支 持各种通讯协议、各种通讯服务模式、传输各种数据内容、数据格式翻译,流量控 制、数据加密以及数据压缩等;在中间件核心方面,解决名字服务、安全控制、并 发控制、可靠性保证和效率保证等;在开发方面,提供基于不同平台的丰富的开发 接口、支持流行的开发工具以及支持流行的异构互连接口标准( 如x a ,i d l ) 等; 在管理方面,解决对中间件本身配置,监控、协调,为系统的易用易管理提供保证。 8 华北电力大学硕士学位论文 其次,针对不同的应用领域,对中间件又有各种不同的要求。由于实际的应用 环境千差万别,不可能指望有一种包罗万象的中间件可以解决所有的问题,如对于 邮件系统需要提供存储转发功能;对工作流应用需根据条件以及条件满足状态将信 息及响应状态从一个应用传递到另一个应用;对联机事物处理系统,需要保证分布 式的数据一致性、不停机作业、大量并发的高效率;对于一个数据采集系统需要保 证可靠传输等等。 为了更好地说明中间件能解决的问题,需要对中间件作一个分类说明。目前比 较典型的中间件分类为n ”: 数据访问中间件( d m ,d a t aa c c e s s m i d d l e w a r e ) 数据访问中间件是为了建立数据应用资源互操作的模式,对异构环境下的数据 源或文件系统实现连接的中间件。 远程过程调用中间件( r p c ,r e m o t e p r o c e d u r e c a l i ) 远程过程调用在客户服务器计算方面,比数据访问中间件又迈进了一步。通 过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服 务器上的过程。远程过程调用的灵活性还体现在它的跨平台性方面,它不仅可以调 用远端的子程序,而且这种调用是可以跨不同操作系统平台的,而程序员在编程时 并不需要考虑这些细节。 消息中间件( m m ,m e s s a g em i d d l e w a r e ) 在不同的网络硬件平台、不同的操作系统乃至不同的网络协议上的应用程序之 间,有时需要传送消息,这时应用程序对传送的要求是所传消息的内容可靠和可恢 复( 若发生意外) ,而并不要求消息的即时即刻传递到达对方。因此,需要一种面 向消息的中间件,简称消息中间件。消息中间件根据要交换的消息在应用之间建立 连接,它既允许各应用运行在不同的结点机上,也允许不必标准化的消息格式,能 确保把消息不重复地传送到适当的目的地。 消息中间件用来屏蔽各种平台及协议之间的特性,进行相互通信,实现应用程 序之间的协同。适用于需要在多个进程之间进行可靠的数据传送的分布式环境。 交易中间件( t m ,t r a n s a c t i o nm i d d l e w a r e ) 交易中间件是在分布、异构环境下提供保证交易完整性和数据完整性的一种环 境平台。 交易中间件是一种复杂的中间件产品,是专门针对联机交易处理系统而设计的, 实现复杂环境下分布式应用的速度和可靠性要求,如银行业务系统。它给程序员提 供了一个事务处理的a p i ,程序员可以使用这个程序接口编写高速而且可靠的基于 交易处理的分布式应用程序。一个联机交易系统是由资源管理、交易管理和应用三 部分组成,三部分的多个管理器及程序能进行协同工作交易中间件也是基于消息 的传输,也支持同步和异步方式,但不同于消息中间件,它是一种专用的中间件。 9 华北电力大学硕士学位论文 对象中间件( o m ,o b j e c t m i d d l e w a r e ) 在分布、异构的网络计算环境中,对象中间件可以将各种分布对象有机地结合 在一起,完成系统的快速集成,实现对象重用。 传统的对象技术通过封装、继承及多态提供了良好的代码重用功能。但是这些 对象只存在于一个程序中,外面的世界并不知道它们的存在,也无法访问它们。面向 对象的中间件就是要解决这些问题,它提供一个标准的构件框架,能使不同的厂家 的软件通过不同的地址空间、网络和操作系统交互访问。该构件的具体实现、位置 及所依附的操作系统对客户来说都是透明的。例如,我们可以通过简单的组装或扩 展已有的构件就可以建立一个客户机服务器结构的信息系统。面向对象的中间件 技术的目标就是为软件用户及开发者提供一种应用级的即插即用的互操作性,就像 现在使用集成块和扩展板一样。 2 2 2 数据访问中间件 随着分布式应用的发展和普及,如何有效实现透明访问网络环境中多数据源的 功能已经变得越来越重要一般来说,人们要求数据集成访问系统必须具有可扩展 性,可以实现数据源的即插即用,这是传统的数据集成技术难以实现的。数据访问 中间件正是为了解决分布式网络环境中,透明访问异构数据资源而开发的软件。数 据访问中间件是各种中间件中最成熟也是最大的一类。数据访问中间件为现代企业 i t 环境中的不同数据源提供通用一致的数据访问途径,这包括关系数据源、层次数 据源、面相对象数据源以及普通文件等。 企业应用系统的客户服务器( c l i e n t s e r v e r ,c ,s ) 模式在产生之初被设计为 两层结构模型,一般又称之为以数据源为中心的结构,应用系统的业务逻辑部分可 以放在客户端或服务器端。与集中式事务处理相比,两层结构模型可以将应用的业 务逻辑从服务端移至客户端,有助于减少服务端的处理,从而提高系统的性能,使 实现灵活、高效率、低成本的应用环境成为一种可能。但是随着应用水平的不断提 高以及企业应用的不断扩大,构建在两层c s 体系结构之上的计算机应用系统,其 局限性也越来越明显。 在c s 模式中,数据访问一般会以s q l 语句或过程调用的形式与数据源交互, 但s o l 语句的网络开销过大,在数据源单一的应用中表现尚可,当应用系统要访 问企业r r 应用环境中不同数据源时就会产生效率问题而对于分布式的业务处理, 就会显得有些不足。而且在分布式计算环境中,无论是硬件平台还是软件平台都不 可能做到统一,因此大规模的应用软件通常要在软硬件各不相同的分布式网络上运 行。 数据访问系统中c s 模式的优越性是毋庸置疑的,问题是应如何扬长避短。为 l o 华北电力大学硕士学位论文 了克服其局限性、更好地开发和应用能够运行在异构平台上的软件,迫切需要一种 基于标准的、独立于计算机硬件以及操作系统的开发和运行环境。通过为企业应用 系统建立数据访问中间件并由中间件实现数据的访问可以解决多数据源数据访问 问题,即用三层或多层模型实现c s 数据访问模式。在这种结构中,应用系统的业 务逻辑被分别放在客户端和服务器端,客户与服务之间的交互数据被表示成消息, 这些消息通过中间件提供的服务进行传递。 这种以中间件为中心的结构,一方面避免了两层结构中的网络开销,另一方面 使c 俗模式的灵活性、高效率、低成本优点得到发扬。中间件不是一个孤立的软件, 而是一个独立的软件层它提供平台( 硬件和操作系统) 和应用程序之间的通用服 务,具有标准的程序接口和协议,为企业应用系统提供多数据源的数据访问服务, 避免了应用系统与具体平台之间的紧藕合 数据访问中间件为网络中可获得的数据源提供一致的视图和一致的访问机制, 致数据视图是通过在每个本地数据源的数据模式之上建立一个全局数据模式的 方法实现的。数据访问中取一定的数据或服务,这些数据或服务可能处于一个运行 在不同操作系统和特定查询语言数据源的服务器中。c i s 应用程序中负责寻找数据 的部分只需访问一个中间件系统,由中间件完成到网络中寻找数据源或服务、传输 客户请求、重组应答信息、返回访问结果的任务。在具体实现上,中间件是一个用 接口a p i 定义的软件层,具有强大的通信能力和良好的可扩展性的分布式软件管理 框架。 应用数据访问中间件系统的体系结构一般为三层( 或多层) c ,s 模式,客户端主 要负责数据的人机交互界面,数据源服务器负责永久数据存储,而中间件处理原来 由客户端或服务器负责处理的业务逻辑。中间件在逻辑上是独立的,也有称之为应 用服务器的,相当于在客户端与服务器之间增加了一个中间代理服务器。 系统在中间件中进行数据的处理与控制,中间件通过数据源客户端a p i 访问数 据源系统中间件负责处理与异构网络和操作系统的通信处理,并最终通过统一的 接口向客户端应用系统提供服务。在系统中,客户端直接通过中间件接口访问所需 数据,无需关心数据源系统是在本地还是远程计算机上,也无需关心数据源系统运 行的操作系统和所处的网络结构,真正实现了数据的透明访问。 中间件为企业应用系统提供网络环境中分布式数据源的数据访问服务,向客户 应用系统提供一致的数据访问接口,以自身的复杂性来为客户端提供透明的数据访 问服务,中间件屏蔽了系统应用环境中网络的复杂性、操作系统的异构性,以及硬 件平台的异构性。 数据访问中间件框架的设计目的就是为了屏蔽系统的异构性,这是分布式系统 编程者必须解决的问题。中问件通常屏蔽网络和硬件的异构性,大多数中间件能够 屏蔽操作系统和编程语言的异构性。一些中间件技术还能屏蔽中间件产品的异构 1 1 华北电力大学硕士学位论文 性总之,数据访问中间件能够提供编程抽象以保证在分布式应用中透明地进行数 据访问操作。 2 3 中间件技术标准 目前已经逐步形成以m i c r o s o f t 的c o m d c o m 技术、s u n 公司的j 2 e e 技术和 o m g 的c o r b a 技术为代表的三种中间件主流技术。这三种中间件技术由于其出 发点不同,而具有不同的技术特点,从而适应于不同的应用领域。m i c r o s o f t 的 c o m d c o m 技术在o l e 的基础上发展而来,经历了o l e 2 c o m 、a c t i v e x 、d c o m 和c o m + 等几个阶段,c o m + 已把消息通信模块m s m q 和解决关键业务的交易模 块m t s 相结合,形成分布对象计算的一个比较完整的平台。该平台效率比较高, 同时它有一系列相应的开发工具支持,应用开发相对简单。s u n 公司的j 2 e e 技术 主要针对i n t c r n c t 网络应用,在基于i n t e r n c t 网络的电子商务应用中发挥重要作用, j a v a e j b 技术提供了像远程访问、安全、交易、持久和生命期等多种支持分布对象 计算的服务。o m g 的c o r b a 技术强调异构平台、异种语言的应用集成,提出了 中间语言( m l ) 作为不同应用组件之间的通信桥梁,支持不同应用组件之间的资 源共享和互操作。 2 3 1c o m 技术标准 2 3 1 1c o h 技术 m i c r m o f i 的组件对象模型c o m 、分布式组件对象模型d c o m 和具有分布式应 用程序服务的c o m + 提供了基于w i n d o w s 平台的组件构造技术,一般将 c o m d c o m c o m + 技术简称为c o m 技术。它不仅定义了组件程序之间进行交互的 标准,并且也提供了组件程序运行所需的环境。该模型的定义是为了实现语言无关、 厂商无关、位置透明以及减少版本等问题,从而使得来自不同厂商的、不同语言编 写和运行在不同平台上的c o m 对象能够彼此协调地运行,共同实现某一任务。 c o m 技术的实质是一种对象组建构造和使用对象组件来构造应用程序的框架 规范,同时也是一种组织软件的方法。c o m 技术标准是目前二进制层主流的中闻 件技术标准之一 c o m 是软件对象组件互相通信的一种方式,它是一种二进制和网络标准,允 许任意两个组件互相通信,具有无时间差异性( 允许用户透明地使用组件的不同版 本) 、无功能的差异性( 按相同的方式来处理变化的组件) 、位置透明性( 不表现出 对组件所处位置的依赖) 、语言无关性( 与编程的语言类型无关) 以及运行环境的 无关性( 可以跨平台运行) 等特点 华北电力大学硕士学位论文 在c o m 技术中,组件( c o m p o n e n t ) 和接口( i n t e r f a c e ) 是其核心概念。组件 是指具有一定逻辑功能的可执行代码,是组成应用程序的构件;接口是对其他软件 和组件能使用的公共功能的定义,是组件与外界的交互通道“”。c o m 正是通过接 口实现它所追求的组件使用方式的一致性,对外界暴露接口函数,管理并维护接口 的函数集。接口实现对组件各种技术细节的封装与隐藏,对外界提供透明的功能支 持,对组件函数进行抽象与标准化,隐藏各种实现的特殊性。 在基本的c o m 技术之上,d c o m c o m + 中增加了网络支持、消息通信、事物 处理、安全和负载平衡等服务。 2 3 1 2c o g 通信原理 c o m 是另一种不同于d d e 的w i n d o w s 平台下进程间通信技术,它有两个核心 概念:单元和封送。单元是微软c o m 技术特有的概念,是c o m 对象的生存环境, 它可以是单线程单元或多线程单元。当c o m 客户和c o m 对象不在同一单元时, 其通信过程将利用系统提供的封送机制完成。如果c o m 客户和c o m 对象不在同 一单元,但在同一台计算机上,则采用轻量级过程调用l p c ( l i g h t w e i g h tp r o c e d u r e c a n s ) 方式的封送机制,而如果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 s ) 方式的封送机制。采用封送机制时, 与c o m 客户直接通信的对象已不是c o m 服务器对象,而是c o m 服务器对象在 c o m 客户地址空间的代理,由该代理通过通道对象与处在服务器地址空间的服务 器存根对象通信,该存根对象才直接与服务器对象通信。该过程如2 - 1 所示。 计算机b计算机a 封送 单元a 囤:剃 - i 习厂夏翮溉1 r p c 一丁茚l 。 l 对象 l p c i i 、i | ,封送 鞔b 蕊矗 图2 - 1c o m 通信原理 l p c 又称本地过程调用。它由w i n d o w s 操作系统在内核地址空间维护一个服务 器通信端口、客户通信端口、命名匿名连接端口以及用于内存映射的共享内存区。 服务器创建连接端口以监听连接请求,客户发起连接请求。连接建立后,客户和服 务器都得到一个通信句柄用于通信,数据通过由内核维护的客户和服务器共享内存 华北电力大学硕士学位论文 进行交换,从而完成通信过程。不难看出,它与常规的套接字通信过程极为类似。 但是。w i n 3 2 a p i 并没有提供可用于l p c 操作的函数,要在自己的应用程序中使用 l p c ,就得调用n t d l l d l l 中的函数,但这些函数没有文档化,微软声明可能在不 同版本操作系统上更改,使得用户在某个平台上直接开发的, p c 程序在另一个版本 的系统上就不能运行。 微软r p c 是一种创建高效客户服务器通信的技术,与d c er p c 兼容,是d c e r p c 的扩展。r p c 程序需要借助m i d l 微软接口定义语言及其编译器实现标准代理 存根,通信过程需要r p c 运行库支持。r p c 是微软进程问通信机制的一种,它可 使用微软另外3 种进程间通信机制:命名管道、n c t b l 0 s 和套接字与远程系统通信。 d c o m c o m + 采用对象调用模型,默认通信方式是同步调用:调用对象的用户在接 收到回应之前一直处于阻塞状态。为了提高同步调用的性能,微软引入了一种特殊 的c o m 对象一可连接对象支持回调。更迸一步的扩展是支持异步调用,也就是支 持异步c o m 。异步c o m 要求用户和对象处在运行状态,通信是暂时的。 d c o m c o m + 还通过提供o c ( q u e u e dc o m p o n e n t ) 队列组件支持持久性异步通信。 c o m 技术有着规范的通信过程,它有通信过程的标准实现,该标准实现由c o m 基础设施自动完成,大部分应用程序只需利用该标准实现就能获得很高的通信性 能。在符合c o m 规范的条件下,c o m 技术也支持通信过程的手工实现,以优化通 信性能c o m 的一个核心思想是。接口与实现分离” 1 4 uc o m 的通信过程也是如 此在c o m 技术中,对通信协议的描述全部是在接口层而不是函数层,c o m 客户 和c 0 m 服务器通过接口进行通信,即便是手工实现,也须遵循由接口所描述的通 信规范。在“接口与实现分离”技术的支持下,c o m 完全支持“资源与应用分离” 的思想,彻底封装通信过程,产生全新的编程模型,保证c o m 通信的规范性,大 大降低应用程序间的耦合性,显著提升了应用程序的通信性能。 2 3 2c o r b a 技术标准 o m g 即对象管理组织,从1 9 8 9 年建立至今,制订了c o r b a 规范体系,包括 通用规范、实时规范、嵌入式规范等,并得到了大约8 3 0 余家厂商和机构的支持。 o m g 组织定义了o m a 对象管理体系结构作为分布在异构环境中的对象之间交互 的参考模型。 c o r b a 是为了实现分布式计算而引入的,它是基于面向对象技术的,主要目 标是提供一种机制,在此基础上,对象可以透明地发出请求和获得应答。它的关键 在于其参考模型,o m a 参考模型由以下几个部分组成:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业安全生产大培训总结课件
- 养护作业安全培训心得课件
- 农业农村质量安全培训课件
- 化工企业安全培训室课件
- 冒号双引号的用法
- 化工企业仓储安全培训课件
- 国有土地使用权收购服务合同5篇
- 内部安全教育培训记录课件
- 初入职场安全培训内容课件
- 平安主打营销方案(3篇)
- GB 5768.1-2025道路交通标志和标线第1部分:总则
- 江西红色文化考试试题及答案
- 苏州市施工图无障碍设计专篇参考样式(试行)2025
- 哮喘的诊疗和规范化治疗
- 2025年新高考“八省联考”语文试题及参考答案解析版
- 2024年巴中市市属事业单位考试真题
- 运动性损伤及预防
- 公司战略目标设定与实现路径
- 2025年供热管理条例试题及答案
- IQC基础知识培训课件
- 政府代建项目回购协议书范本
评论
0/150
提交评论