深入探索PowerPivot客户端和服务器端架构
当用户使用PivotTable连接到在 Excel 外的数据源(External Data Sources)时,Excel用不同的数据源连接器来做连接。其中,当连接到分析服务器时,Excel用了MSOLAP OLE DB Provider来做连接。在MSOLAP OLE DB Provider的连接字符串,我们提供了分析服务器的名字和连接方式(例如:Server Name, Credentials,等等)。MSOLAP Provider 通过TCP传输来与分析服务器沟通。此外,当连接字符串中有HTTP字符时,MSOLAP Provider 将通过HTTP传输来与安装在服务器的数据泵(data pump)与分析服务器沟通。当连接字符串中指定了部署在Sharepoint Farm中的Excel文件时,MSOLAP Provider也将用HTTP传输。
介绍了TCP 和HTTP传输后,我们也谈到了一个新的Inproc传输。MSOLAP OLEDB Provider通过Inproc传输来连接到内存中的PowerPivot引擎。嵌入在Excel工作簿中的PowerPivot 数据在打开文件时被恢复到PowerPivot引擎。客户端的PowerPivot 插件用了熟悉的Analysis Management Objects(AMO)和ADOMD.Net来对PowerPivot引擎进行查询和操作。
最后,我们谈到了部署在Sharepoint Farm的PowerPivot。我们介绍了在Sharepoint Farm中的几个PowerPivot的组建。这包括了:PowerPivot Web Service(PWS)和PowerPivot System Service(PSS)。PowerPivot Web Service(PWS)是一个在SharePoint前端的薄中间层。PWS 负责把来自Sharepoint Farm外的请求转发到服务器中的PowerPivot服务程序。我们也谈到了在Sharepoint Farm中,MSOLAP OLEDB Provider如何用Window Communication Foundation(WCF)为基础的Channel运输来与PowerPivot System Service(PSS)沟通。