客户端(Analysis Services - 多维数据)
MicrosoftSQL ServerAnalysis Services 支持瘦客户端体系结构。Analysis Services 计算引擎完全基于服务器,因此,所有查询都在服务器上进行解析。因此,每个查询只需在客户端和服务器之间进行一次来回行程,从而使得性能可以随着查询复杂性的增加而伸缩。
Analysis Services 的本机协议为 XML for Analysis (XML/A)。Analysis Services 为客户端应用程序提供了数个数据访问接口,但是所有这些组件都使用 XML for Analysis 与 Analysis Services 实例进行通信。
Analysis Services 提供了数个不同的访问接口,以支持不同的编程语言。访问接口借助 Internet 信息服务 (IIS),并通过 TCP/IP 或 HTTP 发送和接收 SOAP 数据包中的 XML for Analysis 来与 Analysis Services 服务器进行通信。HTTP 连接使用由 IIS 实例化的 COM 对象(称为数据抽取),该对象充当 Analysis Services 数据的管道。数据抽取既不会以任何方式检查包含在 HTTP 流中的基础数据,也不会检查可用于数据库本身中任何代码的任何基础数据结构。
Win32 客户端应用程序可使用 OLE DB for OLAP 接口或用于组件对象模型 (COM) 自动化语言(如 Microsoft Visual Basic®)的 Microsoft® ActiveX® 数据对象 (ADO) 对象模型连接到 Analysis Services 服务器。以 .NET 语言编码的应用程序可以使用 ADO MD.NET 连接到 Analysis Services 服务器。
现有的应用程序只需使用一个 Analysis Services 访问接口便可在不进行修改的情况下与 Analysis Services 进行通信。
编程语言 |
数据访问接口 |
---|---|
C++ |
OLE DB for OLAP |
Visual Basic 6 |
ADO MD |
.NET 语言 |
ADO MD.NET |
支持 SOAP 的任何语言 |
XML for Analysis |
Analysis Services 的 Web 体系结构具有完全可伸缩的中间层,可用于小型和大型单位进行部署。Analysis Services 为 Web 服务提供了广泛的中间层支持。OLE DB for OLAP 和 ADO MD 支持 ASP 应用程序,ADOMD.NET 支持 ASP.NET 应用程序。中间层(如下图中所示)可进行伸缩以供众多并发用户使用。
客户端应用程序和中间层应用程序都可以不通过访问接口而直接与 Analysis Services 进行通信。客户端应用程序和中间层应用程序可以通过 TCP/IP、HTTP 或 HTTPS 使用 SOAP 数据包发送 XML for Analysis。客户端可以使用任何支持 SOAP 的语言进行编码。在这种情况下,尽管也可对使用 TCP/IP 与服务器建立的直接连接进行编码,但通信可由 Internet 信息服务 (IIS) 使用 HTTP 以最轻松的方式进行管理。这是最不可能实现的 Analysis Services 客户端解决方案。