




已阅读5页,还剩69页未读, 继续免费阅读
(计算机系统结构专业论文)基于消息传递机制的异步数据集成技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海人学硕 j 学位论文 t h ep o s l g r j t d u a t et h e s i so f s h a n g h a iu n i v e r s i q 摘要 随着计算机技术及i n t e r n e t 技术的迅猛发展,越来越多的企事业单位逐步实 现了信息化管理。在r :多大型企事业单位中甚至同时存在多个在不同时期采用不 同技术方案建立的应用系统,这些系统之间彼此互相孤立,形成了一个个“信息 孤岛”,很难进行有效的数掘交换及协同。如何将这些彼此孤立的应用系统集成 起来,在各个应用系统之间实现数据交换及协同,让决策部门能够及时准确地获 得有效的信息,对于高质量的信息化建设具有十分重要的意义。数据集成技术也 因此成为当前重要的一个研究热点。 目i u 在数据集成领域中主要面临的挑战有三个,数据源的分句性、自治性及 异构性。本文的宅要研究内容就在于如何以一种灵活的、易于重用和扩展的方式 实现多个分川j 、自治、异构的应用系统之间的数据集成。 首先,本文研究了现有的数据集成技术并分析比较了它们各自的优缺点:然 后在此基础上提出了一种基于消息传递机制的异步数据集成方案,该方案具有高 可靠性、高灵活性、易重用性及易扩展性等优点;接下来本文研究了在引入消息 传递 jl $ i 后所带来的一些新的技术问题,并对这些技术问题设计了相应的解决方 案;最后详细讨论了基于消息传递机制的异步数据集成方案中若干关键技术的具 体实瑚。 关键字:数据集成;消息传递机制;分布式应用;架构模式 v i 卜海人学硕,l 学位论文 t h ep o s t g r a d u a t et h e s i so ls h a n g h a iu n i v e r s i t 3 a b s t r a c t w i t ht h er a p i dg r o w t hi nc o m p u t e ra n di n t e r n e tt e c h n o l o g y ,m o r ea n dm o r e e n t e r p r i s e sh a v ea r m e dt h e m s e l v e sw i t hi n f o r m a t i o nt e c h n o l o g yi nt h e i rb u s i n e s s m a n yl a r g e - s c a l e e n t e r p r i s e se v e ns i m u l t a n e o u s l yp o s s e s sa n u m b e ro fd i f f e r e n t a p p l i c a t i o n st h a th a db e e nb u i l ti nd i f f e r e n tp e r i o dw i t hd i f f e r e n tt e c h n i c a ls o l u t i o na s t h ei s o l a t i o nb e t w e e nt h e s ea p p l i c a t i o n sm a k e si td i f f i c u l tf o rt h e i rc l i e n t st ou s et h e m e f f i c i e n t l y ,i ti se x t r e m e l yi m p o r t a n tf o rr e s e a r c h e r st os t u d yh o wt oi n t e g r a t et h e s e i s o l a t e da p p l i c a t i o n ss ot h a tt h e i ru s e r sc o u l dm a k et h ec r i t i c a ld e c i s i o nv i aa c c e s s i n g t h ed a t ap r o m p t l ya n de f f i c i e n t l yi nau n i f i e da p p r o a c h f o rt h e s er e a s o n s ,d a t a i n t e g r a t i o n ( e c b a l o l o g yb e c o m e s a ni n c r e a s i n g l yi m p o r t a n tr e s e a r c h i n gf i e l dr e c e n t l y t h e r ea r et h r e em a i nc h a l l e n g e si nt h er e s e a r c h i n gf i e l do fd a t ai n t e g r a t i o n , w h i c ha r ed i s t r i b u t i o n ,a u t o n o m ya n dh e t e r o g e n e i t ya m o n gd i f f e r e n td a t as o u r c e s t h e p u r p o s eo ft h i st h e s i si st of i n dar e l i a b l e ,f l e x i b l e ,r e u s a b l ea n de x t e n s i b l es o l u t i o nt o a d d r e s st h ei s s u e ss p r i n g i n gf r o mt h e s ec h a l l e n g e s t h i st h e s i sf i r s t l yi n v e s t i g a t e st h ee x i s t i n gd a t ai n t e g r a t i o nt e c h n o l o g i e sw i t ha f u l ls t u d yo ft h e i rp r o sa n dc o n s t h e ni tr a i s e sam e s s a g i n g b a s e dd a t ai n t e g r a t i o n s o l u t i o nw i t hh i g hr e l i a b i l i t y , f l e x i b i l i t y , r e u s a b i l i t ya n de x t e n s i b i l i t y a f t e rr a i s i n gt h e m e s s a g i n g b a s e ds o l u t i o n ,t h i st h e s i sa n a l y z e ss o m et e c h n i c a li s s u e sa c c o m p a n i e d w i t hi ta n dd e s i g n sc o r r e s p o n d i n gs o l u t i o n sa sw e l l f i n a l l y , t h i st h e s i sd i s c u s s e sh o w t o i m p l e m e n tt h ek e yt e c h n i q u e s i nt h e m e s s a g i n g - b a s e da s y n c h r o n o u s d a t a i n t e g r a t i o ns o l u t i o n k e y w o r d s :d a t e i n t e g r a t i o n ;m e s s a g i n g ; d i s t r i b u t e da p p l i c a t i o n ;a r c h i t e c t u r ep a t t e r n 卜海大学硕1 学位论文 ! 生! ! ! ! ! ! ! ! ! 坐! ! 型! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 堡 插图索弓 图2 1 适配器模式 图2 2 中介器模式 图2 3 j 面模式 图2 4 消息器模式一 图2 - 5 数掘仓库体系结构 图2 - 6 联邦数据库体系结构 图2 7i i ,介器体系结构 图3 1 消息传递 图3 - 2 消息信道 阁3 3 消息处理器 倒3 - 4 消息路由器 图3 5 消息转换器 图3 - 6 消息终端 图4 1 命令消息 图4 - 2 数据消息 图4 3 事件消息 图4 - 4 消息请求一响应机制 图4 5 返回地址 图4 6 关联标识 图4 7 广播信道 图4 8 类型化信道 图4 - 9 高可靠性信道 图4 1 0 消息分解器 图4 11 消息聚合器 图4 1 2 内容路由 图4 一l3 动态内容路由 图4 一1 4 过滤路由 图4 1 5 动态目标路由 图4 1 6 消息扩展器 图4 1 7 消息精简器 图4 18 采用消息转换器集成多个应用 图4 1 9 统一数据模型 图4 2 0 消息网关 图4 _ 2 l 阻塞式消息网关时序图 图4 2 2 事件式消息网关时序图 图4 2 3 消息映射器 图4 。2 4 消息映射器与消息转换器的协同 图5 1j m s 对象关系图 图5 2 消息终端的实现 图5 3x s l t 处理过程 x m他h”m防”加加抖抖笛拍”勰引弛”拍弛扣们们舵钳邪卯驰铝引亚印 f :海人学颂。1 :学位论史 t h ep o s t g r a d u a l et h e s i so fs h a n g h a iu n i v e r s i t y 原创性声明 本人声明:所呈交的论文足本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示丁谢意。 签名:鳞曰期:业己 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:鳞导师签名:举日期:墨竺 ! i :! l i i i :海九学f j ii :学位论文 i h ep o s t g r a d u a t ef h e s i so fs h a n g h a iu n i v e r s i t y 第1 章绪论 本章概述了本文的研究目的和意义、研究现状及研究内容,并掐述了全文的 组织结构。 1 1 研究目的和意义 在现代经济社会中,信息驱动着一切商业活动。如何安全地存储信息,如何 快速地获取信息,如何保证信息时刻有效,都是至关重要的。 由于历史的原因,参与交换的数据形式多种多样,行业,单位和部门的具体 业务和功能归属的不同,他们都只是根据自身需要构建了许多相互独立的信息服 务和管理系统,甚至在一个单位内部所采用的信息化环境也可能不会固守任何一 个平台,而是由不同平台组成。这样随看时问的推移和技术的进步,这些由不同 技术构建的信息系统就像一个个“信息孤岛”,各自有不同的处理对象,操作方 法和专有客户端。而由于部门之间协同合作的需要,在各个环节之间信息交流以 及集成共享的问题也日益严重起来。从应用角度来看,每个部门就是一个数据源, 因为他们之删的信息和组织都不一样,这样每个数据源又都是异构的,如此就构 成了一个巨大而复杂的异构数据环境。实际j 二,异构性存在子三个层次上【3 】:第 一层是平台层,即不同的硬件,不同的操作系统和不同的通信协议;第二层是数 据库管理层,即具有不同数据模型和语言的数据库管理系统;第三层是语义层, 即数据模式的不同速模方法及语义。 现行的大多数应用程序是建立在这些分离的数据源基础之上的,应用程序问 难以实现互相的协同。如此种种,严重地阻碍了人们对数据资源,特别是异构数 据库资源的共享。数据集成是企业之问或企业内各部门协同合作的需要。它的目 标是实现各个异构数据源之间的数据共享,从而有效地利用资源,提高整个应用 系统的性能。目前,联邦数据库和数据仓库是比较成熟的数据集成解决方案,然 而这两种解决方案都存在较大的缺陷,故能够适用的应用范罔并不很。本文采 用了更加灵活的异步消息传递的方案来实现数据集成系统,具体的相关工作会在 后面的章节中予以详细描述。 1 2 研究现状 数据集成技术研究的起源可以追溯到2 0 世纪8 0 年代早期的多数据库系统 8 1 ,多数据库系统主要研究应用传统数据库技术桥接异构数据源之间的不匹配。 多数据库系统研究以联邦数据库系统研究为主。联邦数据库系统【2 4 u 剞听有数据 人学顾t 。学位论文 旦! ! 型! ! ! ! ! ! ! ! 旦竺! ! ! ! ! ! ! ! 堕坐竖型: 源统一到一个单一的集成系统中。这种方法比较简单,集成系统有统一的数据模 式,不用考虑分布数据的转化和统一。但是,它存在一系列的问题:首先,构建 这样一个集中式的系统需要很长的开发时间,要求高性能的主机殴备,实现代价 较高;其次,系统的扩展和维护会涉及到整个系统,而且一个集成系统无法共享 另一个集成系统的模块。 2 0 世纪9 0 年代中期w w w ( w o r l dw i d e w e b ,万维网) 和i n t e r n e t 的出现 迸一步推广了数据集成的概念。事实上,数据集成不仅是数据库研究学者感兴趣 的课题,在人工智能领域,数据集成也引起r 研究人员的广泛关注峭1 。关国华盛 顿大学的e t z i o n i 和w e l d 是信息a g e n t 1 5 j 研究的先驱,信息a g e n t 主要用于从 分布的数据源中检索信息。继e t z i o n i 和w e l d 之后,信息a g e n t 成为其它研究小 组感兴趣的课题,p e g a s u s 、s i m s 、r a z o r 、o c c a m 、a r i a d n e 等尾数据集成在人 工智能领域的研究项目。这些项目主要研究数据集成的查询计划问题,如制定查 询计划以及查询优化等。s i m s 和a r i a d n e 把数据源映射成用于模式集成的描述 逻辑,它们在查询翻译中应用了推理和规划。这些项目的另外一个主要研究内容 就是包装器,包装器实现数掘源和数据集成系统之m 的数据和查询格式的转换。 包装器的研究成果包括包装器的自动学习、加速包装器开发的工具等j 。 美国斯坦福大学开发的t s i m m i s t “1 是第一个提出在模式集成中使用半结 构化数扼模型的项目之:h e r m e s 、i r o d b 和d i s c o 主要研究处理有限的数据 源访问能力:c a r n o t 和i n f o s l e u t h 研究演绎数据库的集成。t s i m m l s 、h e r m e s , i r o d b 和d i s c o 均使用g a v ( g l o b a l a s v i e w ) 方法进行模式集成。g a v 方法将全局模式定义为所有局部模式上的一个集成视图。这种方法的优点是用户 查询容易定义,查询分解过程相对容易实现,不足是任何局部模式的变化都可能 影响到全局模式,全局模式维护困难,系统扩展性不强,难以表示不完整的数据 源1 1 1 。 i n f o r m a t i o n m a n i f o l d 项目推广了l a v ( l o c a l a s 一e w ) 方法的运用。l a v 方法将每个局部模式定义为全局模式的一个视图。这种方法的优点是局部模式变 化只需修改局部模式在全局模式上的视图定义,无需修改全局模式,系统扩展性 好:不足是难以定义如何利用视图响应查询,查询响应算法难以实i 见。 i n f o r m a t i o nm a n i f o l d 项目的开发人员提出b u c k e t 算法将查询重组成实际数掘 源上的查询。上面提到的r a z o r 项目也使用l a v 方法进行模式集成,在r a z o r 中查询重组是应用i n v e r s e r u l e s 算法【2 】完成的。华盛顿大学开发的t u k w i l a 系统 也是使用l a v 方法进行模式集成,m i n i c o n 算法 2 】是华盛顿大学在t u k w i l a 中 提出的查询重组算法。m i n i c o n 算法克服了b u c k e t 算法和i n v e r s e - r u l e s 算法的 诸多不足,是目前性价比最高的查询重组算法。 在商业领域,数据集成系统巳经成功应用在企业、电子商务和生命科学领域, 1 m 大学坝十学位论义 ! ! ! ! ! ! ! ! ! ! ! 型! ! ! 竺! ! ! ! ! 竺塑! ! ! 竖型竺 如i b m 开发的g a r l i c 己经集成到d a t a j o i n e r 和d b 2 中。n i m b l e 科技和b e ai t 在尝试在大型组织中推广它们的数据集成工具a c t u a t e ”埽口l i q u i dd a t a 【”1 。 x m l 的出现将数据集成的研究推向了一个新的阶段。尽管大多数的商业数 掘仍然存储在关系数据库罩面,人们还是对把传统系统中的数据转换成x m l 表 现出了极大的兴趣。i b m 、o r a c l e 和m i c r o s o f t 在它们的数掘库产品d b 2 、o r a c l e 和s q ls e r v e r 中增加了为关系数据创建物化x m l 视图的功能。s q l s e r v e r 是唯 一支持x m l 视图查询的r d b m s ( r e l a t i o n a ld a t a b a s em a n a g e m e n ts y s t e m ,关 系数掘库管理系统) ,但是仅支持用x p a t h 表达的x m l 查询,查询能力非常有 限。 s i l k r o u t e l 6 1 和x p e r a n t o 【5 j 主要研究中间层x m l 视图上的x q u e r y 到 关系数据库上的s q ,奇询的翻译,它们仅支持关系数据库的集成。a g o r a 9 】主要 研究将标准化的x q u e r y 查询翻译成中问层通用虚拟关系模式上的s q l 查询, 支持关系数据源和支持d o m 接口数据源的集成。 在国内,东南大学和华中科技大学在数据集成方面取得了很多研究成果,它 们分别丌发出了v e r s a t i l e | 【8j 和p a l l o m m a 1 数据集成原型系统。v e r s a t i l e 和 p a n o r a m a 项目组成员在国内外知名期刊上发表了一系列高水平的学术论文。 以上提到的项目采用的数据集成方法均为“虚拟法”口”。集成系统只是提 供虚拟的集成视图和对该集成视图的查询处理机制。系统能够自动地将用户对集 成模式的查询转换成对各异构数据源的查询。因为虚拟数据集成不需要存储数 据,并能保证查询到最新的数据,所以它比较适合于高度自治,集成数量多,且 更新变化快的异构数据源集成。虚拟数据集成的缺点是需要维护一个全局模式, 当数据源模式发生变化时,维护全局模式比较困难。虚拟数据集成本质上是对数 据进行逻辑上的集成,因此也被认为是一种逻辑数据集成方法。 与“虚拟法”相对,另外一种数据集成方法就是“数据仓库法”。数据 仓库通过e t l ( e x t r a c t 、t r a n s f o r ma n dl o a d ,提取、传输和加载) 工具将数据物 理搬迁到数据仓库,因此也被认为是一种物理数据集成方法。在集成系统中数 据仓库位于客户端与数据源之问,用来存储来自各数据源中的待集成数据,系统 提供对数据仓库的查询机制。这种体系结构的优点是查询响应速度快。数据仓库 存在的问题是,当数据源中的数掘变动频繁时,要从数据仓库中查询到最新的数 据,需要定时更新数据仓库,维护数据仓库的代价很高。 1 3 奉文的研究内容 本文所要研究的课题是数据集成技术,从本质上来说也就是研究如何应对分 布性、自治性和异构性三大挑战。本文的主要研究内容有: 研究现有的主要的数据集成技术,并分析其各自的优缺点; 卜海大学顺,l 学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 在分析现有的数据集成技术的基础上,针对其不足之处提出了一种基于 消息传递的异步数据集成方案; 刘十该方案所带来的问题做深入探讨,并给出相应的设计方案来解决这 些问题: 讨论如何实现基于消息传递的异步数据集成方案中的部分关键技术。 论文的组织结构如f : 第一章介绍了数据集成领域的研究意义及现状; 第二章研究了数据集成领域现有的相关技术并分析了它们各自的优缺 t l : 第三章提出了基 二消息传递的异步数据集成方案,并阐述了浚方案中的 一些基本概念; 第叫章描述了基于消息传递的异步数据集成方案中的一些技术问题,并 详细讨论了该方案的设计: 篼血章分析了如何具体实现该方案中的关键技术; 第六章对全文做了总结,并展望将来要继续做的一些t 作。 1 4 本章小结 本章首先简述了数据集成领域的研究目的和意义,然后介绍了该领域的研究 现状,最后概述了本文的研究内容及其组织结构。 :海火学顺i 学位论文 t h ep o s t g r a d u a t et h e s iso f s h a n g h a iu n i v e r s i t ) 第2 章数据集成的相关技术 本章将讨论数据集成领域的相关技术,包括中间件的产生、定义及分类,数 据集成中的几种常用的架构模式以及现有的几种数掘集成技术方案。 2 1 中间件技术 2 1 1 中间件的产生 随着计算机技术和网络技术的飞速发展,用o 面临的问题也越来越多,诸如 不同硬件平台、不同网络环境、不同数掘库之间的相互操作;多种应用模式并存、 应用丌发周期过长、系统效率过低、传输不可靠、数据加密等,这些问题单纯依 赖传统的系统软件或工具软件提供的功能已经不能满足要求,这就迫切需要有 种新的应用方式来解决上述问题”。 2 0 世纪9 0 年代衲,c s 模式开始成为主流技术,它将数据统一存储在数 据库服务器上,而有关的业务逻辑都在客户端实现,这就是“胖终端”解决方案, 其最大的优点在于系统结构简单。但是随着信息技术的发展,构建在两层c s 之上的计算机系统的缺陷也逐渐显现出来。其缺点是:由于全部的业务逻辑集中 在客户端,在i q 用户显示任何信息之前都必须要进行多次数据清求,网络数掘传 输量大;另一方面,由于单一的服务器结构,无法将应用隔离或分割,使得应用 程序跨越多个服务器和不同平台的可移植性较差,而且如果客户端的机群较分 散,势必难以进行管理。 山于两层结构的上述缺点,以及随着用户业务需求的增长,i n l e r n e t 和i n t r a n e t 的普及,两层的c s 结构_ 【f 逐渐被三层或n 层体系结构取而代之。三层结构就 是在两层结构中把客厂t 端的业务逻辑独立出来,并与数据库服务器中的存储过程 合并在一起,构成应用层,以提高计算能力,实现灵活性。在这种结构中客户端 仅仅是处理图形界面而已,即形成“瘦终端”的工作方式。而目前的趋势则是采 用具有交互功能的浏览器来呈现用户界面,为此,中间又增加了一层,称为w e b 服务器层,这样就形成了多层体系结构。这类多层结构的分布系统,各服务器和 终端机之间都是通过网络连接起来的,除了在应用服务器上的业务逻辑部分之 外,还必须要设计支持处理分布式系统的、具备特有功能的软件,而目前的系统 软件( 操作系统和支撑软件) 都不支持。在此背景下,巾间件这一新兴的概念应 运而生,它是处于系统软件和应用软件之间的一类软件,它可以让设计者集中设 1 海大学坝i 一学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 引与、v 用有关的部分,从而大大简化了设计和维护工作。 中问件的出现已有很多年的时间,通过大量的应用和实践,目i u 已有一批成 熟的产品,在发达国家,中间件已经与操作系统、数据库管理系统并驾齐驱,成 为重要的基础软件。中问件技术作为软件行、i k 新崛起的一个崭新的分支,作为软 件技术发展的一种潮流,f 在全球范围内迅猛发展。特别是近几年来,中间件已 成为发计分斫i 式系统不可缺少的软件,中间件技术的发展,也将把分饰式应用带 剑一个新的境界,毫无疑问,中问件_ f 在成为软件行业新的技术与经济增长点。 2 1 2 中问件的定义 虽然中问件这个概念在计算机科学领域已经广泛使用,但对中间件的概念性 定义却存在很人的分歧1 1 0 1 1 1 。有人认为中间件其实是种为程序丌发提供跨平台 功能的技术;有人认为中i h j 件是组织各种分布式刈象的软件实体;从网络应用的 角度,有人又将中间件定义为应用层和传输层之问的软件体,它为丌发网络应用 提供了简单可靠的方法;从操作系统的角度,有人将中问件定义为是位于平台( 硬 件和操作系统) 和应用之间的通用服务。 从逻辑位置角度上看,中间件总是位于某两个软件服务之间,比如t c p i p 协议的应用层和传输层之间,应用程序和操作系统之间,应用程序和物理硬件之 间,数据库应用和数据库管理系统之间:而且j 二层的服务必须依赖下层所提供的 服务,比如网络应用必须依赖t c p 或u d p 提供的功能,应用程序必须依赖操作 系统和物理硬件提供的功能,数据库应用必须依赖数据库管理系统提供的功能 等。因此,从逻辑位置角度,可以认为中间件是位于两个有依赖关系的服务之间 的软件体。 从功能角度上看,中间件的主要目的是简化应用程序的使用和丌发,并提供 可靠的增值服务。比如位于网络应用和t c p 或u d p 之间的中间件必须提供t c p 或u d p 所提供的所有服务,同时必须简化网络应用程序的开发和管理,提供比 t c p 或u d p 可靠性更高、服务质量更好的增值服务。因此,从功能角度,可以 认为中删件是屏蔽下层服务的复杂性、筒化上层应用服务的丌发和管理的软件 体。 从复杂性角度看,中间件提供的增值服务不能和应用的功能相混淆。中吲件 所提供的增值服务只能是有限的,不能包含应用程序需要提供的所有功能,也就 是说,中间件不是万能的,它不能无所小能,无所4 i 包。因此,从复杂性角度可 以认为中问件是上层服务和下层服务之间通用的软件体。 l q 前学术界给出了一些中矧件的定义【1 1 1 : ( 1 ) i e e ed s o n l i n e l :中问件通过提供简单、。致、集成的分布式编程环 卜= _ f 葶入学坝:l 学位论义 堡! ! ! 塑! ! 型堕堕! 堕! 业! ! ! ! ! 型:型! : 境,简化分布式应用的设计、编程和管理。本质上,中间件是一个分布软件层( 或 平台) ,抽象了底层分布环境( 网络、主机、操作系统、编程语言) 的复杂性和 异构性。 ( 2 ) 美国国家自然基金委员会:中间件是连接分布在i n t e r n e t 或局域网上多 个应用的软件。具体而言,中蚓件是一组驻留在网络与传统应用之间的一组服务, 用以管理安全、访问以及信息交换。 ( 3 ) c m u 软件i 程研究所 s e i s t r l :中间件是一组支持软件连接的服务的 集合,允许在一个或多个主机上运行的多个过程通过网络进行交互。中删件是将 大型机应用移植到客户服务器应用以及跨异构平合通信的基础机制,最初用于 解决客户服务器体系的互操作问题。最常见的中间件包括c o r b a 、c o m d c o m 、j z e e 。 ( 4 ) 中间件专著 s e r a i n9 9 :中间件是处于操作系统和应用之间的软件层, 支持网络环境下的软件系统之间建立连接。 2 1 3 中间件的分类 中州件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的 中问件产品。因此,在不同的功能角度或不同的逻辑层次上,对中间件的分类也 会有所不同。 从宏规上中| b j 件可以分为三大类: ( 1 ) 数掘类:用于数据的存取、利用和增值,此类中间件用于构建以数据为 中心的应用; f 2 ) 处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个 统一的分佑式应用; ( 3 ) 分布式构件类( d i s t r i b u t e dc o m p o n e n t s ) :支持构件式应用,此类中间件 是未来应用的发展方向。 根据中f 司件在系统中所起的作用和采用的机制不同,g a r t n e rg r o u p 将目前 的主流中问件戈q s ) - 为五类1 1 , “1 : ( 1 ) 远程过程调用中间件( r e m o t ep r o c e d u r ec a l l ) 远程过程调用是另外一种形式的中间件,它在客户机朋务器计算方面,比 数掘访问中间件又迈进了一步。它已经存在了相当长的时间,而且沿用了人多数 程序员都非常熟悉的编程模式,程序员就像调用本地过程一样在程序中调用远程 过程。启动远程过程的执行,然后将执行结果返回给本地程序。不但如此,远程 过程调用还可以将程序的控制传递到远端的服务器当中去。 远程过程调用的灵活特性使得它有比数据访问中间件更广泛的应用,它可以 1 坶人竽坝一l 学位论) ! ! ! ! ! ! ! ! ! 型! ! 生! ! ! ! ! ! ! ! ! ! ! ! ! 型型! 竖! ! ! ! 堡 应用在更复杂的客户机服务器计算环境中。远过程调用的灵活性还体现在它的 跨平合性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作 系统平台的,而程序员在编程时并刁:需要考虑这些细节。 远程过程调用也有一些缺点,主要是因为远程过程调用一般用于应用程序之 间的通信,向且采用的是同步通信方式,因此对于比较小型的简单应用还是比较 适合的,因为这些应用通常不要求异步通信方式。但是对于一些大型的应用,这 种方式就0 ;是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发 操作、缓冲、流量控制以及进程同步等一系列复杂问题。 ( 2 ) 而向消息中间件( m e s s a g e o r i e n t e d m i d d l e w a r e ) 消息中问件能在不同平台之间通信,实现分布式系统中可靠的、高效的、实 时的跨平台数据传输,它常被用来屏蔽掉各种平台及协议之间的差异性,实现应 用程序之间的协同。其优点在于能够存客户和服务器之间提供同步和异步的连 接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程 调用更进一步的原因。另外消息中间件不会占用大量的网络带宽,可以跟踪事务 并且通过将善务存储到磁盘上实现网络故障时系统的恢复。当然和远程过程调用 相比,消息中问件不支持程序控制的传递,不过这种功能和它的优势比起来却是 无关紧要的。消息中间件适用于需要在多个进程之间进行可靠的数据传输的分却 式环境。 ( 3 ) 基于刘象请求代理( o b j e c tr e q u e s tb r o k e r ) 的中间件 对象请求代理是近年来j 发展起来的一项新技术,它可以看作和编程语言无 天的面向对象的r p c 应用,被视为从面向对象过渡到分布式计算的强大推动力 量。从管理和封装的模式上看,对象请求代理和远过程调用有些类似不过对象 请求代理可以包含比远过程调用中问件和消息中间件更复杂的信息,并且可以适 用于非结构化的或者非关系型的数据。目前有两种对象请求代理的标准,分别是 c o r b a 和d c o m ,这两种标准是相互竞争的,而且两者之间有很大的区别,这 在一定程度上阻碍了对象请求代理中间件的标准化进程。 ( 4 ) 事务处理中间件( q y a n s a c t i o np r o c e s s i n gm o n i t o r ) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的 速度和可靠性要求而实现的。它给程序员提供了一个事务处理的a p i ,程序员可 以使用这个程序接口编写高速而且【_ 1 丁靠的分布式应用程序基于事务处理的 应用程序。 事务处理中问件向用户提供一系列的服务,如应用管理,管理控制,以及应 用程序问的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、 资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。 ( 5 1 数据访问中间件( d a t a a c c e s sm i d d l e w a r e ) 卜海人学顺i 学位论文 t h ep o s t g r a d u a t et h e s i s & s h a n g h a iu m v e r s i q 一 在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系 型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的, 数据访问中间件是在这种系统中建立数据应用资源互操作的模式,实现异构环境 下的数据库联接或文件系统联接的中间件,从而为在网络上虚拟缓冲存取、格式 转换、解压等带来方便。 数据访问中间件在所有的中问件中是应用最广泛、技术最成熟的一种。 o d b c 和j d b c 都是基于数据库访问中f h j 件的标准。o d b c 通过使用驱动程序术 提供数据库的独立性,驱动程序与具体的数据库有关,应用程序通过调用驱动程 序所支持的函数来操纵数据库,若想使应用程序操作不刚类型的数据库,就要动 态地链接到不同的驱动程序上。o d b c 具有良好的数据库独立性,它可避免应用 程序对不同类型的数据库使用不同的a p i ,通过o d b c 可以使对数据库的访问 非常容易。j d b c 实际上就是一系列用于特定数据库的j a v a 类库,它源于o d b c 体系结构。在数据访问中i b j 件处理模型中,数掘库是信息存贮的核一1 5 , 单元,中问 件完成通信的功能。 2 2 数据集成中的架构模式 数掘集成的传统挑战有平台的多样性、不同的传输协议、封闭自治的应用等。 这些问题町以通过成熟商品使用标准协议如t q t t p 、f t p 等来解决。然而,有些 企业或组织自行开发了多种多样的应用,还有些购买了许多商业软件包( 如 e r p ) ,它们并没有设计作为应用架构的一部分,因此要把个具体应用匹配进 原先的架构也不太可能。这埘数据集成提出更多的挑战,例如功能重叠、数据复 制、语义不一致等,这些问题的解诀都需要一个设计良好的数掘集成架构。因此 研究数据集成的架构模式有着重要的意义。 首先来看一看软件系统开发中的几种模式,根据处理问题的粒度不同,从高 到低,分为3 个层次:架构模式( a r c h i t e c t u r a lp a t t e m ) ,设计模式( d e s i g np a t t e r n ) 和实现模式( i m p l e m e n t a t i o n p a t t e r n ) 。架构模式是模式中的最高层次,表示最基 本的系统组成,通常提供组预定义的子系统【7 】。例如,1 1 层( n t i e r ) 结构,组 件对象服务,容器( c o n t a i n e r ) 模式等。设计模式( d e s i g np a t t e r n ) 是模式中的 第二层次,用来处理程序设计中反复出现的问题。例如,工厂模式( f a c t o r y p a t t e m ) ,观察者模式( o b s e r v e rp a t t e r n ) 等。实现模式( i m p l e m e n t a t i o np a t t e r n ) 是最低也是最具体的层次,处理具体到编程语言的问题。比如,类名,变量名, 函数名的命名规则,异常处理的规则等口j 。 架构模式( a r c h i t e c t u r ep a t t e r n ) 1 3 1 是软件界用来处理软件架构设计上的复 杂性的一种重要方法。数据集成架构模式提供了对数据集成在结构上的 种视 f 海大学坝 j 学位论文 r h cp o s t g r a d u a t et h e s i so ls h a n g h a iu n i v e r s i t 3 , 图,是成功的实施数据集成的一个基础。这些模式可以帮助我们选择合适的方案 利工具柬扫除数据集成的障碍和困难。 数据集成架构模式是为了提高应用系统的重用性和灵活性的一种设计方案。 这种做法对于快速变化的商业时代来说是至关重要的。只有这种可变性强的数据 集成方案j 能跟上变化的步伐。数据集成架构模式主要是针对系统或者应用程序 的整体结构。架构模式被定义为软件系统基础的结构化模式。它提供了一系列定 义好的子系统,指定他们的功能,定义了它们之间的关系和组织它们的舰则。 架构模式的共同特正i 是解耦一一将系统之问的相互依赖最小化,以提供更好 的灵 舌性和更强的独立性。架构模式主要包括适配器模式( i n t e g r a t i o n a d a p t e r ) 、 中介器模式( i n t e g r a t i o nm e d i a t o r ) 、门面模式( i n t e g r a t i o nf a c a d e ) 和消息器模 式( i n t e g r a t i o nm e s s e n g e r ) 。下面分别予以介绍。 2 2 1 适配器模式 对i t 组织来说,将一个遗留的封闭系统的服务对其他应用系统玎放的做法 越来越常见。适配器描述的是将一个未加以集成的应用系统服务导出到其他应用 程序的一种架构模式。一黾这种服务被导出后,这个应用程序的功能就变成可以 满足业务需求的可重用的资产。 适配器模式提供了一种将可重用的碰用程序导出来的灵活方式。这种架构模 式和适配器的设计模式有同样的出发点将一个已有的服务器端应用接口转 换成一个客户端程序所期望的接口这种架构模式的另个出发点是可以为多个 客户端应用程序提供一个统一的可重用的接口。 图2 1 适配器模式 在图2 1 中,适配器将一个特定的接口转换为一个丌放的、可重用的接口。 这种模式的参与者是一个或者多个客户端应用程序和服务器端应用程序。客户端 应用程序通过适配器接口调用服务器上的应用程序的服务。这个适配器将导出的 公共应用编程接口( a p i ) 转换为服务器端的a p i 。对于服务器端应用程序来说, j 辫大学顶i 学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i 、e r s i t y 它可能并不知道这个适配器的存在:而另外一种情况,服务器端应用程序会山于 适配器的存在而做一定程度的修改。 2 2 2 中介器模式 叶| 介器模式1 3 0 峙自的是将应用程序的交互逻辑封装起来,然后从应用程序中 剥离出来,加以集成。这种方案的优点在于: 将应用程序之间的依赖性以及对现有的应用程序的影响最小化; 由于应用程序的交互逻辑不是分布在应用程序中,而是集中起来,这 样维护的工作量将达到最小。 幽2 - 2 中介器模式 如图2 2 所示,中介器模式包括一个中介器以及两个或者多个应用程序。中 介器包含的是系统的交瓦逻辑。参与的应用程序直接和中介器交互,而不是和其 他的应用程序交互。由于交互逻辑被集中到了中介器,这种模式可以使系统获得 吏好的灵活性。 2 2 3 门面模式 门面模式描述的是将客户端应用和服务端应用程序集成起来的一种集成方 案。这种架构模式的出发点是通过提供一个统一的、简化的接口来隐藏接口背后 的复杂行为。它提供了一个较高级别的、简化的接1 :3 供客户端应用程序使用,使 客户端应用程序和服务端应用程序的祸合性降至最小,从而获得重用性和灵活 性。门面模式的架构如图2 3 所示。 :向人学碗l 学位论文 1 、1 1 ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 圈2 - 3 门面模式 这种架构模式可以为一个或者多个客户端应用程序提供统一的、简化的接 口。它的参与者是一个或者多个客户端应用程序,一个或者多个服务器端应用程 序,以及门面组件。客户端应用程序可以调用门面组件所提供的服务。这种模式 抽象了服务器端应用程序的功能,使其更易于使用。门面组件将其接口转换成为 服务器端应用程序的接口。实际上,应用程序执行了具体的工作,而门面组件的 作用是将其自身的接口转换为服务器端应用程序的接口。在这种架构模式巾,门 面组件不知道客户端应用程序的存在,服务器端应用程序也无需知道fj 面组件的 存在。 2 2 4 消息器模式 消息器是指在提供数据集成的同时将应用程序之间的交互逻辑解耦的一种 架构模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合作开发协议书样本
- 2025年度创新型企业知识产权债权质押租赁合同模板
- 2025年新能源设备区域代理合作协议
- 2025年度绿色环保型铲车租赁业务合作协议
- 2025年基因编辑药物研发合作保密协议与全球营销合同
- 《2025年度员工薪资保密协议与禁止竞业冲突合同模板》
- 2025年绿色建筑办公楼施工安全质量监管服务合同
- 2025年北京绿色交通基础设施改造升级工程合作协议
- 2025年大型企业总部大厦全方位保洁及维护服务合同范本
- 2025年再婚家庭子女教育抚养及财产权益保障协议
- CJJ1-2025城镇道路工程施工与质量验收规范
- 2024年中国电信国际有限公司招聘笔试真题
- 智慧矿山整体规划建设方案
- 2025年恒丰理财有限责任公司招聘笔试参考题库含答案解析
- 森林防火工程技术标准
- 推牌9公式和技巧
- 基于知识图谱技术的计算机网络链路漏洞检测研究
- ISO9001质量管理体系培训课件
- 减肥及代谢手术课件
- 新概念语法填空基础版
- 《媒介批评》课件
评论
0/150
提交评论