文/武汉大学计算机学院博士 华宇

  对旅客而言,民航系统就如一个抽象化的WSRF。其中,飞机就是我们所说的资源,需要维持相关的状态信息,如个体的承载能力等,这样就形成了有状态的资源。同时,各地的售票窗口就如同Web服务的入口,这是不需要维持状态信息的,只需要在旅客发出票务请求时提供服务。而旅客就如同提出服务请求的各种具体实体。

  2004年初提出的WSRF(Web Service Resource Framework)结构,是表示有状态资源和 Web 服务之间关系的一种新方法,是网格技术与Web服务相结合的具体体现,也是网格技术发展史上的一座里程碑。

  WSRF结构的提出对网格体系结构的发展产生了非常重要的影响,以前的网格体系结构是以OGSA/OGSI(Open Grid Service Architecture/Open Grid Service Infrastructure)为基础的,现在WSRF取代了OGSI,并融合在Web服务中,给予Web服务以新的描述和定义,此时的Web Service已经和Grid Service实现了统一,具体描述可以参见图1所示的演化过程。

  WSRF提出的背景

  WSRF与Web服务具有紧密的联系。一般而言,Web服务的实现是通过一系列的栈技术规范来完成的,栈技术规范是一个完整的技术体系,包括UDDI、SOAP、WSDL、XML、WSFL等,具体描述见图2所示。

  从图2中我们可以看出Web服务是基于当前网络标准协议而建立起来的,其主要功能协议包括消息传递、服务描述、工作流描述、服务发现与集成四个部分。同时,也要求自上而下的服务质量管理和安全性保证机制。Web服务是通过Web入口进行访问,提供XML接口,利用Web服务注册器进行注册与定位,并支持系统间的松散耦合连接的一套协议规范和机制。而网格技术的本质是在分布、异构的资源基础上实现资源共享和协同工作,因而web服务的协议和特性就为网格技术的实现提供了良好的支撑环境。

  传统的网格体系结构是基于OGSA/OGSI来实现的,但是OGSI自身存在着若干缺点和不足,对网格技术的进一步发展形成了一定程度的阻碍,其主要缺点表现在:

  ◆ OGSI的规范和说明相当繁琐,定义中规定了太多的混杂材料,没有清晰的功能划分,以支持后期的扩充和发展;

  ◆ OGSI在使用上和现有的Web服务、XML工具之间存在严重问题,这使得在扩展WSDL上存在困难;

  ◆ OGSI中存在太多的“面向对象”的概念和方法。

  针对这些问题,WSRF提出了比较全面和彻底的解决方案,WSRF结构强调网格技术主要是由Web服务和有状态资源组成的,而有状态资源是指可以保持一个具体的同时也可以被XML语言说明的状态数据,它可以被一个或者多个Web服务访问,拥有在被创建时就分配的定义完整的实体,这个实体是以创建资源、撤销生命周期来表示的,并具有多种实现方式。

  WSRF的服务机制

  在WSRF结构中的Web服务是一种运行在有状态资源上的无状态服务。Web服务和有状态资源是分开的,Web服务是无状态的。从本质上而言,WSRF是一组Web服务规范,它从特定的消息交换和XML 规范的角度,定义了Web服务资源(WS-Resource)方法的表现形式。这些规范(详见表1)可以用来构建Web服务和一个或者多个有状态的资源之间的关联关系。

  WSRF使用了不同的结构来模型化有状态资源和相应的Web 服务,而OGSI则是采用同一种结构来模型化状态资源以作为一个Web服务进行表示。在这一点上,WSRF比OGSI更具有表达力,因为它允许Web服务和任何相关联的有状态资源之间可以形成多对多的映射,而OGSI只能形成一对一的映射关系。另外,在OGSI中能表达的模式在WSRF中也都可以表达。

  Web服务资源是Web服务和有状态资源的组合,它被表示为带有明确定义类型的XML文档和Web服务的关联关系,也包括用来寻址和访问的端点的引用方法,同时还提供状态执行所需要的环境。在WSRF中,不同的实体具有不同的生命周期和资源能力,相应的资源特性可以表示为Web服务资源特性文档中的一个XML元素,客户端是通过WSDL的端口类型来得到Web服务资源特性文档的,Web服务资源特性文档用来充当Web服务资源实际状态的视图或投影。WSRF通过约定的Web服务机制来使Web服务资源可以被声明、创建、访问、监测、改变和撤销,同时不需要对相关联的有状态资源进行处理。

  WSRF的设计理念

  WSRF针对OGSI的不足之处进行了相应的改进和完善,具体体现在如下几个方面:

  ◆ WSRF的定义是由五个文档和一个补充文档组成的,简化了OGSI的说明规范;

  ◆ WSRF在设计时就全面考虑了Web服务生成的相关对象的特性,这使得当前的Web服务工具可以有效地支持WSRF的更新和进一步的改进,解决了OGSI不能使用现有的Web服务工具的问题;

  ◆ 在面向对象问题上,WSRF清晰的将Web服务与有状态资源进行分离,使得Web服务不具有状态信息。

  Web服务和有状态资源之间的关系是以资源模式(Resource Pattern)的方式进行描述的,它定义了有状态资源与Web服务进行消息交换的关联机制。这种机制可以分为静态和动态两种类:如果在执行前有状态资源就与Web服务相关联,那就是静态的关联机制;如果有状态资源是在消息交换时与服务相关联的,那么就是动态的关联机制。

  图1 网格体系结构的演化过程

  图2 Web服务栈的体系结构


  阅读关于 WSRF 网格 Web服务 信息化 的全部文章