随笔-128  评论-55  文章-5  trackbacks-0
 

1      WSRF

1.1     WSRF简介

1.1.1   无状态Web服务的局限性

随着大规模网络技术的发展,特别是网格计算技术的兴起,极大地扩大了分布式系统的规模。网格是近年来逐渐兴起的构建在Internet之上的一种新的计算模式,其目标是在分布式、异构、自治的网络资源环境之上动态的构建虚拟组织,并在其内部实现跨自治域的资源共享与协作,满足当前复杂应用对大规模计算能力和海量数据处理等需求。因此,如何在分布式计算环境(特别是网格计算环境)下对异构资源进行共享和管理,是一个亟待解决的问题。

近年来,Web服务技术已得到快速发展和应用,它采用可扩展标记语言XML定义一组Web服务协议栈,通过开放协议和标准提供了面向Internet应用的统一服务注册、发现、绑定和集成机制,成为Internet环境下实现互操作性的一种主要机制。将Web服务技术引入网格研究领域,有助于解决网格研究所面临的应用集成、资源共享、系统互操作和标准化等问题。但传统的Web服务实现是无状态的,客户端发出请求并得到响应,然后断开连接。然而在很多系统中,如机票预定系统、CPU管理系统和工作流系统,有一个共同的特点就是它们都需要提供一种方式,使得客户端能够访问到系统内部的有状态实体,获取实体的属性并管理它们的生命周期。这些需求促使了OGSI(Open Grid Services Infrastructure)的诞生,它把在网格计算环境下对状态的建模和管理作为自己的首要目标。

Web服务资源框架(Web Services Resource Framework,WSRF)是对OGSI的重构与发展,它保留了OGSI的所有核心功能,并克服了OGSI的一些弊病:在一个协议中定义的内容太多、不能和现存的Web服务和XML工具很好的工作,等等。WSRFOGSI定义的功能划分进四个不同的协议中,这些协议共同解决了在Web服务框架中表示、抽象及管理资源状态的问题。

1.1.2   WSRF的起源

WSRF ( Web Services Resource Framework Web服务资源框架)是在网格中开发的。在网格计算中工作被分成适合于在多个系统上处理的单元,该工作可以是计算、存储或其他类型的处理。 单元被分布到多个客户机。这个步骤通过让客户机请求或“pull”工作,或者让中央服务器将工作“push”给可用的客户机来完成。 总体进展、需求和状态由中央系统或系统组维护。

当前的网格应用程序一般遵循这种模式,有一个中央系统与客户机交互,这些客户机位于那些一般在地理位置上与中央服务器分离的系统上。

既然多个客户机在不同的地方,那么 Web 服务应该是网格计算顺理成章的选择。毕竟,它提供一种标准而容易的方法,以从一个系统到另一个系统获得信息,而不用求助于特定于平台或语言的方法,比如 CORBADCOM Java-RMI

然而,早期的网格应用程序使用其他更加不可移植的方法。但是为什么呢?

也许最贴切的是体系结构方面的原因。尽管网格应用程序可以在很多机器上实现,但它仍然是一个应用程序,因此很难与本质上是无状态的体系结构相协调。当使用数据库客户机连接到一个数据库时,您就保持了连接,并且可以插入记录,然后再查看插入的结果。另一个客户查看表时不会看到该记录,除非您提交了事务,但是数据库认识您的会话,并知道是您。

但是Web服务的工作方式不是这样的。利用 Web 服务,您发出请求(比如插入一条记录)并得到响应(比如插入成功),然后断开连接。没有正在进行的会话需要管理。例如 HTTP —在大多数情况下,Web服务通过HTTP传输每个请求独立于前一个请求,Web服务没有访问或使用任何不是当前输入消息一部分的信息。

WSRF 的目标是通过创建状态概念以及处理状态的方法来解决该问题。

WSRF ( Web Services Resource Framework Web服务资源框架) 是在 Web 服务的无状态环境中使用有状态资源的一种方式即在其中创建持久资源并通过Web服务来管理它这种组合叫做 WS-Resource这种有状态资源实际上可以是任何东西,从数据库到电子鼠标都是有状态资源。实际上,可以使用 WSRF 来处理任何可以通过改变其属性来操纵的东西。

WSRF 实际上是一系列协议,用于定义操纵有状态资源的标准的消息模式或方法,以请求属性的值或者指定这些属性应该变更。更确切的说,WSRF 定义一些标准操作,以处理关于处理 WS-Resources 的各个方面,比如处理它们的属性,从而将它们成组在一起,以达到诸如这样的目的--进行身份验证,确保它们被及时地销毁等。

WSRF 定义这些操作的方法是,定义了描述这些操作的 WSDL 文件的结构,指定它们应该如何出现在 Web 服务描述语言(Web Services Description LanguageWSDL)文件中。WSDL 文件定义 Web 服务会话两端之间传输的消息,所以通过定义 WSDL 文件,WSRF 定义了发生的任何交互的形式。该 WSDL 文件然后可以被任何语言的实现所使用。

1.1.3   WSRF的历史

2001年,Ian Foster提出了开放的网格服务体系结构OGSA[17,18] (Open Grid Service Architecture),确定了Web服务作为网格资源的新的抽象形式和构造基础。在20033月的GGF[19]上,OGSA已确定为网格研究的主流方向。OGSA是一个面向服务的体系结构,采用服务作为资源的统一封装和互操作形式,通过定义标准的网格协议使网格成为一个开放系统。

开放网格服务基础结构(OGSI)OGSA的基本组件。这是一项基于新兴的Web Services标准的网格软件基础结构标准化工作,用于为OGSA软件组件提供最大的互操作性。其根本出发点是通过将关键的网格技术与Web服务技术集成起来,形成一个分布式系统框架,通过一种Grid Service来实现两者的结合。

Web服务支持者认为OGSI有如下4个不利于其发展的弊病:(1)在一个协议中包含了过多的内容,协议对不同内容的规定详细程度也各不相同,使得协议的实现难于搭建;(2)由于过多的使用XML Schema及其扩展,OGSI与现有的Web服务和XML工具不能很好的联系起来;(3)在编程模式的设计上过于面向对象化,要求Web Service对象一样能够支持实例内部状态的维护,这一点得不到Web服务技术拥护者的支持,同时也难于在基于HTTPWeb上实现;(4)WSDL做了过多的扩展,使得OGSI难以无缝集成到以WSDL为基础的Web服务协议栈之中,使OGSIWeb服务不能很好地结合在一起。

20041月,IBMGlobus联盟和HP共同提出了WSRF协议,它是对OGSI的重构和发展,保留了OGSI的核心功能并解决了上述弊病。经过两年多的发展,200641WSRF1.2 成为了OASIS的标准。

WSRF的目标是定义一个通用、开放的框架,使用Web服务技术对有状态资源进行建模和寻址。它定义了如何表示、访问、管理有状态资源(WS-Resource)以及如何将资源进行群组。其中最核心的概念是WS-Resource,它是“静态”Web服务和相关有状态资源的组合,能够通过隐式资源模式(implied resource pattern[20])进行寻址和访问。WS-Addressing[21]协议的提出,极大地促进了WSRF的发展,它解决了有状态资源的寻址问题,提出了一种传输中立(transport-neutral)、面向服务(service-oriented)的机制对动态且有状态的资源进行寻址。WSRF协议包含一系列子协议,旨在解决有状态Web服务的运行、管理和通信问题。



Author: orangelizq
email: orangelizq@163.com

欢迎大家访问我的个人网站 萌萌的IT人
posted on 2009-07-19 15:38 桔子汁 阅读(1243) 评论(0)  编辑  收藏 所属分类: Web Service

只有注册用户登录后才能发表评论。


网站导航: