全局XML Web服务体系结构概述
时间:2005-12-19 来源:gust
GXA 的主要目标是定义指定Web服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相互适应性中。虽然在过去的几年中,已经做了 大量的工作来创建用于Web服务的标准,但是仍然有很多工作要做。这些工作由增强并专业化Web服务交互性和互操作性的方法组成。GXA本来的目的是定义 用于这些与基础结构相关的服务的规范,这些服务构成了用于下一代Web服务的抽象虚拟机。
GXA特性
几年来使用Web服务的现实的经验显示,大多数的应用程序在大范围的应用领域中实现重复性任务。像安全性和报文路由选择等问题为许多(虽然不是所有)分布式企业级应用程序所共有。因此,它们最好是通过专门的线级协议来解决,而不是每个应用程序单独的进行。
比方说,1998年当SOAP第一次被引入的时候,它是第一个用于远程过程调用的基于XML的协议。任何对通过Web使用远程过程调用的人都必 须学习如何编写原始的SOAP代码。现在,SOAP被看作是一类指定平台类库抽象出来的低级驱动程序,埋没于用于Web服务的Web服务器基本结构中。这 种基本结构的例子就是微软.NET平台中的ASP.NET和Apache源码开放领域中的Axis。在这两种情况中,你都能够使用面向对象模式代替处理原 始SOAP负载来创建或使用Web服务。
你现在必须通过一遍又一遍的编写类似风格的代码片段,来确保你自己的Web服务的安全性。你还要负责把SOAP消息从最初的发送者处发送给最终的接收者,这其中可能会经过一连串的中间环节。
GXA试图使用通用的且好理解的语法和语义定义基于SOAP的协议,以便处理安全性、消息路由选择等问题。参与开发GXA扩展基础结构的公司们有一天也可能会把这些协议的细节嵌入某种虚拟机中。
用于构建应用程序的扩展
GXA的官方定义是一个协议平台,实现用于构建基于Web服务的应用程序的SOAP扩展。这一系列扩展包括Web服务安全(WS-Security)、Web服务路由(WS-Routing),并增强对事务协作、可靠的消息传送、元数据等的支持。
WS-Security是一套标准的SOAP扩展,可被用于实现Web服务中的数据完整性和保密性。它的目标是允许应用程序安全地交换SOAP消息,通过整合SOAP模式中的特殊扩展来处理编码和证书。
WS-Routing是一个无状态协议,用于使用TCP和HTTP这样的传输方式异步地路由SOAP消息。构成这些不同协议的头可以被组成一个丰富的上下文,用于可能带有附件的消息。
WS-Attachments(Web服务附件)和Direct Internet Message Encapsulation(DIME,直接因特网消息封装)也被GXA包括在内,并且GXA中的许多规范正在继续开发中。DIME是一个轻量级二进制消 息格式,可用于把任意类型和大小的一个或多个由应用程序定义的有效负载封装到单个消息构造中。每个有效负载用一个类型、一个长度和一个可选的标识符来描 述。同时支持 URI和 MIME媒体类型构造作为类型标识符。
微软目前支持一个用于.NET Web服务的指定WS-Security扩展;IBM则在用于Web服务的WebSphere SDK5.0中支持指定WS-Security的扩展。虽然WS-Routing规范使用了SOAP中构建的一个中介体(intermediary)的概 念,但是微软和IBM还没有支持WS-Routing。
GXA 和安全性
过去两年来,Web 服务持续增长,要求有一种适于 Web 服务的综合安全模型的呼声也越来越高,WS-Security规范,在解决这一需求方面迈出了第一步。
WS-Security 定义了一套标准的简单对象访问协议 (SOAP) 扩展或消息标题,可用于在 Web 服务应用程序中实现完整性和机密性。WS-Security 提供了一种标准的机制,以便在 Web 服务环境中交换安全的、带有签名的消息;并提供了一个重要的基础层,以便于开发人员建立更安全、更广泛互操作的 Web 服务。
各种组织可以根据需要将这些新规范集成到其 Web 服务应用程序的不同层级。其他建议的规范包括:
WS-Policy、WS-Trust 和 WS-Privacy:WS-Policy 定义如何表述安全策略的功能和限制;WS-Trust 介绍用于建立直接和间接信任关系(包括第三方和中间商)的模型;WS-Privacy 定义 Web 服务如何规定和实施保密措施。
WS-Secure Conversation、WS-Federation 和 WS-Authorization:WS-Secure Conversation 介绍如何管理和验证双方的消息交换,包括安全上下文交换以及建立和派生会话密钥;WS-Federation 介绍如何管理和协调异类联合环境中的信任关系,包括对联合标识的支持;WS-Authorization 定义 Web 服务如何管理授权数据和策略。