已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在现代科学研究和应用领域中,大量的数据是重要的资源。地理上广泛分布 的科研工作者或用户都希望能够访问和分析这些庞大的数据。另一方面,海量的 科学数据分布在各种自治管理域中的异构存储资源上,使得用户对这些科学数据 的访问非常复杂、低效。近年来,各种新技术也不断地被应用到数据访问领域如 中间件技术、p 2 p 技术、w e b 服务等,这些新技术在特定的环境中有一定的应用 价值,但也有着协同性或效率等种种的不足之处 网格的出现为异构数据的访问提供了一种新的实现方式。在综合了w e b 服 务的优点之后所制定的o g s a ( 开放网格服务体系) 更是实现了网格与w e b 服 务的融合,为异构环境下的数据访问提供了新的研究方向。 本文在研究了现有的异构数据访问技术和详细分析了o g s a 架构的基础上, 提出一种新的数据访问模型,以w s r f 为实现机制实现对异构数据的访问,能 够满足在协同性、效率以及跨平台能力等诸多方亟的要求。茹将其在“乌江梯级 水屯站水库群防洪优化调度”项目中作了实验性的应用。通过对其中的各主要功 能部件和实现机制进行探讨,并与现有的其他数据访问模型作出综合的评价与比 较,得到本文所提出的数据访问模型系统间界限划分清楚,功能模块之间的依赖 性不大,符合面向服务的软件开发方法;更适用于现代异构环境下数据访问需求 的结论。 关键词:网格,o g s a ,数据访问,w s r f a b s t r a c t am a s so f d a t ai si m p o r t a n tr e s o u r c ei nt h ef i e l do f m o d e ms e i e n t i f i cr e s e a r c ha n d a p p l i c a t i o n a l lt h es c i e n t i s t sa n d u s e r si nd i f f e r e n tp l a c e sh o p et oa c c e s sa n da n a l y z e t h o s em u c hd a t a h o w e v e r , c u r r e n td a t aa c c e s sh a sl o we m c i e n c yb e c a u s eo f m u l t i f a r i o u sa u t o n o m o u sf i e l d sa n dv a r i o u ss t o r a g es o u r c e s s o ,t h er e s e a r c ho nd a t a a c c e s so fl a r g e s c a l en e t w o r ke n v i r o m n e n ti st h eh o t s p o to fa c a d e m i aa n di n d u s t r ya l l f l o n g 1 1 1 e s ey e a r s s om a n yn e wt e e h n i q u e sa l s ow e r eu s e df o rd a t aa c c e s sc o n s t a n t l y s u c ha sm i d d l e w a r et e c h n i q u e p e e rt op e e rt e e h n i q u ea n dw b bs e r v i c et e c h n i q u e t h e n e wt e c h n i q u e sh a v el i t t l ev a l u ei nt h es p e c i a le n v i r o n m e n t a n dh a v er e s p e c t i v e l i m i t a t i o nl i k ec o o p e m t i v i t yo re 佑c i e n c yi nt h es a m et i m e 1 1 托a d p e a g a l l c eo f c - r i do f f e r san e wa c t u a l i z em o d e f o rh e t e r o g e n e o u sd a t aa c c e s s a f t e ri n t e g r a t i n gt h ee x c e l l e n c eo fw b bs e r v i c e o o s a ( o p e ng r i ds e r v i c e a r c h i t e c t u r e ) r e a l i z e dt h ea m a l g a m a t i o no fg r i da n dw e bs e r v i c ea n do f f e r e dan e w d i r e c t i o nf o rr e s e a r c ho f h e t e r o g e n e o u sd a t aa c c e s s t l l i sp a p e rp r o p o s e dan e wd a t aa c c e s sm o d e lo i lt h eb a s i so f r e s e a r c ho nc u r r e n t h e t e r o g e n e o u sd a t aa c c e s st e c h n i q u e sa n da n n l y s i so fo g s a a n dr e a l i z e dt h e h e t e r o g e n e o u sd a t ar e c e s su s i n gw s r fa si m p l e m e n t a t i o nm e c h a n i s m i tc a nh e s t r a t i f i e dw i t ht h er e q u i r e m e n to f c o o p e r a t i v i t y , e f f i c i e n c ya n dc r o s sp l a t f o r mc a p a b i l i t y m o r e o v e r , t h i sp a p e ra p p l i e dt h em o d e li nt h e p r e v e n tf l o o do p t i m i z ea t t e m p e ro f w u j i a n gr u n d l eh y d r o e l e c t r i cp o w e rs t a t i o nr e s e r v o i r s ”p r o j e c t t h r o u g ht h e d i s c u s s i o no fi t se a c hm a i nf u n e t i o n a lm o d u l e sa n di m p l e m e n t a t i o nm e c h a n i s ma n d i n t e g r a t e dc o m p a r i s o nw i t hc u r r e n to t h e rd a t aa c c e s sm o d e i s i tc a nb es e e nt h a tt h ed a t a a c c e s sm o d e lp r o p o s e db yt h i sp a p e rc o m p a r t m e n t a l i z e dd i s t i n c t l yi nt h es y s t e m ,h a d l i t t l ed e p e n d e n c ea m o n gt h ef u n c t i o n a lm o d u l e s a c c o r d e dw i t hs o f t w a r ed e v e l o p m e n t m e t h o do fs e r v i c e 一0 r i e n t e da r c h i t e c t u r ea n dm o r ea p p l i e dt h er e q u i r e m e n to fd a t a a c c e s sa b o u tm o d e m h e t e r o g e n e o u se n v i r o n m e n t k e yw o r d s :g r i d ,o g s a ,d a t aa c c e s s ,w s r f 本文图表目录 表1 1o g s 删相关版本2 图刍1w e b 服务体系架构模型7 表2 1 个比较完整的w 曲服务协议栈8 图2 2g i o b u s 系统结构罔1 7 图冬3o g s a 网格服务结构1 8 图2 4w s r f 在o g s a 中的位置2 2 表10 g s i 与w s r f 的映射关系2 4 图3 1w s r f 中w e b 服务与有状态资源相结介2 4 图3 20 g s i 中有状态网格服务与服务数据相结合2 4 图3 3o d a m 的体系结构图2 6 图3 - 4o d a m 中的数据访问流程2 7 图3 - 5 元数据服务模块的结构2 8 图3 - 6 数据库服务元数据的定义2 9 表3 - 2m d s 主要内容元素、名称及说明2 9 图3 - 7 数据访问服务模块的结构j 一3 2 图孓8d a s 对数据源的访问3 3 图3 - 9d a s 中的引擎处理执行文档产生响应文档3 5 图耷1 乌江梯级调度中的数据访f - j 框架示意图( j 2 e e ) 3 9 图4 2 乌江梯级调度中的数据访问框架示意图( o d a m ) 4 0 图牛3o o a m 实现中相关类的u m l 结构图一4 1 表4 1 水位库容关系曲线表b _ z v c u r v e 一4 2 图4 4 四库联调时的水位库容关系曲线表4 8 图牛5j 2 e e 和o d a m 方式访问数据的比较一5 0 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。如不实,本人负全部责任。 论文作者( 签名) :翼望2 0 0 7 年6 月谚日 学位论文使用授权说明 河海大学、中国科学技术信息研究所( 含万方数据库) 、国家 图书馆、中国学术期刊( 光盘版) 电子杂志社有权保留本人所送交学 位论文的复印件或电子文档,可以采用影印、缩印或其他复制手段保 存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期 内的保密论文外,允许论文被查阅和借阅。论文全部或部分内容的公 布( 包括刊登) 授权河海大学研究生院办理。 论文作者( 签名) :关堑2 0 0 7 年6 月锣日 河海大学硕士学位论文第一章绪论 1 1 研究背景及意义 第一章绪论 i n t e m e t 技术的广泛应用和高速增长,使得各学科对广域网络环境下海量数据 协同访问与分析处理能力的要求越来越高与此同时,各种新兴技术也不断地被 应用到异构数据访问中来,出现了基于中间件技术的数据访耕n 、基于p 2 p 技术 的数据访问【3 】、基于w e b 服务的数据访f q t 4 j 等。新技术在数据访问中的应用对解 决特定领域内的问题往往能起到一定作用,同时也存在着各自的缺陷和不足之 处。如j a v ar m i 、d c o m 和c o r b a 等中间件不是基于开放标准的,因而把它们 同时应用在不同的环境中比较困难;w e b 服务在基于w e b 的访问中有效,但是效 率和安全性不好;p 2 p 技术对点对点之间的数据交换中有较好的应用,对多数据 源访问就无能为力。 网格【5 l 的最大特性是资源共享,通过i n t e m e t 将地理上分布、异构的各种高性 能计算机、数据服务器、大型检索存储系统和可视化虚拟现实系统等连接并集成 起来,实现对各种计算及数据资源的统一访问。在研究之初网格主要是用于科学 密集型计算问题,因此被称为网格计算【2 l l 。随着研究的深入,网格被应用于多个 研究领域,其中就包括以大规模数据的访问、集成、存储、传输及分析为基本任 务的数据网格。由于网格在资源共享方面的天生优势,利用网格实现数据访问一 直是研究的热点。 在研究的过程中,网格自身也经历了系统特点、体系结构以及实现机制等方 面的诸多演变。2 0 0 2 年6 月由g g fd a i s w g t 2 4 1 ( 全球网格论坛,数据访问和集 成服务工作组) 制定的开放网格服务体系( o o s a ,o p e ng r i ds e r v i c ea r c h i t e c t u r e ) 是网格体系结构最新的发展阶段。它综合了w e b 服务提出网格服务的概念,兼具 了网格和w e b 服务的优点,被公认为网格研究与发展的标准。 基于o g s a ,国内外一些组织与机构在各自关于数据网格的研究中提出了自 己的广域网络环境下数据访问的模型。此外,除了体系结构的演变之外,网格的 实现机制也从开放网格服务基础设施( o g s i ,o p e ng r i ds e r v i c ei n f r a s t r u c t u r e ) 向 w e b 服务资源框架( w s r f , w e bs e r v i c er e s o u r c ef r a m e w o r k ) 以及w e b 服务集成 ( w s i ,w e bs e r v i c ei n t e g r a t i o n ) 过渡。可以说,对基于o g s a 的数据访问的研究 受到越来越多研究组织与个人的关注,如何在通用性、访问效率和成本之间寻求 一个相对平衡的解决方案,实现对异构数据的访问,在这一领域有大量的课题值 得研究和深入。 河海大学硕士学位论文 第一章绪论 1 2 国内外研究现状 1 2 1o g s a d a i 在国内外基于o g s a 的数据访问研究的热潮中,o g s a - d a i 是走在前沿的研 究项目之一。o g s a o d a i 是包括爱丁堡、曼彻斯特和纽卡斯尔大学,以及由i b m 和o r a c l e 企业参与工作的协作编程。它的主要目的是通过网格访问和集成来自不 同的孤立数据源的中间件。它的研究领域包括一般网格数据服务的定义和发展, 提供对保存在关系数据库管理系统中的数据以及保存在x m l 仓库中的半结构化 数据的访问和集成1 2 。这个项目是由u k d a t a b a s e t a s k f o r c e 提出构想,并与g g f d a i s w g 以及g l o b u s 团队瞰l 保持密切地合作。努力成为d a i s 网格数据库服务 推荐标准的第一个参考实现。 在面世之初,o g s a d a i 是基于g l o b u s 软件包 2 6 1 ( g t ,g l o b u st o o l k i t ) 并 随着g l o b u s 软件包的发展而发展的,它包括规范和实现两者。作为一个规范,它 定义了在网格上进行数据访问和集成所需要的服务和接口,这些接口是基于 o g s i 描述的可扩展w s d l 接口;而o g s a d a i 实现基于g t 3 实现了在其框架中所 定义的接口,以此来达到外部数据源与o g s a 框架相结合的目的。 o g s a - d a i 主要提供四个接口用于数据访问和集成的网格服务1 2 0 1 。在 o g s a - d a i 中的网格服务称为网格数据服务( g d s ,g r i dd a t as e r v i c e ) 。g d s 必 须实现g d s p o r t t y p e 接口。g d s p o r t t y p e 接口支持数据存取、集成和交付,并且 所有的g d s 要实现该接口。它扩展了3 个接口。一个是定义在o g s i 中的 g r i d s e r v i c e 接口,另外两个是由o g s a d a i 定义的g r i d d a t a p e r f o r m 接口和 g r i d d a m t m m p o r t 接口。 随着网格技术的进一步发展,g l o b u s 联盟推出了g t 4 ,从g t 4 开始o l o b u s 软 件包全面以w s r f 为实现机制,o g s a d a i 也随之开发与g t 4 相匹配的版本。另 一方面英国开放中间件基础设施学会( o m i i u k t 9 1 。o p e n m i d d l c w a r e i n f r a s t r u c t u r ei n s t i t u t e ) 倡导的w s i 也得到了o g s a d a i 的支持,o g s a - d a i 同时开 展了对o m i i 的研究。因此当前o g s a d a i 共有三种并存版本,本文将其列表如下。 表1 1o g s a d a i 相关版本 实现机制底层支撑软件包 o g s a d a i6 xo g s i g t 3 o g s a d a iw s r f2 xw s r f g t 4 o g s a d a iw s i2 xw s l0 m i i3 x 其中基于o g s i 和g t 3 的o g s a d a i 已经在一些实际的项目中得到了应用 而基于w s r f 和w s i 的版本还并不完善,仍然处于研发阶段。 2 河海大学硕士学位论文第章绪论 1 2 2c h i n a g r i d 中的数据访问 c h i n a g r i d 2 7 l ( 中国教育科研网格) 计划是教育部“十五 2 1 1 工程公共服务体 系建设的重大专项。在c h i n a g r i d 中存在着大量的数据密集型应用。这些数据密 集型计算任务的特点是数据量大,对数据的传输性能有较高的要求,需要可靠、 高效的传输机制;同时,在通常情况下,每一类应用有一些固定的存储资源为该 应用提供存储服务,因此要求在进行存储资源分配的时候,对特定的应用应该能 够将数据分配到一组特定的存储资源上,并且每个应用应该能够很方便地创建一 个属于自己的、符合本应用需求的数据逻辑域,从而使得应用的性能达到最高: 另外,应用并不关心自己的数据到底存在于系统中的哪个存储资源上,只需要指 定一个逻辑名字空间中的文件路径,就能够很方便地取得数据。 c h i n a g r i d 公共支撑平台c g s p 是c h i n a g r i d 的网格核心中问件,并为网格应用 提供开发环境支持。它屏蔽了底层网格资源的异构性和动态性,为各种网格应用 提供高性能的、高可靠的、安全方便的计算服务以及数据服务。它是基于g t 3 9 1 实现的,并且它设计了自己的服务容器,而不是采用商业或开源的w 曲服务容器 2 8 1 。 c g s p 中数据管理服务是网格系统中的核心服务之一,负责管理网格中的存 储资源和用户文件数据,向用户提供数据访问服务。该模块的主要功能是;提供 高效可靠的数据传输机制;建立在数据域之上的数据逻辑域;实现透明的文件访 问机制;提供存储资源的管理功能。 在c h i n a g r i d 的数据访问中提出了域和超级服务的概念。“域”既可以是地 理上的概念,代表一个部门、研究机构或行政区域:也可以是一个逻辑上的概念, 代表一个应用类或应用领域。每个域都有自己的信息服务,负责在本域中各资源 的管理和调度,并形成一个本域资源的逻辑视图。每个域内,可以进一步划分子 域,由最底层的子域负责具体的网格资源管理。超级服务是一组由不同计算节点 提供的、具有共同语法和语义接口的网格服务聚合成的一个整体,并规定了这一 组网格服务的元数据模板和计算任务的分配策略等领域专家知识。它为这些网格 服务提供一个统一的访问接口,供作业开发人员描述计算任务的功能需求。在作 业执行过程中,由系统自动根据作业的资源要求,选择当前可用的、满足要求的 网格服务执行计算任务。 c h i n a g r i d 中将网格环境中的资源分为两种。一种是相对静态或长期存在的 资源,包括网格资源的描述和静态属性、网格资源动态属性的元数据等信息。另 一种则是包含网格动态特征的实时资源,如计算节点的负载、资源可获得性等方 面的内容。在c h i n a c n i d 的数据服务中,只存储那些相对静态或长期存在的资源。 而对于那些动态的资源,则由数据服务和封装资源的服务容器合作,采用适当的 “p u s h p u l l ”模式进行实时收集和维护。 3 河海大学硕士学位论文 第一章绪论 1 2 3 科学数据网格中的数据访问服务 科学数据喇格( s c i e n t i f i c d a t a g r i d ,s d g 【2 川) 是以科学数据资源共享以及在此 基础上的协同工作为核心的应用网格。旨在科学数据库数据资源的基础上,连接 中国科学院分布在全国的四十多个研究所,通过先进的数据嘲格技术、安全管理 以及海量存储技术实现对科学数据库中大量分布式异构数据资源的有效共享。并 在此基础上开发对科学研究有直接实用意义的应用系统。 数据访问系统( d a t a a c c e s s s y s t e m ) 是科学数据网格中的关系数据库服务化 封装工具。使用该工具,可以在网格环境和互联网上快速发布数据,可以自动批 量快速构建数据库w e b 检索系统,可以在互联网上快速浏览数据库资源,为数 据库管理员、开发人员和最终用户提供方便。该系统以统一的网格服务接口访问 多种异构数据库,为进一步实现数据集成奠定基础。 d a s 最新的版本是2 0 ,实现的主要功能包括【3 0 l : 1 ) 以网格服务的形式提供对数据库的统一访问。 2 ) 获取数据库元数据信息。 3 ) 数据表级和字段级的访问控制。 4 ) 字段重命名,增加数据库的描述信息。 5 ) 可定制的通用w e b 检索前端。 6 ) 支持o r a c l e 、s q ls e r v e r 和m y s q l 数据库。 7 ) 目前不支持跨多个数据库的协同访问。 1 2 4 研究现状分析 正如文件系统中存在多种不同文件一样,现今的数据库系统情况也很复杂。 不但有多种类型的数据库( 面向对象数据库,关系型数据库,x m l 数据库等) , 即使是在相同类型的数据库中,由于不同厂家的产品不同( s q l s e r v e r 、m y s q l 、 o r a c l e 等) ,各个数据库系统的实现功能,性能,访问接口变化也很大。这些差 异性给网格环境下的数据访问造成了很大的困难。中间件位于应用软件与系统基 础软件( 如操作系统、数据库、网络通讯等) 之间,起到屏蔽底层的复杂性的 作用,通过把一些有共性的特征、模式、技术、解决方案等重用的部分抽取出, 形成其支撑的运行平台、开发平台或维护平台。将分布于各异构平台上的各种资 源( 软件和数据) 粘合在一起,协同完成各种事务 1 4 1 。 因此,基于o g s a 的数据访问的研究大都以多层结构,中间件的形式展开。 如上文所述的科学数据网格中基于g l o b u s 提供了数据访问的统一服务接口,但本 质上是c s 模型,在发布和发现服务上采用集中式模式,所以可扩展性差,而且 对海量数据访问比较低效。因此中科院计算技术研究所结合p 2 p 一些特性,提出 4 河海大学硕士学位论文 第一章绪论 了一种数据访问中间件框架,具有可扩展性、数据访问高效性等特点,并实现了 基于它的数据查询功能1 4 2 j 。 当前的研究中所关注的问题是如何在异构数据访问的可用性、健壮性、可扩 展性、可测量性、互操作性、兼容性、服务发现、可管理性和可变性等诸多方面 求得一个相对的平衡。国内外有很多新思想也正在不断的涌现。如d i a l a n i 为w e b 服务提出了透明的容错机制,可以用于支持网格服务容错【钟】。华中科技大由金海 和庞丽萍主持研究的基于服务的网格应用开发平台s g a d p 也提出了这一理念。 在s g a d p 的设计中主要是通过对网格应用编程接口的冗余服务调度( 即:为一 个网格应用编程接口选择多个物理网格应用服务并同时进行服务请求) 和网格应 用编程接口的重复服务调度( 即:当对一个网格应用编程接口进行服务调度和服 务请求出错后,再次进行服务调度以选择另一个网格应用服务并进行服务请求) 来实现1 4 ” 此外,在某一时问,如果大量的用户并发请求创建一个服务实例,那么在一 个节点上服务可能会变得过载。z h a n g 提出了移动网格服务的概念,可以看作是 服务过载问题的解决方法。服务是在网格环境中从节点到节点的移动编码当需 要时,服务可以移动到另一个较轻负载的节点去产生服务实例h 习。 在摒弃了网格发展初期的五层沙漏结构后,网格与w e b 服务相结合,形成了 o g s a 体系结构。已有的研究大多基于o g s a 并通过o g s i 来实现异构数据的访 问,但o g s i f l 定的时候,w 曲服务并没有关于有状态服务的标准,不能解决与 状态相关的问题,因此,o g s i 通过把w s d l ( w 曲服务描述语言) 扩展为g w s d l 以及x m ls c h e m a 的使用,来解决具有状态属性的w 曲服务的问题。随着研究和 实践的深入,o g s i 暴露了明显的不足,w e b 服务团体认为它过分强调网格服务 和w e b l 1 务的差别,导致两者不能更好地融合在一起。w s r f 以及w s i 的被提出 正是为了改进o g s i 的弱点。以w s r f 为例,作为一种新的底层技术实现机制,它 代替o g s i 为o g s a 提供基于w e b j l t 务的广泛而强大的支持。它既可以充分利用已 有w 曲服务领域的各种成果,又吸纳了网格技术,可以支持网格的需求,为嘲格 和w e b 服务的发展建立了一个共同的基础 2 2 1 。因此,本文的研究工作将在w s r f 的基础上展开 1 3 论文的主要工作 本文的主要研究工作如下: 研究基于o g s a 的数据访问的体系架构、实现机制和支撑技术。深入研究 w e b 服务,g l o b u s 软件包及o g s a - d a i 的运行机制。 基于o g s a ,以w s r f 为实现机制,依托o g s a d a iw s r f2 2 设计一个分 布异构数据访问模型,对其元数据管理、数据服务、映射和访阿控制等组成部分 5 河海大学硕士学位论文第一章绪论 进行详细的描述,并将其划分为元数据服务和数据访问服务两个主要的模块。 将本文所提出的理论模型在作者读研期间参与的“乌江梯级水电站水库群防 洪优化调度”项目中进行了实验性的应用,并结合实验结果将其与现有的几种数 据访问的技术进行了分析与比较,指出本文模型的优越之处 1 4 论文组织与结构 本文共分为五章: 第一章:绪论本章首先介绍了论文的研究背景和意义,然后介绍了国内外 的研究现状,最后介绍论文的主要工作。 第二章:o g s a 相关技术研究。主要介绍o g s a 的两大支撑技术w 曲 服务和g l o b u s 软件包的相关概念,以及o g s a 的实现机制w s r f 并将其与o g s i 进行了比较证明其优越性。 第三章:基于o g s a 的数据访问模型的设计。本章主要介绍基于o g s a 的 数据访问原型的总体架构以及模块划分,单元设计。 第四章:基于o g s a 的数据访问模型的应用与分析。本章在前一章的基础 上将本文设计的理论模型应用于实际,介绍了应用背景并根据理论模型中的模块 设计给出了具体的u m l 结构图及部分核心代码,最后将其与现存的几种数据访 问技术进行分析与比较。 第五章:结束语。对本文的工作进行总结,并说明本文所提模型的不足之处 和有待进一步研究和解决的地方。 6 河海大学硕士学位论文第二= 章0 6 s a 相关技术研究 第二章o g s a 相关技术研究 本章详细介绍了基于o g s a 的数据访问研究中使用的相关技术,首先介绍了 o o s a 的两大支撑技术:w e b 服务和g l o b u s 软件包1 2 3 1 。w e b 服务中着重介绍了 w 曲服务的相关协议;g l o b u s 软件包则主要介绍其系统结构,这些内容均为下文 基于o g s a 数据访问模型的建立提供了理论基础。然后介绍o g s a 以及o g s a 的 实现机制w s r f ,主要介绍了w s r f 的技术规范。 2 1w e b 服务 2 1 1w e b 服务的定义 w e b 服务基于面向服务体系结构( s o a t 3 ”,s e r v i c e - o r i e n t e da r c h i t e c t u r e ) , 其中客户机是服务请求者,服务器是服务提供程序。w 曲服务的要点是在简单开 放的标准之上,如x m l 0 7 1 和m 1 甲,这些开放标准有广泛的工业支持和真正被普 遍使用的可能。本质上讲,w e b 服务是松散耦合的( 客户机且最务器) 、具有封装 性、与平台和编程语言无关、提供能够在内部网络和i n t e m e t 上被描述、发布、发 现和调用的服务器端合成组件【2 0 】。 w e b 服务的体系结构如图2 1 所示。 图2 - 1w e b 服务体系架构模型 由图可见,首先服务提供程序采用s o a p 发布它的服务到u d d i 注册中,然 后服务请求者检索注册信息以寻找感兴趣的服务。最终客户通过绑定该服务来请 求一个服务。 由w 3 c 联盟定义的w e b j i 务的核心标准是s o a p f 】( 简单对象访问协议) 、 w s d l t 他1 ( w 曲服务描述语言) 和u d d i t l 3 1 ( 统一描述、发现和集成) 。 7 河海大学硕士学位论文第二章0 g s a 相关技术研究 2 1 2w e b 服务相关协议 为了支持w e b 服务技术架构的特性,各种各样的技术规范被不断地开发出 来。整个w e b 服务的技术系列被称为是“w e bs e r v i c e ss t a c k ”,它们就像一个 堆栈那样,按照这样的方式共存和协作。如表2 - 1 所示,表中的分层只是概念性 的分层,而不是实际的分层。 表2 1 一个比较完整的w e b 服务协议栈 层工具 用尸服务j 妥口表不 w s x l 服务流 w s f l 服务发现u d d i w s - i n s p e c t i o n 服务发布 u d d i 服务描述 w s d l 消息安全w s - s e c u r i t y 消息路由w s r o u t i n g 基于x m l 的消息 s o a p 数据建模 x m ls c h e m a 数据表示x m l 传输 h 1 t p 、f r p 、s n 甲 从最下面看起,w 曲s e r v i c e s 利用了已有的传输协议,h r r p 凭借其普遍性, 成为了i n t e r n e t 环境下w e b 服务使用的标准网络协议。同时在某些扩展应用领域, 也支持s m t p 、f t p 等协议。 w e b 服务中的核心技术的根本是工业标准的x m l ,它不但被用作消息的数 据格式,而且还被用作所有其他w 曲服务技术的基础。这些技术包括s o a p 、 w s d l 和u d d i 等,它们分别定义了传输、描述和发现的机制。每项技术无一 不是用x m l 定义和实现的。使用x m l 的一个重大益处是任何程序( 无论是用 什么语言编写的、运行在什么平台上) 都能够理解w e b 服务消息、描述和发现 机制。使用w e b 服务不需要运用特有的中间件技术进行通信。使用标准的x m l 处理工具,任何程序都能理解一个s o a p 消息。所以x m l 技术是实现w e b 服务 跨语言、跨平台能力及高度集成能力的可靠保证。 而x m ls c h e m a t 3 8 】用于数据建模。它是w 3 c 的推荐标准,于2 0 0 1 年5 月正 式发布,使得x m l 建模有了一个强大的国际标准。目前它已成为全球公认的首 选的x m l 环境下的数据建模工具,基本取代了d t d 在x m l 领域的地位。x m l s c h e m a 完全使用x m l 作为描述手段,具有很强的描述能力、扩展能力和处理维 护能力。 8 河海大学硕士学位论文第二章o g s a 相关技术研究 s o a p 是一个基于x m l 的在分布式环境下交换消息的简单协议,用于实现客 户端和服务之问的通信w s d l 也是一个基于x m l 的定义服务的实现和接口的基 础标准。u d d i 是一个w e b 服务注册中心,以实现服务的发布、查找和绑定。 w s i n s p e c t i o n 3 9 1 是一种比u d d i 更简单、更直接的发现形式,它也有着x m l 的格 式。它虽然简单,但有不少前提存在。首先,服务消费者要知道自己想使用的 w e b 服务是哪一种类型w e b 服务;其次,服务消费者要知道哪一个服务提供者提 供了该服务;最后服务消费者还要知道到哪里能找到该服务。假定服务消费者知 道服务提供者的主页的u r l 和它自己所需的服务类型,它就可以用w s - i n s p e e t i o n 去找到服务提供者所提供的所有该w 曲服务的信息( 包括w s d l 的实现部分) 给定一个w s d l 的实现部分的描述,服务消费者已经得到了它需要绑定到该服务 的所有信息。 w s s e c u r i t y 是关于安全性的规范,用于如何在s o a p 消息中附加数字签名 和加密的s o a ph e a d e r 条目。w s r o u t i n g 用于在一个更为复杂的环境下交换 s o a p 消息,通过静态和动态的路由消息交换,确保消息能够快速地被交换到目 的地。w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ,w e b 服务工作流语言) 是服务工作流 层的标准,用于描述w e b s e r v i c e s 在工作流中如何互相作用,以及它们如何处理 服务到服务的通信或协同。w s x l ( w e bs e r v i c e se x p e r i e n c el a n g u a g e ,w e b 服务 经历语言) 逻辑上是构建在w s f l 之上的,用于描述了如何将用户经历( 用户使 用g u i 的流程) 交付给最终用户。 下面着重介绍w e b 服务中比较重要的相关协议: 1 s o a p s o a p ( s i m p l eo b j e e t a c c e s sp r o t o c 0 1 ) 是一个基于x m l 的、在松散分布式 环境中用于信息交换的轻型协议,s o a p 可以和许多协议一起使用。在整个互联 网范围内实现程序间的远程调用和信息传递,挖掘出现有技术的核心概念,将其 规范为简单普通的协议并成为工业标准,是s o a p 要解决的问题和目的。s o a p 以x m l 形式提供了一个简单、轻量的用于分散或分布环境中交换结构化和类型 化信息的机制。x m l 本身并没有定义任何应用程序语义,如编程模型或特定语 义的实现,而是通过提供打包模块和编码模块来对数据进行封装和编码,即定 义了一个简单的表示应用程序语义的机制。 s o a p 协议包含了以下四个部分: 1 ) s o a p e n v e l o p e ( s o a p 信封) :定义了一个整体的表示框架,可用于描述 消息的内容是什么,消息的发送方是谁,谁应当接受并处理它,以及如 何处理它; s o a p 编码规则:定义了一个数据的编码机制,通过这样一个编码机制 来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序 定义的数据类型所衍生的实例; 9 河海大学硕士学位论文第一:章0 g s a 相关技术研究 3 ) s o a pr p c 表示( r e m o t ep r o c e d u r ec a l l ) :定义了一个用来表示远程过 程调用和应答的协议; 4 ) s o a p 绑定( b i n d i n g ) :定义了一个使用底层传输协议来完成在结点问交 换s o a pe n v e l o p e 的约定。 s o a p 的消息交换模式( s o a p m e p s ) 是为s o a p 结点间的建立消息交换模 式的模版。在实际的绑定中,底层传输协议的绑定规范需要声明它所支持的一个 或多个m e p s ,s o a p 总是依附于底层传输协议的自身语义,依靠这些传输协议 的交换模式来表达s o a p 所需要表达的传输消息交换模式,这样的传输消息交换 模式一般包括以下五种: 1 ) 单向( o n e - w a y ) :服务方单方面接受s o a p 消息( 比如简单的数据接收 服务) 。 请求,响应( r e q u e s t - r e s p o n s e ) :服务方接收调用方的s o a p 请求消息, 然后向调用方发送s o a p 响应消息。 3 ) 要求响应( s o l i c i t - r e s p o n s e ) :服务方向调用方发送s o a p 消息,然后接 收调用方的s o a p 响应消息。( 比如定时通知服务,并且对于重要通知, 要求用户给出回执) 。 4 ) 通知( n o t i f i c a t i o n ) :服务方单方面发送s o a p 消息( 比如微软的a l e r t n e t 通知服务) 。 5 ) 请求,确认( r e q u e s t - a c k n o w l e d g e m e n t ) :调用方向服务方发送消息,然 后服务方处理后将处理后的结果消息发送给调用方,最后调用方再向服 务方发送消息确认已经收到消息。这种模式常用于对可靠性要求较高的 场合,例如可靠性事务应用等。 而这些抽象的消息交换模式事实上已经存在于大量的网络通信协议中了, i n t e r a c t 的绝大多数通用传输协议采用的都是这样的消息交换模式。因此,如果 利用这些已有的协议,将s o a p 消息作为i n t e r a c t 网络通信协议所传输的内容来 传送,可以天然地获得这些协议的消息交换机制。无须额外定义就能够无缝地利 用现有技术的能力完成需求,这正是开放式互操作技术的制定原则。 2 w s d l w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) 是一种用来描述w e b 服务的基 于x m l 的规范模式( s c h e m a ) ,用于提高分布式应用之间的互操作性,它把w e b 服务定义为消息上的一组端点或端口操作。 一个w s d l 文档描述了一个w e b 服务所提供的功能、与服务进行通信的方 法及服务的位置,它可以分为如下三个部分: n 抽象接e l ( a b s t r a c t i n t e r f a c e ) :主要描述了一个服务类型,不同的服务提供 者都能实现同一个服务类型。这一部分定义了一个逻辑接口,它由一组该服务可 执行的操作组成,对每一操作定义了消息中元素的数据类型、消息的格式和用于 1 0 河海大学硕士学位论文第二章o g s a 相关技术研究 交换的输入输出消息。 2 ) 具体绑定( c o n c r e t eb i n d i n g ) :这一部分描述了如何将抽象接口绑定到一系 列具体的协议,这一绑定指定了该消息是构造成r p c 格式还是x m l 文档格式、 应该用哪一种编码格式或者x m ls c h e m a 对数据进行编码及应该使用哪一种传 输协议进行传输等细节。这一部分包含或者引用了w s d l 的抽象接口部分。 3 ) 实现( i m p l e m e n t a t i o n ) :一个服务的实现是一个或多个相关端口的集合。每 一个端口实现一个特定的抽象接口的具体绑定。端口指定了服务的最终访问点。 可能会为一个特定服务提供多个访问点,每一个访问点实现了一种与其它访问点 不同的绑定方式。这一部分包含或者引用了w s d l 的具体绑定部分。一个服务 提供者在发布w e b 服务的同时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂员工合同格式
- 网络安全专家聘用合同
- 医疗保健机构和托幼机构儿童健康管理及急救适宜技术培训议程表
- 2024年新款空调安装服务协议
- 金融计量学课程设计文章
- 施工方劳务分包合同书范本
- 2024年租田合同协议书
- 两人合伙经营协议书范本2024年
- 停车场租赁合同范本
- 家居采购合同标准文本
- 浮点数运算方法
- YS/T 591-2006变形铝及铝合金热处理
- 第9讲:为新中国而奋斗
- GB/T 31883-2015道路车辆牵引连接件、牵引杆孔、牵引座牵引销、连接钩及环形孔机械连接件使用磨损极限
- GB/T 23679-2009集装箱机械箱封
- GB/T 23505-2017石油天然气工业钻机和修井机
- 公务员职业道德与行为规范课件
- 初中英语-名词-单复数-练习题-含答案
- 小学综合实践活动教育科学四年级上册综合小主题我们的传统节日
- 各国美食英语介绍课件
- 《工业机器人》说课稿
评论
0/150
提交评论