




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 网格计算是一门新兴的科学技术,它的发展尚处于初级阶段,目前网格计算的应用 还局限在科学计算方面。本文将网格计算的思想运用到了信息管理系统当中,使得网格 计算在科学计算领域以外得到了应用。 本文采用当前比较流行的面向服务的软件架构思想,构建了基于w c f 的网格化信息 管理系统,本系统解决了拉萨师范高等专科学校的教务管理工作信息化问题。 w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) 是m i c r o s o f t 最新推出的基于s o a 架构 的分布式网络通信技术。w c f 统一了现有的多种m i c r o s o f t 分布式技术,提供了对跨供 应商互操作性的支持,它提供了一种构建安全可靠的分布式面向服务系统的框架模型, 使软件研发人员在开发分布式应用软件时变得更加轻松。显式的面向服务特性,使其成 为了m i c r o s o f t 新一代分布式应用开发的核心技术。w c f 与r e m o t i n g 和w e bs e r v i c e 相 比,最大优势在于它统一和简化了分布式技术的运用。以前使用不同的分布式技术,写 法大相径庭。而现在,往往只需要进行a t t r i b u t e 标记,再加上配置就可以实现不同技 术下的分布式通信了。这样让程序员把更多精力可以放在业务相关的逻辑上,而不会拘 泥于技术实现本身。 本文首先介绍了网格计算的相关概念及技术,对网格计算的发展方向及尚未解决的 问题进行了分析。接着又介绍了w c f 的概念及技术特点,在此基础上开始了基于w c f 的网 格化信息管理系统的总体设计,为系统的实现做了必要的准备。经过对w c f 技术的深入 研究,成功地将w c f 技术融入到了信息管理系统的服务层,这种基于w c f 架构的服务层通 过修改配置文件就可以更换不同通信协议,使用起来非常的方便。更重要的是它可以对 分布在不同服务器上的数据库进行有效的管理与调用,这使得本系统具有了网格的特 性。由于w c f 技术的引用,系统的服务端同时支持n e t 客户端和j a v a 网页端的调用,实 现了分布式服务平台异构。 关键词:网格计算;面向服务;w c f a b s t r a c t g r i dc o m p u t i n g ,an e wt e c h n o l o g ys t i l li ni t se a r l ys t a g e , c o m p u t i n gt o d a y t h i st h e s i st r i e s t op u tg r i dc o m p u t i n gi n t ot h e m a n a g e m e n ts y s t e m ,t h u se x t e n d i n gt h eu s eo f 酣dc o m p u t i n g i sl i m i t e dt os c i e n t i f i c p r a c t i c eo fi n f o r m a t i o n t h i st h e s i sa d o p t st h ep o p u l a rs e r v i c e o r i e n t e ds o f t w a r ef r a m e w o r kt oc o n s t r u c t 鲥d i n f o r m a t i o nm a n a g e m e n ts y s t e mb a s e do nw c f ,w h i c hh e l p st of a c i l i t a t et h ei n f o r m a t i o no f e d u c a t i o n a la d m i n i s t r a t i o no fl a s an o r m a lc o l l e g e w c fi sat y p eo fs o a - b a s e dd i s t r i b u t i o n a ln e t w o r kc o m m u n i c a t i v et e c h n o l o g yr e c e n t l y d e v e l o p e db ym i c r o s o f t w c fm a n a g e st oi n t e g r a t e d i f f e r e n tm i c r o s o f td i s t r i b u t i o n a l t e c h n o l o g i e s ,s u p p o r t i n ga c r o s s s u p p l i e ri n t e r o p e r a b i l i t y ,o f f e r i n gar e l i a b l es e r v i c e - o r i e n t e d d i s t r i b u t i o n a lm o d e la n de a s i n gr ds t a f f sw o r k e x p l i c i ts e r v i c e o r i e n t a t i o ng u a r a n t e e s w c f sc e n t r a lp o s i t i o na m o n ga l ld i s t r i b u t i o n a lt e c h n o l o g i e s r e c e n t l yd e v e l o p e db y m i c r o s o f t w c ft a k e sl e a do fr e m o t i n ga n dw e bs e r v i c ei nt h a ti ti n t e g r a t e sa n ds i m p l i f i e s t h eu s eo fd i s t r i b u t i o n a lt e c h n o l o g y v a r i e d m e t h o d so fp r o g r a m m i n gi n e v i t a b l ei nt h ep a s t h a v eb e e ne l i m i n a t e da n da t t r i b u t el a b e l t o g e t h e rw i n lc o r r e s p o n d i n gc o n f i g u r a t i o n , c a n n o wr e a l i z ed i s t r i b u t i o n a lc o m m u n i c a t i o nb e t w e e nd i f f e r e n t t e c h n o l o g i e s t h e r e f o r e , p r o g r a m m e r s ,f r e e df r o mt h er e a l i z a t i o no ft e c h n o l o g y ,a r ea l l o w e dt of o c u so np r o f e s s i o n a l l o g i c t h i st h e s i sm a k e sab r i e fi n t r o d u c t i o no fg r i dc o m p u t i n ga n dr e l a t e dt e c h n o l o g i e s , a n a l y z i n gt h et r e n do fg r i dc o m p u t i n ga n du n s o l v e dp r o b l e m s t h ec o n c e p ta n df e a t u r e so f w c fh a v eb e e ne n u m e r a t e da n dg e n e r a ld e s i g nb a s e do nw c f g r i di n f o r m a t i o nm a n a g e m e n t s y s t e mh a sm a d en e c e s s a r yp r e p a r a t i o nf o rt h er e a l i z a t i o no ft h es y s t e m d e e p e rr e s e a r c hi n t o w c ft e c h n o l o g ya i d st oi n f i l t r a t ew c ft e c h n o l o g yi n t ot h es e r v i c el a y e ro fi n f o r m a t i o n m a n a g e m e n ts y s t e ma n dt h es e r v i c el a y e rb a s e do nw c fp r o v e st ob eac o n v e n i e n tw a yt o r e p l a c e c o m m u n i c a t i o np r o t o c o lt h r o u g hr e w r i t i n gc o n f i g u r a t i o nf i l e s w h a ti sm o r e i m p o r t a n t ,w c ft e c h n o l o g yi sc a p a b l eo fm a n a g i n ga n dt r a n s f e r r i n gd a t ab a s e so fd i f f e r e n t s e r v e r s ,t h u se q u i p p i n gt h i ss y s t e m 谢t 1 1 西d - q u a l i t i e s t h a n k st ot h ea p p l i c a t i o no fw c f t e c h n o l o g y ,t h es e r v i c el a y e ro ft h i ss y s t e ms i m u l t a n e o u s l ys u p p o r t st h et r a n s f e r r i n go f n e t c l i e n tt e r m i n a la sw e l la sj a v aw e b p a g et e r m i n a l ,r e a l i z i n gd i s t r i b u t i o n a ls e r v i c e p l a t f o r m h e t e r o g e n e o u sn e t w o r k k e yw o r d s :g r i dc o m p u t i n g ;s e r v i c e o r i e n t e d ;w c f i l 独创性声明 本人郑重声明:所提交的学位论文是本人在导师指导下独立进行研究工作所取得 的成果。据我所知,除了特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,对本入的研究做出重要贡献的个人和集体,均已在文中作了 明确说明。本声明的法律结果由本人承担。 学位论文作者签名:蚤i :查塑日期:丕盟:! 主 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论文的规定,即:东 北师范大学有权保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许 论文被查阅和借阅。本人授权东北师范大学可以采用影印、缩印或其它复制手段保存、 汇编本学位论文。同意将本学位论文收录到中国优秀博硕士学位论文全文数据库 ( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论文全文数据库( 中国科学技 术信息研究所) 等数据库中,并以电子出版物形式出版发行和提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:互王盈 日 期:2 簟:鱼多 学位论文作者毕业后去向: 工作单位: 通讯地址: 指导教师签名: 日期: 电话: 邮编: 东北师范大学硕士学位论文 引言 网格技术是近年来国际上兴起的一种重要信息技术,其目标是实现网络虚拟环境上 的高性能资源共享和协同工作,消除信息孤岛和资源孤岛。网格的作用是将分散在网络 上的信息及信息存储、处理能力以合理的方式“粘合”起来,形成有机的整体,以提供比 任何单台高性能计算机都强大得多的处理能力,实现信息的高度融合和共享。目前网 格的应用主要集中在:分布式超级计算、高吞吐率计算以及数据密集型计算等科学计算 领域。将网格的思想运用到实际应用当中是需要我们鳃决的主要阕题。 网格是分布式计算的一种方式,而w c f 又是一个面向服务的分布式编程框架,所以 运用w c f 技术来构建网格式的应用也就是顺理成章的事了。本文所要构建的基于w c f 的 网格化信息管理系统就是以上说法的一个实例,将w c f 技术融入到信息管理系统的同 时,这个系统也就具备了网格的性质。 作为本文的核心技术,w c f 是m i c r o s o f t 公司大力推崇的一项产品。它的优势主要体 现在以下几个方面: 1 ,统一性,w c f 是对于是s 姒,n e tr e m o t i n g ,e n t e r d r i s es e r v i c e ,w s e ,姆姻等 技术的整合。由于w c f 完全是由托管代码编写,因此开发w c f 的应用程序与开发其它 的n e t 应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用 w c f 来创建面向服务的应用程序。 2 互操作住,由于w c f 最基本的通信机制是s o a p ,这就保证了系统之间的互操作性。 这种通信可以是基于n e t 至u n e t 间的通信。可以跨进程、跨机器甚至于跨平台的通信, 只要支持标准的w e bs e r v i c e ,例如j 2 e e 应用服务器( 女i w e b s p h e r e ,w e b l o g i c ) 。应用 程序可以运行在w i n d o w s 操作系统下,也可以运行在其他的操作系统如s u ns o l a r i s , h pu n i x ,l i n u x 等等。 3 安全与可信赖性,w s s e c u r it y ,w s t r u s t 和v s s e c u r e c o n v e r s a t i o n 均被添加到 s o a p 消息中,以用于用户认证、数据完整性验证以及数据隐私等多种安全因素。 4 兼容性,w c f 充分的考虑到了与i 日有系统的兼容性。安装w c f 并不会影响原有的技 术,女h a s m x 和n e tr e m o t i n g 。即使对于w c f 和a s m x 而言,虽然两者都使用了s o a p ,但基 于w c f 开发的应用程序,仍然可以直接与a s m x 进行交互。 本文的组织如下: 第一章介绍了网格及网格计算的基本概念,对网格的发展过程及尚未解决的问题做 了分析; 第二章详细介绍了w c f 技术的特点及技术,并将r e m o t i n g 和w e bs e r v i c e 与w c f 进行 了比较,分析t w c f 的优势,然后对w c f 未来的发展前景饭了总结: 第三章对w c f g i m s 做了总体的设计,给出了w c f g i m s 的总体结构视图、物理架构视图、 信息服务序列视图、静态架构视图以及人机交互界面的设计: 1 东北师范大学硕士学位论文 第四章在数据层、服务层以及客户层三个部分实现t w c f g i m s ; 第五章分析 7 w c f g i m s 的运行情况。 2 东北师范大学硕士学位论文 第一章网格计算 1 1 网格及网格计算的基本概念 “网格计算之父”f a nf o s t e r 给出的网格定义是:网格是构筑在互联网上的一组新 兴技术,它将高速互联网、高性能计算祝、大型数据库、传感器、远程设备等融为一体, 为科技人员和普通老百姓提供更多的资源、功能和服务旧。 网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学计算的新型计算模 式。这种计算模式是利用互联网把分散在不同地理位置的计算机组织成一个“虚拟的超 级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上 万的“节点 组成的“一张网格 ,所以这种计算方式叫网格计算。这样组织起来的 “虚拟的超级计算机 有两个优势,一个是数据处理能力超强;另一个是能充分利用网 上的闲置处理能力。两格是继传统因特网、w e b 之后的第三次互联网浪潮。传统因特网 实现了计算机硬件的连通,w e b 实现了网页的连通,而网格则试图实现互联网上所有资 源的全面连通,其中包括计算资源、存储资源、通信资源、软件资源、信息资源和知识 资源等。 网格计算是分布式计算( d i s t r i b u s e dc o m p u tj n g ) 的一种方式,这种计算方式具 有很强的数据处理能力,它充分利用了网上的闲置处理能力。在网格计算模式下,系统可 以自动向每台计算机分配任务。如果其中一台计算机出现故障,其他的计算机可以自动 替代它继续进行处理,网格计算的实质就是集中利用分散的1 1 资源。 1 2 网格计算的发展过程 网格计算于2 0 世纪9 0 年代初兴起于科研领域。现在的网格计算主要被各大学用于高 性能计算的项目。目前,国外的网格研究主要集中在美国和欧洲等发达国家。这些国家 在网格研究阶段投入了大量的财力、物力和人力,并取得了一些初步成果。最“正统 的网格研究来源于美国联邦政府过去1 0 年来资助的高性能计算项目。这方面的代表性研 究工作包括美国国家科学基金会资助的n p a c i ,“国家技术网格”( n t g ) ,分布万亿次级 计算设施( d t f ) 、美国宇航总署的i d g ,美国能源部的a s c ig r i d 以及欧盟的d a t ag r i d 等。其中最著名、最具代表性的网格计算研究是美国的g l o b u s 项目。g l o b u s 是美国 a r g o n n e 国家实验室的研发项目,全美有1 2 所大学和研究机构参与了该项目的研究。 g l o b u s 对资源管理、安全、信息服务及数据管理等网格计算的关键理论进行了研究,开 发能在各种平台上运行的网格计算工具软件( t o o l k i t ) ,帮助规划和组建大型的网格试 验平台,开发适合大型网格系统运行的大型应用程序。g l o b u s 的技术已在n a s a 网格( n a s a i p g ) 、欧洲数据网格( d a t ag r i d ) 、美国国家技术网格( n t g ) 等8 个项目中得到应用。 这些项目要求巨大的计算能力,或需要接人大量数据h 。 3 东北师范大学硕士学位论文 近年来,随着计算机计算能力的迅速增长,互联网络的普及和高速网络成本的大幅 度降低以及传统计算方式和计算机的使用方式的改变,网格计算已经逐渐成为超级计算 发展的一个重要趋势。网格计算是一个崭耘丽重要的研究领域,它以大粒度资源共享, 高性能计算和创新性应用为主要特征,必将成为2 1 世纪经济发展的重要推动力。二十 世纪九十年代以来,世界各个国家,尤其是发达国家,建立了很多超级计算应用中心和 工程研究中心,美国还制定了新一轮靓划的先进计算框架计划( a c i p ) ,发展面向2 1 世 纪的先迸计算技术。我国在科技部的领导和主持下,在3 0 6 主题专家组及相关单位的努 力下,作为我国高性能计算和信息服务的战略性基础设施的国家高性能计算环境发展很 快。在已建成的5 个国家级高性能计算中心基础上,又于中南、西北等地建立了新的国 家赢性能计算中心,科技部加强了网格节点的建设,形成以科学院为主体的计算网格。 教育部也启动了网格计算工程,第一批1 2 个网点正在建设中,国家基金委也列出了专 向基金资助网格计算。 1 3 网格计算的应用及技术特点 1 3 1 网格计算的应用 网格计算可以在以下几个方面得到广泛应用; 1 分布式超级计算。 网格计算可以把分布式的超级计算机集中起来,协同解决复杂的大规模的问题。使 大量闲置的计算机资源得到有效的组织,提高了资源的利用效率,节省了大量的重复投 资,使用户的需求能够得到及时满足。 2 高吞吐率计算。 网格技术能够十分有效地提高计算的吞吐率;它利用c p u 的周期窃取技术,将大量 空闲的计算机资源集中起来,提供给对时间不太敏感的问题,作为计算资源的重要来源。 3 数据密集型计算。 数据密集型问题的求解往往同时产生很大的通讯和计算需求,需要网格能力才可以 解决。网格可以满足药物分子设计、计算力学、计算材料、电子学、生物学、核物理反 应、航空航天等众多科学领域的计算需求。 4 基于广泛信息共享的入与人之间的交互。 网格的出现更加突破了人与人之间地理界线的限制,使得科技工作者之间的交流更 加的方便,从某种程度上可以说实现人与人之间的智慧共享。 5 更广泛的资源贸易。 随着大型机性能的提高和微机的普及,资源闲置的问题也越来越突出,网格技术能够有 效地组织这些闲嚣的资源,使得有大量的计算需求的用户能够获得这些资源并且加以充 分的利用,资源提供者的应用也不会受到太大的干扰。需要计算能力的人可以不必购买 大的计算机,只要根据自己的任务需求,向网格购买计算能力就可以满足计算需求嗡3 。 4 东北师范大学硕士学位论文 1 3 2 网格计算的技术特点 1 分布性:分布性是网格的一个最主要的特点。网格上的各类资源通常类型复杂、 规模较大、跨越地理范围较广,在分布式计算环境下,需要解决资源与任务的分配和调 度问题、安全传输与通信问题、实时性保障问题以及人与系统之间的交互问题。 2 异构性:网格可以包含多种异构资源,包括跨越地理分布的多个管理域。构成网 格计算系统的超级计算机有多种类型,不同类型的超级计算机在体系结构、操作系统及 应用软件等多个层次上可能具有不同的结构。 3 可扩展性:网格可以从最初包含的少数资源的小网格发展到具有成千上万的资源 的大网格。由此可能带来的一个问题是随着网格资源的增加而引起的性能下降以及网格 延迟,所以一个健壮的网格必须能及时灵活的适应网格资源规模的变化。 4 共享性:网格的根本特征是资源共享而不是它的规模。尽管网格资源是分布在不 同的地理位置上的,但是它们却是可以充分共享的。分布是网格硬件在物理上的特征, 而共享是网格在网格软件支持下实现的逻辑上的特征旧3 。 5 可适应性:在网格中,具有很多资源,资源发生故障的概率很高。网格的资源管 理或应用必须能动态适应这些情况,使用者通过调用网格中可用的资源和服务来取得最 好的性能。与一般的局域网系统和单机的结构不同,网格系统由于地域的广泛分布和系 统的复杂使其整体结构经常发生变化,所以要求网格系统的应用必须能适应这种变化h 1 。 1 4 尚未解决的问题 网格是一个集成的计算资源环境,或者说是个计算资源池。同时网格也是一种先 进的计算基础设施,用于研究与工程应用相结合的项目,学科领域涉及超级计算技术、 网络技术、数据库技术、中间件技术、并行算法和各种计算科学研究与应用技术,是一 个综合性的跨学科高技术研究课题。 然而,网格计算也存在一些尚未解决的问题,这些难题需要我们今后逐一攻克。 1 在网格计算应用方面,基本上局限在科学计算领域,在其它方面的应用还很少。 2 在网格计算技术方面,迄今为止还没有统一正式的标准。 3 如何解决网格节点安全的问题。 安全问题数字化信息目益增多,较易受到干扰和攻击,给网格技术带来严重的安全 问题。因此,网格信息系统的安全问题也是网格计算领域亟待解决的问题之一。 东北师范大学硕士学位论文 第二章w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) 2 1w c f 概述 w i n d o w s 通信基础( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ,w c f ) 是基于w i n d o w s 平台下开发和部署服务的软件开发包( s o f t w a r ed e v e l o p m e n tk i t ,s d k ) 。w c f 为服务 提供了运行时环境( r u n t i m ee n v i r o n m e n t ) ,使得开发者能够将c l r 类型公开为服务, 又能够以c l r 类型的方式使用服务。理论上讲,创建服务并不一定需要w c f ,但实际上, 使用w c f 却可以使得创建服务的任务事半功倍。w c f 是微软对一系列产业标准定义的实 现,包括服务交互、类型转换、封送( m a r s h a li n g ) 以及各种协议的管理。正因为如此, w c f 才能够提供服务之间的互操作性。w c f 还为开发者提供了大多数应用程序都需要的 基础功能模块,提高了开发者的效率。w c f 的第一个版本为服务开发提供了许多有用的 功能,包括托管( h o s t i n g ) 、服务实例管理( s e r v i c ei n s t a n c em a n a g e m e n t ) 、异步调 用、可靠性、事务管理、离线队列调用( d i s c o n n e c t e dq u e u e dc a l l ) 以及安全性。同 时,w c f 还提供了设计优雅的可扩展模型,使开发人员能够丰富它的基础功能。事实上, w c f 自身的实现正是利用了这样种可扩展模型。对于一个好的分布式系统来讲,设计 时应当考虑到异构性、开放性、安全性、可扩展性、故障处理、并发性以及透明性等问 题。基于s o a p 的w e bs e r v i c e 可以实现异构环境的互操作性,保证了跨平台的通信。 利用w s e ( w e bs e r v i c ee n h a n c e m e n t s ) 可以为a s m x 提供安全性的保证。n e tr e m o t i n g 具有丰富的扩展功能,可以创建定制的信道、格式化器和代理程序。e n t e r p r i s e s e r v i c e ( c o m + ) 提供了对事务的支持,其中还包括分布式事务,可实现故障的恢复。 m s m q 可以支持异步调用、脱机连接、断点连接等功能,利用消息队列支持应用程序之 间的消息传递。从功能角度来看,w c f 整合了a s m x 、n e tr e m o t i n g 、e n t e r d r i s es e r v i c e 、 w s e 以及m s m q 等现有技术的优点,它提供了种构建安全可靠的分布式面向服务系统 的统一的框架模型,使软件研发人员在开发分布式应用程序时变得更加轻松。 2 1 1w c f 面向服务 既然w c f 是一套面向服务的框架,服务自然便是w c f d ? 最为重要的概念。服务是指暴 露在外的一系列功能的集合,面向服务则是指一套构建“面向服务程序的抽象原则以 及最优方法。对于业务逻辑的理解,传统的编程方式认为应将业务逻辑封装为对象,该 对象提供了与业务相关的一些功能:而基于w c f 的程序设计却更多的是考虑如何提供服 务以及消费服务。s o a 现在很热闹,但它早已经出现。最初厂商和网站”w e bs e r v i c e ”的 时候,s o a 就已经是个热门词汇了。但是在实际开发中,w e bs e r v i c e 和n e tr e m o t i n g 的 使用度并不高,原因太多太复杂。不过w c f 的出现,相信会推进这一进程。与面向组件 服务程序类似,基于s o a 的应用程序将服务封装到了单个逻辑程序当中,如图2 1 所示。 6 东北师范大学硕士学位论文 图2 1 封装服务的s o a 应用程序逻辑图 2 1 2w c f 体系结构 w c ? 提供了对可靠性、事务性、并发管理、安全性以及实例激活等技术的有力支持, 而这些支持均依赖于如图2 2 所示的w c f 构架。在客户端,分布式应用通过一个代理来转 发对宿主端所提供服务的调用,而代理拥有和服务相同的操作接口,另外还有一些附 加的代理管理方法。这也就意味着客户端从来不会直接调用服务,即便这个服务就在本 机的内存中。当客户端代理接收到来自客户端的调用请求后,它将消息通过信道链向下 传递。每个信道都会执行相应的消息的调用前处理,例如对消息的编码、提供可靠的会 话、对消息进行加密等。客户端的最后一个信道则是传输信道,根据配置的传输方式发 送消息给宿主。在宿主端,消息同样通过信道链进行传输。与客户端信道相对应,宿主 端信道也会对消息执行相应的宿主端的调用前处理,例如对消息的解码、提供会话管 理、对消息进行解密等。宿主端的最后一个信道则负责将消息发送给消息分发器 ( d i s p a t c h e r ) ,由分发器负责调用服务的实例。 c l i e n t 山 p r o x y 山 c h a n n e i , 山 c h a n n e l 消息 s e r v i c e d i s v a t c h e l * c h a n n e l c h a n n e l t r a n s p o r t c h a n n e l 图2 2w c f 构架示意图 7 东北师范大学硕士学位论文 2 1 3w c f 的组成要素 作为基于s o a 的一个框架产品,w c f 最重要的就是能够快捷的创建一个服务 ( s e r v i c e ) 一个w c fs e r v i c e 由下面三部分构成别,如图2 3 所示。 圆2 - 3 端点构成图 1 ) s e r v i c ec l a s s :一个标记了 s e r v i c ec o n t r a c t a t t r i b u t e 的类,在其中可能包 含多个方法。除了标记了一些w c f 特有的a t t r i b u t e f f b ,这个类与一般的类没有什么特殊 的区别。 2 ) h o s t ( 宿主) :可以是应用程序,进程如w i n d o w ss e r v i c e 等,它是w c fs e r v i c e 运 行的环境。 3 ) e n d p o i n t s :可以是一个,也可以是一组,它是w c f 实现通信的核心要素。一个 e n d p o i n t 出三部分组成:a d d r e s s ,b in d i n g ,c o n t r a c t 。便于记忆,我们往往将这三部 分称为是e n d p o i n t 的a b c s 。a d d r e s s 是e n d p o i n t 的网络地址,它标记了消息发送的目的 地。b i n d i n g 描述的是如何发送消息,例如消息发送的传输协议( 如t c p ,h t t p ) ,安 全( 如s s l ,s o a p 消息安全) o c o n t r a c t 贝j j 描述的是消息所包含的内容,以及消息的组 织和操作方式,例如是o n e w a y 、d u p l e x 和r e q u e s t r e p l y 。所以e n d p o i n t 中的a b c s 分别 代表的含义就是:w h e r e ,h o w ,w h a t 。当w c f 发送消息时,通过a d d r e s s 知道消息发送的 地址,通过b i n d i n g 知道怎样来发送它,通过c o n t r a c t 贝u 知道发送的消息是什么。在w c f 中,类s e r v i c ee n d p o i n t 代表了一个e n d p o i n 乞,在类中包含的e n d p o i n t a d d r e s s ,b i n d i n g , c o n t r a c t d e s c r i p t i o n 类型分别对应e n d p o i n t 的a d d r e s s ,b i n d i n g ,c o n t r a c t 。 2 2w c f 的特点 w c f 采用了s o a 的开发模型,继承了s o a 架构的优点,可以迅速构建松耦合的企业 应用。简化了在w i n d o w s 平台下开发安全、可靠的、可交互的、面向服务的分布式应用 的开发。w c f 有如下特点: 1 服务架构的先迸性 w c f 采用了s o a 的开发模型,继承了s o a 架构的优点,可以迅速构建松耦合的企业 东北师范大学硕士学位论文 应用。简化了在w i n d o w s 平台下开发安全、可靠的、可交互的、面向服务的分布式应用 的开发。 2 互操作支持 w c f 广泛的支持w s 一木标准,提高了与其它平台的互操作性以及与w c f 之前的 m i c r o s o f t 分布式处理技术的兼容性。w c f 的基本通信机制是基于s o a p 的w e b 服务,因 此基于w c f 的应用程序可以与运行在各种不同环境中的软件进行通信。构建于w c f 上的 应用程序可以与下列程序迸行交互: 1 ) 运行在同一台w i n d o w s 计算机上的不同进程中,基于w c f 的应用程序。 2 ) 运行在另一台w i n d o w s 计算机上的基于w c f 的应用程序。 3 ) 基于j z e e 应用程序服务器等其他技术构建的、支持标准w e b 服务的应用程序。 这些应用程序可以运行在w i n d o w s 计算机上,也可以运行在其他操作系统的计算机 上。 3 良好的兼容性与统一的开发模式 在w i n d o w s 平台下,n e t 的出现为开发人员提供了n e tr e m o t i n g 、m s m q ( 消息队 列) 、w e bs e r v i c e ,w s e 等分布式处理技术。这些技术为分布式开发提供了有效的支 持,它们各有优劣适合不同需求,导致学习与维护更加复杂。w c f 提供了统一的方式 开发各种不同环境下的分布式系统,并兼容前述技术,保护了己有投资,方便了升级与 维护。 4 编程语言的灵活性。 n e t 平台下的多种开发语言如c h ,c 样,v b 等,都可以用来编写w c f 服务,不 同语言编写的w e e 服务可以方便的相互调用。 5 可以灵活的配置文件 w c f 提供了非常灵活的配置性。配置的选项如:协议的选择,消息格式和定制,进 程分配等等,都可以通过配置文件的方式完成。配置文件并没有限制特定的协议、编码 格式或者操作系统环境,使得应用程序变得非常的灵活,提高了程序的可扩展性,并能 满足不同的需求。 。 6 。适合不同的应用环境 w c f 可以采用多用通信协议如et t p ,t c p ,rd p 等,使甭多种消息编码方式如 x m i ,二进制等,适应多种在不同的环境、要求中使用,结合w c f 提供的高可配置性, 用户不用修改源代码而直接修改配置文件就能完成相关设置。 7 分布式事务支持与安全、可靠的服务 w c f 充分支持w s s e c u r i t y ,w s t 和r u s t 等安全标准,用于用户认证、数据完 整性验证、数据隐私等多种场合,为构建安全的分布式应用提供了方便快捷的支持。 w c f 提供了传输可靠性、消息可靠性及分布式环境下事务处理的支持旧1 。 9 东北师范大学硕士学位论文 2 3w o f 的技术 2 3 1 基于w c f 的多层服务模型 w c f 继承了s o a 的体系结构,基于w c f 的多层服务模型也可以分为:客户层,w c f 服 务层,业务逻辑层与数据库层。 在这种服务模型中,各层次的功能如下: 1 客户层 客户层是用户与系统交互的桥梁。由于w c f 充分支持w s - * 标准,与w e bs e r v i c e 技术一样,w c f 与异构平台具有良好的互操作性。w c f 客户端可以运行在异构平台下, 通过引用w c f 提供的接口与w c f 服务交互。客户端只关心接口的内容,不必了解具体的 服务的实现形式,与面向对象的编程技术相比,简化了客户端编程的复杂程序。当业务 逻辑发生改变而客户端的服务不变时,客户层无需做出任何修改,因此方便了系统的维 护。 2 w c f 服务层 w c f 服务层位于业务逻辑层和客户层之间。从客户端观点看,w c f 服务层是对业务 逻辑层的封装与抽象。w c f 对w i n d o w s 平台下己有的分布式处理技术进行整合,如 d c o m ,n e tr e m o t i n g ,w s e 等,并为分布式的开发提供了统一的开发模式,减少了系 统维护的复杂度。w c f 服务层对客户层提供服务的接口,w c f 服务是由下一层即业务逻 辑实现的。 3 业务逻辑层 业务逻辑层实现了w c f 服务的具体内容。业务逻辑层可以是服务的实现,也可以是 对其它w c f 服务的调用的封装。w c f 可以将基于早期w i n d o w s 分布式技术进行整合,在 进行少量代码修改情况下迅速构建企业应用,节省了投资。 4 数据库连接层 数据库连接层为业务逻辑层提供连接服务,并提供数据库操作的方法。本层将具体 的数据库与数据库操作的实现方式分离,可以将现有系统顺利的转移到不同的数据库服 务器上。结合a d o n e t 提供的支持,开发人员可以快速构建在线离线的分布式应用, 将多层b s 的开发模式与w c f 技术结合,为分布式提供了高效的开发模式。这种模式结 合了多种开发模式的优点,为开发不同平台下的分布式应用提供了有力的支持。 2 3 2w c f 层次结构 w c f 是通过划分层次来实现的,主要分为以下层: 1 协定层 协定层定义消息系统的各个方面。包括数据协定,消息协定,服务协定和策略和绑 定。分别用来描述组成某- - n 务可创建或使用的每则消息的每个参数,定义特定消息部 l o 东北师范大学硕士学位论文 分,服务的实际方法签名及策略和绑定,规定与某一服务进行通信所需的条件。 2 服务运行时层 该层定义在服务实际运行期间发生的行为,即该服务的运行时行为。定义了发生错 误行为时指定服务出现内部错误时应采取的操作,如何向外部提供元数据,指定可运行 的服务实例的数目以及在事务处理时所进行的操作。 3 消息传递层 消息传递层由通道组成,定义了对消息进行处理的方式。w c f 包含有两种类型的通 道:传输通道和协议通道。传输通道读取和写入来自网络( 或外部的某些其他通信点) 的 消息。协议通道经常通过读取或写入消息的其他头的方式来实现消息处理协议。 4 承载和激活层 定义了服务的提供形式,如在可执行程序中,也可以在某些服务( 如i i s 或w i n d o w s 激活服务) 。通过划分层次功能,w c f 为实现安全可靠的分布式应用提供了支持。 2 3 3w c f 通信模型 w c f 客户端与服务端通过消息在匹配的访问点之间进行交互,基于消息的通信机制 也是s o a 的特点。w c f 将服务层与业务逻辑层分离。具体而言,就是将服务接口( 即w c f 服务契约) 与服务实现分离,客户端与服务端之间共享的是服务接口,而不是代码,降 低了服务层与业务逻辑层的祸合度。w c f 设计之初就考虑了跨平台的互操作性,服务接 口采用标准的w s d l 语言进行描述,充分支持w s - * 标准,具有良好的平台、语言无关性。 w c f 客户端在通信过程中,先在本地进程中生成代理( p r o x y ) ,由代理经访问点( e n d p o i n t ) 与服务端对应的访问点交互。访问点实现了服务提供者和服务消费者之间的消息通信的 细节,它屏蔽底层通信机制的复杂性,通过配置文件( 或编码的方式) 设置访问点可以无 需重新编译,便可适应不同应用场合。w c f 提供的服务对外体现为不同的访问点。 2 3 4 访问点( e n d p o i n t ) w c f 访问点是实现消息交换的基础,客户端与服务端是通过匹配的访问点进行消息 交互。服务端所提供的服务对外表现为所发布的访问点集。访问点的内容包含了地址 ( a d d r e s s ) 、绑定( b i n d i n g ) 和契约( c o n t r a c t ) 。 1 地址( a d d r e s s ) 地址指定提供服务的访问点所在的位置,客户端是通过地址来找到具体的服务。地 址描述了服务采用的通讯协议、服务所在主机的位置、端口以及服务的标识,地址形式 可表示为: 传输协议 : 主机地址 : 端口 服务标识符 例如:h t t p :1 2 7 0 0 1 :s 0 0 0 s e r v e r l 。它指明了服务的协议是h t t p ,服务主机 的i p 地址是1 2 7 0 0 1 ,端口是8 0 0 0 ,服务标识s e r v e r 。在客户端正确配置地址后便 东北师范大学硕士学位论文 可以找到w c f 发布的服务。 2 绑定( b i n d i n g ) 绑定是对通信信道的配置,它定义了客户端与服务端之间通讯的协议以及通信的细 节,包括传输协议,消息编码方式以及安全性,可靠性与事务处理的支持等。w c f 支持 的传输层协议包括:i p c ,t c p ,h t t p ,m s m q ( 消息队列) 等协议,这些协议分别适应于不 同的场合。i p c 用于进程间的通信,t c p 在注重效率与可靠性的企业内部网中使用,h t t p 多用于在互联网,m s m q 用于在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论