WSRT与有状态Web服务

网格服务的标准由WS-Resource Framework (WSRF) 过渡到了WS-ResourceTransfer (WS-RT) 框架,WSRT在WS-Transfer的基础之上,增加了WSRF标准与WS-Management标准的特性,以便在不同组件之间方便的交换资源信息。

网格为异构资源提供了在结构化的、受管的系统中进行通信和互操作的能力。在网格计算环境下,状态信息的保存十分重要。在Globus体系中,分布式异构计算环境的Grid Service在Web Service的基础上进行扩展,将状态信息加入到无状态的服务之中,并提供构建有状态Web服务的API。

HTTP协议本身是无状态的,即服务器通过HTTP无法得知客户机是否已经关闭等状态信息。如果需要在资源传输中保持HTTP连接状态,需要由客户端保存的Cookie或服务端保存的Session来为HTTP记录用户的状态信息,再次与服务器取得连接时,就可以读取存放于HTTP响应头中的用户状态信息。

同样,一般的Web服务是不需要包含资源状态信息的。Web服务中,消息传递、服务描述、工作流描述、服务发现与集成四个部分都以松散耦合方式连接,服务交互由序列化XML进行描述。服务客户端在根据WSDL描述提交参数之后,一次调用在服务端执行的处理并得到返回结果,即可完成服务执行的整个过程。然而,WSRF协议为Web服务提供了有状态资源的管理方式,而WSRT则在WS-Transfer的基础上,增加了WSRF的WS-ResourcePropertiesWS-ResourceLifetime两个组件的功能。

网格技术在分布、异构的资源基础上实现资源共享和协同工作,从OGSA到WSRF再到WSRT,Globus采用可以保存资源状态信息的Web服务标准一直处在不间断的进化之中,为网格技术的实现提供有效的支撑环境。