XML for Analysis 规范[1]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 angelgavin 的 blog

综合摘要

xml for analysis 是一种基于简单对象访问协议 (simple object access protocol, soap) 的 xml api,按照设计,专门用于对在 web 上工作的客户端应用程序和数据提供程序之间的数据访问交互进行标准化处理。

当前,在传统数据访问技术(如 ole db 和 odbc)条件下,客户端计算机上必须安装与数据提供程序服务器紧密耦合在一起的客户端组件,才能使应用程序能够访问来自数据提供程序的数据。紧密耦合的客户端组件可以基于以下内容建立相关性:特定的硬件平台、特定的操作系统、特定的接口模型、特定的编程语言以及客户端和服务器组件版本的特定匹配。

对安装客户端组件的要求和与紧密耦合结构相关的相关性不适合 internet 环境,因为该环境是松散结合的、无状态的、跨平台的且与语言无关。要提供对 web 应用程序的可靠数据访问,internet、移动设备和跨平台的桌面系统需要一种标准方法,该方法并不要求将组件下载到客户端上。

可扩展标记语言 (xml) 是一种通用的且可以随处访问的语言。如果您不必调用专用的客户端组件接口就可以在不借助客户端组件的情况下调用方法并通过 xml http 消息传递数据,会怎么样?如果应用程序开发人员可以在不考虑与服务器组件或应用程序的紧密耦合的情况下构建客户端组件,会怎么样? 如果利用任何编程语言编写的且可运行在任何平台上的应用程序都可以从 web 上的任何位置访问数据,而不必考虑具体的平台支持,甚至不用考虑特定的提供程序版本,则情况会怎样呢?本规范将通过 xml for analysis 回答这些问题。

xml for analysis 扩展了 ole db 的概念,它提供了对 web 上所有标准数据源的标准化通用数据访问,而无需对提供 com 接口的客户端组件进行部署。xml for analysis 专门为 web 进行了优化,因为它极大地减少了到服务器的往复并且专门针对使用无状态的客户端请求,从而极大地提高了数据源的可伸缩性和强壮性。

本规范定义了两种方法:discoverexecute,这两种方法使用并发送 xml,以发现并控制无状态数据。

本规范建立在 http、xml 和 soap 等开放式 internet 标准之上,不受任何具体语言或技术的限制。本规范中也讨论了 ole db,使已经熟悉 ole db 的应用程序开发人员可以了解 xml for analysis 的映射和实现方法。这些涉及的内容还为本规范扩展出来的 ole db 定义提供背景信息。

读者

本规范的目标读者是应用程序开发人员,并认为他们已熟悉以下内容:

  • xml 知识

  • soap 知识

  • 理解联机分析处理 (olap) 和数据挖掘

  • 具有使用 ole db 和 ole db for olap 的经验

有关这些知识面的详细信息,请参见附录 e

设计目的

本规范的主要目的包括:

  • 为远程数据访问提供程序(可通用于 internet 或 intranet,提供多维数据)提供标准数据访问 api

  • 优化无状态结构,不要求 web 客户端组件,往返调用最少

  • 支持使用任何工具、编程语言、技术、硬件平台或设备的、与技术无关的实现过程

  • 建立在开放式 internet 标准(如 soap、xml 和 http)之上

  • 利用并重复使用成功的 ole db 设计概念,使 ole db for olap 应用程序和 ole db 提供程序可轻松采用 xml for analysis

  • 高效使用标准数据源(如关系型 olap 和数据挖掘)

设计摘要

设计以基于 xml 通信的 api 为中心,该 api 称为 xml for analysis,它定义两种通常可访问的方法:discoverexecute。由于 xml 考虑到松散耦合的客户端和服务器结构,所以两种方法都以 xml 格式处理传入和传出的信息。该 api 为 internet 进行了优化,在 internet 中,对服务器的往返调用在时间上和资源上都是成本昂贵的,而且对数据的有状态连接将限制服务器上的用户连接数。

discover 用于从 web 服务获取信息和元数据。该信息可以包括一系列可用数据源和有关特定数据源的提供程序的数据。属性用于定义并描述获取哪些数据。客户端应用程序可能需要多种类型的信息,而 discover 使您可以通过常规方式来指定这些信息。属性的这种通用接口及使用允许扩展,而不必重写现有函数。

execute 用于针对特定的 xml for analysis 数据源执行多维表达式 (mdx) 或其它提供程序特定的命令。下图例展示了 n 层应用程序的一种可能的实现过程。

在获得驻留 web 服务的服务器的 url 之后,客户端将使用 soap 和 http 协议向服务器发出 discoverexecute 调用。服务器将 xml for analysis 提供程序实例化,用于处理 discoverexecute 调用。xml for analysis 提供程序提取数据,将其打包到 xml 中,然后将所请求的数据作为 xml 发送到客户端。

discoverexecute 方法使用户可以确定在特定服务器上可以查询的内容,并据此提交要执行的命令。下例演示了 internet 应用程序或 web 服务如何使用这些方法。

第一部分 - xml for analysis

xml for analysis 简介

xml for analysis 指定基于 soap 的 xml 通信 api,它支持在任何平台上使用任何语言在客户端和服务器之间进行分析数据交换。

方法

以下方法为 xml 应用程序访问服务器上的基本信息提供了一种标准方式。由于这些方法是使用 soap 协议调用的,所以它们以 xml 格式接受输入并发送输出。默认情况下,这些方法是无状态的,所以服务器上下文将在任何命令结束时终止。有关如何发出有状态调用的信息,请参见 xml for analysis 中对有状态的支持

简化接口模型具有两种方法。discover 方法获取信息,而 execute 方法将操作请求发送到服务器。这些方法的 xml 名称空间为 "urn:schemas-microsoft-com:xml-analysis".

在每次方法调用中,连接信息都通过连接属性提供。

discover

discover 方法可以用于检索信息,如服务器上的可用数据源列表或有关特定数据源的详细信息。利用 discover 方法检索到的数据取决于传递给它的参数值。

本文关键:XML for Analysis 规范
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top