随着大规模网络技术的发展,特别是网格计算技术的兴起,极大地扩大了分布式系统的规模。网格是近年来逐渐兴起的构建在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工具很好的工作,等等。WSRF将OGSI定义的功能划分进四个不同的协议中,这些协议共同解决了在Web服务框架中表示、抽象及管理资源状态的问题。
WSRF ( Web Services Resource Framework ,Web服务资源框架)是在网格中开发的。在网格计算中工作被分成适合于在多个系统上处理的“单元”,该“工作”可以是计算、存储或其他类型的处理。 单元被分布到多个客户机。这个步骤通过让客户机请求或“pull”工作,或者让中央服务器将工作“push”给可用的客户机来完成。 总体进展、需求和状态由中央系统或系统组维护。
当前的网格应用程序一般遵循这种模式,有一个中央系统与客户机交互,这些客户机位于那些一般在地理位置上与中央服务器分离的系统上。
既然多个客户机在不同的地方,那么 Web 服务应该是网格计算顺理成章的选择。毕竟,它提供一种标准而容易的方法,以从一个系统到另一个系统获得信息,而不用求助于特定于平台或语言的方法,比如 CORBA、DCOM 或 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 Language,WSDL)文件中。WSDL 文件定义 Web 服务会话两端之间传输的消息,所以通过定义 WSDL 文件,WSRF 定义了发生的任何交互的形式。该 WSDL 文件然后可以被任何语言的实现所使用。
2001年,Ian Foster提出了开放的网格服务体系结构OGSA[17,18] (Open Grid Service Architecture),确定了Web服务作为网格资源的新的抽象形式和构造基础。在2003年3月的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服务技术拥护者的支持,同时也难于在基于HTTP的Web上实现;(4)对WSDL做了过多的扩展,使得OGSI难以无缝集成到以WSDL为基础的Web服务协议栈之中,使OGSI与Web服务不能很好地结合在一起。
2004年1月,IBM、Globus联盟和HP共同提出了WSRF协议,它是对OGSI的重构和发展,保留了OGSI的核心功能并解决了上述弊病。经过两年多的发展,2006年4月1日,WSRF1.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
posted on 2009-07-19 15:38
桔子汁 阅读(1242)
评论(0) 编辑 收藏 所属分类:
Web Service