Premier Field Engineer, Microsoft Services Customer Service and Support
This is a fairly obscure Team Foundation Server (TFS) and SQL Server Analysis Services (SSAS) configuration, but if you find yourself in this situation, it is another option for making the TFS Analysis Services cube available to your users. I would be surprised if it was ever tested by the TFS product team, but I can confirm that It Works On My Machine and doesn't require any dubious registry changes.
The main configuration comes from this MSDN article: Configure HTTP Access to SQL Server Analysis Services on IIS 7.0, but this blog posts goes in to the TFS specific steps.
This approach provides an alternative means for connecting to Analysis Services when your OLAP solution calls for the following capabilities: Client access is over Internet or extranet connections, with restrictions on which ports can be enabled. Or, client connections are from non-trusted domains in the same network. Client application runs in a network environment that allows HTTP but not TCP/IP connections. Authentication methods other than Windows integrated security are required. IIS supports Anonymous connections and Basic authentication. Configuring Analysis Services for HTTP access lets you use these alternative authentication methods with Analysis Services.
This approach provides an alternative means for connecting to Analysis Services when your OLAP solution calls for the following capabilities:
Note: The MSDN article and this blog post don't talk about how to configure using a HTTPS (SSL) connection. However, I don't see any reason why it wouldn't work - I just haven't tried it.
Note: The directory may be different, based upon the version, name and configuration of your SSAS instance.
Now we need to configure the Handler Mappings and Authentication.
We want to make the following changes to allow remote clients to authenticate as themselves to SSAS (Windows Authentication), rather than using the identity of the TFS application pool (Anonymous Authentication).
At this point, you have added an additional way to access a SQL Server Analysis Services server that is hosted on the same server as your TFS application tier (i.e. a single-server installation).
If you SSAS server is on another machine (i.e. a dual-server or complex environment), then you can also configure the ISAPI extension to connect to that remote server.
Note: This topology adds a double-hop authentication step, where credentials must flow from the client to the web server, and on to the backend Analysis Services server. If you are using Windows credentials and NTLM, you will get an error because NTLM does not allow delegation of client credentials to a second server. The most common solution is to use Basic authentication with Secure Sockets Layer (SSL), but this will require users to provide a user name and password when accessing the MSMDPUMP virtual directory. A more straightforward approach might be to enable Kerberos and configure Analysis Services constrained delegation so that users can access Analysis Services in a transparent manner.
The ISAPI extension uses the Analysis Services OLE DB provider to connect to the SSAS server. You will need to install this provider if it is not installed already. For a TFS Application Tier, it will be already installed as part of the SQL Client Connectivity components that the TFS installation wizard checks for.
Microsoft SQL Server 2008 R2 SP1 Feature Pack download page
Open C:\Inetpub\olap\msmdpump.ini and modify the ServerName setting.
<ConfigurationSettings>
<ServerName>localhost</ServerName>
<SessionTimeout>3600</SessionTimeout>
<ConnectionPoolSize>100</ConnectionPoolSize>
</ConfigurationSettings>
With this additional endpoint configured we can now try and connect manually from Excel.
On the 'Data Connection Wizard' dialog, specify the path to the ISAPI plugin as the server name. It's not intuitive to put a URL in a place where it's expecting a server name, but this is a supported value for the connection string.
Server name: http://yourtfsserver:8080/olap/msmdpump.dll
If everything is working correctly, you should see the following dialog:
On a Team Foundation Server Application Tier, open the Team Foundation Server Administration tool and navigate to the Reporting configuration screen. It should look something like this:
Note: If your TFS server has been configured to allow access over the Internet, it's important to configure this server name to an address that users can reach. This server name is what Excel will use when you choose 'Create Report' in either Excel or Team Explorer. It is also used for the TFS data sources in Reporting Services. For example, use http://tfs.yourcompany.com:8080/olap/msmdpump.dll instead of http://tfs01:8080/olap/msmdpump.dll
Now that we have configured TFS to use the ISAPI extension endpoint, we can use the TFS plugin for Excel to create a connection to the SSAS server, without having to tell users how to manually connect.
If you have an environment that could use this configuration, and you want to see it supported by the product team, you can vote for it and add comments on the TFS UserVoice site.