(计算机应用技术专业论文)基于web服务的消息中间件的应用研究.pdf_第1页
(计算机应用技术专业论文)基于web服务的消息中间件的应用研究.pdf_第2页
(计算机应用技术专业论文)基于web服务的消息中间件的应用研究.pdf_第3页
(计算机应用技术专业论文)基于web服务的消息中间件的应用研究.pdf_第4页
(计算机应用技术专业论文)基于web服务的消息中间件的应用研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 伴随着数据库和网络技术的快速发展和迅速普及,在高校和企业内部使用的不同业务系统,由 于是在不同时期,采用不同的技术标准和开发平台来建设的,信息孤岛现象日益严重,综合集成需 求日益突出。为了满足校园信息化的新的需求,解决信息孤岛带来的信息屏障,就必须建立一个统 一的信息平台作为桥梁,实现学校范围内的信息集成与共享。 共享数据库在数据集成中用的比较多,但是它本身也有一些局限性,比如说保密数据容易泄露, 数据传输的速度不够快,可扩展性不够强等。w e bs e r v i c e s 技术是一项新兴的技术,具有跨平台、 跨语言、简单、高效和可扩展性强的特点,适用于系统集成和数据共享工作。本文在综合参考借鉴 了基于中间件技术的异构数据源集成方案和基于可扩展标志语言( e x t e n s i b l em a r k u pl a n g u a g e , x m l ) 的w e bs e r v i c e 异构数据源集成方案中的设计思想与部分成熟技术的基础上,结合复旦大学、 同济大学等高校校园信息化过程中的实际需求与特点,对已有的基于共享数据库的数据集成平台进 行了改进,设计了一种具备一定可靠数据交换功能的数据共享集成平台。该平台能够为基于高校环 境的信息集成与共享提供高效的、丰富的、安全的数据服务。本文首先阐述了几种基本的数据集成 方案,并进行了优劣性分析,在此基础上提出了改进方案。然后介绍了消息中间件以及w e b 服务等 关键技术,提出了异步可靠w e b 服务的概念,并详细论述了几种可靠w e b 服务的实现方案,最终确 定了以消息中间件绑定为基础的可靠w e b 实现方案。最后,重点提出和设计了几种数据集成中的应 用策略,在此基础上,给出了以消息中间件和可靠w e b 服务为实现技术的共享数据集成平台扩展方 案,并对其中的关键模块进行了设计与实现。 关键字:w e b 服务,数据集成,异步消息,可靠性,面向消息的中间件 东南大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ed a t a b a s ea n dn e t w o r kt e c h n o l o g y ,t h ev a r i o u sk i n d so fa p p l i c a t i o n s w h i c hw i d e l ye x i s tw i t h i nu n i v e r s i t i e sa n de n t e r p r i s e sa r ed e v e l o p e do nd i f f e r e n tp l a t f o r m sb yd i f f e r e n t t e c h n o l o g ys t a n d a r d s t h e yl e a dt om a n yp r o b l e m si n c l u d i n g ”i n f o r m a t i o ni s l a n d s ”a n dm e s s a g e s h a r i n g f o rr e s o l v i n gt h e ”i n f o r m a t i o ni s l a n d s ”,w en e e dau n i v e r s i t yi n f o r m a t i o ni n t e g r a t i o ns o l u t i o n ,w h i c hc a n s a t i s f yt h eu n i v e r s i t yi n f o r m a t i o n - m a n a g e m e n t sr e q u i r e m e n t s h a r e dd a t a b a s ei sc o m m o nu s e df o rd a t ai n t e g r a t i o n ,b u ti th a si t so w nl i m i t a t i o ns u c ha se a s y l e a k i n go fs e c t e td a t a s l o wr a t eo fd a t at r a n s f e r r i n ga n dd i s s a t i s f a c t o r ye x t e n s i b i l i t y w e bs e r v i c e si s a r i s i n gt e c h n o l o g yw i t ht h ea d v a n t a g eo fp l a t f o r m - i r r e l a t i v e ,l a n g u a g e i r r e l a t i v e ,s i m p l e ,e f f e c t i v e ,e a s yt o u p g r a d ea n ds oo n t h ea u t h o ro ft h i sa r t i c l ed e s i g na d a t as h a r i n ga n di n t e g r a t i n gs y s t e m ,w h i c hi s r e f e r r i n gt ot h em i d d l e w a r ea n dx m lt e c h n o l o g ya n dd e s i g n e dw i t ht h er e q u i r e m e n t so fu n i v e r s i t y i n f o r m a t i o n ,l i k ef u d a nu n i v e r s i t y , t o n g j iu n i v e r s i t ya n ds oo n 1 1 1 es y s t e mc a nb eu s e dt oi m p l e m e n t d a t a s h a r i n ga n dd a t ai n t e g r a t i o nb a s e do ne n v i r o n m e n to fu n i v e r s i t y a n do b t a i nc r e d i b l e ,s e c u r e , h i g l l q u a l i t ys e r v i c e s i nt h i sp a p e r ,f i r s t l y ,ac o m p a r i s o na n da n a l y s i sb e t w e e ns e v e r a ls o l u t i o n so fd a t a i n t e g r a t i o ni sm a d ef o ro b t a i n i n ga l li m p r o v e ds o l u t i o n a n ds o m ei m p o r t a n tt e c h n o l o g i e ss u c ha sm o m a n dw e bs e r v i c e sa r ei n t r o d u c e df o ri l l u m i n a t i n gt h ec o n c 印to fa s y n c h r o n o u sa n dr e l i a b l ew e bs e r v i c e s c l e a r l y as o l u t i o nb a s e do nt h et e c h n o l o g yw h i c hb i n d sm o ma n dw e bs e r v i c e si sp r e s e n t e da f t e r a n a l y z i n gs e v e r a lm o d e sf o ri m p l e m e n t i n gr e l i a b l ew e bs e r v i c e s f i n a l l y a ni n c r e a s e da r c h i t e c t u r ei sp u t f o r w a r df o rd a t as h a r ea n di n t e g r a t i o na n ds e v e r a lp i v o t a lm o d u l e sa r ed e s i g n e da n dr e a l i z e d k e yw o r d s :w e bs e r v i c e s ,d a t ai n t e g r a t i o n ,a s y n c h r o n o u sm e s s a g i n g ,r e l i a b i l i t y , m o m i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名: 盟日期:型号 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名: 馨狃 导师签名: 骚细日期:型卑 第一章引言 1 1 研究背景 第一章引言 经过了多年信息化建设,高校内部己经形成了多个独立的业务子系统,包括:人事管理 系统、教务管理系统、学生管理系统、科研管理系统等。这些独立的业务子系统提高了局部 的效率和应用性,但是在应用或数据等层面上他们是彼此分离的,分别采用了不同的数据库 系统以及使用了不同的应用开发技术;各系统的业务逻辑不同,而且在数据库的建设上没有 遵循统一的标准。随着时间的推移,就形成了一系列的信息孤岛,每个部门或单位都是一个 独立的数据源,每个数据源都是异构的,因而他们之间的信息和组织都不一样,这就构成了 一个巨大的异构数据环境。 由于在高速发展的现代信息社会,学校对于信息的管理更加复杂。一方面,由于历史 原因分布在信息孤岛上的数据往往存在着千丝万缕的联系,用户在具体应用时经常需要将分 散的数据按某种需要进行交换。另一方面,单纯的对于某一个部门的局部信息化已经远远不 能满足校园信息化的需求,对于现有数据的全局分析、挖掘和汇总以及各业务部门之间的信 息共享成为校园信息化过程中的新的焦点。因此如何有效的实现这些异构数据库的信息集成 与共享成为了校园信息化的当务之急。为了解决信息孤岛带来的信息屏障,满足校同信息化 的新的需求,就必须建立一个统一的信息平台作为桥梁,实现学校范围内的信息集成与共享, 提供一个安全的、可靠的、高质量的信息化服务,这就促成了校园共享数据中心概念的提出。 对于校园共享数据中心来说,如何在保护好现有软件资源和数据资源的情况下,把现 有的异构信息系统和正在开发的新应用系统的信息资源进行有机的整合集成,使用户能够得 到动态的,在时间和空间上一致的信息服务,这是共享数据中心建设所需解决的一个核心问 题。 引入w e b 服务( w e bs e r v i c e s ) 技术正是针对这些问题的较好方案。w e b j 艮务技术的目 标就是在现有各种异构平台的基础上构建一个通用的、平台无关、语言无关的技术层,各种 不同平台之上的应用程序可以依靠这个技术层来实现彼此之间的连接和集成。采用w e b 服务 这一开放式的技术架构,可以完全屏蔽不同软件平台的差异,无论是c o r b a 、d c o m ,还是e j b 都可以通过这种标准的方式进行互操作,依靠w e b 服务,能够实时地访问不同系统、不同应 用和不同平台的信息,实现当前环境下最高的可集成性。通过引入w e b 服务技术,共享数据 中心可以充分利用w e b 服务的先进性技术,利用w e b 服务所提供的基于x m l 的标准接口,以及 完好的封装性、松散的耦合性、协议规范的标志性和高度的可集成性等特点,能够很好的满 足数字化校园异构信息集成的需求。 1 2 研究现状 目前分布的、多个异构数据间的共享与集成是系统集成领域中的重要课题和研究方向之 一,针对这个课题国内外主要存在以下几种应用模型: 1 基于全局数据库的传统集成方案 2 基于中间件技术的异构数据源集成方案 3 基于可扩展标志语言( e x t e n s i b l em a r k u pl a n g u a g e ,k m l ) 的w e bs e r v i c e 异构数据 源集成方案 校园的信息集成与共享的需求复杂、种类繁多,而且实施背景的限制很多,比如要求对 于已经存在的业务系统不改动或者进行最小的改动。上述模型虽然可以高效地解决某一方面 需求,但是面对校园信息化的特殊要求不能够有效地解决所有问题,为此我们提出了基于共 享数据库的数据集成平台,同时引入w e b 服务和消息中间件技术,增强系统的的通用性和平 东南大学硕士学位论文 台无关性,在原有的业务系统基础之上提供面向业务系统数据集成与共享服务以及面向学校 的综合信息分析与查询服务。 对于w e b 服务而言,其用途之前一直集中于通过h 1 v r p 实现的同步请求回应模式 ( r e q u e s t r e p l ym o d e l ) ,这是一种基于h 1 v r p 的同步、不可靠的w e bj 艮务模型。h t t p 是 i n t e r n e t 上最普遍的网络协议,采用h 1 t p 协议具有实现代价小、互操作性好和易穿过防火墙 等显著优点,因此成为w e b 服务的主要传输协议。然而,由于h t t p 协议自身的缺陷,这种方 式在安全性、可靠性、性能以及支持异步调用方式等方面存在问题,又成为目前w e b 服务发 展中一个很大的障碍。 如何利用现有技术,在较小的代价下为w e b n 艮务提供异步和可靠的消息传递,国内外的 一些厂商与研究机构对此进行了研究,主要提出了两种解决方案,即分别在应用层和底层网 络层两个级别来实现异步可靠w e b 服务。前者是通过扩展w e b 服务的消息传递格式和协议,即 s o a p 来实现的。后者的出发点是试图使基于s o a p 的消息运行在除h 1 v r p 外的其它支持异步、可 靠消息传输的协议或底层之上。但是,这两种解决方案都存在一定的问题,比如在应用层实 现异步可靠w e b 服务的w s r e l i a b i l i t y 规范和w s r e l i a b l em e s s a g i n g 规范是由不同的组织 和公司提出的,目前它们还未形成统一的标准。在底层网络层方面i b m 针对h t t p 的不可靠提 出了h 1 v r p r ( h t t pr e l i a b l e ,可靠h 1 v r p 协议) ,就目前而言,h t t p r 也仅仅只是个提议,并没 有得到实际的应用。所以一些研究机构提出可以采用消息中间件作为w e b 服务的底层框架来 为其提供异步、可靠消息传递的解决方案,如国防大学的s t a r w e b a d a p t o r 系统。另外,可 靠的w e b n 殴务也可以用来提高共享数据集成平台的灵活性和在数据交换中的可靠性。在目前 共享数据平台的应用中,这方面研究较少,因此开展这项研究很有必要。 1 3 主要研究工作与论文安排 以复旦大学数字化校园建设项目中的实际需求为背景,本文将围绕着面向服务构架的数 据交换平台的设计实现进行研究,主要的研究内容包含如下各项:本论文由六章构成,整个 论文紧紧围绕探索和研究利用消息中间件为w e b 服务提供异步和可靠机制,以及这种机制 在共享数据平台中的应用问题而展开。 第一章介绍本论文的研究背景以及研究方向和研究目的。 第二章介绍几种数据集成策略并进行优劣性分析,提出数据集成的改进方案。 第三章介绍w e b 服务和消息中间件基本概念和相关知识,是论文的理论基础。 第四章重点介绍在应用层和底层网络层实现异步、可靠w e b 服务的机制和实现技术。 第五章本文的重点。在以上分析和设计的基础上,给出了共享数据集成平台实现的关 键策略,同时给出了基于消息中间件和可靠w e b 服务技术的共享数据集成平台扩展应用的 设计与实现。 第六章对本文的研究工作做出总结和展望。 2 - 第二章基于共享库的数据集成方案概述 第二章基于共享库的数据集成方案概述 随着计算机技术的迅猛发展和应用,信息化已经遍及到人们生产生活的每个角落,出现 了各种各样的信息系统,问题也随之而来。各个信息系统之间的应用逻辑存在很大的差异, 数据没用形成统一的规范,这就造成了各个系统相互独立,信息无法交流和集成,逐渐形成 了所谓的“信息孤岛”,这种状况在校园信息化过程中表现也十分明显。如今高校各个业务 系统之间存在着较大的差异,这种数据源的异构性主要表现在两个方面: 1 系统异构,数据源所在的业务应用系统,数据库管理系统以及操作系统的差异性。 2 模式异构,数据源可能采用文档模式,关系模式,对象模式以及对象关系模式等模 式中的任意一种( 其中关系模式是现在主流存储模式) 。同时,即便是同一类存储模 式,它们的模式结构可能也存在着差异。 共享数据集成概念的提出,就是为了解决各个业务系统之间的信息孤岛相互集成的问题。 2 1 数据集成方案概述 2 1 1基于全局数据库的传统集成方案 所谓基于全局数据库的传统集成方案,就是各业务子系统通过数据备份机制在全局数 据库直接备份数据,用户可以根据需要访问全局数据库中的数据,实现数据的集成与共享。 这种集成方案的优点就是有效的屏蔽了异构数据源的差异,简单易行,操作难度低,成本低; 但是这种集成方案存在很大的不足,主要的还是集中在底层的实现细节进行探讨,而没有从 高层集成端进行考虑,没有建立一个统一的公共数据集成模式,无法解决数据的重复与一致 性维护问题,无法为数据的共享提供可靠的安全服务,扩展性不好,需要大量的存储空间进 行数据的存储等。 2 1 2基于中间件技术的异构数据源集成方案 随着分布对象技术的兴起,中间件技术也被应用到了异构数据集成的领域当中,并且提 出了很好的解决方案,而这其中的代表就是基于对象类型中间件( 如:公共对象请求代理框 架o m gc o r b a 、m sd c o m 等) 的集成方案和基于消息类型中间件( 如m s m q 、i b mm q 等) 的集成 方案。 基于对象类型中间件的集成方案采用了包装的思想,以统一接口的方式向外提供调用服 务,实现了对对象的透明访问,利用d c o m 或c o r b a 结合公共数据模型将源数据共享的部分进 行统一包装和格式转换,在此基础之上建立集成模块,对包装过的数据进行集成,再提交给 用户。如图2 1 所示: 图2 1 基于对象类型中间件的集成框架 基于消息类型中间件的集成方案则是利用j m s 来实现在异构系统之间传递封装数据后的 3 东南大学硕士学位论文 消息,从而达到数据之间的交互与共享,实现跨平台操作,为不同操作系统上的应用软件集 成提供服务。 基于中间件的异构数据源集成方案具有以下共同的优点:提出公共数据模型概念、分布 式透明、异构透明、本地自治、可扩展性;但是基于中间件的异构数据源集成方案不能提 供从全局角度的数据综合分析、汇总等服务,不能够有效地解决消息的淤塞等问题。 2 1 3基于可扩展标志语言( e x t e n s i b l em a r k u pl a n g u a g e ,x a m l ) 的w 曲s e r v i c e 异构数据源集成方案 通过x m l 我们可以定义数据的类型和数据间的关系,将传统的数据集成的策略以 d t d s c h e m a 为桥梁移植到对x m l 文档的集成上来,对很多类型的异构信息进行高级集成。w e b s e r v i c e 以x m l 为基础形成一个分布式的环境并且支持远程过程调用,各种信息来源都可以为 其设计相应的包装器,将其包装成统一的x m l 格式的数据,而后对这些x m l 数据进行集成,再 将集成后的结果数据以x m l 文档的形式发送到各个应用客户端或是更高级的数据集成器去。 基于x m l 的w e bs e r v i c e 异构数据源集成方案中w e bs e r v i c e 主要利用h t t p 和s o a p 协议使商业 数据在w e b 传输,w e b 用户能够使用s o a p 和h t t p 通过w e b 调用的方法来调用远程对象。如图2 2 所示: 图2 2 基于x m l 的w e bs e r v i c e s 异构数据源集成框架 校园的信息集成与共享的需求复杂、种类繁多,而且实施背景的限制很多,比如要求对 于已经存在的业务系统不改动或者进行最小的改动。上述模型虽然可以高效的解决某一方面 需求,但是面对校同信息化的特殊要求不能够有效地解决所有问题。 在解决复杂的校园数据集成问题时,究竟采取那种方案更加行之有效呢? 下面我们提出 一种结合共享数据库和数据交换中心两种技术的解决方案,该方案有效地融合了上述三种方 案的优点。 2 2 基于共享数据库的数据集成改进方案概述 2 2 1 基于共享数据库技术的数据集成方案 2 2 1 1方案介绍 共享数据库在系统中建立公共字典( 也就是公共标准) ,进行数据的清洗,整合和抽取, 4 第二章基于兆享库的数据集成方案概述 对数据进行集中管理,采用的是“一处录入,多处使用”的策略。基于共享数据库进行数据 集成的方法的具体实行有两个渐进的过程: 1 将各业务系统可以向外部共享的信息纳入共享数据库,一方面可以解决业务系统数 据交换的问题,也可以通过数据整合形成一个面向学校的稳定,权威的共享数据源。 2 随着校园信息化的不断深入和进一步规范,在学校范围内将逐步形成统一的全局模 式库。 具体的共享数据库集成应用,在国内某高校数字化校园建设项目中已经有初步的实施, 其系统框架如图2 3 p f i 示。 图2 3 基于共享数据库的数据集成平台系统框架图 2 2 1 2 优劣性分析 依据共享数据库方案的优点: 1 在共享库中完成数据整合后,可以保证业务库面向的是稳定的数据源。只要各方一 次充分协调后就会整理成为全校的权威数据,从而有效地避免了各个业务系统同一 数据多版本现象。 2 在源系统未建立或不能提供完整的数据时,可以允许业务系统先完成订阅,在源数 据就绪后,就可以直接进行订阅传输。 3 统一的订阅机制管理可以清晰的反映出哪些系统用到哪些数据,便于对整个数据传 输进行管理和监控。 4 数据可以在共享数据库节点集中控制管理,突出了学校作为一个整体对全校相关数 据的有效控制。 5 在共享库形成学校全局数据视图后,在更高的层次上进行信息的处理,如信息挖掘、 决策支持和综合查询等成为可能。 依据共享数据库方案的缺点: 1 由丁:数据在共享数据库中还要进行相关的集中处理,增加了传输延时。 2 对于不能在中间结点上停留的一些保密数据,可能会增加安全隐患。 3 刚开始建立权威数据的时候,由于什么都需要进行全方位的协商,浪费的时间要比 依托数据交换中心为基础的方法的时间长的多。 4 只能分别进行整合跟踪和订阅跟踪,不能全过程跟踪一条数据的传输全过程。 一5 东南大学硕士学位论文 5 共享数据库所在节点数据处理压力比较人。 2 2 2 基于数据交换中心技术的数据集成方案 2 2 2 1 方案介绍 由于各个业务系统都存储着大量的数据,但不同业务系统之间需要交流的通常只是少量 的部分数据,而且对系统的数据安全性要求比较高。在这种情况下,数据交换中心变得必不 可少。数据交换中心实现各异构数据源的数据采集和分发,提供对被交换数据打包、解包、 过滤、审核、装载入库等数据交换服务接口。另外,业务系统依照公共标准都会有一个适配 器接口用来把业务数据源按照这些统一的标准进行数据转换,数据交换中心本身一般情况下 并不会存储相关业务系统数据,也就是实现所谓的数据“不落地传输”,较好的确保了数据 传输的安全性和实时性。 2 2 2 2 优劣性分析 依据数据交换中心方案的优点: 1 数据的传输相对会比较快,具有一定的实时性。 2 可以对数据从源到目标的全过程进行跟踪。 3 能够解决数据不落地( 也就是不在中间介质上停留) 的方式,这个也为某些保密数据 ( 如财务数据) 的安全性作了某种程度的保障。 依据数据交换中心方案的缺点: 1 如果多个系统需要订阅一个系统的数据,那么会导致多次针对同一系统的数据的采 集。 2 同样的订阅第2 次不能够利用初始的操作结果,导致每次都要重新开始完整的操作 流程,效率低下。 3 订阅过程更多的属于业务系统两两操作,缺少对整个订阅过程的统一管理和监督。 4 同一事物有时会在不同的业务系统中出现两两定义。比如说一个业务系统从两个不 同的有交集的业务系统中取得学生的有关信息,中间可能会因为信息不一致而出现 大量的业务系统之间的协调工作。 5 当各个业务系统相互之间逐渐协商完成数据集成后,短期内不会再有问题,不过由 于业务系统的独立性,时间一长就会再次出现各业务系统相互间数据的混乱,从而 再次需要业务系统的两两协商。 2 2 3 新方案的提出 针对上述的分析,我们提出了下面一种综合方案,具体如图2 4 所示。 图2 4 基于共享数据库和数据交换中心的集成方案 这种方案结合了我们提出的两种方案的优点,既有数据交换中心,也有全局共享数据库。 通过上述比较我们可以看出这两种方案具有一定的互补性,这也使得这种架构灵活性非常 高。当一个业务首次进行对应数据传输的时候,首先将这些数据经过集成处理放入共享数据 6 第二章基于共享库的数据集成方案概述 库中,然后通过数据交换中心传输出去,这样随着业务系统之间数据交换的不断进行,共享 数据库将越来越庞大,逐渐形成全校的权威数据来源;同时对于那些传输时需要保密的数据, 数据量比较小以及要求实时传输的数据可以直接通过数据交换中心直接进行两两传输。通过 数据交换中心交换数据是不用担心接收的业务部门是否做好准备的,因为数据交换技术是异 步的,给数据传输带来了极大的方便,并且数据交换中心采取的发布订阅模式也使得一对 多数据传输只需要从共享数据库或者源业务库中取一次数据,极大的提高了数据的传输效 率。 2 2 4 消息中间件和w e b 服务技术与数据集成 2 2 4 1 消息中间件的引入 在所有者的域上对应用程序的改变要求在其他域也要做响应改变,这在技术上( 和政策 上) 是不切实际的。异构数据集成平台需要在网络线路不稳定或者短线的情况下,实现数据 “不落地传输”,同时确保数据传输的安全性和实时性以及必要的可扩展性要求,而完成这 些任务,正是消息系统的特长。一个消息系统允许分开的耦合的应用程序之间可靠地异步通 信,在高校各部门之间进行异步的,非阻塞的消息传递。比如,一个部门客户端在给数据交 换中心服务器发送一个请求后,不在乎是否马上能得到回应。这样,客户端没有理由必须等 待服务器处理请求。通常情况下,客户端应用程序在递交一个请求之后,只需确保请求到达 服务器端后,就可以处理其他任务。这样的工作方式是很高效的。 同时,消息系统提供了许多其他分布式对象计算模型没有的优点。它采用的发布订阅 模式,实现了消息产生者和使用者之间的松耦合,即使它们之间有很高程度的事务处理联系。 对于消息使用者,它不在乎是谁产生了消息、产生者的状态及消息是什么时候产生的,这就 可以用来保证系统某部分的修改而不会影响系统的其他部分。而采用的消息队列方式的消息 系统,不仅可以满足消息优先化的要求,保证对关键的应用程序有足够的响应时间,而且可 以将消息存储在基于磁盘的队列中,然后转发,从而提供有保障的消息传递。 2 2 4 2 w 曲服务技术的引入 采用基于w 曲服务的系统架构方式来实现校园共享数据集成平台,通过对各个业务系统 实现w 曲服务接口,就可以将个业务系统需要共享的数据实时的存储到共享数据库中,而且, 这种共享方式对硬件没有特殊的要求,系统的投资也比较小。 但是,采片j w 曲服务技术来架构系统面临完全采用w 曲服务进行开发,还是采用传统的 开发模型结合w 曲服务进行开发的选择。完全采用w 曲服务进行架构的系统,有着非常松散 的耦合,每个模块只要提供相应的服务即可,各个系统通过调用别的系统的服务进行数据处 理,通过动态的服务替代静态的组件,然而,分析当前的w 曲服务技术发展水平,完全采用 w 曲服务进行架构还存在一些问题,比如:性能问题、安全问题、事务处理问题等。 因此,该共享数据集成方案采用更为可行的方案,就是在现有应用系统的架构方式上, 采用传统的开发模型和w 曲服务相结合的方式,首先采用传统的方法( 多层技术,组件技术) 设计和实现各个业务系统,然后对这个系统提供一系列的w 曲服务,供数据共享中心调用。 2 3 本章小结 本章提出了数据集成的必要性,然后分析了几种数据集成方案,在此基础上提出了新的 数据集成方案。该方案吸收了共享数据库和数据交换中心两种技术的优点,摒弃了双方的一 些缺陷,具有较大的灵活性。同时也考虑到了学校数字化校园建设的目标,不仅仅希望业务 系统之间实现共享需求,还要建立统一一致的全校数据模式,并理顺业务系统之间的数据关 系,对共享的数据进行规范化和标准化工作,保证学校的统计数据来源的一致性。同时数据 交换中心的特殊地位又保证了业务系统两两间数据共享的足够的灵活性,也解决了数据的安 全性和及时性问题,在校园数据集成中将有较大的应用前景。 7 东南大学硕士学位论文 3 , 1 消息中间件简介 第三章相关技术介绍 3 1 1 中间件技术概述 随着多层分布式应用的广泛应用,多数企业希望在复杂的异构环境中处理各类关键业 务,管理业务数据,实现计算资源并享,这需要有一种软件将这些分散的应用谨接在同一个 平合上,中间件( m i d d l e w a r e ) 概念就随之诞生了。中间件就是处于操作系统和应用程序之 间的软件,具有标准的编程接口和协议,可实现不同操作系统上的数据共享和应用互操作。 从具体实现看,中间件是一个用a p i 定义的软件层,是具有强大通信能力和良好可扩 展性的分布式软件管理框架。其工作流程是:当客户端应用程序需要网络上某个服务器的数 据或服务时,负责搜索的应用程序部分访问中间件系统,由此查找数据源或服务,中间件接 受请求并提供数据和服务,将响应结果传送回客户端应用程序。根据应用领域的不同,中间 件分为不同的类型,包括消息中间件、事务处理中间件、数据存储中间件、w e b 服务器中 间件、安全中间件等等。 3 1 2消息中间件的概念 目前对消息中间件( m e s s a g e - o r i e n t e dm i d d l e w a r e ,m o m ) 定义还未形成统一的行业标 准。一般认为,m o m 是一种由消息传送机制和消息队列模式组成的中间件技术,它利用高 效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集 成。 图3 1 展示了消息传递服务的一种实现模型,其中的中间件实现了消息服务的功能,它 异步的从消息生产者接收消息,并且将消息路由到消息的消费者。要传递消息的客户使用消 息中间件接口,以一种透明的方式调用消息传递服务。 由 问 件 图3 i 消息中间件实现模型 由 间 件 消息中间件采用了集中管理的持久机制和冗余机制,增强了消息传递服务的可靠性和可 用性。消息中间件允许在消息传递客户和消息中间件之间建立连接,这样就减轻了客户管理 和多个消息传递服务端点位置之间的连接任务。 3 1 3消息中间件的特点 消息中间件有如下几个显著特点: 8 第三章相关技术介绍 1 异步通信机制 这是消息中间件的核心本质。“异步”说明不要求通信的双方必须同时在场。当网络出 现某种故障使不同部分间无法相互连接时,或当通信的一方在等待另一方的响应过程中耗费 了过多的时间和网络资源时,“异步”都为我们提供了解决之道,这种机制保证在忽略通信 一方存在的情况下,业务得以继续进行,而且一旦通信双方的连接恢复后,因中断而积累的 消息会快速地传递到通信的另一方,不会丢失。 2 队列化消息传递 “队列化”其实是实现“异步通信”核心本质的手段。当某个应用程序向那些非正在运 行或不可达的应用程序发送请求时,要传递的消息必须以某种数据结构方式暂时保存下来, 通常采用的数据结构就是“队列”,消息通过队列来进行存储转发的机制就是“对列化消息 传遍”,也就是说,消息的发送者和接收者通过“队列”中间媒介进行交互,从而确保一旦 网络连通或者接收方应用程序开始处理时消息就能被发送。 3 消息的传递可靠、安全、有效 消息安全及时的到达、不丢失、不重复对通信双方是非常重要的,这是对分布式应用数 据完整性的保证。 4 灵活的多种通信方式 在复杂的应用场合中,通信程序之间不仅可以是一对一的关系,还可以进行一对多和多 对一方式,甚至是上述多种方式的组合。利用消息中间件,应用程序可根据自身需要选择通 信方式,多种通信方式的构造并不增加应用程序的复杂性。 5 应用程序与网络复杂性相隔离 利用消息中间件,程序不直接与其它程序通话,不涉及网络通信的复杂性。程序将消息 放入目的地或从消息存放的目的地中取出消息来进行通信,与此关联的全部活动,比如维护 消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是消息 中间件的任务。 3 1 4 消息中间件的通信模式 3 1 4 1 消息队列通信模式 应用程序a应用程序b 出队fi 入队出队f入队 消息中间件中提供的队列访问a p i 图3 2 消息队列通信模式 消息队列是进程间进行可靠性通信的最直接的手段,在消息中间件中被广泛采用。队列 和队列管理器是消息队列中间件中两个最重要的角色。消息队列提供消息的中间存储。队列 通常基于内存或者硬盘,实际是存在于一个计算机上的已命名且排序的持久存储消息库。队 列管理器管理多个消息队列,应用程序首先需要连到队列管理器才能打开并使用消息队列。 在消息队列通信模式下,消息处理的基本思想很简单。如图3 2 ,当某个应用a 准备向应用 9 东南大学硕士学位论文 b 发送一个请求时,a 先通过设置消息头部的各项属性并把参数信息打包到一个有效负载来 创建和准备一个消息m ,这个有效负载也称为消息体( m e s s a g eb o d y ) 。然后a 把这条消息m 提交给本地的队列,消息会在队列中安全存储。在提交完成后,a 就可返回去做其它工作, 而不必管消息的具体传递。队列管理器将代表应用程序对消息实施存储一转发,并把消息发 送给b 对应的队列,然后b 就可从它的队列中提取消息。b 在读消息时就将它从队列中清 除,所以一个消息只处理一次。整个通信过程中,a 和b 之间无直接的连接,双方能按照 不同的速度独立运行,而且a 并不强制要求b 一定可用。 利用队列可实现异步、可靠的消息通信,也易于使用、实现和理解,但也存在着一些不 足。主要表现在:消息队列是一种单向的模型,不支持双向通信。消息的发送者不能直接得 到返回值,无法跟踪状态;消息传送是一对一的。每条消息只有一个消费者,消息发送者需 要知道消息接收者的队列地址才能与其通信。 3 1 4 2 发布订阅通信模式 厂c l i e n tip u b l i s h e s 卜f :_ :_ 堇_ _ 菱 4工工 、一 旷l 囱匡l l 翌苎薹。竺二- 图3 3 发布订阅消息传递模式 发布订阅模式是一种使分布式系统中的各参与者,能以发布订阅的方式进行交互的消 息传输模式。在发布订阅系统中,信息的产生者和消费者之间所交互的信息被称为消息。 如图3 3 所示,生产者角色的c l i e n t 将消息发送给具有发布订阅功能的消息节点,消费者角 色的c l i e n t 则向消息节点发出一个订阅条件,表示对系统中的哪些信息感兴趣,如果不再感 兴趣,也可以取消订阅,而消息节点保证将生产者发布的信息及时、可靠地传送给所有对它 感兴趣的消费者。消息的生产者称为发布者p u b l i s h e r ,消息的消费者为订阅者( s u b s c r i b e r ) , 匹配算法( m a t c h e r ) 负责高效地找到与给定的消息相匹配的所有订阅体检,而路由代理 ( r o u t e r ) 则负责选择适当的路径将一个消息从发布者传送到订阅者。 在发布订阅模式中发布者和订阅者之间的通信完全由消息中间件负责,消息的发布者 只需要将要发布的消息交给消息中间件即可,而不必关心消息的去向;信息的接受者只需要 向消息中间件订阅感兴趣的消息,而不关心消息的具体来源,消息中间件只会将订阅者订阅 的信息发布给订阅者。这就为发布者与订阅者之间提供了一种松散耦合的通信方式。 发布订阅通信模式具有如下的特点: 1 通过一个消息代理进行通信:发布者和订阅者之间永远都不会直接通信,而是通过 消息代理进行。发布者将消息传递给消息代理,由消息代理负责路由消息给相应的 订阅者。消息代理可以实现消息的动态路由功能,因此,该方式能够提供较好的容 错性能。 2 多维空间上松耦合:这是发布订阅模式的主要优点所在。客户端和服务器不需要知 道对方的地址和具体的数量,从而简化了应用的配置,并且使组件更易重用。具体 体现在以下几方面: ( 1 ) 空间松耦合:发布者和订阅者不必相互了解,可实现匿名通信: ( 2 ) 时间松耦合:发布者和订阅者不必同时在线; ( 3 ) 数据流松耦合:发布订阅是异步模式。 1 0 寄罄 第三章相关技术介绍 3 支持消息组播:发布者发布的一条消息可传递给多个订阅者。 发布订阅模式的具体实现通常分为三种:基于通道的发布订阅( c h a n n e l - b a s e d p u b l i s h s u b s c r i b e ) 、基于主题的发布订阅( t o p i c - b a s e dp u b l i s h s u b s c r i b e ) 和基于内容的发 布订阅( c o n t e n t b a s e dp u b l i s h s u b s c r i b e ) 。这些实现模型的主要区别在于发布者与订阅者 之间的逻辑通信中介的不同。 基于通道的发布订阅模型是最早的发布订阅实现模型。该模型中的逻辑通信中介是事 件通道( e v e n tc h a n n e l ) 。事件通道作为事件生产者和消费者的通信中介。因为“通道”的概 念过于抽象,不能反映消息的特点,这种模型在消息中间件中一般不使用。 基于主题的发布订阅模型是最普遍使用的发布订阅模型,广泛应用在消息中间件中。 这种模型中的逻辑通信中介是主题( t o p i e ) 。主题是众多消息按照某些属性抽象出来的共性, 用主题名来标识。尽管基于主题的发布订阅模型相对于普通的基于通道的发布订阅模型灵 活性好得多,但它仍不够灵活,与后者存在许多共性。事实上,通常将基于主题的发布订 阅模型与基于通道的发布订阅模型归为一类,叫做基于组( g r o u p - b a s e d ) 的发布订阅模型。 因为它们的一个共同点是消息均被分成“组”,每条消息对应一个“组”,订阅者只能订阅某一 组消息。 基于内容的发布订阅模型是最近才兴起的,并逐渐成为发布订阅模式中的研究热点。 在这种模型中,事件根据一定的模式将事件的内容定义为一个不同类型的属性集。订阅信息 则定义为这些属性上的一系列判定。相对于前两种发布订阅模型,它的灵活性更强,订阅 者在多维的事件属性中选择过滤标准,而不仅仅是一个预定义的通道或主题。另外,它消除 了定义和维护大量基于主题的组的管理开销,因此简化了系统的管理。但是,基于内容的发 布订阅在提供极大灵活性的同时付出了实现复杂性的代价。导致复杂的一个重要原因是消 息与订阅的匹配变得极为复杂。 3 1 5j m s 介绍 j m s ( j a v am e s s a g es e r v i c ej a v a 消息服务) 是s u n 公司于1 9 9 8 年提出的专门用于企业消 息系统的标准j a v aa p i ,这意味着它是一个能够跨不同类型消息系统而使用的通用消息a p i j a v a 应用利用j m sa p i 连接到企业消息系统,一旦建立连接,应用就可以使用底层企业消息 系统的工具来创建消息,并与一个或多个对等应用进行异步通信。j m s 本身并不是消息系统。 它是消息客户与消息系统通信时所必须的接口、类的抽象。j m s 本质上与j d b c 抽象访问关系 数据、j n d i 抽象访问命名目录服务是一样,是访问消息系统的抽象定义。j m s 的开发是业界 共同努力的结果。j a v a s o f t 领导相关规范的制定,并在此过程中与消息系统供应商紧密合作。 最初的目标是提供一组j a v aa p i 用于连接m o m 系统。但是最后实现了更广泛的目标,使j m s 成为与r p c 可以相提并论的j a v a 分布式计算规范。 在j m s 中消息客户被称为j m s 客户( j m sc 1l e n t ) ,消息系统或m o m 被称为j m s 提供者。一个 j m s 应用一般由多个j m s 客户和一个j m s 提供者组成的业务系统。 j a v a 应用将j m s 接口作为其编程模型的组成部份来访问消息工具。消息工具由j m s 供应者 和底层企业消息系统提供。本节将介绍一些通用的j m s 接口,这些接口对队列和发布一订阅 消息的工具都是通用的。 1 d e s t i n a t i o n 接口封装了目的地址的表示。j m s 客户

温馨提示

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

最新文档

评论

0/150

提交评论