已阅读5页,还剩59页未读, 继续免费阅读
(管理科学与工程专业论文)WCF框架下分布式系统的集成技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 企业在不同时期开发的信息系统由于语言、平台等原因,导致系统的差异性 较大,异构的系统之间互操作性成为一个重要的问题。s o a 为实现异构系统间的交 互提供了系统的解决方案,但传统技术在实施s o a 的过程中,出现了问题。为了 实现s o a 的设计理念,微软推出了w c f 编程框架,该框架包含了w e b 服 务、n e t r e m o t i n g 以及m s m q 等技术,能够以一种规范一致的模型来进行分布式系 统的集成。 本文结合w c f 框架结构,进行了w c f 框架下分布式系统集成技术的研究,重 点研究了w c f 服务以及w c f 框架下的消息队列技术,并在此基础之上,提出了一 种基于w c f 架构的异步消息传输模型,利用该模型实现分布式系统的数据集成。 异步消息传输模型通过将系统的业务逻辑层和数据层中对数据的处理功能抽取出 来抽象为w c f 服务层,进而通过w c f 服务层来实现客户端和服务端异构数据库的 集成。借助消息队列技术的异步传输性以及均衡负载的特性,该模型能够有效的 均衡服务器端的负载,从而避免峰值过高的问题。本文以购物广场管理系统作为 实现案例,通过对数据集成问题的研究,改进了原p o s 机信息管理系统断网后数 据恢复方案。新的方案将对数据库的操作统一封装到了w c f 服务里面,而把断网 后对服务的调用包装成为了客户端本地的消息。客户端本地消息进而被投递到本 地消息队列里面。当网络恢复的时候,客户端消息队列会自动的与服务器端远程 消息队列交互,然后远程消息队列将消息分发给服务器端服务,这样就避免了原 方案中a c c e s s 数据库与o r a c l e 数据库的直接交互,从而解决了原系统异构数据 集成时出现的一系列问题。 案例的实际应用成功的体现了异步消息传输模型的优点,利用w c f 服务实现 了分布式系统的数据集成,并减轻了服务器端的压力。通过这个案例的成功实施, 验证了基于w c f 架构的异步消息传输模型进行数据集成的合理性。 关键词:w c f 框架;w c f 服务;消息队列 a b s t r a c t r e a s o n ss u c ha sl a n g u a g ea n d p l a t f o r mc a u s ei n c r e a s i n gd i f f e r e n c e si ni n f b m a t i o n s y s t e m sd e v e l o p e db yd i f f e r e n te n t e r p r i s e si nd i f f e r e n tp e r i o d s t h u si n t e r o p e r a b i l i t y 锄o n gh e t e r o g e n e o u ss y s t e m sh a sb e c a m ea ni m p o r t a n ti s s u e s o ap r o v i d e sa s y s t e m s o l u t i o nf o rt h er e a l i z a t i o no ft h ei n t e r a c t i o nb e t w e e n h e t e r o g e n e o u ss y s t e m s ,b u tt h e r e 1 sap m b l e mw h e nw eu s et h et r a d i t i o n a lt e c h n o l o g yi nt h ep r o c e s so fi m p l e m e n t i n g s o a i no r d e rt oa c h i e v et h ed e s i g nc o n c e p t so fs o a ,m i c r o s o f ti n 缸o d u c e st h ew c f p r o g r a m m i n gf r a m e w o r k ,w h i c hi n c l u d e sw e bs e r v i c e s ,n e t r e m o t i n g ,m s m qa n d o t h e rt e c h n o l o g y ;i tc a l li n t e g r a t ed i s t r i b u t e d s y s t e m sw i t has t a _ i l d a r dc o n s i s t e n tm o d e l b a s i n go nt h i sb a c k g r o u n d ,t h et h e s i ss t u d i e st h ei n t e g r a t i o nt e c h n o l o g i e so f d i s t r i b u t e ds y s t e mc o m b i n i n gw i t ht h es t r u c t u r eo fw c f f r a m e w o r k i tf o c u s e so nw c f s e r v l c ea n dt h em e s s a g eq u e u et e c h n o l o g yo fw c f f r a m e w o r k ,a n dr a j s e saw c f a s y n c h r o n o u sm e s s a g et r a n s m i s s i o nm o d e lt oa c h i e v et h ed a t a i n t e g r a t i o n so f d i s t r i b u t e ds y s t e m so nt h i sb a s i s a s y n c h r o n o u sm e s s a g e 仃a n s m i s s i o nm o d e le x t 形虻t s t h ef u n c t i o no fd a t ap r o c e s s i n gi nl o g i c l a y e ra n dd a t al a y e r w h i c hi sa b s 吮t e da sw c f s e r v i c el a y e r t h e nb yu s i n gw c f l a y e rt oa c h i e v et h ei n t e g r a t i o no fh e t e r o g e n e o u s d a t a b a s eb e t w e e nc l i e n ta n ds e r v e r t h i sm o d e lc o m b i n e sw c f s e r v i c ew i t hm e s s a g e q u e u i n gt e c h n o l o g yc l o s e l y o w i n gt of e a t u r e ss u c ha s s c a l a b i l i t yo fw c fs e r v i c e s a s y n c h r o n o u st r a n s f e ro fm e s s a g eq u e u et e c h n o l o g ya n dl o a db a l a n c e ,t h em o d e lh a s g o o ds c a l a b i l i t ya n dl o o s ec o u p l i n ga n di tc a nb a l a n c et h el o a do nt h es e n ,e rs i d e e f f e c t i v e l y , s oa st oa v o i dt h ep e a kt ob et o o 量l i 曲t h o r o u g ht h es t u d yo fi s s u e so f d a t a i n t e g r a t i o n ,t h i st h e s i si m p r o v e st h eo r i g i n a ld a t ar e c o v e r yn e t w o r kp r o g r a mo ft h ep o s i n t o r m a t i o nm a n a g e m e n ts y s t e ma c c o r d i n gt oi t so w nc h a r a c t e r i s t i c so f a s y n c h r o n o u s m e s s a g et r a n s m i s s i o nm o d e l ,c o m b i n i n gw i t hi t sa p p l i c a t i o nd e p l o y m e n ts c e n a r i o s t h e n e wp r o g r a me n c a p s u l a t e so p e r a t i o n so ft h ed a t a b a s ei nw c f s e r v i c ea n dp a c k a g e st h e c l i e n t 。c a l l i n gf o r t h es e r v i c ei n t ot h el o c a lm e s s a g e s t h e nl o c a lm e s s a g e so fc l i e n ta r e d e l i v e r e dt ot h el o c a lm e s s a g eq u e u e t oe n s u r et h ei n f o r m a t i o ni n t e g r i t y , t r a n s a c t i o n w i l lb eo p e r a t e da sab a s i cu n i ti nm e s s a g ed e l i v e r yp r o c e s s 姗e nt h en e 咖r k 悯 r e c o v e r e d ,t h ec l i e n tm e s s a g eq u e u ew i l li n t e r a c tw i t hr e m o t es e v e rm e s s a g eq u e u e a u t o m a t i c a l l y , t h e nt h er e m o t em e s s a g eq u e u ew o u l dd i s t r i b u t et h e m e s s a g et ot h e s e r v i c eo fs e r v e r - s i d e t h i sp r e v e n t st h eo r i g i n a la c c e s sd a t a b a s e p r o g r a m si n t e r a c tw i t h 英文摘要 t h eo r a c l ed a t a b a s ed i r e c t l y , t h u st h eq u e s t i o n so c c u r r e dw h e nh e t e r o g e n e o u sd a t ai s i n t e g r a t e da r es o l v e d t h ep r a c t i c a la p p l i c a t i o no fc a s er e f l e c t st h ea d v a n t a g e so fa s y n c h r o n o u sm e s s a g e t r a n s m i s s i o nm o d e l i tp l a y sab u f f e rr o l et or e d u c et h ep r e s s u r eo nt h es e r v e rs i d e ,u s i n g w c fs e r v i c et oa c h i e v et h ed a t ai n t e g r a t i o n so fd i s t r i b u t e ds y s t e m s t h i sp r o j e c t s s u c c e s s f u li m p l e m e n t a t i o nc o n f i r m st h e r e a s o n a b i l i t y o ft h em o d e lb a s e do n a s y n c h r o n o u sm e s s a g e t r a n s m i s s i o nm o d e lw h e ni n t e g r a t i n gd a t a k e yw o r d s :w c ff r a m e w o r k :w c fs e r v i c e rm e s s a g eq u e u e 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文竺迎框塞工坌查达丕统的塞盛蕉盔珏究:。除论文中已经 注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明 确方式标明。本论文中不包含任何未加明确注明的其他个人或集体己经公开发表 或未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名:醯 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密口( 请在以上方框内打“ ) t 论文储躲赫导师繇积 日期:bf 。年6 月嚣日 w c f 框架下分布式系统的集成技术研究 第1 章绪论 1 1 研究背景及选题意义 网络技术的日新月异,业务需求的不断壮大,这些都促使应用开发人员把各 种应用软件部署到不同的操作平台之下。部署环境的不同对异构环境下的分布式 系统互操作性提出了越来越高的要求。面向服务的体系结构( s e r v i c e o r i e n t e d a r c h i t e c t u r e ,s o a ) 的提出,为解决在i n t e m e t 环境下的不同商业应用之间的业务 集成复用问题提供了解决方案。这种松耦合的,可以跨平台的体系结构,具有良 好的易维护性和可伸缩性,能够充分的整合利用现有资源。 随着s o a 体系架构的提出,怎样把架构和现实需求紧密结合加以实现成了业 界人士所关心的话题。而企业服务总线( e n t e r p r i s e s e r v i c e b u s ,e s b ) 成为了大家 公认的比较简单易用的方案。甲骨文公司已经推出了独立的e s b 产品。i b m 在原 有w b i m e s s a g e b r o k e r 、w a s 6 s i b u s 这些集成产品之外,又推出了独立的w e b s p h e r e e s b 产品。传统的e a i 厂商t i b c o 和w e b m e t h o d s 也宣布了各自的e s b 产品。对 于微软公司来说,提供对e s b 的支持成为了必然,与此同时,信息技术的发展也 要求分布式系统的开发与集成技术,需要在一个统一的平台下来完成,于是微软 提出了微软通信基础( w i n d o w s c o m m u n i c a t i o n f o u n d a t i o n ,w c f ) 。w c f 涵盖了 之前微软推出的所有分布式开发的技术,包括r e m o t i n g 、w e b s e r v i c e s 、w s e 以及 m s m q 等,并以一种统一的编程模式来实现这些技术。w c f 既支持具有互操作性 的w e b 服务,也能够实现n e t 客户端与n e t 服务端的通信,提供了分布式事务 的支持,同时在安全性上,它完全遵循了w s 木的标准。此外,它还支持队列服务, 可以非常方便地利用消息队列完成异步操作与脱机调用。而综上所述的这些功能, 在w c f 框架提出之前都只是部分的实现【l 】。 从软件开发的角度来说,软件开发的思想经历了从函数到对象,从对象到组 件,又从组件到服务的几次变迁。服务的普及,使得应用程序之间的通信模型应 用更加广泛。基于服务的软件设计理念,正是当前企业信息系统集成所迫切需要 的指导思想。 第1 章绪论 微软所推出的w c f 这门全新技术,成功的遵循了大多数网络服务的行业准则, 包含了一整套的支持互操作的解决方案。远程调用以及队列调用在w c f 框架下变 得简单明了,应用分布式程序可以很方便的调用框架下的各种基础功能模块,可 以说,w c f 框架其实就是一种面向服务的开发框架【2 1 。 综合以上各个因素考虑,本文采用w c f 框架,它可以结合微软一系列分布式 开发技术,解决分布式系统集成的问题。通过提出基于w c f 框架的面向服务架构 改进方案,消除原有系统的强耦合现象。分布式系统的数据同步问题,是分布式 系统集成的核心问题。课题的分析与设计从分布式系统集成的安全性,可信赖性, 互操作性和跨平台性等几个角度考虑,根据具体业务需要,对现有的系统进行改 造,从而实现分布式系统数据的同步。本文的撰写,使得w c f 框架的应用研究上, 有了更进一步的发展,对应用的普及,以及为详细的指导如何用w c f 来进行分布 式系统开发和集成,具有重大的意义。 1 2 研究现状综述 1 2 1 国外研究现状 为了提供一个统一的开发平台,在2 0 0 3 年,微软启动了一个代号为i n d i g o 的 项目,它希望通过这一整套规范的a p i 来实现之前所推出的一系列分布式系统集 成技术如w e b 服务、n e t r e m o t i n g 以及m s m q 等技术能够完成的功能【3 】。与此 同时,这个框架还要具有良好的可扩展性,以便适应以后新的w e b 服务标准、协 议。经过两年不懈的努力,i n d i g o 发展成为了一个稳定的版本,并被更名为微软通 信基础( w i n d o w s c o m m u n i c a t i o n f o u n d a t i o n ,w c f ) ,作为n e t f r a m e w o r k 3 0 的 一部分发布。在n e t f r a m e w o r k 3 5 中,w c f 得到了进一步改善,在开发r e s t 服 务方面也提供了支持。正式的版本是w i n d o w s v i s t a 的核心组成部分。可以说w c f 是一个统一的、可配置、可扩展的分布式应用程序开发框架,使用它可以非常高 效地构建分布式应用程序,实现应用程序的集成【4 矧。 经过几年的不断完善与改良,w c f 推出后就受到了广泛的推崇,受到众多程 序分析和开发人员的热爱,微软公司为了提倡大家对w c f 的学习,还专门建立了 网站用来发布w c f 相关的消息,关于w c f 技术的书籍也受到了欢迎。能够对 w c f 框架下分布式系统的集成技术研究 w c f 有真正领悟的人,一般都是资深的软件架构师,微软公司花费了很多的精力 对w c f 技术进行了广泛的宣传,并邀请资深的软件开发人员对w c f 进行了具体 的解析,将有关的视频教程发布在微软网站的w e b c a s t 频道上。为了适应这一发展 趋势,s u n 公司也于2 0 0 6 年6 月启动了一个代号为探戈( t a n g o ) 提案,该提案是 一个开放源代码提案。企业应用特性的互操作性支持是j a v a w e b s e r v i c e s 工程师和 w c f 的工程师们一起关注的焦点,而互操作性的五个关键功能区域则是这次探戈 项目的核心【_ 7 1 。由这种形势可以看出,微软通讯基础已经得到了业界各个领域的重 视,成为w i n d o w s 平台下开发分布式应用使用的重要技术将成为一种必然。 1 2 2 国内研究现状 在国内,w c f 的推出,促使许多程序员积极地发表大量的有关w c f 技术以 及w c f 技术应用的相关文章,文章中还讲解了一些小的应用程序【8 10 1 。 闰冰在文献 2 8 】中结合了w c f 框架提出了一个三层结构的模型。 姚雪梅,张标等在文献【1 3 】中阐述了如何运用w c f 框架来分析和设计统一用 户视图服务组件。 为了更好地学习w c f ,国内已经出版了几本外文翻译后的w c f 技术图书, 深受广大程序员的欢迎。很多公司应用程序的开发都已经采用了w c f 框架,以使 得开发的应用程序模块化,便于适应灵活多变的外界需求。 总的来说,国内有关w c f 技术方面的资料还是比较少,这就需要更多的研究 人员对其进行更加深入和仔细地研究。 1 3 课题研究的主要内容 1 3 1 论文的研究内容 随着国外购物中心理念的引入,国内传统的商业模式也随着改变,越来越多 的购物广场拔地而起。与此同时,购物广场的管理也成为业界人士关注的焦点。 从而使得购物广场信息管理系统的研发成为社会发展的必然产物。售点系统,即 p o s 机管理系统是购物广场信息管理系统的一部分,网络技术的发展使得对售点 系统的开发要求也越来越高。本课题的研究,正是基于原有售点系统的开发工作。 原系统是多个分散的客户端分别安装了购物广场信息管理系统和p o s 机管理系 第1 章绪论 统,管理系统的数据统一存放在服务器端,各个客户端直接和服务器进行交互, 以实现数据的更新。但是在系统实际的运行中,存在以下几个方面的问题。 ( 1 ) 系统数据库操作的可扩展性差 原系统结构是两层结构,数据层负责直接与数据库交互,业务逻辑层和表示 层混合在一起作为另一层。虽然原系统已经把对数据库操作的一些方法封装到了 数据层的类里面,对于不同的实例对象可以根据需要使用类里面的方法。但是这 样的设计,可扩展性不够好,当业务需求变动,需要改变类里面的方法时,各个 客户端都必须再重新更新应用程序。 ( 2 ) 断网后数据恢复时,系统严重的负载不均衡 网络状态不好是很普遍的现象,它的确会影响正常的数据操作。尤其是在网 络中断的时候,这种影响就更加严重。作为一个有效运营的购物广场来说,网络 中断时数据的处理一定要尽可能的达到最优。原系统对于断网数据的处理是先把 数据保存在本地,然后等网络连通后上传到服务器。但是在实际的测试中,发现 了一个致命的问题,上传数据时,由于多个客户端同时上服务器上传数据,导致 了服务器负载压力过大,甚至出现了由于过大负载导致服务器再次瘫痪的现象。 针对以上两个问题,利用w c f 框架下的w c f 服务和消息队列技术可以得到 比较合理的改善。w c f 服务具有很强的扩展性,可以向任意方向扩展,它们通过 路由机制向外扩展。通过将服务绑定到单个操作系统或者处理器上,可以将服务 上扩。服务可以通过跨进程传输内扩,这指的是机器上的和跨机器的消息传送和 对象远程方法的调用。而消息队列技术提供了很好的异步消息处理功能,队列的 存在可以起到“缓冲的作用,能够有效的均衡服务器端的负载,从而避免峰值 过高的问题。 w c f 框架下分布式系统的集成技术研究 1 3 2 论文的技术路线 本文的研究路线为理论和实践相结合。具体的技术路线如图1 1 所示。 图1 1 论文技术路线图 f i g 1 1t h ep a p e r st e c h n o l o g yr o a d m a p 1 3 3 论文的组织结构 本文主要由五个章节组成。 第1 章绪论。主要阐述了论文的研究背景及选题意义,通过对国内外研究现 状的描述,引出课题研究的主要内容,并分析了课题的技术路线。 第2 章w c f 框架研究综述。w c f 框架是微软提出的对s o a 理念实现的切实 有效的可行方案,在本章节中,论文阐述了w c f 体系架构是如何对s o a 架构进 第1 章绪论 行实现的。并且简单阐述了w c f 框架下的三种分布式技术,w c f 的三要素以及 w c f 的绑定模型。这些是w c f 技术最基本的元素。w c f 架构的典型部署场景是 对w c f 框架应用情形的具体解析,描述了适合运用w c f 框架进行开发和部署的 场景。而w c f 框架下的异步消息处理机制就是本文的重点,在此做了简单的论述。 第3 章w c f 框架下的m s m q 关键技术研究。系统的研究了w c f 框架下的 消息队列技术,并将其与传统的消息队列技术进行对比分析。消息队列中事务处 理是保证消息安全可靠投递的关键,所以本章节对事务的处理进行了具体的分析。 与此同时,由于论文的异步消息传输模型是结合了w c f 框架下的w c f 服务和消 息队列技术,所以对应于w c f 服务,它的寄宿的环境也需要慎重的进行选择。i i s 7 0 正好提供了对非h t t p 绑定的支持,这就使得w c f 服务可以选择i i s 进行寄宿并 且能够很好的支持n e t m s m q b i n g d i n g 。研究了以上这些技术之后,本文提出了基 于w c f 服务与m s m q 的异步消息传输模型并且分析了模型的实施部署方式。 第4 章分布式数据库离线操作的设计与实现。异步消息模型设计之后,就需 要对其合理性进行验证。实践是检验真理的最有效的工具。在这一章节中,论文 通过将异步消息传输模型应用到购物广场的p o s 机项目中,改进其断网数据恢复 方案,使得模型得到很好的验证。并在实际的应用中总结了模型的优缺点。最后 将实现的结果进行简单的展示。 第5 章总结与展望。对本文所研究的内容进行总结,对所进行的实现进行分 析,同时提出一些尚未研究的问题,并且明确了将来所要研究和实现的内容。 w c f 框架下分布式系统的集成技术研究 2 1w c f 体系结构 第2 章w c f 框架研究 2 1 1w c f 体系结构对s o a 架构的实现 从传统概念上来说,s o a 思想是把软件的某项功能都当做是服务。这就意味 着开发者必须根据其自身的特点提供广大的服务给使用者,不管是以免费还是收 费的形式。随着技术的不断发展,s o a 思想的设计者对传统的概念不断的提出一 遍又一遍的挑战,试图尝试着以一种可以重用的方式将服务暴露给用户,并且在 服务的安全性方面做了很大的改进。这些尝试最终促使拥有不同技术背景的客户 们也能够根据各自的需要使用这些服务【1 1 d 4 】。经过这几年不断地改进,软件的架 构变得更加合理和清晰,软件技术功能更加强大,这些和s o a 架构紧密地结合在 了一起。 s o a 架构随着i t 界的发展,逐渐成为大家的共识,并且衍生出很多关于s o a 的专有技术名词。更有甚者提出了基于个人的技术和设计模式的方案来支持s o a 架构。s o a 所带给人们的好处,远远大于了它在实施过程中所面对的挑战以及带 来的一些损失。s o a 思想真正的引起业界人士的关注是始于从9 0 年代末到2 l 世 纪初,那个阶段w e b 应用框架以其可管理性的独特优势成为主流设计框架,微软 意识到了这一发展趋势的必然性,创建了一整套新的基于w e b 服务应用得方法, 并且与2 0 0 1 年的a s p n e t l 0 一起发布。 在s o a 架构发展的初期阶段,面向服务的架构并没有像现在这样成为普遍使 用的词汇,在此之前,如果说是研究s o a ,其实就是对w e b s e r v i c e 或者中间件的 研究。这两种技术通过相互竞争谋求各自的发展,使得越来越多的人开始意识到 s o a 的整体结构。 微软作为s o a p 和w e b s e r v i c e 的主要的支持者之一,通过持续的努力推动分 布式技术的改进,使得s o a 架构从最初的理念变为可能。经过系统的分析与设计, 微软最后决定将n a m e d p i p e s ,t c p b i n a r y r e m o t i n g ,d c o m 以及m s m q 等这些技 术结合起来创建一种以支持进程间的协作与交流的可重用的,可插拔的框架。 第2 章w c f 框架研究 但是在研发初期的结果并不理想。最大的问题就是在传输过程中,要求进程 可以动态的添加一些公有的或者私有的信息格式。如果可以在进程运行的时候再 订制这些传输方式和信息格式,而不是在运行之前对其静态的进行定义的话,就 能够让设计者从业务底层实现的角度解放出来,只需关心业务的高层次的实现。 正是在这种思想的指引下,设计者设计出了w c f 框架。最初计划将w c f 绑 定到l o n 曲o m 操作系统于2 0 0 4 年发布,如果当时l o n g h o r n 操作系统如期发布, 可能w c f 就会成为l o n g h o m 操作系统的特定技术了【1 5 】。但是由于各种原因导致 l o n g h o r n 操作系统即v i s t a ,w i n d o w s s e r v e r 2 0 0 8 的发布一再延期,如果w c f 仍然 跟随着l o n g h o r n 操作系统发布,对于微软来说,会付出很大的代价。最终,w c f 被作为n e t f r a m e w o r k 3 0 的一部分于2 0 0 6 年秋发布,并且可以兼容w i n x p 系统和 w i n 2 0 0 3 系统。 对微软走向s o a 的道路来说,l o n 曲o m 系统发布的一再延期却成为最有益的 事情,假如w c f 真的作为l o n g h 0 1 t i 的一个特性发布,企业用户可能对w c f 在微 软s o a 道路上的重要性产生怀疑。然而现实情况是w c f 是微软不懈余力的在面 向服务这块领域上下了很大的的赌注【16 】。 微软在w c f 方面做的比较成功的地方是使用户们认识到w c f 是由 w e b s e r v i c e 发展来得。在此之前w e b s e r v i c e 已经出现了近十年,w c f 只是使它 变得更精巧,这使得w c f 带来的好处也是不可否认的。 任何技术都有其优缺点,不可能在企业服务市场上独自垄断,这就迫使在设 计新的架构时,务必要注重与其他技术的协作关系。而w c f 在这一点上处理的很 出色,优秀的相互协作的能力是其自身的优势。正是因为相互协作如此之重要, s o a p 等等的这类技术变得不可或缺。使用这些技术所面临的问题是在必须达到好 的互操作性这种抽象的层面上让人面临很多的困难,也就促使了中间件产品市场 逐年增长。随着w c f 的发布,将结束这一混乱,令人畏缩的时代【l 7 1 。 2 1 2w o f 框架下的分布式集成技术 一直被称为代号i n d i g o 的框架是微软推出的通过托管代码来构建和运行面向 服务( s e r v i c e o r i e m e d ) 的应用程序的统一的框架。这使得构建一个可以和已有系 w c f 框架f 分布式系统的集成技术研宄 统兼容拂作的具有跨平台的安全性,信息传递的可信赖性,以及事务性的解决方 案成为可能。 微软先后推m 了一系列的分布式分布式开发技术,如n e t r e m o f i n g 、 w e b s e r v i c e ( a s m x ) 、w s e 30 和m s m q 消息队列等。而从i n d i g o 框架演变而 来的w c f 框架有效的整合了n e t 平台f 的这些分布式卅发技术,成为了应用程序 开发的集大成者悯。 圈2 1 给山了w c f 框架结构。 缉p 端 1 m ix 终 , 维- 业务终 ,站。 代理 - 一 a l 一通道一 通道_ _ - 1 :c一 一 通道i 通道一 一信息l _ _ | 一7 一镕# a 道、 传输m 道一 圈2 lw c f 框架结构图 f i g2 iw c f f r a m e w o r ks t r u c t u r e 从通信范围的角度来讲,w c f 可以实现不同的进程,不同的机器,不同的子 网不同的企业间甚至是4 i 同的i n t e r n e t 间的通讯;从宿主程序的角度来看,它可 以采用w i n d o w s 应用程序,w i n d o w s 窗体,i l s ,控制台应用程序等作为宿主程序。 与此同时,w c f 可以支持多种协议,如t c p ,h 丁t p 以及自定义的一些协议。安 全模式的类型也很f 泛,如用户等。利用w c f 框架来开发基于s o a 架构的分布 式应用程序变得简单了许多,微软成功的包括了与此相关的理念和技术,可以| 兑, 如果能够熟练的掌握w c f ,就能够从本质上掌握了s o a 的设计理念”。 w c f 框架下包括了各种分柿式开发技术,现将几种典型的技术介绍如下。 第2 章w c f 框架研究 1 n e t r e m o t i n g 技术 n c t r a n o t i n g 技术,可以将其看作是一种分布式处理方式。作为应用程序之间 通信的一种机制,n c t r e a l o t i n g 与m s m q 消息队列不同,它不支持离线脱机消息, 另外只适合n e t 平台之间程序的通信。微软把r e m o t i n g 当做一种产品进行开发的 时候,主要考虑到r e m o t i n g 实质上就是对分布式组件技术的改造,它完善了分布 式组件技术的许多功能,并且比组件技术更能融合到n e t 平台之下。r c m o t f l l g 技 术的最大优势在于它可阻提供使对象能够无障碍的通过应用程序域与另外的一个 对象进行通讯的交互框架。 在w i n d o w s 操作系统中,应用程序被当做单独的进程被分离了出来,这时应 用程序代码和周围数据形成了一道边界。一个进程中执行的代码通常是= i 1 _ = 能访问 到另一个进程的,如果需要访问,则必须采用进程间通信机制。 n e t r e m o t i n g 的通信架构如图2 2 所示。 念。 透明代理 透明代理 格式化嚣爿霆 消 息 服务器s e n 埘 对象环境接收器 服务环境接收器 爿 反格式化器1 图22n e t r e m o f i n g 的通信架构 f i g2 2 t h e c o u n i c a f i o ns 仃i ;c n 髓o fn e t r a a o d n g 上图向大家展示了n 时r e m o t i n g 的通信框架,其中涉及到几个比较重要的概 w c f 框架下分布式系统的集成技术研究 ( 1 ) 通道( e h a l l l l e l ) n e t r e m o t i n g 利用通道( c h a n n e l ) 来实现不用的应用程序域之间不同对象的 通讯。客户端获取服务对象是通过r e m o t i n g 中的通道来实现的,获取到的服务对 象再通过客户端代理的解析,解析为客户端对象。利用这个机制,可以成功的实 现将服务器对象以服务的方式发布出来。 像服务器激活的对象和客户端激活的对象这一类的远程对象代码可以运行在 服务器上,客户端继而通过r e m o t i n g 连接服务器获得运行在服务器上的对象,并 经过序列化操作之后再在客户端上运彳亍【2 1 1 。 ( 2 ) 远程对象( o b e j e c t ) 通道的类型以及通道的端口号是设计者通过r e m o t i n g 传递对象时所要考虑到 的两个重要因素,除此之外,设计者不用详细的了解数据包的格式。客户端对服 务对象的获取,并非是直接获取实际的服务的对象,而是通过代理间接的获取服 务对象的引用2 2 1 。远程的对象如果想要跨越边界进行访问的话,那么必须要继承 自m a r s h a l b y r e f o b j e c t 类,这个类可以保证远程对象能够在r e m o f i n g 应用通信中 使用。 2 消息队列技术【2 3 脚】 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 e s s a g e 的容器当中,这些消息被保存到了系统公用存储空间消 息队列当中;当外界需要该消息时,存在本机或者异地的消息接收程序会自动从 队列中取出消息并进行相应的处理。 在这里消息的概念是很宽泛的,它并非仅仅局限于一些文本信息,只要是通 信双方需要传递的信息都可以,它也可以是声音、图像等各种媒体文件的形式。 但是在消息传递之前,通信双方需要提前约定好消息的最终解释方式,这样做有 以下两个好处:一是约定的过程实质上就是对信息进行简单加密的过程;二是自 定义的格式在某种程度上来说可以节省传递的通信量。消息的正文中其实也可以 第2 章w c f 框架研究 包含事先约定好的发送和接受者的标识,当然要确保只有指定的用户才可以看见 回执。 3w c f 服务 服务( s e r v i c e s ) 是公开的一组功能的集合。从软件设计的角度考虑,软件设 计思想经历了从函数发展到对象,从对象发展到组件,再从组件发展到服务的几 次变迁。在这样一个漫长的发展旅程中,最后发展到服务的一步可以说是最具革 新意义的一次飞跃。面向服务( s e r v i c e - o r i e n t a t i o n ,s o ) 是一组原则的抽象,是 创建面向服务应用程序的最佳实践。面向服务的应用程序模型其实就是将多个服 务聚集在一起,汇总到单个逻辑的应用程序之中,模型的机理类似于面向组件的 应用程序的聚合,或者是面向对象的应用程序聚合【2 s 】。 图23 给出了面向服务的应用程序模型。 鹰月程序 服务服务 嘲23 丽向服务的应用程序模型 f i g2 3s e m o r i e n t e d a p p i i c a t i o n m o d e l 圆上所示服务并非仅仅局限于本地服务,它也可以是远程的服务。这个服务 可以经由多个参与方使用多种网络技术进行开发和组建出来。服务与执行的环境 没有关系,甚至它可以在不同的时区同时执行。服务的内部包含t i l t 多概念,比 如说开发的语言,开发的技术,开发的平台以及开发的版本和框架等等。而服务 之间的交互则依赖于特定的通信模式。 使用服务的另一方则被称作该服务的客户端,从理论上来说,服务的客户端 w c f 框架下分布式系统的集成技术研究 并不是特定的模式,它可以是任意的w i n d o w s 窗体类、a s p n e t 页面或其他服务。 消息的投递与接收实现了客户端与服务间信息的交互,它可以在客户端和服 务端之间直接的进行传递,同时也可以通过中间方进行传递。w c f 框架下传递的 所有消息都是标准的s o a p 消息,并且这些消息与具体的传输协议并没有关系, 这与传统的w e b 服务不刚2 9 1 。 所以说,即使参考的传输协议不同,w c f 仍旧可以在这些协议之间传输,并 非仅仅限于h t t p 协议或者t c p 之类的协议。用w c f 框架开发出来的客户端可 以与其他服务完成互操作,而w c f 框架开发出来的服务也可以与其它客户端进行 交互。但是对于需要同时开发客户端与服务的情况,如果设计时所创建的应用程 序两端都可以支持w c f ,那么此时开发出来的应用程序就能够利用w c f 的特定 优势。 外界需要知道服务能够实现哪些功能,所以服务的创建还是需要向外界公开 一些内容。w c f 服务中的元数据用来描述服务可以提供的功能以及服务可能采用 的通信方式。元数据的发布是和具体的实现技术没有关系的,它可以预先被发布 出来。即使客户端是非w c f 框架下的,它同样可以把元数据导入到本地环境中, 标记为本地类型。同样的道理,w c f 结构的客户端也可以导入非w c f 框架下的 服务的元数据,继而像调用本地服务一样,以本地的c l r 类与接口的方式对服务 进行调用【3 0 1 。 w c f 框架设计的初衷是不让客户端与服务直接进行交互,即使所调用的服务 是存储在本地机器的内存中,这样的直接调用也是不允许的。客户端与服务端的 交互是通过代理将调用转发给服务。开发者无需顾虑代理是否能够实现服务所能 实现的功能,因为代理所公开的操作实际上和服务是相一致的,与此同时,代理 本身还具有一些管理代理的方法。 在w c f 框架中,它是允许客户端跨越执行的边界与服务端进行通信的。如果 客户端和服务端同处于一台机器内部,它们可以在同一进程的不同应用程序域之 间相互通讯,或者是在不同的进程的不同应用程序域之间相互调用。图2 4 所示的 是在同一台机器内部,w c f 实现进程间相互调用过程。 第2 章w c f 框架研究 图2 4w c f 实现相同机器通讯 f i g 2 4u s i n gw c f t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季学期三年级上册小学英语(人教精通版三起)教学计划附进度表
- 齐齐哈尔市富裕县2025年数学三年级下学期期中学业质量监测试题含答案
- 黔东南南苗族侗族自治州2025届数学四下期中考试模拟试题含答案解析
- 黑龙江省黑河市嫩江县2025-2026学年数学四年级第二学期期中联考试题含答案解析
- 2025年西咸新区秦汉新城就业见习招聘(50人)笔试历年典型考点题库附带答案详解
- 2025年福建省船舶工业集团有限公司招聘2人笔试历年备考题库附带答案详解
- 2025年甘肃省庆阳市宁县新庄煤矿招聘生产性灵活用工134人笔试历年常考点试题专练附带答案详解
- 2025年浙商银行长沙分行浏阳支行(筹)社会招聘笔试历年典型考题及考点剖析附带答案详解
- 脉搏模拟考试题及答案
- 2026电修工理论考试题及答案
- 2026-2030直升机市场发展现状调查及供需格局分析预测报告
- 剖宫产患者术前皮肤准备与护理
- (2026)高血压性脑出血重症管理专家共识课件
- 施工现场临边洞口防护标准化规范
- 建筑工程材料见证取样手册
- 反恐怖防范安全风险评估工作指南(试行)
- 污染治理和节能减碳专项2024年中央预算内投资备选项目资金申请报告
- 李叔同简介课件
- CMBS业务培训课件
- 球房承包合同协议书
- 河北省科技厅课题申报书
评论
0/150
提交评论