网格技术流行的三个网格体系结构,五层沙漏结构(Five-Level sandglass Architecture)、开放网格服务体系结构(Open Grid Services Architecture,OGSA)、Web 服务资源框架(Web Services Resource Framework,WSRF)。
网格体系结构
一、五层沙漏结构(Five-Level Sandglass Architecture)
五层沙漏结构是由伊安 ▪ 福斯特等提出的一种具有代表性的网格体系结构,其影响十分广泛,它的特点就是简单,主要侧重于定性的描述而不是具体的协议定义,容易从整体上进行理解。在五层沙漏体系结构中,最基本的思想就是:以协议为中心,强调服务与API和SDK的重要性。改该结构的设计原则就是要保持参与的开销最小,即作为基础的核心协议较少,类似于OS内核,以方便移植。另外,沙漏结构管辖多种资源,允许局部控制,可用来构建高层的、特定领域的应用服务,支持广泛的适应性。 该结构根据该结构中各组成部分与共享资源的距离,将对共享资源进行操作、管理和使用的功能分散在五个不同的层次,由下至上分别为构造层(Fabric)、连接层(Connectivity)、资源层(Resource)、汇聚层(Collective)和应用层(Application)。
五层结构的功能特点:
(1)构造层
构造层的基本功能就是控制局部的资源,包括查询机制(发现资源的结构和状态等信息)、控制服务质量的资源管理能力等,并向上提供访问这些资源的接口。构造层资源是非常广泛的,可以是计算资源、存储系统、目录、网络资源以及传感器等等。构造层资源提供的功能越丰富,则构造层资源可以支持的高级共享操作就越多,例如如果资源层支持提前预约功能,则很容易在高层实现资源的协同调度服务,否则在高层实现这样的服务就会有较大的额外开销。
(2)连接层
连接层的基本功能就是实现相互的通信。它定义了核心的通信和认证协议,用于网格的网络事务处理。通信协议允许在构造层资源之间交换数据,要求包括传输、路由、命名等功能。在实际中这些协议大部分是从TCP/IP协议栈中抽取出的。认证协议建立在通信服务之上,提供的功能包括:单一登录、代理、与局部安全方法的集成、基于用户的信任机制。
(3)资源层
资源层的主要功能就是实现对单个资源的共享。资源层定义的协议包括安全初始化、监视、控制单个资源的共享操作、审计以及付费等。它忽略了全局状态和跨越分布资源集合的原子操作。
(4)汇聚层
汇聚层的主要功能是协调多种资源的共享。汇聚层协议与服务描述的是资源的共性,包括目录服务、协同分配和调度以及代理服务、监控和诊断服务、数据复制服务、网格支持下的编程系统、负载管理系统与协同分配工作框架、软件发现服务、协作服务等。它们说明了不同资源集合之间是如何相互作用的,但不涉及到资源的具体特征。
(5)应用层
应用层是在虚拟组织环境中存在的。应用可以根据任一层次上定义的服务来构造。每一层都定义了协议,以提供对相关服务的访问,这些服务包括资源管理、数据存取、资源发现等。在每一层,可以将API定义为与执行特定活动的服务交换协议信息的具体实现。
二 开放网格服务体系结构(Open Grid Services Architecture, OGSA)
OGSA包括两大关键技术,即网格技术和Web Service技术,它是在五层沙漏结构的基础上,结合Web Service技术提出来的,解决了两个重要问题——标准服务接口的定义和协议的识别。以服务为中心是OGSA的基本思想,在OGSA中一切都是服务。这一结构的意义就在于它将网格从科学和工程计算为中心的学术研究领域,扩展到更广泛的以分布式系统服务集成为主要特征的社会经济活动领域。 OGSA的基本思想
SA最基本的思想就是以“服务”为中心。在OGSA框架中,将一切抽象为服务,包括各种计算资源、存储资源、网络、程序、数据库等等,简而言之,一切都是服务。这种观念,有利于通过统一的标准接口来管理和使用网格。
OGSA以服务为中心,具有如下好处:
网格中一切都是服务,通过提供一组相对统一的核心接口,所有的网格服务都基于这些接口实现,可以很容易地构造出具有层次结构的、更高级的uwu,这些服务可以跨越不同的抽象层次,以一种统一的方式来看待。虚拟化也使得将多个这时不必考虑的实现,可以以底层资源组成为基础,为虚拟组织中进行资源管理。通过网格服务得虚拟化,可以将通用得服务语义和行为,无缝地映射到本地平台基础设施之上。
三、
Web服务资源框架(Web Service Resource Framework,WSRF)
WSRF的提出:
GSA刚提出不久,GGF及时推出了OGSI(Open Grid Services Infrastructure,开放网格服务基础架构)草案,并成立了OGSI工作组,负责该草案的进一步完善和规范化。OGSI是作为OGSA核心规范提出的,其1.0版于2003年7月正式发布。OGSI规范通过扩展WEB服务定义语言WSDL和XML Schema的使用,来解决具有状态属性的Web服务问题。它提出了网格服务的概念,并针对网格服务定义了一套标准化的接口,主要包括:服务实例的创建、命名和生命期管理、服务状态数据的声明和查看、服务数据的异步通知、服务实例集合的表达和管理、以及一般的服务调用错误的处理等。 SI通过封装资源的状态,将具有状态的资源建模为Web服务,这种做法引起了“Web服务没有状态和实例”的争议,同时某些Web服务的实现不能满足网格服务的动态创建和销毁的需求。OGSI单个规范中的内容太多,所有接口和操作都与服务数据有关,缺乏通用性,而且OGSI规范没有对资源和服务进行区分。OGSI使用的Web服务和XML工具不能良好工作,因为它过多地采用了XML模式,比如xsd:any基本用法、属性等,这可能带来移植性差的问题。另外,由于OGSI过分强调网格服务和Web服务的差别,导致了两者之间不能更好地融合在一起。上述原因促使了WSRF(Web Service Resource Framework,Web服务资源框架)的出现。
RF采用了与网格服务完全不同的定义:资源是有状态的,服务是无状态的。为了充分兼容现有的
Web服务,WSRF使用WSDL 1.1定义OGSI中的各项能力,避免对扩展工具的要求,原有的网格服务已经演变成了Web服务和资源文档两部分。WSRF推出的目的在于,定义出一个通用且开放的架构,利用Web服务对具有状态属性的资源进行存取,并包含描述状态属性的机制,另外也包含如何将机制延伸至Web服务中的方式。WSRF的技术规范:
WSRF是一个服务资源的框架,是五个技术规范的集合,表2总结了这些技术规范。
这些规范定义了以下方法: web服务资源可以与销毁请求同步地或者通过提供基于时间的析构(destruct)机制来销毁,而且指定的资源特性可以被用来检查和检测Web服务资源的生存期; Web服务资源的类型定义可以由Web服务的接口描述和XML资源特性文档来组成,并且可以通过Web服务消息交换来查询和更改Web服务资源的状态; 如果Web服务内部所包含的寻址或者策略信息变得无效或者过时,Web服务端点引用(Web服务寻址)可以被更新;
可以定义异构的通过引用方式结合在一起的Web服务集合,不管这些服务是否属于Web服务资源; 通过使用用于基本错误的XML Schema类型以及扩展这个基本错误类型的规则应用到Web服务中,使得Web服务中的错误报告可以更加标准化。 WSRF的有点及发展
和OGSA的最初核心规范OGSI相比,WSRF具有以下五个方面的优势:
(1) 融入WEB服务标准,同时更全面地扩展了现有的XML标准,在开发环境下,使其应用更为简单。 (2) OGSI中的术语和结构让WEB服务的标准组织感到困惑,因为OGSI错误地认为WEB服务一定需要很多支撑的构建。WSRF通过对消息处理器和状态资源进行分离来消除上诉隐患,明确了其目标是允许WEB服务操作对状态资源进行管理和操纵。
(3) OGSI中的Factory接口提供了较少的可用功能,在WSRF中定义了更加通用的WS_esource factory模式。 (4) OGSI中的接口不主持通常事件系统中要求的和现存的面向消息的中间件所支持的各种功能。WSRF中规范弥补了上述的不足,从广义角度来理解通知机制,状态改变通知机制正是家里在常规的WEB服务的需求之上。 (5) OGSI规范的规模非常庞大,使读者不能充分理解其内容,以及明确具体任务中所需的组件。在WSRF中通过将功能进行分离,使之简化并拓展了组合的伸缩性。