(计算机科学与技术专业论文)分布式系统中数据交换技术的研究与实现.pdf_第1页
(计算机科学与技术专业论文)分布式系统中数据交换技术的研究与实现.pdf_第2页
(计算机科学与技术专业论文)分布式系统中数据交换技术的研究与实现.pdf_第3页
(计算机科学与技术专业论文)分布式系统中数据交换技术的研究与实现.pdf_第4页
(计算机科学与技术专业论文)分布式系统中数据交换技术的研究与实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机科学与技术专业论文)分布式系统中数据交换技术的研究与实现.pdf.pdf 免费下载

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

文档简介

、独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:麴垫赵。 导师签名: 罄 , 一 、j 11, 摘要 。 摘要 随着网络和信息技术的快速发展,各个行业已经建立起基于广域网络的、分 布式业务信息管理体系,它的应用范围不断地扩大,在行业内部,业务信息由基 层单位采集,逐级汇总,行业之间也存在业务信息的互操作。由于现有的分布式 系统异构性很强,使得它们之间的集成和互操作成为难题,“信息孤岛 现象严 重。目前,出现了很多技术( 例如w 曲服务技术) 来解决不同“信息孤岛 进行数 据交换和系统集成,但随着业务数据量的急剧增长,数据交换的性能成为了主要 瓶颈,主要体现在数据增量巨大、数据交换速率低下、数据交换两端业务操作速 度缓慢等问题。 本课题主要研究异构分布式系统集成和跨平台通信技术,重点研究轻量级跨 平台通信技术h e s s i a n ,通过h e s s i 觚的优势解决数据交换过程中数据增量巨大的 瓶颈;同时针对分布式系统数据交换过程出现的传输效率低下、数据交换两端操 作速度缓慢等问题应用池化技术、缓存系统、集群系统、连接池、临时表和存储 过程给出优化策略,最后结合这几种策略和轻量级跨平台技术,设计出两种高效 的分布式系统数据交换的解决方案,一种是基于池化和缓存技术的数据交换方 案,另一种是基于集群和缓存技术的数据交换方案。 本课题的完成,将使现有分布式系统的集成和互操作更加容易高效,为分布 式应用系统中跨平台通信技术的应用提供可参考的解决方案。 关键词数据交换;h e s s i 吼;池化技术:缓存技术;集群系统 北京下业大学工学硕一卜学位论文 i i , - a b s t r a c t a b s t r a c t w i mm er a p i dd e v e l o p m e n to fc o m p u t c rn e 撕o r ka n di n f o m a t i o nt e c b i l o l o g y v 耐o u si i l d l 厕e sh a v ee s t a b l i s h e dw i d e - a r e an e t 、阳f kb 鹊e d ,d i s t r i b u t e db u s i n e s s i n f o n n a t i o nm a i l a g e m e n ts y s t e i i l s ,m e i r 印p l i c a t i o n sc o n t i n u et 0e x p a n d ,w i t h i n 也e i i l d l l s 臼b u s i l l e s si n f 0 肌a t i o nc 0 i l e c t e df 如m l e 萨a s s r o o t sl e v e lb yl e v e l ,m e 卸1 w l l i l e , e x i s ti n t e r o p e r a b i l i 够b e 细e e nm eb l l s i n e s si n f o m a t i o ni i l d u s 臼ya s 廿1 ee x i s t i n g d i s 蛐u t e ds y s t e m sh a v eh i g i l l yh e t e r o g e i l e o u s ,i tm a k 鼯s o m ep r o b l 蹦塔w h e nm e y i n t e g 阳t e d ,i n f o n n a t i o ni s l a l l d ”i ss e d o u s a tp r e s e m ,廿l e r cw 嬲al o to ft e d m 0 1 0 9 ) , ( s u c ha sw 曲s e r v i c e ) t os o l v em e s ep r o b l e m s b u t 勰t h ea m o u n to fb l l s i n e s sd a t a r 印i dg r o w l ,t h ep e r f o m a n c eo f d a t ae x c _ h a l l g ei sm em 旬o rb o t t l e n e c k ,m a i l l l yi i lt l l e d a t a - i n c r 锄e i l t a lg r e 矾l o wr a t eo fd a t ae x c h a i l g e n l i si s s u em a i n l yr e s e a r c hh e t e r o g e i l e o l l sd i s t r i b u t e ds y s t e m si n t e 黟撕o na i l d c r o s s - p l a t f o m lc o m m 吼i c a t i o nt e 吐【i l o l o 百e s ,f o c u s i n go nl i g h 伽e i g h tc m s s - p l 拍m c o m m u l l i c a t i o nt e c h n 0 1 0 西e sh e s s i a i l ,t h r o u 曲m ea d v a i l t a g e so fh e s s i a l ld a t a e x c h a n g ep r o c e s st 0s o l v et h eb o t t l e i l e c ki nd a t ai n c r 锄e n t s ,m e a n w h i l e ,u s ep 0 0 l i n g t e c l l i l o l o g y ,c a 出n gs y s t e m s ,d u 8 t c o 衄e c t i o np o o l ,t 锄p o r a l y 讪l l e s 肌ds t o r e p r o c e s st os o l v en l ee x i s t i n gp r o b l e i i l si nd i s t r i b u t es y s t e m s f i n a l l y i n t e 铲a t i n gm e s e t y p e so fs 戗a t e 百e s a i l d1 i g h t w e i g h tc m s s p l a t f o mt e c h l l o l o g y ,d e s i g nt 、7 l ,oe 伍c i e n t d i s t r i b u t e ds y s t e mo fd a t ae x c h a n g es o l u t i o n s ,o n ei sb a u s e do n 廿l ep 0 0 l i n ga n d c a c h i n go fd a t ae x c h a i l g ep r o 萨a m ,a n dm eo t h e ri sb a s e do nc l u s t e r i n ga n dc a c i l i n g t e c h n o l o g yf o r d a t ae x d l a n g ep r o 笋a m t l l ec o m p l 鲥o no ft h i si s s u e ,w i l lm a k ee x i s t i n gd i s t 曲u t e ds y s t 锄si n t e 刚i o n a n di n t e r o p e r a b i l i t ye 嬲i c ra n de m c i e n t ,肌dp r o v i d es o l u t i o n sf o rc r o s s p l a t f o m t e d m 0 1 0 9 yu s e di nd i s t r i b u t es y s t e m s k e y w o r d sd a t ae x c h a n g e ;h e s s i a n ;p 0 0 1 i n gt e d m 0 1 0 9 y ;c a m n g ;c 1 u s t e r h i i 北京t 业大学下学硕一i :学位论文 i v 一 r 、 目录 , 目录 摘要i a b s t r a c t i i i 第1 章绪论l 1 1课题的研究目的和意义1 1 2 相关领域的研究现状1 1 2 1分布式系统中进程间通信的方式1 1 2 2 跨平台通信技术2 1 2 3 多线程技术4 1 2 4 集群技术4 1 2 5 缓存技术o 4 1 2 6 池化技术4 1 3 课题的主要研究内容5 1 4 论文组织5 第2 章异构分布式系统集成解决方案- s o a 的研究7 2 1 概述7 2 2s o a 的特性8 2 3s 0 a 的优势8 2 4s 0 a 的实现技术w e bs e r vic e 9 2 4 1w e bs e r vic e 的体系结构9 2 4 2w e bs e r vic e 与s o a 的关系1 0 2 4 3w e bs er vic e 协议栈lo 2 4 4w e bs e r vic e 的核心技术1 1 2 5 本章小结一l5 第3 章跨平台通信协议的研究一1 7 3 1概述17 3 2h e s sia n 协议简介17 3 3h e s sia n 协议的设计。1 7 3 4h e s sia n 协议的外部数据表示一1 8 3 5h e s sia n 协议的实现机制一2 0 3 6h e s sia n 协议的实现框架2 1 3 7h e s sia n 协议与w e bs e r vic e 的比较2 2 3 7 1 优化w e bs e r vic e 传输效率的方法2 2 3 7 2h e s sia n 协议的优势2 5 3 8 本章小结2 6 第4 章基于池化和缓存技术的数据交换方案2 7 4 1 应用实例2 7 4 2 教务管理系统原有数据交换方案2 8 4 2 1 需解决的问题2 8 4 2 2 基于h e s sia n 协议的数据交换方案2 8 4 2 3 数据交换方案提供的主要功能3 0 4 2 4 数据交换方案的瓶颈3l 北京工业大学t 学硕卜学位论文 4 3 基于池化和缓存技术的数据交换改进方案3 1 4 3 1取数据组件优化策略3 l 4 。3 2 存数据组件优化策略4 3 4 3 3 数据交换效率优化策略4 9 4 3 4 基于池化和缓存技术的数据交换改进方案一5 6 4 6 本章小结5 9 第5 章基于集群和缓存技术的数据交换方案6 1 5 1 概述6l 5 2 集群系统。6 l 5 2 1 集群系统简介6 1 5 2 2 集群系统的特征6 2 5 3 基于集群和缓存技术的数据交换改进方案6 2 5 3 1 方案设计:0 6 2 5 3 2 关键技术实现6 4 5 3 3 方案性能分析6 6 5 3 4 方案特点6 8 5 4 本章小结6 9 结论7 1 参考文献7 3 攻读硕士学位期间所取得的研究成果。7 7 致谢7 9 、 第l 章绪论 第1 章绪论 1 1 课题的研究目的和意义 随着网络和信息技术的快速发展,各个行业已经建立起基于广域网络的、 分布式业务信息管理体系,它的应用范围不断地扩大,在行业内部,业务信息 由基层单位采集,逐级汇总,行业之间也存在业务信息的互操作。由于现有的 分布式系统异构性很强,使得它们之间的集成和互操作成为难题,“信息孤岛 现象严重【l 】o 目前,出现了很多技术( 例如w 曲服务技术) 来解决不同“信息孤 岛”进行数据交换和系统集成,但随着业务数据量的急剧增长,数据交换的性 能成为了主要瓶颈,主要体现在数据交换速率低下、通信两端业务操作速度缓 慢、通信安全等问题。因此,建立通用的、快速而安全、高效而可靠的数据交 换机制是确保当前分布式系统之间有效集成和高效互操作的关键问题。本课题 针对分布式系统中数据交换和系统集成问题进行了深入研究,并设计出几套高 效通用的端到端数据交换方案。本课题的完成,将使现有分布式系统的集成和 互操作更加容易高效,为分布式应用系统中跨平台通信技术的应用提供可参考 的解决方案。 1 2 相关领域的研究现状 分布式系统间的数据交换是指不同计算机应用系统之间相互发送、传递有 意义、有价值的数据回,其核心问题是通信的方式和信息的标准化。对于端到 端的数据交换来说,端操作的效率会直接影响数据交换的效率,在如今以效率 为首位的现实世界,涌现出很多提高端操作效率的技术,例如底层的多核处理 器、操作系统中的并发机制、集群系统、缓存技术、并行技术等等。 1 2 1分布式系统中进程间通信的方式 分布式应用程序可以直接使用网络操作系统提供的编程接口如套接字。这 种方法使得分布难以做到透明,不利于编写大规模分布式应用程序。现在常用 的编程平台是中间件【3 】,如图1 1 所示。 北京丁业大学1 = 学硕 :学位论文 应用程序、服务 r p c 和r m i 外部数据表示、请求应答协议 u d p 、t c p 中 i 间 l 件 一i 曼 蜃 图1 1 中间件层【4 】 f i gl lm i d d l e w a r el a y e r 中间件系统提供多种通用的服务,并通过提供高层通信功能以隐藏通过计 算机网络进行的低层消息传递,力图实现访问透明性。 支持通信的具体方式,随中间件系统向用户和应用程序提供的分布模型的 不同而有较大差异,现如今主要有三种通信模式:r p c ,r m i 和消息队列p j 。 远程过程调用( r p c ) 使一个进程可以调用异地、不同地址空间的进程。它使 用通信双方互认的格式传递过程标识、过程参数、响应结果;在通信双方分别 设立存根,保存过程参数和运行结果。这样,通信双方可以根据本地的格式构 造过程参数和运行结果,在本地的地址空间执行计算胪j 。 远程方法调用( 1 w i ) ,在基于对象的分布式系统中,使一个进程的对象可以 访问异地、不同地址空间的进程的对象,包括调用远程对象的方法。远程对象 在网络中具有唯一的标识。通信双方要对远程对象的方法界面达成一致。调用 方依据方法的界面生成远程对象的代理。代理和远程对象具有相同的方法。调 用方在本地调用代理的方法,将远程对象的标识、调用的方法、参数、结果类 型传递给被调用方。被调用方设有存根,根据远程对象的标识获得本地的对象, 对本地的对象执行计算【5 j 。 面向消息的通信使通信双方不必都处在执行状态,请求和响应仍然可以正 确地被发送和被接收。它要求:设立通信服务器,在通信服务器之间传递信息; 通信双方连到通信服务器,将要传递的信息交给通信服务器。通过在通信服务 器上保存信息,面向消息的通信可以实现持久通信的功能【5 】。 1 2 2 跨平台通信技术 现如今的分布式系统大多是由异构的系统所构成,所以异构系统之间的通 信显得尤为重要。然而,基于中间件构建的应用系统很难实现跨异构平台的互 操作,而且多数不能穿越防火墙。一种解决方案是制定r m i i i o p 那样的异构 平台组件的通信协议:扩展r m i ,使e j b 组件可以通过i i o p 调用c o r b a 的 对象。但是,实施这种方案,需要为每种异构平台制定一个组件互操作的协议。 、 第1 章绪论 因此,这不是最佳的解决方案【5 】。此外,还有一些用于系统集成和互操作的解 决方案如d c o m 技术解决方案和基于m o m 的企业集成等,这些方案都存在跨 平台性差或者所用协议是供应商专有的协议,不利于扩展。 一种比较好的解决方案是s o a ( 面向服务的体系结构) ,它是一种设计理念, 更是面向服务的设计思想的体现。是一种构造分布式系统的方法,将业务应用 功能以服务的形式提供给最终用户应用或其他服务,可以使异构的分布式系统 轻松的集成和互操作【6 】 w 曲s e 州c e 目前是最适合实现s o a 的技术之一,用w 曲s e i c e 来封装业 务服务是个不错的选择【7 1 。因为w r e bs e r v i c e 是标准的,它保证了来自不同厂商 的w 曲s e n ,i c e 即使运行在不同的平台上,底层的实现机理不同也可以顺利交 互,这是以前的任何一种技术如c o r b a ,e j b ,或d c o m 都不能做到的。而 且,w 曲s e 州c e 的定义与实现是分开描述的,即松散耦合,因此,可以很方 便地替换服务的实现而不会对现有的系统造成任何冲击,这也极大地促进了r r 架构的灵活性。w 曲s e i c e 的松耦合性,标准性和普遍应用性极其符合实现 s o a 架构的标准。 对于很多人来说,s o a 的概念还是显得相对抽象的。为了使人们能够更加 简单的实现向这种面向服务架构的转变,i b m 提出了一种新的服务组件模型, s c a ( s e r v i c ec o m p o n e n t 心c h i t e c t u r e 即面向服务组件的架构) 。s c a 为基于 s o a 思想的系统制定了统一的开发规范,它是一个可执行的模型,用于将不同 的服务集成到一个业务解决方案。它简化了实现业务服务的组件编程模型,这 些组件可以使用不同编程语言实现,对于企业应用,s c a 还提供了关键的一些基 础设施,像安全性、事务、可靠调用等,这对于企业应用的开发而言就变得很 方便了。在分布式应用上,s c a 支持远程调用其他组件的服务,对于远程调用 其他组件的服务支持像w 曲s e r v i c e 等方式的调用瞵j 。 w e bs e i c e 使用s o a p 封装请求和响应。 而s o a p 结构化标记复杂【引。 s o a p 封装后,数据量明显增大。因而,w 曲服务技术不适用于应用系统间大 数据量的数据交换。交换大量数据的应用需求推动了轻量级跨平台通信的研究 的发展。目前,c a u c h ot e c t l i l 0 1 0 9 y 公司制定的h b w s p ( h e s s i a nb i n a r yw 曲 s e i c ep r o t o c 0 1 ) 是这方面的一个重要成果。相比w 曲s e i c e ,h e s s i 觚更简单、 快捷。它采用的是二进制r p c 协议( b i n a r y ) ,发送的数据是二进制格式的。 h e s s i a l l 通常通过w 曲应用来提供服务,因此非常类似于w 曲s e r v i c e 。只是它 不使用s o a p 协议【9 】。 北京- t 业人学下学硕十学位论文 1 2 3 多线程技术 多核处理器时代已经来临,并发机制可以更好的提高系统效率,传统操作 系统中进程的概念已不能满足需要而引入了线程。于是对多线程结构的支持就 成为当代操作系统的标志之一【l o 】。 1 2 4 集群技术 当业务达到高峰的时候,负载常常超过计算平台的承受力,从而造成服务 质量下降甚至服务中断、崩溃;某项服务往往会要求在短期内将负载提升到极 高的水平,而同时还必须保持连续的可用性。目前比较常用的方法是采用集群 技术,特别是普通p c 的集群技术,随着p c 整体性能的提高、高速局域网络技 术的发展、分布式计算技术的成熟,其价格优势、灵活的可伸缩性以及丰富的 软件资源使之成为优选的高性能、高可用计算平台【1 1 1 。 1 2 5 缓存技术 一个大型的分布式系统中通常会用到数据库服务器,它也会成为整个系统 性能和可伸缩性的瓶颈。因为数据库与服务器的距离通常很遥远。数据库每次 和服务器之间的数据传输都需要将数据放在网络上进行序列化与反序列化。网 络数据传输的代价是不能忽略的,也许需要穿越好多层的防火墙。而且数据库 很难像w 曲服务器或应用服务器那样通过集群轻松地提高可伸缩性。 为解决数据库的瓶颈问题,可以将应用程序与数据库的距离拉近点。正如 t e dn e w a r d 在e 腩c t i v ee n t e r p r i s ej a v a 里提出的将数据与处理过程放在一起。 在服务器与数据库之间增加缓存就可以解决这个问题。缓存的意义在于将大量 的数据拉到应用程序层,大部分的访问在应用程序层拦截掉了。在访问经常使 用的数据时缓存能够成数量级地减少潜在的访问时问。这样的结果不仅大大提 高了应用程序的速度,也减少了数据库服务器的负载,使数据库服务器将时间 集中在业务处理上,使数据库服务器的访问性能大大提高【l2 1 。 1 2 6 池化技术 在大型软件设计中,存在着一些宝贵的资源,如内存、线程、数据库连接、 网络连接等,这些资源的使用在时间或空间上极大地影响着软件的使用效率, 使得资源的可用性与客户端应用程序的性能和用户的满意程度直接相关。 第1 章绪论 池化技术的基本思路是事先建立一定数量的对象并保存在内存中,当调用 者申请对象时从池中取出一个空闲对象,使用后立即归还,供其它调用者重复 使用,这样可以减少频繁创建、销毁对象所造成的开销。因为客户端应用程序 不需要重复地建立和销毁对象,使用池化资源技术会显著提高连接性能。特别 是对于占用资源比较严重的对象,如数据库连接或网络连接,池化资源机制可 以有效减少建立对象所需的时问。除了可以提高连接性能以外,使用池化资源 技术还可以更有效地管理资源,池管理器可以根据需要动态调整池中的对象数 量,使系统资源得到充分利用。通过对有限资源进行进一步的控制和管理,对 象池可以使系统更容易扩展,当用户数量增加时只需要简单地增加池中的可用 对象数量【1 3 】。 1 3 课题的主要研究内容 本课题主要研究的内容包括: 分析研究现有分布式系统进程间通信的方式和技术,重点研究跨平台 通信技术。 研究可以加速分布式系统数据交换中端操作速度的方法。 研究可以提高分布式系统数据交换效率的方法。 设计几种高效的分布式系统数据交换方案。 1 4 论文组织 全文由五章组成。 第一章绪论,说明课题的研究目的和意义,相关领域的研究现状,论文的 主要研究内容以及论文的组织结构。 第二章异构分布式系统集成解决方案s o a 的研究,主要研究s o a 技 术在异构分布式系统集成方面的优势,同时重点研究了s o a 的实现技术w 曲 s e r v i c e 。 第三章跨平台通信协议的研究,主要研究轻量级跨平台协议h e s s i a n ,并 将h e s s i a n 协议和w 曲s e r v i c e 进行了详细的比较。 第四章基于池化和缓存技术的数据交换方案,重点分析了应用实例中 央广播电视大学教务管理系统原有数据交换方案的瓶颈,并针对瓶颈,设计并 实现了一种基于池化和缓存技术的数据交换改进方案。 第五章基于集群和缓存技术的数据交换方案,在第四章分析的基础上,设 计并实现了一种基于集群和缓存技术的数据交换改进方案。 北京1 二业大学工学硕:卜学位论文 一6 一 第2 章异构分布式系统集成解决方案s o a 的研究 第2 章异构分布式系统集成解决方案 。s o a 的研究 2 1 概述 s o a 即面向服务的体系结构,是当今一种比较理想的用于异构分布式系统 集成的方案。它是一种设计理念,更是面向服务的设计思想的体现。是一种构 造分布式系统的方法,将业务应用功能以服务的形式提供给最终用户应用或其 他服务,可以使异构的分布式系统轻松的集成和互操作,其设计架构图如图2 1 所示。 图2 一ls o a 架构示意图 f i g2 一ls k e t c hm a po f s o a s o a 是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套 新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模开发一 整合部署运行管型1 4 1 。s o a 是分布式软件系统构造方法和环境的新发展阶 段。 其基本要素是: 松散耦合:包括服务之间的松散耦合、接口和实现之间的松散耦合、 业务组件和传输协议之间的松散耦合。服务是自包含的并且是标准的。 北京工业大学1 二学硕二i :学位论文 粗粒度:s o a 服务接口应比面向对象编程的a p i 要大一些,更接近用户 的实际操作。服务是松藕合的。 位置和传输协议透明:位置透明是指不论服务组件的实际位置u r l 如 何变化,客户的调用程序的u r l 都不需改变。传输协议的透明,就是指 不管服务组件的传输协议如何变化,客户端的调用程序的传输协议都 不需要改变。 s o a 的基本思想是面向服务。服务的本质是业务和技术的分离,它超越于 一切具体的技术,又包含一切具体的技术。s o a 三个基本要素能消除目前r r 系统集成的障碍,从而达到s o a 的目标:敏捷的,不受限制的业务集成【l5 1 。 2 2s o a 的特性 面向服务的体系结构拥有以下的一些特性【l 6 】: 服务是可发现的并且是动态绑定的。s o a 支持服务发现的概念; 服务是自包含的并且是标准的; 服务强调互操作性; 服务是松耦合的; 服务有可设定地址的网络接口; 服务有透明的位置: 服务有粗糙的接口; 服务是可组合的。 2 3s o a 的优势 s o a 是在分布式对象的使用和构件的基础上发展的,是计算环境的下一步 发展。总体来讲,s o a 给我们带来的好处就是1 1 6 j : 利用现有的资产。s o a 提供了一个抽象层,通过这个抽象层,企业可以 继续利用它在i t 方面的投资,方法是将这些现有的资产包装成为提供 企业功能的服务。组织可以继续从现有的资源中获取价值,而不必重 新从头开始构建。 更易于集成和管理复杂性。在面向服务的体系结构中,集成点是规范 而不是实现。这提供了实现透明性,并将基础设施和实现发生的改变 所带来的影响降到最低限度。通过提供针对基于完全不同的系统构建 的现有资源和资产的服务规范,集成变得更加易于管理,因为复杂性 是隔离的。当更多的企业一起协作提供价值链时,这会变得更加重要。 更快的响应和上市速度。从现有的服务中组合新的服务的能力为需要 第2 章异构分布式系统集成解决方案s 0 a 的研究 灵活地响应苛刻的商业要求的组织提供了独特的优势。通过利用现有 的组件和服务,可以减少完成软件开发生命周期( 包括收集需求、进行 设计、开发和测试) 所需的时间。这使得可以快速地开发新的业务服 务,并允许组织迅速地对改变做出响应和减少上市准备时间。 减少成本和增加重用。通过以松散耦合的方式公开的业务服务,企业 可以根据业务要求更轻松地使用和组合服务。这意味资源副本的减少、 以及重用和降低成本的可能性的增加。而这一切都依赖于s o a 的优势: 高可复用性、灵活以及更好的扩展性和和可用性。 2 4 s 9 a 的实现技术叫e bs e r v ic e w 曲s e r v i c e 目前是最适合实现s o a 的技术之一,用w 曲s e 州c e 来封装业 务服务是个很好的选择。因为w | e bs e 州c e 是标准的,它保证了来自不同厂商的 w e bs e r v i c e 即使运行在不同的平台上,底层的实现机理不同也可以顺利交互, 这是以前的任何一种技术如c o r b a ,e j b ,或d c o m 都不能做到的。而且,w 曲 s e r v i c e 的定义与实现是分开描述的,即松散耦合,因此,可以很方便地替换服 务的实现而不会对现有的系统造成任何冲击,这也极大地促进了n i 架构的灵活 性。w 曲s e r v i c e 的松耦合性,标准性和普遍应用性极其符合实现s o a 架构的 标准。 2 4 1w e bs e r vic e 的体系结构 w 曲服务使用三层模型。其体系结构如图2 2 所示。 查找 发布 图2 - 2w 曲s e 州c e 体系结构【5 】 f i g 2 2w 曲s e r v i c ea r c h i t e c t u 北京工业大学t 学颂仁学位论文 w 曲服务涉及两个部分:服务本身和对服务的描述。典型的应用过程是: 服务提供者也就是最终的w 曲服务提供商,他开发提供一系列特定的通过网络 可以被访问的软件资源的服务接口,然后将服务的描述注册到服务注册中心或 者发送给服务请求者。服务请求者可看作是一个网络节点,他通过查找动作在 本地或服务注册中心检索服务描述,找到后,通过绑定就可以使用该项服务【l 7 1 。 服务注册中心是帮助查找w 曲服务的地方,也可以理解成一个w 曲服务的 注册地,在这里汇集了大量的在线的w 曲服务。一般由服务提供者来将他的各 种服务发布到注册中心,目前服务注册中心就是u d d i 商业注册中心【l 引。 2 4 2w e bs e r vic e 与s o a 的关系 w e bs e 州c e 和s o a 作为实现分布式系统和履行公司内部、公司之间的应 用整合的技术和架构出现。面向服务的体系结构s o a 和w 曲服务的体系结构 是两个不同层面的问题,前者是概念模式,面向商业应用;后者则是实现模式, 面向技术框架。 所以也可以说s o a 服务和w 曲服务之间的区别还在于设计。s o a 概念并 没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何 交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间 的区别。而另一方面,w 曲服务在需要交互的服务之间如何传递消息有具体的 指导原则;从战术上实现s o a 模型是通过h 丁r p 传递的s o a p 消息。因而,从 本质上讲,w 曲服务是实现s o a 的具体方式之一【l 引。 2 4 3w e bs e r vic e 协议栈 w 曲s e i c e 是包括x m l ,s o a p ,w s d l 和u d d i 在内的技术和标准的集 合,它利用这些标准提供了一个松散藕合的分布式计算环境【2 们。 图2 3 展示了w 曲s e i c e 的协议栈。上面的几层建立在下面几层提供的功 能上,垂直的条表示在协议栈的每一层中必须满足的需求,左边的文本表示协 议栈的那一层所应用的标准技术。 w 曲s e r v i c e 协议栈的基础是网络层,w 曲服务要被服务请求者调用,就必 须通过网络访问。m t e n l e t 上可供访问的w - e b 服务必须使用普遍部署的网络协 议,而h t t p 凭借其普遍性,成为i n t 锄e t 可用的w 曲服务真正的标准网络协 议。w e bs e r v i c e 还可以支持其他h l t 锄e t 协议,包括f t p ,s m t p ,m q ,i i o p 上的远程方法调用,e m a i l 等。使用的网络协议与应用程序的具体需求有关【2 。 第2 章异构分布式系统集成解决方案s 0 a 的研究 w 汛 三 u d d i 图2 - 3w e bs e r v i c e 协议栈 f i g 2 3p r o t o c o ls t a c ko f w 曲s e r v i 2 4 4w e bs e r v i c e 的核心技术 2 4 4 1 数据表示:x m l v i l ( e x t e i l s i b l em a r l ( u pl 觚g u a g e ,可扩展标注语言) 是一种元语言,是由 w 3 c 于1 9 9 8 年2 月发布的一种标准,是s g m l ( s t a l l d a r dg e n e r a l i z e dm m m p l a i l g u a g e ,标准通用标注语言) 的一个简化子集,它是是w 曲服务平台中表示数 据的基本格式,即x m l 是w 曲服务通信协议的数据编码方式。x m l 主要的优 点在于它既是与平台无关的,又是与厂商无关的。x m l 解决了数据表示的问题。 从商务应用的角度看,从工作流到查询数据库,直到同合作伙伴交换信息,x m l 格式表示的消息封装了词汇表,可以同时在行业组织内部和外部使用,它还有 较好的弹性和可扩展性,允许使用附加的信息,并且l 标签提供了可访问 的进程入口,从而可强化商业规则,并且增强了互操作性,为信息的自动处理 提供了可能【2 引。 2 4 4 2 消息通讯:s o a p s o a p ( s i m p l e0 q e c ta c c e s sp r o t o c o l ,简单对象访问协议) 执行和调用服务 间的通信。s o a p 是一种简单并且轻量的基于x m l 的机制,它是用于在分散或 分布式环境中实现信息交换的简单协议。其主要目的是实现不同系统之间的互 操作性,克服平台和防火墙的限制,使通信各方在i i l t 锄e t 上实现通畅无阻的信 息交换。由于s o a p 是标准的并且基于x m l 标淮,因此可以用来在不同的计 算机体系结构、不同的语言和不同的操作系统之间进行通信。x m lw e b 服务就 是使用s o a p 作为它的标准【2 3 j 。 一 服 务 质 量 一 北京工业火学丁学硕一i :学位论文 s o a p 协议规范描述了有关s o a p 的消息处理过程,并涉及到性能和安全 性的问题。s o a p :本身并不定义任何应用语义,它只是定义了一种简单的机制, 通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表 示应用语义。s o a p 的这项能力使得它可被很多类型的系统用于从消息系统到 l 冲c 的延伸。s o a p 是在) ( 】l 基础上定义的,完全继承了) a l 的开放性和可 扩展性。s o a p 使用现有基于t c p i p 的应用层协议h r r p 、s m t p 、p o p 3 等, 可以获得与现有通信技术最大程度的兼容。s o a p 的消息路径机制和可扩充的 h e a d e r 和b o d v 机制又为分布式计算提供了很好的支持。它包括四个部分【2 4 】: s o a p 信封( e n v e l o p ) 它构造定义了一个整体的s o a p 消息表示框架, 可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它, 以及这些处理操作是可选的还是必须的等。服务是自包含的并且是标 准的。 s o a p 编码规则( e n c o d i n gr u l e s ) 定义了一个数据的编码机制,通 过这样一个编码机制来定义应用程序中需要使用的数据类型,并可用 于交换由这些应用程序定义的数据类型所衍生的实例。服务是松耦合 的。 s o a pr p c 表示( r p cr 印r e s e n t a t i o n ) 定义了一个用于表示远端过 程调用和响应的约定,例如,如何使用h t t p 或s m t p 协议与s o a p 绑定, 如何传输过程调用,在具体传输协议的哪个部分传输过程响应,如我 们可以在h t t p 响应的时候传递过程响应。 b i n d i n g ,表示使用底层传输协议来完成在结点间交换信息。 这四个部分在功能上是正交的。而且,信封和编码规则是被定义在不同的 x m l 命名空间中,这样有利于通过使用模块化的设计获得实现的简明性。s o a p 消息结构如图2 4 所示。 图2 4s o a p 消息结构图 f i g2 4s t n l c t u 他o fs o a p 1 2 第2 章异构分布式系统集成解决方案s o a 的研究 从根本上来看,s o a p 消息是从发送方到接受方的一种传输方法,但是 s o a p 消息般会和实现模式结合,例如请求响应模式。无论s o a p 与哪种协 议绑定,消息都可以通过消息路径来指定路线发送,消息路径机制使消息在到 达最终目的地之前可以在一个或多个中间服务上处理,这是一个非常有用并且 适合分布式计算环境的一个机制。通过这样一种机制可以实现基于模块化服务 设计,获得良好的系统功能。s o a p 可以理解成这样一个开放协议 s o a p = i 冲c + h t r p + ) a l :采用h t r p 作为底层通讯协议,i 心c 作为一致性的 调用途径,l 作为数据传送的格式。l 是一个开放、健全、有语义的消 息机制,而h t r p 是一个广泛又能避免许多防火墙的协议,从而允许服务提供 者和客户经过防火墙在i n t e m e t 上进行通讯交互【z 列。 一种典型的基于s o a p 的跨平台通信过程如图2 5 所示【5 】。 图2 - 5 基于s o a p 的跨平台通信过程 f i g2 5c r o s s - p l a t f o n l lc o m m 吼i c a t i o np r o c e s so fs o a p b e d s o a p 的主要优点就在于它简单,s o a p 使用h t t p 作为网络通讯协议,接 受和传送数据参数时采用x m l 作为数据格式,提供了更高层次上的抽象,与 平台和环境无关。使用x m l 和s o a p 这样的跨语言、跨平台的解决方案简化 了多个应用之间的一致性问题。 2 4 4 3 描述方式:w s d l w s d l 是w 曲s e r v i c e 描述语言( w 曲s e r v i c ed e s 耐p t i o nl a n g i l a g e ) 的英文缩 写,是一个描述w 曲s e r v i c e 功能的协议,是由微软和i b m 联合开发的。w s d l 描述了w 曲s e i c e 所采用的协议和格式,w s d l 和u d d i 的结合促进w 曲 s e r v i c e 的广泛应用删。 w 曲s e r v i c e 是一种部署在w 曲上的对象,需要对该对象的调用通信以某 种结构化的方式( 即x m l ) 进行描述,这也是w 曲s e i c e 即时装配的基本保证。 w s d l 正是这样一种描述语言,定义了一种描述语言,定义了一套基于x m l 的语法,用来将w 曲s e r v i c e 描述为能够进行消息交换的服务访问点的集合,满 北京丁业大学丁学硕士学位论文 足这种应用需求。 w s d l 文档将w 曲s e 州c e 定义为服务访问点或端口的集合。w 曲s e i c e 的w s d l 文档把服务访问点和消息的抽象定义与具体的服务部署和数据格式的 绑定分离开来,因此可以对抽象定义进行重用。w s d l 文档中的消息是指对数 据的抽象描述,而端口类型是指操

温馨提示

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

最新文档

评论

0/150

提交评论