Microsoft SQL Server Analysis Services 支持瘦客戶端體系結(jié)構(gòu)。Analysis Services 計(jì)算引擎完全基于服務(wù)器,因此,所有查詢都在服務(wù)器上進(jìn)行解析。因此,每個(gè)查詢只需在客戶端和服務(wù)器之間進(jìn)行一次來回行程,從而使得性能可以隨著查詢復(fù)雜性的增加而伸縮。
Analysis Services 的本機(jī)協(xié)議為 XML for Analysis (XML/A)。Analysis Services 為客戶端應(yīng)用程序提供了數(shù)個(gè)數(shù)據(jù)訪問接口,但是所有這些組件都使用 XML for Analysis 與 Analysis Services 實(shí)例進(jìn)行通信。
Analysis Services 提供了數(shù)個(gè)不同的訪問接口,以支持不同的編程語言。訪問接口借助 Internet 信息服務(wù) (IIS),并通過 TCP/IP 或 HTTP 發(fā)送和接收 SOAP 數(shù)據(jù)包中的 XML for Analysis 來與 Analysis Services 服務(wù)器進(jìn)行通信。HTTP 連接使用由 IIS 實(shí)例化的 COM 對象(稱為數(shù)據(jù)抽?。?,該對象充當(dāng) Analysis Services 數(shù)據(jù)的管道。數(shù)據(jù)抽取既不會以任何方式檢查包含在 HTTP 流中的基礎(chǔ)數(shù)據(jù),也不會檢查可用于數(shù)據(jù)庫本身中任何代碼的任何基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)。
Win32 客戶端應(yīng)用程序可使用 OLE DB for OLAP 接口或用于組件對象模型 (COM) 自動(dòng)化語言(如 Microsoft Visual Basic®)的 Microsoft® ActiveX® 數(shù)據(jù)對象 (ADO) 對象模型連接到 Analysis Services 服務(wù)器。以 .NET 語言編碼的應(yīng)用程序可以使用 ADO MD.NET 連接到 Analysis Services 服務(wù)器。
現(xiàn)有的應(yīng)用程序只需使用一個(gè) Analysis Services 訪問接口便可在不進(jìn)行修改的情況下與 Analysis Services 進(jìn)行通信。
編程語言 | 數(shù)據(jù)訪問接口 |
---|---|
C++ | OLE DB for OLAP |
Visual Basic 6 | ADO MD |
.NET 語言 | ADO MD.NET |
支持 SOAP 的任何語言 | XML for Analysis |
Analysis Services 的 Web 體系結(jié)構(gòu)具有完全可伸縮的中間層,可用于小型和大型單位進(jìn)行部署。Analysis Services 為 Web 服務(wù)提供了廣泛的中間層支持。OLE DB for OLAP 和 ADO MD 支持 ASP 應(yīng)用程序,ADOMD.NET 支持 ASP.NET 應(yīng)用程序。中間層(如下圖中所示)可進(jìn)行伸縮以供眾多并發(fā)用戶使用。
客戶端應(yīng)用程序和中間層應(yīng)用程序都可以不通過訪問接口而直接與 Analysis Services 進(jìn)行通信??蛻舳藨?yīng)用程序和中間層應(yīng)用程序可以通過 TCP/IP、HTTP 或 HTTPS 使用 SOAP 數(shù)據(jù)包發(fā)送 XML for Analysis??蛻舳丝梢允褂萌魏沃С?SOAP 的語言進(jìn)行編碼。在這種情況下,盡管也可對使用 TCP/IP 與服務(wù)器建立的直接連接進(jìn)行編碼,但通信可由 Internet 信息服務(wù) (IIS) 使用 HTTP 以最輕松的方式進(jìn)行管理。這是最不可能實(shí)現(xiàn)的 Analysis Services 客戶端解決方案。