




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 面向服务的地理信息共享在g o o g iee a r t h 上的实现 作者简介:黄皓,男,生于1 9 8 1 年7 月,于2 0 0 4 年9 月就读成都理工大学,师 从苗放教授,专业为计算机应用技术。 摘要 随着地理信息系统的广泛应用,不同部门、不同系统间的信息孤岛和地理信 息的重复性建设变得越来越严重。传统的数据格式转换方式、直接数据访问方式 和数据互操作方式已不能满足只益复杂的网络、平台等应用环境。 面向服务体系架构( s o a ) 提出了一种分布式、松耦合的系统应用框架,使 得不同平台、不同系统、不同结构的应用能够很好的集成在一起。面向服务体系 架构的提出为解决地理信息共享的问题提供了新的技术支撑。 本文通过研究面向服务体系架构及其实现技术w 曲服务,结合地理信息共享 的具体需求,提出一种面向服务的地理信息共享框架并在新一代地理信息系统 g 0 0 m ee a a h 上实现应用。 本文的研究重点是: 1 根据面向服务体系架构的思想,结合地理信息共享的具体需求提出面向 服务的地理信息共享系统结构和框架。分析框架的数据层、服务层、应 用层。 2 在此框架基础上,设计面向服务的g o o g l ee a n h 上地理信息共享的实现 方案。详细描述g 0 0 甜ee a n h 地理信息w 曲服务发布者、g o o g l ee a c h 地 理信息w c b 服务使用者和g o o 甜em a p s 的地理信息w e b 月f l 务使用者的系 统结构和程序流程。 3 根据上述设计实现一个g o o g l ee a c h 的地理信息共享的演示程序。该程 序模拟了如何发布和使用g o o g l ee a n h 的地理信息共享服务。 关键词:地理信息共享,面向服务体系架构,w e b 服务,g o o g l ee a r t h 成都理j :人学硕十学位论文 i m p l e m e n t a t i o no f s e r v i c e - o r i e n t e dg e o g r a p h i c i n f o r m a t i o ns h a r i n go ng o o g l ee a r t h i n t r o d u c t i o no fa u t h o r :h a oh u a n g ( 1 9 8 1 7 ) ,m a l e ,e n r o l l e di nc h e n g d uu n i v e r s i t y o ft e c h n o l o g yi n s e p ,2 0 0 4a n dt u t o r e db yp r o f e s s o rm i a of a n g t h em a j o ri s c o m p u t e ra p p l i c a t i o nt e c h n o l o g y a b s t r c t a l o n g w i t hg e o g r a p h i ci n f o r m a t i o ns y s t e mh a sb e e nw i d e l yu s e d i s o l a t e di s l a n d s o fi n f o r m a t i o na n dg e o g r a p h i ci n f o r m a t i o nr e p e a t a b i l i t yb u i l d i n gh a v eb e c o m em o r e a n dm o r es e r i o u si nd i f f e r e n td e p a r t m e n t s ,a n dd i f f e r e n ts y s t e m s t r a d i t i o n a ld a t a f o r m a tc o n v e r s i o n ,d i r e c td a t aa c c e s sa n dd a t ai n t e r o p e r a b i l i t yh a v ef a i l e dt om e e tt h e i n c r e a s i n g l yc o m p l e xn e t w o r k s ,p l a t f o r m sa n da p p l i c a t i o n 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 ( s o a ) f o rad i s t r i b u t e d ,l o o s e l yc o u p l e ds y s t e m s a p p l i c a t i o nf r a m e w o r kt h a ta l l o w sd i f f e r e n tp l a t f o r m s ,d i f f e r e n ts y s t e m sa n dd i f f e r e n t s t r u c t u r eo ft h ea p p l i c a t i o nc a nb ei n t e g r a t e dt o g e t h e rv e r yw e l l 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 ef o rs o l u t i o no ft h eg e o g r a p h i ci n f o r m a t i o ns h a r i n gp r o v i d e san e w t e c h n i c a ls u p p o r t t h i st r e a t i s e p r o v i d e s as e r v i c e - o r i e n t e d g e o g r a p h i ci n f o r m a t i o n s h a r i n g f r a m e w o r ka n da na p p l i c a t i o no ng o o g l ee a r t hb a s er e s e a r c hs 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 ea n dw e bt e c h n o l o g ya n ds p e c i f i cn e e d so fg e o g r a p h i ci n f o r m a t i o n s h a r i n g t h i sr e s e a r c hw i l lf o c u so n : 1 b a s es e r v i c e o r i e n t e da r c h i t e c t u r ea n dt h es p e c i f i cn e e d so fg e o g r a p h i c i n f o r m a t i o n s h a r i n g , p r o p o s e d s e r v i c e o r i e n t e d g e o g r a p h i c i n f o r m a t i o n s h a r i n gs y s t e ms t r u c t u r ea n df r a m e w o r k a n a l y s i st h ed a t al a y e r s e r v i c el a y e r a n dt h ea p p l i c a t i o nl a y e ro ft h ef r a m e w o r k 2 b a s ea b o v ef r a m e w o r k ,d e s i g nt h ei m p l e m e n t a t i o nr o a do fg e o g r a p h i c i n f o r m a t i o n - s h a r i n go ng o o g l ee a r t hp l a t f o r m g i v ead e t a i l e dd e s c r i p t i o no f g o o g l ee a r t hg i sw e bs e r v i c e sp u b l i s h i n g ,g o o g l ee a r t hw e b s e r v i c e su s e r s a n dt h e g o o g l em a p sw e bs e r v i c eu s e r s a n dt h e i rs y s t e ma r c h i t e c t u r e , p r o g r a mf l o w 3 b a s e do nt h ea b o v ed e s i g ni m p l e m e n tag o o g l ee a r t hg e o g r a p h i ci n f o r m a t i o n s h a r i n gd e m o n s t r a t i o np r o g r a m s i m u l a t eh o wt op u b l i s h i n ga n du s i n gt h a t s e r v i c e s k e y w o r d s :g e o g r a p h i ci n f o r m a t i o ns h a r i n g , 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 ( s o a ) ,w e b s e r v i c e s ,g o o g l ee a r t h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特另j ) j n 以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得盛都堡王去堂或其他教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者导师签名: 学位论文作者签名:童纺 呻年,月2 日 学位论文版权使用授权书 本学位论文作者完全了解盛叠跫王盍堂有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅。本人授权盛壑理王太堂可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 墨够 2 ”7 年占月日 第1 章引言 1 1 课题来源 第1 章引言 本课题来源于四川省教育厅科学基金项目“基于数字地球平台的地球科学研 究框架”。国家8 6 3 项目“基于国产l i n u x 和n c 的公共信息平台关键技术与应 用研究”,四川省工商企业征信项目,四川电信综合营帐项目为本课题研究提供 了必要的技术支持。 1 2 背景 近年来,随着我国经济建设的迅速发展,地理信息系统的应用变得越来越广 泛,其在城市规划管理、交通运输、钡8 绘、环保、农业、制图等领域发挥了重要 的作用,取得了良好的经济效益和社会效益。但伴随着地理信息系统的广泛应用, 由于不同部门、不同系统b j 地理信息系统缺少关联和通信,导致了严重的“信息 孤岛”问题和地理信息的重复性建设。地理信息的共享变的越来越重要,其意义 有以下方面: 地理信息共享可以最大限度地减少对地理信息采集、加工整理中的人力、物 力和财力的投入。由于地理信息可以重复使用而不耗损、不排他,因此地理信 息的共享可以避免重复采集、加工整理中的人力、物力和财力的浪费,即地理信 息共享可以最大限度地发挥地理信息资源的经济效益、社会效益和生态效益。 地理信息共享可以促进政府决策的民主化和科学化。在区域开发、经济布局、 流域规划以及各种大型工程建设的决策中,不仅要考虑经济效益,而且要考虑环 境生态效益。地理信息共享,特别是网络地理信息共享就为上述决策的民主化和 科学化提供了一种现代化的决策手段( 何建邦等,2 0 0 3 ) 。 地理信息系统的发展与计算机技术和网络技术是紧密相关的。面向服务体系 架构( 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 ) 是一种计算机软件体系架构,提出了一种分 布式、松耦合的系统应用框架,使得不同平台、不同系统、不同结构的应用能够 很好的集成在一起。面向服务体系架构的提出为解决地理信息共享的问题提供了 新的技术支撑。 成都理i :人学硕十学位论文 1 3 研究及发展现状 1 3 1 传统的地理信息共享方式及其问题 传统的地理信息共享的方式大致有三种,即:数据格式转换、直接数据访问 和数据互操作。下面分别加以简单介绍。 1 数据格式转换。数据格式转换是指一种数据格式转换成另一种数据格式, 为最基本的地理信息共享方式。它经历了两个发展阶段,最仞的数据格式转换是 不同地理信息系统的数据格式之问的直接转换,比如从a r c l n f o 的e 0 0 格式转换 为g e o s t a r 的数据格式,这种方式不仅会导致信息损失而且只有在详细掌握对 方数据结构的l i 提下彳。能实现。 后来采用空间数据交换格式标准作为中介实现不同地理信息系统之问的数 据转换。许多国家都制定了空闻数据交换格式标准。如美国的空问数据转换标准 s d t s 。澳大利亚的a d s t s 。英国的n t f 等。中国也于1 9 9 9 年颁布了中华人民 共和国国家标准地球空间数据交换格式( c n s d t f ) 。包括矢量数据交换格式( v c t 格式) 、影像数据交换格式( i m g 格式) 和格网数据交换格式( d e m 格式) 。此外国 际标准化组织( 1 s o ) 和o g c 推出的g m l 数据格式也可以作为空i 日j 数据交换格 式的标准。这些数据格式标准为空间数据提供了一个公共数据模型和a s ci i 的 文件格式地理信息系统将其内部格式的数据转换为标准格式的数据文件。其他 地理信息系统依据同一标准读取该数据文件。然后再转换为内部数据格式,如 e s r i 在a r c i n f o 中提供了s d 幅i m p o r t 和s d t _ _ s e x p o r t 模块负责输入 和输出遵循s d t s 格式的数据。 但是这些数据格式转换标准一般都很复杂。需要软件公司投入较大资金和精 力去支持和维护。 2 直接数据访问。基于直接访问的数据共享意味着一个地理信息系统直接 读取多个数据源( 包括数据库和其他地理信息系统) 不同格式的数据。它避免了数 据格式转换的繁琐过程提供了一种较为经济实用的数据共享和互操作模式。比 如i n t e r g r a p h 的g e o m e d i a 实现了对大多数g 1 s c a d 软件数据格式的直接访问。 如m g e 、a r c i n f o 、o r a c l es p a t i a l 、s q l s e r v e r 、a c c e s sm d b 等。中国科学院 地理信息产业发展中心开发的s u p e r m a p 2 0 则提供了存取m a p l n f o 、o r a c l e s p a t i a l 、e s r la r c s d e 、s u p e r m a ps d b 文件等的a p i 函数;武汉武大吉奥有限 公司开发的g e o s t a r 提供了读取a r c l n f o 的s h a p e f i l e 和e 0 0 、o r a c l es p a t i a l 、e s r i a r c s d e 和m a p l n f o 的m i f 数据等a p i 函数。 直接访问数据的前提是耍充分了解数据源的数据格式和数据模型,如果某个 2 第1 章引肓 数据源的数据不公开。直接访问其数据就比较困难,此外,如果宿主软件改变了 原有的数据格式,应用软件的数据访问函数就需要更新和调整。而且针对不同数 据格式的数据源需要编写相应的访问函数。这给软件开发商带来了很大的负担和 软件维护压力。 3 数据互操作。数据互操作是o p e n g i sc o r t s o r t i t t m ( o g c ) 制定的规范。地 理信息系统互操作是指在异构数据库和分布式计算的情况下,用户在相互理解的 基础上,能透明地获取所需的信息。o g c 和i s o t c 2 11 等国际标准化组织根据 不同的通讯协议分别定义了基于s q l 、d c o m 和c o r b a 的公共数据访问接口的 a p l 函数。任何一个地理信息系统可以遵循该标准接口进行系统设计与丌发,也 可以在其内部私有数据访问接口之上再次包装成标准数据访问接口。不同系统之 问可以通过调用彼此提供的数据访问接口实现数据共享。 这种基于a p i 函数的数据访问接1 3 采用二进制格式传输数据,效率很高,但 是结构复杂,不易被理解和应用。此外,基于c o r b a 和d c o m 分布式系统的数 据请求方和数据服务方采用紧密耦合的模式,如果服务方接口发生变化,请求方 必须做相应修改。并且由于使用私有的协议容易受到防火墙的限制。使基于公共 接口的直接访问方法的推广应用也存在一定困难( 王鹏等,2 0 0 1 ;何建邦等, 2 0 【) 3 ) 。 1 3 2 面向服务的地理信息共享 i s o 、o g c 和f g d c 等标准化组织在2 0 0 5 年依据面向服务体系架构和地理 信息共享特性制定了相关标准和规范,提出了统一的地理信息服务接口概念,使 得用户可以通过相同方式访问不同数据源的数据,而无须掌握数据源的位置和内 部结构。面向服务的地理信息共享的基本思想是不同的地理信息系统遵循上述标 准开发各自的w e b 服务。其他的地理信息系统或者客户端通过调用其w e b 服务 的服务接口访问其可以提供的地理数据,而且不同w e b 服务之间也可以直接调 用彼此的服务接口进行交互。w e b 服务为用户屏蔽了地理信息系统以及其内部数 据结构的差异性,而且通过网络使用户能够访问到更多类型、更广范围内的地理 信息。很多国外的地理信息系统厂商竞相推出了面向服务体系架构的网络g i s 平台。如e s r i 的a r c w e b s e r v i c e s 。在国内,面向服务的地理信息共享还处于探 索阶段。随着g o o g l ee a r t h 数字地球平台的出现和面向服务架构与w e b 服务等 技术的逐渐成熟为面向服务的地理信息共享带来了新的机遇。 3 成都理i :入学硕十学忙论文 1 4 研究内容与成果 本人首先对传统的地理信息共享方式进行了分析,结合面向服务体系架构的 思想,提出面向服务的地理信息共享系统结构和框架。然后根据上述框架设计 g o o g l ee a r t h 上地理信息共享系统的实现方案。包括w e b 服务提供学,g o o g l ee a r t h 服务使用者,w 曲服务器。最后按照以上方案实现g o o g l ee a r t h 的地理信息共享 演示程序的w c b 服务提供者,g o o g l ee a r t h h l i 务使用者部分。 本文的研究成果如下: 1 分析总结了传统地理信息共享方式及其问题,用面向服务体系架构思想 设计出了地理信息共享系统的结构和框架。将地理信息共享系统抽象为三层,分 别是数据层、服务层、应用层。该设计提出了面向服务的地理信息共享解决方案, 解决了不同平台、不同系统、不同结构的地理信息系统问的地理信息共享问题。 2 根据面向服务的地理信息共享系统的结构和框架,设计出了在g o o g l e e a r t h 上的具体实现方案。作为面向服务的地理信息共享的一个实例,该方案具 有很好的借鉴作用,其它平台、结构上的系统能通过类似设计来实现地理信息共 享。 3 采用上述方案实现了g o o g l ee a r t h 上的演示系统,证明了方案的可行性和 g o o g l ee a r t h 数字地球平台的实用性。 1 5 本文的组织结构 全文共分六章。 第一章是绪论。介绍了地理信息共享的应用背景,传统的地理信息共享方式 及其存在问题,面向服务的地理信息共享发展现状,本文的研究内容和研究成果。 第二章介绍了面向服务体系架构的基本特征、优点及组成,w e b 服务的主要 标准。 第三章介绍了系统得技术平台。g o o g l ee a r t h 数字地球平台,k m l 和s o a p 引擎a x i s 。 第四章阐述了面向服务地理信息系统的系统设计和框架。以及根据上述设计 在g o o g l ee a r t h 上的实现方案。 第五章为演示系统的实现,实现了面向服务的g o o g l ee a r t h 上的地理信息共 享。 最后为结论和建议。 4 第2 章面向服务体系架构与w e b 服务 第2 章面向服务体系架构与w e b 服务 2 1 面向服务体系架构概述 大多数企业都有各种各样的系统、应用程序以及不同时期和技术的体系结 构。集成来自多个厂商跨不同平台的产品是相当繁重、复杂的工作。但是也不能 单单使用一家厂商的产品,因为改变应用程序套件和支持基础设施非常困难。 另外由全球化带来的激烈的竞争,产品周期缩短了,每个公司都想赢得超过 竞争对手的优势。客户要求更快速地进行改变。因而,在改进产品和服务方面展 开的竞争进一步加剧了。 企业组织也正在从上世纪八十年代或更早的时期的相互隔离的垂直业务部 门,到上世纪八十年代和九十年代关注业务流程的水平结构,向新的生态系统业 务范例发展。重点是扩展供应链,支持客户和合作伙伴访问业务服务。 为了满足上述的异构、改变和企业新型的业务模式,如图2 - 所示。现在, r r 业界出现了一种新的构架模式面向服务体系架构( s o a ) 。 独立应用程序 书一 l ! 面向对象技术 l 叫,一 , l 旦产 3 屡架构 l 气一 n 层架构 l 芍一 l j 卜 l 卜 面向服务体系架构( s o a ) 图2 - 1 体系结构的发展( 参考;缪炎,2 0 0 5 ) f i g 2 - 1d e v e l o p m e n to fa r c h i t e c t u r e 5 成都理i :人学硕卜学忙论文 面向服务体系架构是一种架构模型,它可以根据需求通过网络对松散耦合的 粗粒度应用组件进行分布式部署、组合和使用。服务层是面向服务体系架陶的基 础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 面向服务体系架构的关键是“服务”的概念,w 3 c 将服务定义为:“服务提供 者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者 的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。 s e r v i c e a r c h i t e c t u r e o d m 将面向服务体系架构定义为:“本质上是服务的集合。 服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务 协调进行某些活动。服务问需要某些方法进行连接。所谓服务就是精确定义、封 装完善、独立于其他服务所处环境和状态的函数。” l o o s e l y c o u p l e d c o m 将面向服务体系架构定义为:“按需连接资源的系统。在 面向服务体系架构中,资源被作为可通过标准方式访问的独立服务,提供给网络 中的其他成员。与传统的系统结构相比,面向服务体系架构规定了资源问更为灵 活的松散耦合关系。” g a r t n e r 则将面向服务体系架构描述为:“客户端朋艮务器的软件设计方法,一 项应用由软件服务和软件服务使用者组成面向服务体系架构与大多数通用 的客户端月艮务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使 用独立的标准接口。” 可以从上述的定义中看到面向服务体系架构的几个关键特性:粗粒度、松耦 合,服务之问通过简单、精确定义接口进行通讯,不涉及底层编程接i = 1 和通讯模 犁。 2 2 面向服务体系架构的基本特征 1 外部企业能够访问。通常被称为业务伙伴的外部用户也能像企业内部用 户一样,访问相同的服务。当业务伙伴基于业务目的交换业务信息时,他们就参 与了一次会话。会话是业务伙伴间一系列的一条或多条业务信息的交换。会话类 型( 会话复杂或简单、长或短等) 取决于业务目的。 2 随时可用。当有服务使用者请求服务时,面向服务体系架构要求必须有 服务提供者能够响应。大多数面向服务体系架构都能够为门户应用之类的同步应 用和b 2 b 之类的异步应用提供服务。 3 标准化接口。x m l 和w e b 服务标准增加了全新的重要功能,将面向服 务体系架构推向更高的层面,并大大提升了面向服务体系架构的价值。尽管以往 的面向服务体系架构产品都是专有的、并且要求r r 部门在其特定环境中开发所 有应用,但x m l 和w e b 服务标准化的开放性使企业能够在所部署的所有技术和 6 第2 章面向服务体系架构与w e b 服务 应用中采用面向服务体系架构。 4 精确定义的服务接口。服务是由提供者和使用者问的契约定义的。契约 规定了服务使用方法及使用者期望的最终结果。 5 服务接口的粗粒度。粗粒度服务提供一项特定的业务功能,而细粒度服 务代表了技术组件方法。采用粗粒度服务接口的优点在于使用者和服务之间不必 再进行多次往复的通信。 6 服务分级。粗粒度服务倾向于解决专门的业务问题,因此通用性差、重 用性设计困难。服务分级包含了粒度较细、重用性较高的服务,也包含粒度较粗、 重用性较差的服务。 7 松散耦合。面向服务体系架构具有“松散耦合”组件服务,这一点区别于 大多数其他的组件架构。将服务使用者和服务提供者在服务实现和客户如何使用 服务方面隔离开来。大多数松散耦合方法都依靠基于服务接口的消息。基于消息 的接口能够兼容多种传输方式( 如h t r p 、j m s 、t c p i p 、m o m 等) 。基于消息 的接口可以采用同步和异步协议实现,w e b 服务对于面向服务体系架构服务接口 来讲是一个重要的标准。当使用者调用一个w e b 服务时,被调用的对象可以是 c i c s 事务、d c o m 或c o r b a 对象、j 2 e ee l b 或t u x e d o 服务等,但这与服 务使用者无关,底层实现并不重要。 8 支持各种消息模式。面向服务体系架构中可能存在以下消息模式。在一 个面向服务体系架构实现中,常会出现混合采用不同消息模式的服务,例如无状 态的消息,有状态的消息等。 3 面向服务体系架构的优点 1 编码灵活性。可基于模块化的低层服务、采用不同组合方式创建高层服 务,从而实现重用,这些都体现了编码的灵活性。此外,由于服务使用者不直接 访问服务提供者,这种服务实现方式本身也可以灵活使用。 2 明确开发人员角色。例如,熟悉b e s 的开发人员可以集中精力在重用访 问层,协调层开发人员则无须特别了解b e s 的实现,而将精力放在解决高价值 的业务问题上。 3 支持多种客户类型。借助精确定义的服务接口和对x m l 、w e b 服务标准 的支持,可以支持多种客户类型,包括p d a 、手机等新型访问渠道。 4 更易维护。服务提供者和服务使用者的松散耦合关系及对开放标准的采 用确保了该特性的实现。 5 更好的伸缩性。依靠服务设计、开发和部署所采用的架构模型实现伸缩 性。服务提供者可以彼此独立调整,以满足服务需求。 7 成都理l :人学硕十学位论文 6 更高的可用性。该特性在服务提供者和服务使用者的松散耦合关系上得 以体现。使用者无须了解提供者的实现细节,这样服务提供者就可以在集群环境 中灵活部署,使用者可以被转接到可用的例程上。 面向服务体系架构可以看作是b s 模型、x m i d w e b 服务技术之后的自然延 伸。面向服务体系架构能够更迅速、更可靠、更具重用性的架构整个业务系统。 较之以往,以面向服务架构的系统能够更加从容地面对业务的整合和急剧变化。 2 4 面向服务体系架构的结构 2 4 1 面向服务体系架构中的元素 面向服务体系架构提供了一种方法,通过这种方法,可以构建分布式系统来 将应用程序功能作为服务提供给终端用户应用程序或其他服务。其组成元素可以 分成功能元素和服务质量元素。图2 2 展示了体系架构堆栈以及在一个面向服务 体系架构可能观察到的元素。 图2 - 2 面向服务体系架构堆栈 fig 2 - 2a r c h i t e c t u r es t a c ko fs o a 体系架构堆栈分成两半,左边的一半集中于体系结构的功能性方面,而右边 的一半集中于体系结构的服务质量方面。这些元素详细描述如下: 1 功能性方面包括: ( 1 ) 传输是一种机制,用于将来自服务使用者的服务请求传送给服务提供者, 并且将来自服务提供者的响应传送给服务使用者。 ( 2 ) 服务通信协议是一种经过协商的机制,通过这种机制,服务提供者和服 务使用者可以就将要请求的内容和将要返回的内容进行沟通。 ( 3 ) 服务描述是一种经过协商的模式,用于描述服务是什么、应该如何调用 服务以及成功地调用服务需要什么数据。 8 第2 章面向服务体系架构与w e b 服务 ( 4 ) 服务是实际可供使用的服务。 ( 5 ) 业务流程是一个服务的集合,可以按照特定的顺序并使用一组特定的规 则进行调用,以满足业务要求。注意,可以将业务流程本身看作是服务,这样就 产生了业务流程可以由不同粒度的服务组成的观念。 ( 6 ) 服务注册中心是一个服务和数据描述的存储库,服务提供者可以通过服 务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发现或查找可 用的服务。服务注册中心可以给需要集中式存储库的服务提供其他的功能。 2 服务质量方面包括: ( 1 ) 策略是一组条件和规则,在这些条件和规则之下,服务提供者可以使服 务可用于使用者。策略既有功能性方面,也有与服务质量有关的方面;因此,在 功能和服务质量两个区中都有策略功能。 ( 2 ) 安全性是规则集,可以应用于调用服务的服务使用者的身份验证、授权 和访问控制。 ( 3 ) 传输是属性集,可以应用于一组服务,以提供一致的结果。例如,如果 要使用一组服务来完成一项业务功能,则所有的服务必须都完成,或者没有一个 完成。 ( 4 ) 管理是属性集,可以应用于管理提供的服务或使用的服务。 2 4 2 面向服务体系架构协作 图2 3 展示了面向服务体系架构中的协作。这些协作遵循“查找、绑定和调 用”范例,其中,服务使用者执行动态服务定位,方法是查询服务注册中心来查 找与其标准匹配的服务。如果服务存在,注册中心就给使用者提供接口契约和服 务的端点地址。下图展示了面向服务的体系结构中协作支持“查找、绑定和调用” 范例的实体。 图2 - 3 面向服务体系架构中的协作 fig 2 - 3c o o p e r a t i o no fs o a 9 成都理j :人学硕十学位论文 1 服务使用者。服务使用者是一个应用程序、一个软件模块或需要个服 务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且 执行服务功能。服务使用者根据接口契约来执行服务。 2 服务提供者。服务提供者是一个可通过网络寻址的实体,它接受和执行 来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务 使用者可以发现和访问该服务。 3 服务注册中心。服务注册中心是服务发现的支持者。它包含一个可用服 务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。 面向服务的体系结构中的每个实体都扮演着服务提供者、使用者和注册中心 这三种角色中的某一种( 或多种) 。面向服务的体系架构中的操作包括: 1 发布。为了使服务可访问,需要发布服务描述以使服务使用者可以发现 和调用它。 2 发现。服务请求者定位服务,方法是查询服务注册中心来找到满足其标 准的服务。 3 绑定和调用。在检索服务描述之后,服务使用者继续根据服务描述中的 信息来调用服务。 面向服务的体系架构中的构件包括: 1 服务。可以通过已发布接口使用服务,并且允许服务使用者调用服务。 2 服务描述。服务描述指定服务使用者与服务提供者交互的方式。它指定 来自服务的请求和响应的格式。服务描述可以指定一组f | 提条件、后置条件或服 务质量( q o s ) 级别。 除了动态服务发现和服务接口契约的定义之外,面向服务的体系结构还具有 以下特征: 1 服务是自包含和模块化的。 2 服务支持互操作性。 3 服务是松散耦合的。 4 服务是位置透明的。 5 服务是由组件组成的组合模块。 2 5w e b 服务概述 w e b 服务是一段位于i n t e r a c t 上的应用逻辑,可以通过标准的i n t e m e t 协议 进行访问。w e b 服务很好的将基于组建的设计思想和w e b 应用结合在一起从而 实现了面向服务体系架构。使用者可以很容易的使用w e b 服务而不需要知道具 体是怎样实现的。w e b 服务不像已有的组件技术( c o r b a 、d c o m 等) ,它通 第2 章面向服务体系架构与w e b 服务 过h t r p 或s m t p 访问,x m l 来传输数据。 w e b 服务的特点: 1 通过w e b 接入。w e b 服务是通过h r r p 或s m t p 访问的,这使得w e b 服务具有跨平台和不同语言的特点,能够将不同平台不同语言上的应用很好的集 成起来。 2 基于x m l 。通过使用x m l 作为所有w e b 服务协议的数据表示层,使得 在数据传输的过程中消除了网络、操作系统以及平台的限制。 3 松散耦合。w e b 服务的用户不直接与w e b 服务关联,w e b 服务接口能够 随时变化,而不会降低客户和服务交互的能力。采用松耦合体系结构使软件系统 更加便于管理,并且使得不同系统间的集成更加容易。 4 - 粗粒度。面向对象技术通过独立的方法暴露其服务。独立的方法是过分 细化的操作,以至于不能在一个共同的级别上提供有用的能力。从头开始创建一 个面向对象的程序需要创建几个细粒度的方法,然后将这些方法组合成由客户或 者其他服务使用的租粒度服务。这些方法暴露的业务功能和接口应该是粗粒度 的。w e b 服务提供了一种定义粗粒度服务的方法,这些服务可以访问适当的业务 逻辑。 5 同步或异步的能力。同步是指将客户绑定到服务的执行。在同步调用中, 客户在继续执行前要阻塞并等待服务完成其操作。异步操作则允许客户在稍后的 时间点上获取其结果,而同步客户在服务结束的时候获取其结果。异步能力是实 现松耦合系统的一个关键因素。 6 支持远程过程调用( r p c ) 。w e b 服务允许客户使用基于x m l 的协议调 用远程对象上的过程、函数、方法。远程过程暴露w e b 服务必须支持输入和输 出参数。 7 支持文档交换。x m l 的主要优点是它不仅仅是数据的通用表达方式,也 是复杂文档的通用表达方式。这些文档可能很简单也可能很复杂。w e b 服务支持 文件的透明交换,极大的方便了业务集成。 2 6w e b 服务的主要标准 2 6 1 概述 w e b 服务能够使用任何语言编写并能够部署到任何平台上。这是因为w e b 服务使用同样的语言:x m l 语言。w e b 服务使用x m l 语言描述服务接口和消 息格式,但x m l 本身并不能描述如何有效的表述信息,所以需要定义标准的格 式和协议来解释x m l 所携带的信息。w e b 服务的标准由此产生: 成都理v a ;学硕十学何论文 1 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l 简单对象访问协议) 定义了w e b 服务的通讯标准。 2 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 cw e b 服务描述语言) 定义了 描述w 曲服务的标准机制。 3 u d d i ( u n i v e r s a ld e s c r i p t i o n d i s c o v e r ya n di n t e g r a t i o n 通用描述、发现 和集成) 提供了w e b 服务注册和发现的标准机制。 图2 - 4 显示了这几种标准间的协作关系。当一个服务提供者想让自己的服务 能够被服务使用者访问时,服务提供者使用w s d l 描述提供的服务并通过u d d i 注册中心注册服务。u d d i 注册中心将w s d l 和服务绑定起来。当一个服务使用 者要使用暇务时,他在u d d i 注册中心查询符合自己需求的服务,然后获得服务 的w s d l 。之后服务使用者根据w s d l 的描述创建s o a p 消息与服务提供者建 立联系使用服务。 2 6 2s o a p 图2 - 4w e b 服务的协作关系 f i g 2 - 4c o o p e r a t i o no fw e bs e r v i c e s 0 a p 是w e b 服务的基本通信协议,它扩展了x m l ,提供了一种简单有效的 机制将一个应用的消息通过x m l 发送到另外一个应用。s o a p 提供点对点的通 讯。一个s o a p 消息由个s o a p 发送者发出,一个s o a p 接收者接收。 s o a p 规范还定义了h 下r p 消息是怎样传输s q a p 消息的。这并不代表s o a p 只能用h t r p 作为传输协议,m s m q 、s m t p 、t c p f l p 都可以做s o a p 的传输协 议。 s o a p 由以下部分组成: 1 s o a p 信封( s o a pe n v e l o p e ) 。s o a p 信封提供了一种机制定义消息的 内容和解释消息如何处理。如图2 5 所示,s o a p 信封包括s o a p 头和s o a p 体。 第2 章面向服务体系架构与w e b 服务 图2 - 5s o a p 信封结构 f g2 5s t r u c t u r eo fs o a pe f l v o i o p e 2 s o a _ p 头( s 0 a ph e a d e r ) 。s o a p 头提供一种扩展的机制来控制关于消 息的信息。例如事务、安全、路由等。 3 s o a p 体( s o a pb o d y ) s o a p 体包含用s o a p 发送的消息。 4 s o a p 传输绑定框架( s o a p t r a n s p o r tb i n d i n gf r a m e w o r k ) s o a p 传输绑 定框架用于将s q a p 和网络传输协议绑定,发送s o a p 消息。s o a p l 1 定义了 h t l v 传输绑定框架。s o a p l 2 定义了h t h 、s m t p 、j m s 等传输的绑定框架。 5 s o a p 序列化框架( s o a ps e r i a l i z a t i o nf r a m e w o r k ) 所有通过s o a p 传输 的消息都使用x m l 编码。数据能够用自有的x m l 文档描述并由x m ls c h e m a 验证。服务操作数据能够通过x m l 来直接操作,但通常情况下都是映射为服务 编写语言的数据类型来操作的,通过s o a p 序列化框架能够完成所需的映射。 2 6 3w s d l w s d l 使用x m l 来描述w e b 服务。一个w s d l 文档描述了服务的功能, 如何和服务通讯,从哪里获取服务。w s d l 提供格式化的机制描述w e b 服务可 进行的操作、w e b 服务能处理的消息格式、w e b 服务支持的协议、w e b 服务的 接入点。 w s d l 定义服务就像网络的最终接入点或端口的集合。每个端口抽象的定义 为一种提供一组操作集合的端口类型。每个操作过程处理一种特定的消息。绑定 将端口类型和特定的协议和数据格式映射在一起。端口实例化端口类型并和特定 的网络地址绑定。 w s d l 由x m l 文档描述,在w s d l 中最主要的元素是: 1 t y p e s , 元素定义了消息的数据类型。w s d l 使用的是w 3 c x m l s c h e m ap a r t2 :d a t at y p e sr e c o m m e n d a t i o n 的类型系统,它支持简单的类型和复杂 类型。s c h e m a 类型能够和大多数的编程语言的数据类型互相映射。 2 m e s s a g e , 元素定义了消息的格式。消息用来作为操作的输入 输出的数据结构。一个消息能有一个或多个逻辑部分组成,每个部分与一种类型 成都理l :人学硕十。忙论文 相关联。 3 p o r t t y p e , 元素定义了一组操作。每个 :元素定义 了一个操作和该操作的输入输出消息。 4 b i n d i n g , 元素将操作和消息定义到一个端口类型并与特定的协 议和数据格式相结合。 5 s e r v i c e , 元素定义相关端口的集合。一个 元素将服务访 问的地址( u r l 等) 和w e b 服务的实例绑定在一起。 2 6 4u d d u d d l 提供了注册和查找的机制,通过它可以注册服务和查找定位所需服务。 u d d i 本身也是w e b 服务,使用者通过s o a p 消息来使用u d d i 。u d d i 注册中 心罩的数据从概念上可以分为四类,每一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年天津市和平区面向甘肃白银会宁籍招聘事业单位工作人员模拟试卷带答案详解
- 2025广东东莞市谢岗镇政府第一食堂招聘厨师长、副厨2人考前自测高频考点模拟试题有答案详解
- 2025年4月四川成都纺织高等专科学校招聘事业编制人员7人模拟试卷参考答案详解
- 2025江苏连云港市灌南县招聘事业单位人员43人考前自测高频考点模拟试题附答案详解(考试直接用)
- 火锅店入股合作合同协议书范本6篇
- 2025河南驻马店市新蔡县公益性岗位招聘7人模拟试卷及答案详解(夺冠系列)
- 2025年醴陵市法院系统招聘真题
- 2025年河北承德辰飞供电服务有限公司招聘101人模拟试卷附答案详解(黄金题型)
- 2025江苏南通市海门区民政局招聘包场镇民政公益性岗位人员招聘2人考前自测高频考点模拟试题及一套参考答案详解
- 2025甘肃特岗教师招聘考试几月份发布?考前自测高频考点模拟试题及答案详解(名师系列)
- 疼痛管理多学科协作模式-洞察分析
- 考研动员讲座
- 光缆通信基础知识
- 氯及其化合物(完整版)课件
- 德胜洋楼公司及德胜员工手册-员工守则
- TCUWA40055-2023排水管道工程自密实回填材料应用技术规程
- 我们要节约粮食 珍惜粮食主题班会
- 2024年铁路运输项目营销策划方案
- 茉莉花常见病虫害及其防治
- 保洁巡查记录表
- 我的家乡湖南永州宣传简介
评论
0/150
提交评论