(计算机应用技术专业论文)基于web服务的internet文件共享系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于web服务的internet文件共享系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于web服务的internet文件共享系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于web服务的internet文件共享系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于web服务的internet文件共享系统的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)基于web服务的internet文件共享系统的研究与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 现代信息科技的进步特别是网络技术的飞速发展,已经使得人们的日 常工作与网络密不可分,大量的数据文件需要存储和共享,使用传统的服 务器式存储和共享技术会给服务器造成巨大的负担,而不断增加的数据文 件又必须不断追加服务器的存储空间和性能来保存和共享。w e b 服务的出 现为解决上述问题提供了新的思路,它为实现i n t e m e t 上计算资源、数据 资源和服务资源的有效聚合和广泛共享提供了一种全新的方法。 本文分析了w e b 服务体系架构和p 2 p 技术的特点,借鉴p 2 p 思想并 融入w e b 服务的概念,设计了个基于w e b 服务的i n t e m e t 文件共享系统 ( i n t e r n e tf i l e - s h a r e ds y s t e mb a s e d0 1 1w e bs e r v i c e s ,w s i f s ) 。采用资源的 分布式存储方式,通过标准接口以p e e r - t o p e e r ( p 2 p ) 的方式共享资源。 这个系统的优点是它能够给每个资源节点一定的控制能力,降低了对服务 器性能的要求,适合于中小规模的,可调整的,高性价比的文件资源共享。 论文主要内容包括: 1介绍了目前世界上对网络环境中文件存储和共享方面的研究情况。 2 系统地研究了w e b 服务体系架构和p 2 p 技术,并对在n e t 框架的 平台上对w e b 服务和p 2 p 的整合进行了深入的探讨。 3结合当前网络存储和共享的现状,提出了基于w e b 服务建立p 2 p 模型的解决方案。分析了本系统的各组成部分,对设计目标和思路 进行了阐述。 4 详细讲述了系统的总体设计和本人参与的工作,包括开发i f s 库模 块和p 2 p 框架模块,设计系统使用的数据库,参与测试工作,以 及编写了大部分的技术和测试文档,完成本系统的主要功能。 关键词:w e b 服务、p 2 p 、n e t 框架、存储、共享 西南交通大学硕士研究生学位论文第| l 页 a b s t r a c t t h er a p i dd e v e l o p m e n to fm o d e mi n f o r m a t i o ns c i e n c ea n dt e c h n o l o g y e s p e c i a lt h ed e v e l o p m e n to fn e t w o r kt e c h n o l o g y , h a sa l r e a d ym a d ep e o p l e s e v e r y d a yl i f eb ev e r yc l o s e l yr e l a t e dt on e t w o r k a n dam a s so f d a t af i l e sn e e d t ob es t o r e da n ds h a r e d t r a d i t i o n a ls t o r i n ga n ds h a r i n gt e c h n i q u et h a tu t i l i z e s s e r v e rm o d et ow o r kw i l lc a u s ee n o r m o u sb u r d e nt ot h es e r v e ga n dt h i sm o d e w o u l di n c r e a s em o r ec o s ti ns t o r a g es p a c ea n dp e r f o r m a n c eo ft h es e r v e r t h e a p p e a r a n c eo fw e bs e r v i c e st e c h n o l o g yp r o v i d e san e wi d e at os o l v et h e p r o b l e mm e n t i o n e da b o v e t h et e c h n o l o g yo f f e r san e wm e t h o dt oc a r r yo u t e f f e c t i v e l yi n t e g r a t i n ga n dw i d e l ys h a r i n go ft h ec o m p u t i n gr e s o u r c e s ,d a t a r e s o u r c e sa n ds e r v i c e sr e s o u r c e si nt h ei n t e r n e t i nt h i st h e s i s ,t h ec h a r a c t e r i s t i co fw e bs e r v i c e sa n dp 2 p t e c h n o l o g yi s a n a l y s e d ,a n dp 2 pt h o u 曲ti su s e df o rr e f e r e n c et oi n c o r p o r a t et h ec o n c e p to f w e bs e r v i c e s a n da ni n t e r a c tf i l e s h a r e ds y s t e mb a s e do nw 曲s e r v i c e s ( w s i f s ) i sd e s i g n e d w s i f sa d o p tt h ed i s t r i b u t e dr e s o u r c e ss t o r i n gm o d e a n du t i l i z e st h es t a n d a r di n t e r f a c et os h a r er e s o u r c e sb yp 2 pm e t h o d t h e a d v a n t a g eo ft h i ss y s t e mi st h a tt h es y s t e mg i v e sc e r t a i nc o n t r o la b i l i t yt oe a c h r e s o u r c en o d e ,i nw h i c hw a yt h er e q u i s i t i o nf o rp e r f o r m a n c eo ft h es e r v e rc a n b er e d u c e d i ti ss u i t a b l et ot h em o d eo ff i l e sr e s o u r c e sw i t hm e d i u mo rs m a l l s c a l e ,a d j u s t a b l e ,h i g hp e r f o r m a n c e p r i c ev a l u e t h em a i l lc o n t e n to ft h et h e s i si n c l u d e s : 1 t oi n t r o d u c er e c e n ts i t u a t i o no ff i l e s t o r a g e a n ds h a r eo v e rn e t w o r k e n v i r o n m e n ti nt h ew o r l d 2 t or e s e a r c ho nw e bs e r v i c e sa r c h i t e c t u r ea n dp 2 p t e c h n o l o g y s y s t e m a t i c a l l y , a n di n t e g r a t i o no fw e bs e r v i c e sa n dp 2 po nt h ep l a t f o r m o f n e tf r a m e w o r ki sd e e pd i s c u s s e d 3 p u t t i n gf o r w a r dt h es o l u t i o no ft oe s t a b l i s hp 2 pm o d e lb a s e do nw e b s e r v i c e sa c c o r d i n gt ot h er e c e n ts i t u a t i o no fn e t w o r kf i l es t o r a g ea n ds h a r e e v e r yc o m p o n e n to ft h i ss y s t e mi sa n a l y z e di nd e t a i l ,a n dt h ea i m sa n d i d e ao ft h ed e s i g ni se x p a t i a t e d 4 t od e s c r i b e t h eo v e r a l ld e s i g no ft h i ss y s t e ma n dw o r kw h i c ha u t h o r p a r t i c i p a t ei n ,w h i c hi n c l u d e sd e v o l o p p i n gt h ei t sl i b a r a ym o d u l ea n dp 2 p f r a m e w o r k m o d u l e ,d e s i g n i n gt h e d a t a b a s et h a tt h e s y s t e mu s e d , p a r t i c i p a t i n gi nt e s tj o bo ft h ep r o j e c t ,w r i t i n gm o s tt e c h n o l o g ya n dt e s tf i l e a n dc o m p l e t i n gm a i nf u n c t i o n so ft h i ss y s t e m k e y w or d s :w e bs e r v i c e s ,p 2 p ,n e tf r a m e w o r k ,s t o r a g e ,s h a r e 西南交通大学硕士研究生学位论文第1 页 1 1 引言 第一章绪论 技术的进步和i n t e m e t 的迅速发展,使得网络上的信息传递和交换交 得非常频繁,大量信息的传递、存储和管理,对支持网络的硬件和软件是 一个巨大的考验。大多数i n t e r n e t 文件系统采用服务器集中存储,数据格 式不统一,这样,当各行各业的用户需要将自己拥有的资源发布出来的时 候,管理员将面临一个头疼的问题,服务器也将因为性能耗尽而不堪重负。 很多现代公司,尤其是那些比较大的公司或政府机构,需要管理的信 息资源数量非常多,常常数以万计,甚至百万计,而职员的数量也很多,大 小部门不但多而且分散。这时如果采用传统的共享策略,将会使信息共享 和信息安全管理,变得更加繁琐和困难。针对这种情况,很多的企业和组 织都提出了自己的解决方案。 1 2 研究现状 目前,世界上没有就i n t e r n e t 上如何构建文件系统制定统一的规范, 只是国内外各种学术刊物中可以见到有学者撰文探讨i n t e m e t 文件系统的 体系结构,其中由r a o h e r m a nc h u n g - h w a 等在i e e ec o m p s a c 9 7 上发 表的论文“o v e r v i e wo ft h ei n t e r n e tf i l es y s t e m ”比较全面地概述了i n t e m e t 文件系统的体系结构【“。国外知名企业如o r a c l e ,微软都提出各自的i n t e m e t 文件系统的实现方案,比如说微软的c i f s ( c o m m e n ti n t e r n e tf i l es y s t e m ) , 甲骨文公司的9 i f s ( o r a c l ei n t e r n e tf i l es y s t e m ) 。但是不管是c i f s 还是 9 i f s 都不支持文件的分散存储,从应用的角度看,当系统在一个比较大的 环境中运行时( 比如i n t e r n e t 或大型企业) ,对于服务器的性能消耗非常大, 成本很高。 文件的存储方面,网络化存储是当前的研究热点之一,网络化存储是 全新的存储方式,相对于r a i d 磁盘阵列、镜像盘之类的传统备份方法, 它不仅提供了更加巨大的存储能力,而且提供了基于网络的数据备份和恢 西南交通大学硕士研究生学位论文第2 页 复技术。目前流行的网络存储系统主要有s a n ,n a s ,网格存储以及p 2 p 系统等。 s a n ( s t o r a g e a r e an e t w o r k ,存储区域网) 是一种类似于普通局域网 的高速存储网络,它通过专用的集线器、交换机和网关建立起与服务器和 磁盘阵列之间的直接连接。s a n 不是一种产品而是配置网络化存储的一种 方法。不过s a n 虽然实现了网络存储,但其跨越的距离相当有限,无法 满足广域网范围的数据恢复。 n a s ( n e t w o r k a t t a c h e ds t o r a g e ,网络附加存储) 系统是直接挂在网 上的专用文件服务器,具备快速、简单、可靠的性能,支持u n i x 和w i n d o w s n t 多种网络环境。n a s 系统实现了两个突破:理念上的突破把存储 器直接接到网络上,不再挂在服务器后端,避免了给服务器增加负担;技 术上的突破通过专用软件减少磁头臂机械移动的次数,克服由此造成 的延时。但是到目前为止它还只能局限于局域网的范围。 网格( g r i d ) 可以称作是第三代i n t e m e t ,它的主要特点是不仅仅包括 计算机和网页,而且包括各种信息资源,例如数据库、软件以及各种信息 获取设备等,它们都连接成一个整体,整个网络如同一台巨大无比的计算 机,向每个用户提供一体化的服务。目前网格还处于研究阶段,最著名的 网格计算研究是美国的g l o b u s 项目。 p 2 p 是p e e r - t o p e e r 的缩写,p e e r 在英语里有”( 地位、能力等) 同等 者”、”同事”和”伙伴”等意义。这样一来,p 2 p 也就可以理解为”伙伴对伙 伴”的意思,或称为对等联网。早期的p 2 p 系统主要是一些文件共享和存 储程序,如:n a p s t e r ,g n u t e l l a 和m o j 0n a t i o n 等,但是这些系统在可靠 性和扩展性方面都还做的远远不够。 鉴于s a n 和n a s 需要有专用硬件的支持,成本比较高,不适宜普 及,而网格涉及的范围太大,仍处于研究阶段,只有p 2 p 是目前最活跃, 最适宜普及的网络存储技术。但是纯粹的p 2 p 系统中,由于各个节点主 机的不稳定性,使得整个系统在可靠性方面有一定的局限性。 w e b 服务( w e bs e r v i c e s ) 技术的出现和近年来的迅速发展,为资源的 存储和共享问题的解决提供了新思路。 西南交通大学硕士研究生学位论文第3 页 1 3 本文研究的主要内容 首先研究了i n t e r n e t 环境下文件的共享和存储的发展现状和相关技术。 其次研究了w 曲服务体系架构和p 2 p 模型,接着深入探讨了m i c r o s o f t n e t 框架提供的开发平台对于w e b 服务和p 2 p 技术的整合。 以w e b 服务架构为基础,设计实现了基于w e b 服务的i n t e m e t 文件共 享系统( i n t e r n e tf i l e s h a r e ds y s t e mb a s e do i lw e bs e r v i c e s ,w s i f s ) ,为 i n t e m e t 中文件的共享和存储提供了解决方案。该系统构建了一个比较规范 的三层网络应用系统,以s q ls e r v e r 为数据层,在n e t 框架提供的平台 上实现了应用逻辑层和表现层。 本课题来自恒普高科公司,目标是开发一套基于w e b 服务的文件共享 系统,提供如下功能:在i n t e r n e t 上发布文件、端对端资源共享、资源节 点注册与管理、基于文件所有者的安全以及大量用于开发其他可能的基于 w e b 服务应用通用的a p i ,与其他类似的应用相比,具有更好的扩展性和 稳定性。 本人的主要任务是完成数据库的设计,并实现两个重要模块的设计: i n t e r n e t f i l e s y s t e m l i b a r a y 和t n t e r n e t f i l e s y s t e m p 2 p f r a m e w o r k 。参与了系 统的测试,编写了大部分的技术及测试文档,完成了本系统的主要功能。 西南交通大学硕士研究生学位论文第4 页 第二章w e b 服务架构与技术 传统的分布式计算模型中,无论c o r b a 、d c o m ,还是e i b 中的r m i , 都存在一个共同的不足,它们要求客户端与系统提供的服务之间必须进行 紧密耦合 ”,即要求一个同类基本结构,丽w e b 上的用户相互间的联系比 较松散,我们根本无法保证远程通信的管道的另端,具备所有我们需要 的基本结构,对于它使用的操作系统、对象模型或编程语言,我们可能 无所知,这就限制了分布式计算技术与迅速发展的w e b 相融合;其次,对 象在实现远程调用时,无法通过现有的某种协议( 如h t t p ,s m t p ,f r p ) ; 此外,传统系统应变能力较差,如果一端的执行机制发生变化,另一端便 会崩溃。譬如服务器应用程序的接口发生更改,那么客户端必须作相应的 更改。 相反,w e b 环境下,各用户彼此是松散耦合而且异构的,用户可能通 过各种设备( c o m p u t e r 、c e l lp h o n e , p d a 、a t m 、智能家电等) 获取服 务,一个服务的完成需要若干环节,不仅跨地域、跨平台,而且需要一个 工作流将各环节加以连接。连接中的任何一方均可更改执行机制,却不影 响应用程序的正常运行。从技术角度讲,这要求使用一种基于消息的异步 技术来实现高可靠性的系统性能,通过使用诸如h t r p 、s m t p 、f t p 以及 至为重要的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 来实现统一的连接。 从1 9 9 8 年开始发展的x m l 技术及其相关技术已证明有可能解决这个 问题。而近期开始蓬勃发展的w e b 服务( w e bs e r v i c e s ) 技术则正是基于 x m l 技术的针对这一问题的最佳解决方案。w e b 服务是当今i t 业界的焦 点所在。w e b 服务的主要目标就是在现有的各种异构平台的基础上构筑 个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠 这个技术层来实施彼此的连接和集成。也就是说,传统w e b 应用技术解决 的问题是如何让人来使用w e b 应用所提供的服务,而w e b 服务则要解决 如何让计算机系统来使用w e b 应用所提供的服务,实现应用程序的集成和 互操作。 西南交通大学硕士研究生学位论文第5 页 2 1w e b 服务定义 虽然使用“w e b 服务”这个术语有许多不同的而且常常表面上不一致 的动机,但是,下面的定义是所有w e b 服务共同的本质所具有的核心: w e b 服务是通过u r i 标识的软件系统,它使用x m l 定义和描述其公共接 口( i n t e r f a c e s ) 和绑定( b i n d i n g s ) 。w e b 服务的定义可以被其它软件系统 发现。因而,使用通过i n t e m e tp r o t o c o l s 传输的基于x m l 的消息,这些系 统可以按照w e bs e r v i c e s 定义指定的方式进行交互【4 j 。 w e b 服务可以看作一个抽象的概念,它必须通过具体的代理或主体 ( a g e n t ) 实现,如图2 1 所示。 图2 - 1w e b 服务基本体系架构的角色 代理和服务( a g e n t sa n ds e r v i c e s ) 代理是发送和接受消息的物理实体( 软件) ,代理用于实现服务。服务 是软件代理提供的抽象的函数陛集合。代理是代表不同的人、实体或过程 的程序行为;是具有一个标识符代表法人实体的计算资源:它可以提供一 个或多个服务,也可以请求其它的服务资源。例如,在w e b 中,代理可以 实现信息搜索。 为了解释代理和服务之间的联系,这里有一个例子。某一天,你可以 使用一个代理( 可能采用一种编程语言) 实现一个特定的w e b 服务,另 西南交通大学硕士研究生学位论文第6 页 一天,你可以用另外的代理( 可能使用另外一种不同的编程语言) 实现 w e b 服务。尽管代理可能不同,但是w e b 服务还是同样的服务。 请求者和提供者( r e q u e s t e ra n dp r o v i d e r ) w e b 服务的用途是代表它的所有者( 法人实体) 提供一些函数功能。 提供者实体( p r o v i d e re n t i t y ) 是一个法人实体,它提供适当代理实现特定 服务的,如图2 - 1 所示。 请求者实体( r e q u e s t e re n t i t y ) 则是希望利用提供者实体提供的w e b 服务的法人实体。请求者实体使用请求者代理同提供者实体的提供者代理 进行消息交互。为了保证两者之间的消息交互成功,请求者实体和提供者 实体必须首先对语义和消息交换方法达成协议。 法人实体( l e g a le n t i t y ) 表示个体( 人) 和组织,他们是提供或请求 w e b 服务的代理的所有者。 服务描述( s e r v i c ed e s c r i p t i o n ) 消息交换的方法( 部分地) 记录在w e b 服务描述( w s d ) ,如图2 - 1 。 服务描述是机器可处理的各种消息格式、数据类型以及协议的规范,服务 描述包含服务的接口和实现细节,包括服务的数据类型、操作、绑定信息 以及网络位置,并且可能会提供一些预期的消息交换模式的信息。该描述 将在请求者代理和提供者代理之间使用。服务描述也可能包含分类信息以 及其它元数据易于请求者发现和利用服务。 服务描述还有许多潜在的服务,它可以方便服务的构造和部署;它可 以被人们用于定位适当的服务:可以被服务请求者用于自动发现合适的提 供者,帮助请求者做出适当的选择。 语义( s e m a n t i c s ) 消息交换语义( 如图2 - 1 中的 s e m ”) 表示请求者实体和提供者实体 之间关于交互目的和结果的“合同( c o n t r a c t ) ”,同时包括其它任何在服务 描述中未包含的附加的消息交换机制细节。 服务语义可以使用服务描述语言表示,并可以在服务描述中标识。语 义表示控制交互方法和目的的“合同”;然而,服务描述则表示一个“合同”, 其用于管理同特定服务进行交互的方法。 知道了数据结构的类型并不足以了解服务背后的意图。给定的服务可 西南交通大学硕士研究生学位论文第7 页 能封装许多不同的任务,每个任务由一个目标和过程或实现目标的行为构 成,而服务的语义是关于封装在服务中的任务的基础。例如,从一个账户 存钱和取钱的方法使用同样类型的签名,但是产生不同的结果。w e b 服务 中的语义提供了正式的有关语义内涵的文档。合同描述的语义可能使用其 它的w e b 服务特征,例如使用舞蹈术( c h o r e o g r a p h y ) 。 尽管,这些“合同”表示请求者实体和提供者实体各自的软件代理将 怎样进行交互以及为何如此交互的全部的协定,但是,协定并不需要书写 或明确的商议,语义可以是清晰的或含糊的,口头的或书面的,机器可处 理的或面向使用人的。 ( 舞蹈术【4 】:单个的w e b 服务被限制接受一个请求信息操作或者执行一个过程操 作,并提供信息或返回过程处理结果。更多的功能要求能够实现多个w e b 服务同时进 行交互。舞蹈术正是描述了一组服务之间进行交互的可能的模式,它定义多个w e b 服务如何协同工作,以及w e b 服务进行连接和使用模式的规范。舞蹈术使用舞蹈术描 述语言进行描述,w e b 服务之问的连接由各个服务之间通过发送消息实现交互,例如, 象定义的w s d l 一样通过调用操作实现交互连接。) 2 2 w 曲服务的特点 w e b 服务是一个软件系统,是一种部署在w e b 上的组件对象,它具 有以下特征: 完好的封装性:w e b 服务是一种部署在w e b 上的组件对象,自然 具备对象的良好封装性。对于使用者而言,他能且仅能看到该对象 提供的功能列表。 松散耦合:这一特征也是源于对象组件技术,当一个w e b 服务的 实现发生变更的时候,调用者是不会感到这一点的。对于调用者来 说,只要w e b 服务的调用接口不变,w e b 服务实现的任何变更对 他们来说都是透明的,甚至当w e b 服务的实现平台从j 2 e e 迁移 到n e t 或者反之,用户都可以对此一无所知,毫无影响。 从前,分布式的应用程序逻辑需要使用分布式的对象模型,诸如 m i c r o s o f t 的分布式组件对象模型( d c o m ) 、对象管理集团( o m g ) 的公 共对象请求代理体系结构( c o b r a ) 或s u n 的远程方法调用( r m i ) 。通 西南交通大学硕士研究生学位论文第7 页 能封装许多不同的任务,每个任务由个目标和过程或实现目标的行为构 成,而服务的语义是关于封裟在服务中的任务的基础。例如,从一个账户 存钱和取钱的方法使用同样类型的签名,但是产生不同的结果。w 曲服务 中的语义提供了正式的有关语义内涵的文档。合同描述的语义可能使用其 它的w e b 服务特征,例如使用舞蹈术( c h o r e o g r a p h y ) 。 尽管,这些“合同”表示请求者实体和提供者实体各自的软件代理将 怎样进行交互以及为何如此交互的全部的协定,但是,协定并不需要书写 或明确的商泌,语义可以是清晰的或含糊的,口头的或书面的,机器可处 理的或面向使用人的。 ( 舞蹈术1 4 :单个的w e b 服务被限制接受一个请求信息操作或者执行一个过程操 作,井提供信息或返回过程处理结果。更多的功能要求能够实现多个w e b 服务同时进 行交互。舞蹈术正是描述了一组服务之间进行交互的可能的模式,它定义多个w e b 服务如何协同工作,以及w e b 服务进行连接和使用模式的规范。舞蹈术使用舞蹈术描 述语言进行描述,w e b 服务之问的连接由各个服务之问通过发送消息实现交互,倒如, 象定义的w s d l 一样通过调用操作实现交互连接。) 2 2w 曲服务的特点 w e b 服务是个软件系统,是一种部署在w e b 上的组件对象,它具 有以下特征: 完好的封装性:w e b 服务是一种部署在w e b 一卜的组件对象,自然 具备对象的良好封装性。对于使用者而言,他能且仅能看蛩j 该对象 提供的功能列表。 松敞耦合:这一特征也是源于对象组件技术,当一个w e b 服务的 实现发生变更的时候,调用者是不会感到这点的。对于调用者来 说,只要w e b 服务的调用接口不变,w e b 服务实现的任何变更对 他们来说都是透明的,甚至当w e b 服务的实现平台从j 2 e e 迁移 到n e t 或者反之,用户都可以对此一无所知,毫无影响。 从前,分布式的应用程序逻辑需要使用分布式的对象模型,诸如 m i c r o s o f t 的分布式组件对象模型( d c o m ) 、对象管理集团( o m g ) 的公 荚对象请求代理体系结构( c o b r a ) 或s u n 的远程方法调用( r m i ) 。通 共对象请求代理体系结构( c o b r a ) 或s u n 的远程方法调用( r m i ) 。通 西南交通大学硕士研究生学位论文第8 页 过使用这些基本结构,开发人员仍可拥有使用本地模型所提供的丰富资源 和精确性,并可将服务置于远程系统中。 这些系统有一个共同的缺陷,那就是无法扩展到互联网上。它们要求 服务置于客户端与系统提供的服务本身之问进行紧密耦合,即要求一个同 类基本结构,这样的系统往往十分脆弱:如果一端的执行机制发生变化, 那么另一端便会崩溃。例如,如果服务器应用程序的接口发生更改,那么 客户端便会崩溃。 对于松散耦合而言,尤其是在i n t e m e t 环境下的w e b 服务而言,需要 有一种适合i n t e m e t 环境的消息交换协议。而x m i j s o a p 正是目前最为适 合的消息交换协议。 使用协议的规范性:这一特征从对象而来,但相比一般对象,其界面 规范更加规范化并易于被机器理解。首先,作为w e b 服务,对象界面所提 供的功能应当使用标准的描述语言来表述:其次,由标准描述语言描述的 服务界面应当是能够被发现的,因此,这一描述文档需要被存储在私有的 或公共的注册库里面;同时,使用标准描述语言描述的使用协约将不仅仅 是服务界面,它将被延伸到w e b 服务的聚合、跨w e b 服务的事务、工作 流等,而这些又需要服务质量( o o s ) 的保障:对于松散耦合对象环境的 安全机制十分重要,需要诸如授权认证、数据完整性、消息源认证以及事 务的不可否认性等运用规范的方法进行描述、传输和交换;最后,所有层 次上的处理都应当是可管理的,因此需要对管理协约运用同样的机制。 使用标准协议规范:w e b 服务的所有公共的协议完全需要使用开放的 标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以 便由任意方进行实现。 高度可集成能力:w e b 服务采取简单的易于理解的标准w e b 协议作为 组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,因此, 无论是c o r b a ,d c o m ,或e j b ,都可以通过这一种标准的协议进行互 操作,实现了在当前环境下最高的可集成性。 互操作性:这是w e b 服务最为重要的特点,也是万维网联盟( w 3 c ) 的七点宗旨所提到的目标之一。互操作性的目的是提供从一个软件应用程 序到另外一个软件应用程序无缝的、自动的连接。以上的这些特点保证了 西南交通大学硕士研究生学位论文第9 页 w e b 服务的互操作性。一些具体的技术,例如s o a p w s d l 和u d d i 协 议等实现了以一种自描述的方式发现并调用其它应用程序的方法,实现 w e b 服务之间的互操作不必考虑位置或平台。 2 3w e b 服务体系架构 w e b 服务体系架构( w e bs e r v i c e sa r c h i t e c t u r e ,w s a ) 意图提供一个 w e b 服务的公共的定义,并且该架构定义一个更大的w e b 服务框架用以指 导w e b 服务产品实施者、w e b 服务规范的设计者、w e b 服务应用程序开发 者以及w e b 服务学习者【2 。 w e b 服务体系架构提供了一个理解w e b 服务的模型和语境,并提供了 一个语境,其用于管理w e b 服务规范和技术之间的关系,以及这些规范和 技术与其它w s a 之外的技术之间的关系。 2 3 1w e b 服务体系架构的互操作性 w e b 服务在因特网上的使用迅速地扩大了对a 2 a ( a p p l i c a t i o n t o - a p p l i c a t i o n ) 通信以及互操作的需求。这些w e b 服务提供 一个运行在各种平台和或构架上的不同的应用软件之间进行互操作的标 准的方法。 w e b 服务体系架构是具有互操作能力的架构它确定那些全局w e b 服务网络的全局元素,以确保w e b 服务之间的互操作性。为了确保互操作 性,确定的概念、关系以及限制是非常重要的,基础架构的概念、关系和 限制不为个别的w e b 服务制定。基础架构的主要目标包括: w e b 服务之间的互操作: 与万维网的集成; w e b 服务的可靠度; w e b 服务的安全性; w e b 服务的易伸缩性和可扩展性; w e b 服务的可操作性可操作性。 基础架构的任务是为部署在网络上的服务架构提供全局的整体观。其 它的规范,例如s o a p l 2 和w s d l 为特殊的需求提供详细的推荐标准。 一些非w e b 服务架构的目标包括: 西南交通大学硕士研究生学位论文第10 页 规定专门的编程模型或编程技术: 限制w e b 服务内部的架构以及特殊的实现; 示范w e b 服务的构造; 规定消息或其它描述的格式; 规定详细精确的通信、发现、舞蹈术等。 2 3 2w e b 服务体系架构核心概念及其关系 w e b 服务体系架构的核心是核心概念的列举及其概念之间的关系,这 些概念及其关系构成了w e b 服务的互操作性的核心。核心概念及其关系如 图2 - 2 所示,具体的阐释参阅文献【5 、6 】。 图2 - 2 核心概念及其关系 2 3 3 面向服务的w e b 服务体系架构 w e b 服务的体系架构和w e b 体系架构一样,都是面向服务( 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 ) 的体系架构。了解它们两者之间的关系以及 它们和其它紧密相关技术( c o r b a ) 的关系,从分布式系统层次来查看 s o a 是有帮助的。 西南交通大学硕士研究生学位论文第1 1 页 分布式系统由离散的软件代理组成,这些代理必须共同工作来实现想 要的功能。此外,分布式系统中代理的操作没有在同一个进程环境中进行, 所以必须通过硬件软件协议栈进行通信。同绝对代码调用和共享内存相 比,这样显然降低了可靠性。分布式系统要求开发者( 基础设施及应用程 序开发者) 设计架构时考虑不可预知的远程访问等待时间,并且考虑并发 访问以和部分失效,这是非常重要而且必须考虑的。 s o a 是一种特殊类型的分布式系统,它的代理就是“服务”。对于w e b 服务,服务是一个软件代理,它完成一些定义好的操作,并且可以被外部 大的应用程序调用。换句话说,一个服务可以作为大的应用程序的一部分 ( 例如,一个企业资源计划系统的定购单处理能力可能作为单独的服务实 现,和其它的企业管理程序共同实现企业级应用系统) 。 因此,服务的使用者需要关注的仅仅是服务的接口描述。而且,大多 数s o a 定义强调“服务”具有网络可寻址的接口以及通过标准的协议和数 据格式通信。图2 3 表示的是一般的面向服务的体系架构示意图。 图2 - 3 普通的面向服务的体系架构 s o a 中的服务描述本质上是交换消息的描述。面向服务的体系架构的 关键组件包括用于交换的消息,作为服务请求者和服务提供者的代理,允 许消息传输的共享传输机制。除外,对于公共s o a s ,还包括以上组件的 公共描述:消息描述、服务的描述等等。这些描述可能是机器可处理的, 这些情况下,他们自己成为可能的消息:用于服务发现系统以及服务管理 系统。 2 3 4 w e b 服务模型 西南交通大学硕士研究生学位论文第1 2 页 w e b 服务体系结构基于三种角色( 服务提供者、服务注册中心和服务 请求者) 之间的交互【8 j 。交互涉及发布、查找和绑定操作。这些角色和操 作一起作用于w e b 服务构件:w e b 服务软件模块及其描述。在典型情况下, 服务提供者托管可通过网络访问的软件模块( w e b 服务的一个实现) 。服 务提供者定义w e b 服务的服务描述并把它发布到服务请求者或服务注册 中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述, 然后使用服务描述与服务提供者进行绑定并调用w e b 服务实现或同它交 互。服务提供者和服务请求者角色是逻辑结构,因而服务可以表现两种特 性。图2 。4 图示了这些操作、提供这些操作的组件及它们之间的交互。 图2 4w e b 月务角色、操作和构件 w e b 服务体系结构中的角色: 服务提供者。从企业的角度看,这是服务的所有者。从体系结构 的角度看,这是托管访问服务的平台。 服务请求者。从企业的角度看,这是要求满足特定功能的企业。 从体系结构的角度看,这是寻找并调用服务,或启动与服务的交 互的应用程序。服务请求者角色可以由浏览器来担当,由人或无 用户界面的程序( 例如,另外一个w e b 服务) 来控制它。 服务注册中心。这是可搜索的服务描述注册中心,服务提供者在 此发布他们的服务描述。在静态绑定开发或动态绑定执行期间, 服务请求者查找服务并获得服务的绑定信息( 在服务描述中) 。对 于静态绑定的服务请求者,服务注册中心是体系结构中的可选角 西南交通大学硕士研究生学位论文第13 页 色,因为服务提供者可以把描述直接发送给服务请求者。同样, 服务请求者可以从服务注册中心以外的其它来源得到服务描述, 例如本地文件、f t p 站点、w e b 站点、广告和服务发现 ( a d v e r t i s e m e n ta n dd i s c o v e r yo f s e r v i c e s ,a d s ) 或发现w e b 服 务( d i s c o v e r yo f w e bs e r v i c e s ,d i s c o ) 。 w e b 服务体系结构中的操作 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务 描述、查询或查找服务描述以及根据服务描述绑定或调用服务。这些行为 可以单次或反复出现。这些操作具体为: 发布。为了使服务可访问,需要发布服务描述以使服务请求者可以 查找它。发布服务描述的位置可以根据应用程序的要求而变化。 查找。在查找操作中,服务请求者直接检索服务描述或在服务注册 中心中查询所要求的服务类型。对于服务请求者,可能会在两个不 同的生命周期阶段中牵涉到查找操作:在设计时为了程序开发而检 索服务的接口描述,而在运行时为了调用而检索服务的绑定和位置 描述。 绑定。最后需要调用服务。在绑定操作中,服务请求者使用服务描 述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启 动与服务的交互。 w e b 服务的构件 服务:在这里,w e b 服务是一个由服务描述来描述的接口,服务描述 的实现就是该服务。服务是一个软件模块,它部署在由服务提供者提供的 可以通过网络访问的平台上。服务存在就是要被服务请求者调用或者同服 务请求者交互。当服务的实现中利用到其它的w e b 服务时,它也可以作 为请求者。 服务描述:服务描述包含服务的接口和实现的细节。其中包括服务的 数据类型、操作、绑定信息和网络位置。还可能包括可以方便服务请求者 发现和利用的分类及其它元数据。服务描述可以被发布给服务请求者或服 务注册中心。 w e b 服务体系结构解释了如何实例化元素和如何以一种可以互操作 西南交通大学硕士研究生学位论文第1 4 页 的方式实现这些操作。 w e b 服务开发生命周期 w e b 服务开发生命周期包括了设计和部署以及在运行时对服务注册 中心、服务提供者和服务请求者每一个角色的要求。每个角色对开发生命 周期的每一元素都有特定要求。服务注册中心的开发和部署不在本文的范 围以内。 开发生命周期有以下四个阶段: 1 构建 生命周期的构建阶段包括开发和测试w e b 服务实现、定义服务接口 描述和定义服务实现描述。可以通过创建新的w e b 服务、把现有的应用 程序变成w 曲服务和由其它w e b 服务和应用程序组成新的w e b 服务 提供w e b 服务的实现。 2 部署 部署阶段包括向服务请求者或服务注册中心发布服务接口和服务实现 的定义,以及把w e b 服务的可执行文件部署到执行环境( 典型情况下, w e b 应用程序服务器) 中。 3 运行 在运行阶段,可以调用w e b 服务。在此,w e b 服务完全部署、可操 作并且服务提供者可以通过网络访问服务。现在服务请求者可以进行查找 和绑定操作。 4 管理 管理阶段包括持续的管理和经营w e b 服务应用程序。安全性、可用 性、性能、服务质量和业务流程问题都必须被解决。 2 3 5w e b 服务协议栈 要以一种可互操作的方式执行发布、发现和绑定这三个操作,必须有 一个包含每一层标准的w e b 服务协议栈。w e b 服务体系架构包含许多分 层和相关的技术,正如有许多方法建造w e b 服务一样,有许多的方法显示 这些技术,图2 5 给出了这个技术系列中的部分技术的图解1 5 j 。 西南交通大学硕士研究生学位论文第15 页 f p r o c e s s e s 。 d t s c o v e r y , a g g r e g a t i o n c h o r e o g r a p u 8 鲁 罐 蠢蔷案嚣鉴赫。| _ _ 。; 鲁 ; 万 鬯 8 ; i m e s s a g e s j 。 釜 厂 ; s o a pe x t e n s i o n s l 呈 m a bl ;d y ,c o r r e | a b o n ,t r a n s a c “0 n 8 l p 霉 l 手 i s o a p | f _ - _ 曩曩? _ - 丁覃_ z _ = _ _ i 了- 1 f

温馨提示

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

评论

0/150

提交评论